diff --git a/sub/arm7.lsf b/sub/arm7.lsf index 09f898c0..44ee1fbb 100644 --- a/sub/arm7.lsf +++ b/sub/arm7.lsf @@ -1,17 +1,24 @@ Static arm7 { - Address 0x02000000 + Address 0x02380000 StackSize 1024 1024 } -Autoload MAIN -{ - Address 0x027E0000 - Object asm/main.o -} - Autoload WRAM { Address 0x037F8000 Object asm/wram.o -} \ No newline at end of file + Object asm/wram.o (.wram) +} + +Autoload MAIN +{ + Address 0x027E0000 + Object asm/main.o + Object asm/main.o (.wram) +} + +Autoload EXT_WRAM +{ + Address 0x06000000 +} diff --git a/sub/asm/include/main.inc b/sub/asm/include/main.inc index e69de29b..0367ebd2 100644 --- a/sub/asm/include/main.inc +++ b/sub/asm/include/main.inc @@ -0,0 +1,77 @@ +#pragma once +.public sub_037FE708 +.public sub_03803830 +.public sub_037FC054 +.public sub_037F886C +.public sub_037F9198 +.public sub_038039E8 +.public sub_03803B0C +.public sub_037FD5C0 +.public sub_037FB32C +.public sub_037FB928 +.public sub_037FE5A8 +.public sub_037FE070 +.public sub_037F8DE0 +.public sub_037FC90C +.public sub_03807380 +.public sub_037FC468 +.public sub_037F8598 +.public sub_037FBBFC +.public sub_037FDD00 +.public sub_037FDFEC +.public sub_037FD4DC +.public sub_037FB420 +.public sub_037F8988 +.public sub_037FCD84 +.public sub_037FE12C +.public sub_03803B28 +.public sub_037FD898 +.public sub_03803B40 +.public sub_037FC760 +.public sub_037FD3A0 +.public sub_037F9238 +.public sub_037FB7BC +.public sub_03806BC8 +.public sub_037FB454 +.public sub_037FDE70 +.public sub_037FC6D4 +.public sub_037FB3B4 +.public sub_0380521C +.public sub_037FE39C +.public sub_037FDFD0 +.public sub_037FDD14 +.public sub_037FCC74 +.public sub_037FC558 +.public sub_037FDF9C +.public sub_037F8D58 +.public sub_037FD884 +.public sub_037F8A80 +.public sub_037FC870 +.public sub_037FC888 +.public sub_037FC15C +.public sub_037FC3C0 +.public sub_037FDF74 +.public sub_037FDA38 +.public sub_037FC36C +.public sub_037F87AC +.public sub_037FDE88 +.public sub_03803A48 +.public sub_037FE410 +.public sub_0380398C +.public sub_037FC590 +.public sub_037F8908 +.public sub_037F8650 +.public sub_037FE588 +.public sub_038073D4 +.public sub_037FC6AC +.public sub_037FB8F0 +.public sub_037FACB4 +.public sub_037FE2B4 +.public sub_03806B80 +.public sub_037FD21C +.public sub_037FD390 +.public sub_037FD54C +.public sub_03806DD4 +.public sub_037FE014 +.public sub_03807334 +.public sub_03803B7C diff --git a/sub/asm/include/wram.inc b/sub/asm/include/wram.inc index b9124209..7fc549bf 100644 --- a/sub/asm/include/wram.inc +++ b/sub/asm/include/wram.inc @@ -1,167 +1,39 @@ #pragma once -.public sub_0302CA0C -.public sub_04000100 -.public sub_0302AC10 -.public sub_0302D660 -.public sub_03027D88 -.public sub_030331D8 -.public sub_00FF2394 -.public sub_00FFA62C -.public sub_0302CB90 -.public sub_03803828 -.public sub_00FF1EDC -.public sub_0302D78C -.public sub_027E29A8 -.public sub_00FF1E9C -.public sub_00FFCEA8 -.public sub_00FF207C -.public sub_00FF0F2C -.public sub_038037D2 -.public sub_037FD5C0 -.public sub_0302B118 -.public sub_03027F9C -.public sub_037FE2C0 -.public sub_0302CCCC -.public sub_0302D228 -.public sub_030280F8 -.public sub_0302DAA4 -.public sub_037FBA18 -.public sub_03027E40 -.public sub_00FF8EBC -.public sub_00FF46F8 -.public sub_0302BD48 -.public sub_038037DE -.public sub_03036BC4 -.public sub_03036B24 -.public sub_0302D860 -.public sub_00FF3158 -.public sub_00FF2D44 -.public sub_038037F8 -.public sub_038037D6 -.public sub_00FF2F0C -.public sub_0302B3EC -.public sub_00FF76A8 -.public sub_00FFA7A8 -.public sub_0302805C -.public sub_03028548 -.public sub_038037E6 -.public sub_030365C4 -.public sub_0302D678 -.public sub_027F4E10 -.public sub_0302BF50 -.public sub_037FBB58 -.public sub_03028178 -.public sub_0302DC00 -.public sub_0303317C -.public sub_00FF3A18 -.public sub_0302D504 -.public sub_00FF3A2C -.public sub_030363B8 -.public sub_037FD884 -.public sub_0302C078 -.public sub_0302B844 -.public sub_0302DD98 -.public sub_0302BC58 -.public sub_0302BBB0 -.public sub_03036B70 -.public sub_0302CDB0 -.public sub_0302C060 -.public sub_037FB454 -.public sub_0302D088 -.public sub_0302BB5C -.public sub_030285D0 -.public sub_0302D7C0 -.public sub_0302A4A4 -.public sub_00FF2BA4 -.public sub_038037B8 -.public sub_0302B94C -.public sub_0302B0E0 -.public sub_00FF90F0 -.public sub_03028270 -.public sub_0302C0FC -.public sub_0380382C -.public sub_0302DEF8 -.public sub_00FF2F54 -.public sub_0302DB8C -.public sub_00FF20C8 -.public sub_00FE81E8 -.public sub_0302AFAC -.public sub_037FDF74 -.public sub_0302D804 -.public sub_00FFAA28 -.public sub_00FFA954 -.public sub_037FE588 -.public sub_0302C464 -.public sub_00FF93C4 -.public sub_037FDA38 -.public sub_00FF8464 -.public sub_0302DD78 -.public sub_00FF9384 -.public sub_0302AB1C -.public sub_037FBA94 -.public sub_00FF9760 -.public sub_00FF93EC -.public sub_037FDF9C -.public sub_03036370 -.public sub_0302BE9C -.public sub_00FF1F64 -.public sub_00FF3254 -.public sub_00FF80DC -.public sub_03028988 -.public sub_0302CB80 -.public sub_00FF2DE8 -.public sub_0302D764 -.public sub_0302C574 -.public sub_03034A0C -.public sub_0302D4F0 -.public sub_0302BEC4 -.public sub_03033020 -.public sub_03028A28 -.public sub_0302ABA4 -.public sub_0302D91C -.public sub_0302BD80 -.public sub_00FF611C -.public sub_027E05D8 -.public sub_03803804 -.public sub_027E91B0 -.public sub_00FFD7A0 -.public sub_00FFD194 -.public sub_037F8598 -.public sub_027E956C -.public sub_03803168 -.public sub_027E8FE4 -.public sub_00FFD1BC -.public sub_037FB63C -.public sub_027E95D0 -.public sub_027E9290 -.public sub_03806610 -.public sub_027E8EBC -.public sub_027E9338 -.public sub_0200E3FC -.public sub_027E9084 -.public sub_037F8000 -.public sub_027E90A8 -.public sub_037FC6D4 -.public sub_030332FC -.public sub_027E9140 -.public sub_03033330 -.public sub_0200E792 -.public sub_0302D7DC -.public sub_00FFDEAC -.public sub_03033318 -.public sub_027EDEC0 -.public sub_03808DF0 -.public sub_027E1C0C -.public sub_037FB32C -.public sub_00FFD364 -.public sub_027E9260 -.public sub_0303336C -.public sub_027E9178 -.public sub_037FB858 -.public sub_0200E56E -.public sub_0302CD3C -.public sub_027E44FC -.public sub_027E8FB0 -.public sub_037FC36C -.public sub_027E1AE8 -.public sub_03033238 +.public sub_027F027C +.public sub_027F0CD4 +.public sub_027EF4C0 +.public sub_027EA1AC +.public sub_027EAB5C +.public sub_027E0000 +.public sub_027F4CC0 +.public sub_027EDF34 +.public sub_027F2444 +.public sub_027F5CC4 +.public sub_027E9E94 +.public sub_027F11DC +.public sub_027E9CF4 +.public sub_027EAC00 +.public sub_027EFEF4 +.public sub_027F1578 +.public sub_027EB844 +.public sub_027EAF70 +.public sub_027E9CB4 +.public sub_027F119C +.public sub_027EA9BC +.public sub_027F2840 +.public sub_027F0F08 +.public sub_027EB06C +.public sub_027F4FD4 +.public sub_027F25C0 +.public sub_027F55B8 +.public sub_027E9EE0 +.public sub_027F517C +.public sub_027EAD6C +.public sub_027E8D44 +.public sub_027EB830 +.public sub_027F4FAC +.public sub_027E9D7C +.public sub_027EAD24 +.public sub_027F276C +.public sub_027EC510 +.public sub_027F1204 diff --git a/sub/asm/main.s b/sub/asm/main.s index 34072b0f..b6424e6c 100644 --- a/sub/asm/main.s +++ b/sub/asm/main.s @@ -3,8 +3,8 @@ .text - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0xC3, 0x28, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF + arm_func_start sub_027E0000 +sub_027E0000: ; 0x027E0000 .byte 0x38, 0x40, 0x2D, 0xE9, 0x08, 0xD0, 0x4D, 0xE2, 0x01, 0x40, 0xA0, 0xE1, 0x00, 0x10, 0x94, 0xE5 .byte 0x74, 0x31, 0x9F, 0xE5, 0x00, 0x50, 0xA0, 0xE1, 0x40, 0x15, 0x83, 0xE5, 0x24, 0x10, 0x95, 0xE5 .byte 0x68, 0x01, 0x9F, 0xE5, 0x44, 0x15, 0x83, 0xE5, 0x28, 0x20, 0x95, 0xE5, 0x60, 0x11, 0x9F, 0xE5 @@ -34,59 +34,60 @@ .byte 0xD0, 0x78, 0x7F, 0x02, 0xF0, 0x78, 0x7F, 0x02, 0x00, 0x79, 0x7F, 0x02, 0x20, 0x79, 0x7F, 0x02 .byte 0xA0, 0x8D, 0x7F, 0x02, 0x64, 0xB3, 0x80, 0x03, 0x98, 0x08, 0x7E, 0x02, 0xC0, 0xB2, 0x80, 0x03 .byte 0xC0, 0x1C, 0x7E, 0x02, 0xA0, 0x89, 0x7F, 0x02, 0x44, 0x02, 0x7E, 0x02 + arm_func_end sub_027E0000 - arm_func_start sub_0200F9BC -sub_0200F9BC: ; 0x0200F9BC + arm_func_start sub_027E01CC +sub_027E01CC: ; 0x027E01CC stmdb sp!, {r3, lr} mov r1, r0 - ldr r0, _0200FA2C ; =0x027F7878 + ldr r0, _027E023C ; =0x027F7878 mov r2, #1 - bl sub_0302BEC4 - ldr r0, _0200FA30 ; =0x027F78D0 + bl sub_037FC6D4 + ldr r0, _027E0240 ; =0x027F78D0 add r1, sp, #0 mov r2, #1 - bl sub_0302BF50 + bl sub_037FC760 ldr r1, [sp] ldrh r0, [r1, #0xe] add r0, r1, r0, lsl #1 ldrh r0, [r0, #0x14] cmp r0, #0xe - bne _0200FA20 - bl sub_03036B70 + bne _027E0230 + bl sub_03807380 mov r1, #0x80 strh r1, [r0] mov r1, #0x13 strh r1, [r0, #2] mov r1, #0x18 strh r1, [r0, #4] - bl sub_03036B24 - bl sub_0302DEF8 - bl sub_0302D660 -_0200FA20: + bl sub_03807334 + bl sub_037FE708 + bl sub_037FDE70 +_027E0230: ldr r0, [sp] ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200FA2C: .word 0x027F7878 -_0200FA30: .word 0x027F78D0 - arm_func_end sub_0200F9BC +_027E023C: .word 0x027F7878 +_027E0240: .word 0x027F78D0 + arm_func_end sub_027E01CC - arm_func_start sub_0200FA34 -sub_0200FA34: ; 0x0200FA34 + arm_func_start sub_027E0244 +sub_027E0244: ; 0x027E0244 stmdb sp!, {r4, lr} mov r4, r1 cmp r2, #0 - bne _0200FA8C - ldr r0, _0200FA94 ; =0x027F7900 + bne _027E029C + ldr r0, _027E02A4 ; =0x027F7900 mov r2, #0 - bl sub_0302BEC4 + bl sub_037FC6D4 cmp r0, #0 - bne _0200FA8C - ldr r0, _0200FA98 ; =0x027F8878 + bne _027E029C + ldr r0, _027E02A8 ; =0x027F8878 ldr r0, [r0, #0x54c] cmp r0, #0 - beq _0200FA8C - bl sub_03036B70 + beq _027E029C + bl sub_03807380 ldrh r2, [r4] mov r1, #8 strh r2, [r0] @@ -94,18 +95,18 @@ sub_0200FA34: ; 0x0200FA34 mov r1, #0 strh r1, [r0, #4] strh r1, [r0, #6] - bl sub_03036B24 -_0200FA8C: + bl sub_03807334 +_027E029C: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200FA94: .word 0x027F7900 -_0200FA98: .word 0x027F8878 - arm_func_end sub_0200FA34 +_027E02A4: .word 0x027F7900 +_027E02A8: .word 0x027F8878 + arm_func_end sub_027E0244 - arm_func_start sub_0200FA9C -sub_0200FA9C: ; 0x0200FA9C - ldr r1, _0200FAF8 ; =0x027F8878 + arm_func_start sub_027E02AC +sub_027E02AC: ; 0x027E02AC + ldr r1, _027E0308 ; =0x027F8878 ldrb r2, [r0] ldr r3, [r1, #0x550] ldrb r1, [r3, #0xe0] @@ -129,11 +130,11 @@ sub_0200FA9C: ; 0x0200FA9C movne r0, #0 bx lr .align 2, 0 -_0200FAF8: .word 0x027F8878 - arm_func_end sub_0200FA9C +_027E0308: .word 0x027F8878 + arm_func_end sub_027E02AC - arm_func_start sub_0200FAFC -sub_0200FAFC: ; 0x0200FAFC + arm_func_start sub_027E030C +sub_027E030C: ; 0x027E030C stmdb sp!, {r3, lr} ldr r3, [r1, #8] mov r2, r0 @@ -166,39 +167,39 @@ sub_0200FAFC: ; 0x0200FAFC strh r0, [r2, #0xc] ldrh r0, [r1, #0x12] cmp r0, #0 - beq _0200FB90 + beq _027E03A0 ldrh r0, [r1, #0x36] cmp r0, #8 movhs r0, #8 - bhs _0200FB94 -_0200FB90: + bhs _027E03A4 +_027E03A0: ldrh r0, [r1, #0x36] -_0200FB94: +_027E03A4: strh r0, [r2, #0xe] ldrb r3, [r2, #0xa] cmp r3, #0 - beq _0200FBB8 + beq _027E03C8 ldr r0, [r1] add r3, r3, #1 add r1, r2, #0x10 bic r2, r3, #1 - bl sub_0302D91C -_0200FBB8: + bl sub_037FE12C +_027E03C8: ldmia sp!, {r3, lr} bx lr - arm_func_end sub_0200FAFC + arm_func_end sub_027E030C - arm_func_start sub_0200FBC0 -sub_0200FBC0: ; 0x0200FBC0 + arm_func_start sub_027E03D0 +sub_027E03D0: ; 0x027E03D0 stmdb sp!, {r4, r5, r6, lr} - ldr r2, _0200FD08 ; =0x027F8878 + ldr r2, _027E0518 ; =0x027F8878 mov r5, r1 ldr r4, [r2, #0x550] mov r6, r0 add r0, r4, #0xe0 add r1, r5, #0x10 mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C mov r0, #7 strh r0, [r5, #0x16] add r0, r4, #0x100 @@ -210,16 +211,16 @@ sub_0200FBC0: ; 0x0200FBC0 strh r1, [r5, #0x1c] ldr r1, [r4, #0x198] cmp r1, #0 - bne _0200FC34 + bne _027E0444 mov r0, #0 strh r0, [r5, #0x20] add r1, r5, #0x24 mov r2, #0x50 strh r0, [r5, #0x22] - bl sub_0302D764 + bl sub_037FDF74 mov r0, #0 - b _0200FC58 -_0200FC34: + b _027E0468 +_027E0444: ldrh r1, [r0, #0x96] add r0, r4, #0x19c strh r1, [r5, #0x20] @@ -227,9 +228,9 @@ _0200FC34: add r1, r5, #0x24 strh r2, [r5, #0x22] mov r2, #0x50 - bl sub_0302D91C + bl sub_037FE12C mov r0, #1 -_0200FC58: +_027E0468: strh r0, [r5, #0x9e] mov r0, #1 strh r0, [r5, #0x74] @@ -244,50 +245,50 @@ _0200FC58: strh r0, [r5, #0x7a] cmp r6, #0x26 mov r0, #0 - bne _0200FCA0 + bne _027E04B0 mov r2, #0x20 - bl sub_0302D764 - b _0200FCB8 -_0200FCA0: + bl sub_037FDF74 + b _027E04C8 +_027E04B0: mov r2, #8 - bl sub_0302D764 - ldr r0, _0200FD0C ; =0x0000FFFF + bl sub_037FDF74 + ldr r0, _027E051C ; =0x0000FFFF add r1, r5, #0x84 mov r2, #0x18 - bl sub_0302D764 -_0200FCB8: + bl sub_037FDF74 +_027E04C8: add r0, r4, #0x100 ldrh r1, [r0, #0xee] mov r0, r5 strh r1, [r5, #0x9c] - bl sub_02011BF4 + bl sub_027E2404 ldrh r4, [r0, #4] cmp r4, #0 moveq r0, #1 - beq _0200FD00 - bl sub_03036B70 + beq _027E0510 + bl sub_03807380 strh r6, [r0] mov r1, #1 strh r1, [r0, #2] mov r1, #0x200 strh r1, [r0, #4] strh r4, [r0, #6] - bl sub_03036B24 + bl sub_03807334 mov r0, #0 -_0200FD00: +_027E0510: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_0200FD08: .word 0x027F8878 -_0200FD0C: .word 0x0000FFFF - arm_func_end sub_0200FBC0 +_027E0518: .word 0x027F8878 +_027E051C: .word 0x0000FFFF + arm_func_end sub_027E03D0 - arm_func_start sub_0200FD10 -sub_0200FD10: ; 0x0200FD10 - ldr r1, _0200FD48 ; =0x027F8878 - ldr r3, _0200FD4C ; =0x027F8DCC + arm_func_start sub_027E0520 +sub_027E0520: ; 0x027E0520 + ldr r1, _027E0558 ; =0x027F8878 + ldr r3, _027E055C ; =0x027F8DCC ldr ip, [r1, #0x574] - ldr r2, _0200FD50 ; =0x027FFF98 + ldr r2, _027E0560 ; =0x027FFF98 strb r0, [r3, ip] ldr r3, [r1, #0x574] add r3, r3, #1 @@ -299,59 +300,59 @@ sub_0200FD10: ; 0x0200FD10 strh r0, [r2] bx lr .align 2, 0 -_0200FD48: .word 0x027F8878 -_0200FD4C: .word 0x027F8DCC -_0200FD50: .word 0x027FFF98 - arm_func_end sub_0200FD10 +_027E0558: .word 0x027F8878 +_027E055C: .word 0x027F8DCC +_027E0560: .word 0x027FFF98 + arm_func_end sub_027E0520 - arm_func_start sub_0200FD54 -sub_0200FD54: ; 0x0200FD54 - ldr r2, _0200FD84 ; =0x027F7878 + arm_func_start sub_027E0564 +sub_027E0564: ; 0x027E0564 + ldr r2, _027E0594 ; =0x027F7878 mov r3, #0 -_0200FD5C: +_027E056C: add r1, r2, r3 add r1, r1, #0x1000 add r3, r3, #1 strb r0, [r1, #0x554] cmp r3, #0x20 - blt _0200FD5C - ldr r0, _0200FD88 ; =0x027F8878 + blt _027E056C + ldr r0, _027E0598 ; =0x027F8878 mov r1, #0 str r1, [r0, #0x574] bx lr .align 2, 0 -_0200FD84: .word 0x027F7878 -_0200FD88: .word 0x027F8878 - arm_func_end sub_0200FD54 +_027E0594: .word 0x027F7878 +_027E0598: .word 0x027F8878 + arm_func_end sub_027E0564 - arm_func_start sub_0200FD8C -sub_0200FD8C: ; 0x0200FD8C - ldr r1, _0200FDC0 ; =0x027F7878 + arm_func_start sub_027E059C +sub_027E059C: ; 0x027E059C + ldr r1, _027E05D0 ; =0x027F7878 mov r3, #0 mov r2, r3 -_0200FD98: +_027E05A8: add r0, r1, r2 add r0, r0, #0x1000 ldrb r0, [r0, #0x554] add r2, r2, #1 cmp r2, #0x20 add r3, r3, r0 - blt _0200FD98 - ldr ip, _0200FDC4 ; =sub_027E05D8 + blt _027E05A8 + ldr ip, _027E05D4 ; =sub_027E05D8 mov r0, r3, lsr #5 bx ip .align 2, 0 -_0200FDC0: .word 0x027F7878 -_0200FDC4: .word sub_027E05D8 - arm_func_end sub_0200FD8C +_027E05D0: .word 0x027F7878 +_027E05D4: .word sub_027E05D8 + arm_func_end sub_027E059C - arm_func_start sub_0200FDC8 -sub_0200FDC8: ; 0x0200FDC8 - ldr r1, _0200FE2C ; =0x027F8878 + arm_func_start sub_027E05D8 +sub_027E05D8: ; 0x027E05D8 + ldr r1, _027E063C ; =0x027F8878 ldr r1, [r1, #0x54c] ldrb r1, [r1, #0x53] cmp r1, #8 - bne _0200FE04 + bne _027E0614 cmp r0, #0x16 movlo r0, #0 bxlo lr @@ -362,7 +363,7 @@ sub_0200FDC8: ; 0x0200FDC8 movlo r0, #2 movhs r0, #3 bx lr -_0200FE04: +_027E0614: cmp r0, #8 movlo r0, #0 bxlo lr @@ -374,106 +375,106 @@ _0200FE04: movhs r0, #3 bx lr .align 2, 0 -_0200FE2C: .word 0x027F8878 - arm_func_end sub_0200FDC8 +_027E063C: .word 0x027F8878 + arm_func_end sub_027E05D8 - arm_func_start sub_0200FE30 -sub_0200FE30: ; 0x0200FE30 + arm_func_start sub_027E0640 +sub_027E0640: ; 0x027E0640 stmdb sp!, {r4, lr} - bl sub_0302D4F0 + bl sub_037FDD00 mov r4, r0 - bl sub_0302BD48 - ldr r1, _0200FE84 ; =0x027F8878 - ldr r0, _0200FE88 ; =0x0380B2C0 + bl sub_037FC558 + ldr r1, _027E0694 ; =0x027F8878 + ldr r0, _027E0698 ; =0x0380B2C0 ldr r1, [r1, #0x58c] - bl sub_0302BBB0 - bl sub_020183A0 - ldr r1, _0200FE84 ; =0x027F8878 + bl sub_037FC3C0 + bl sub_027E8BB0 + ldr r1, _027E0694 ; =0x027F8878 ldr r1, [r1, #0x588] - bl sub_0302BBB0 - ldr r1, _0200FE84 ; =0x027F8878 - ldr r0, _0200FE8C ; =0x0380B364 + bl sub_037FC3C0 + ldr r1, _027E0694 ; =0x027F8878 + ldr r0, _027E069C ; =0x0380B364 ldr r1, [r1, #0x584] - bl sub_0302BBB0 - bl sub_0302BD80 + bl sub_037FC3C0 + bl sub_037FC590 mov r0, r4 - bl sub_0302D504 + bl sub_037FDD14 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200FE84: .word 0x027F8878 -_0200FE88: .word 0x0380B2C0 -_0200FE8C: .word 0x0380B364 - arm_func_end sub_0200FE30 +_027E0694: .word 0x027F8878 +_027E0698: .word 0x0380B2C0 +_027E069C: .word 0x0380B364 + arm_func_end sub_027E0640 - arm_func_start sub_0200FE90 -sub_0200FE90: ; 0x0200FE90 + arm_func_start sub_027E06A0 +sub_027E06A0: ; 0x027E06A0 stmdb sp!, {r4, lr} - bl sub_0302D4F0 + bl sub_037FDD00 mov r4, r0 - bl sub_0302BD48 - ldr r1, _0200FEE4 ; =0x027F8878 - ldr r0, _0200FEE8 ; =0x0380B364 + bl sub_037FC558 + ldr r1, _027E06F4 ; =0x027F8878 + ldr r0, _027E06F8 ; =0x0380B364 ldr r1, [r1, #0x578] - bl sub_0302BBB0 - bl sub_020183A0 - ldr r1, _0200FEE4 ; =0x027F8878 + bl sub_037FC3C0 + bl sub_027E8BB0 + ldr r1, _027E06F4 ; =0x027F8878 ldr r1, [r1, #0x57c] - bl sub_0302BBB0 - ldr r1, _0200FEE4 ; =0x027F8878 - ldr r0, _0200FEEC ; =0x0380B2C0 + bl sub_037FC3C0 + ldr r1, _027E06F4 ; =0x027F8878 + ldr r0, _027E06FC ; =0x0380B2C0 ldr r1, [r1, #0x580] - bl sub_0302BBB0 - bl sub_0302BD80 + bl sub_037FC3C0 + bl sub_037FC590 mov r0, r4 - bl sub_0302D504 + bl sub_037FDD14 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200FEE4: .word 0x027F8878 -_0200FEE8: .word 0x0380B364 -_0200FEEC: .word 0x0380B2C0 - arm_func_end sub_0200FE90 +_027E06F4: .word 0x027F8878 +_027E06F8: .word 0x0380B364 +_027E06FC: .word 0x0380B2C0 + arm_func_end sub_027E06A0 - arm_func_start sub_0200FEF0 -sub_0200FEF0: ; 0x0200FEF0 + arm_func_start sub_027E0700 +sub_027E0700: ; 0x027E0700 stmdb sp!, {r4, lr} mov r4, #0 - bl sub_0302D4F0 - ldr r1, _0200FF58 ; =0x027F8878 + bl sub_037FDD00 + ldr r1, _027E0768 ; =0x027F8878 ldr r2, [r1, #0x54c] cmp r2, #0 - beq _0200FF48 + beq _027E0758 mov r3, r4 - b _0200FF40 -_0200FF14: + b _027E0750 +_027E0724: add r1, r2, r3, lsl #4 ldr r1, [r1, #0xd0] tst r1, #0x8000 - beq _0200FF3C + beq _027E074C add r2, r2, #0xd0 ldr r1, [r2, r3, lsl #4] add r4, r2, r3, lsl #4 bic r1, r1, #0x8000 str r1, [r2, r3, lsl #4] - b _0200FF48 -_0200FF3C: + b _027E0758 +_027E074C: add r3, r3, #1 -_0200FF40: +_027E0750: cmp r3, #0x20 - blt _0200FF14 -_0200FF48: - bl sub_0302D504 + blt _027E0724 +_027E0758: + bl sub_037FDD14 mov r0, r4 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200FF58: .word 0x027F8878 - arm_func_end sub_0200FEF0 +_027E0768: .word 0x027F8878 + arm_func_end sub_027E0700 - arm_func_start sub_0200FF5C -sub_0200FF5C: ; 0x0200FF5C - ldr r0, _0200FF8C ; =0x027F8878 + arm_func_start sub_027E076C +sub_027E076C: ; 0x027E076C + ldr r0, _027E079C ; =0x027F8878 mov r1, #0 ldr r0, [r0, #0x550] strh r1, [r0, #0x38] @@ -486,12 +487,12 @@ sub_0200FF5C: ; 0x0200FF5C strh r1, [r0, #0x36] bx lr .align 2, 0 -_0200FF8C: .word 0x027F8878 - arm_func_end sub_0200FF5C +_027E079C: .word 0x027F8878 + arm_func_end sub_027E076C - arm_func_start sub_0200FF90 -sub_0200FF90: ; 0x0200FF90 - ldr r1, _0200FFDC ; =0x027F8878 + arm_func_start sub_027E07A0 +sub_027E07A0: ; 0x027E07A0 + ldr r1, _027E07EC ; =0x027F8878 cmp r0, #0x200 ldr r2, [r1, #0x550] movhi r0, #0x200 @@ -511,12 +512,12 @@ sub_0200FF90: ; 0x0200FF90 strneh r0, [r2, #0x3a] bx lr .align 2, 0 -_0200FFDC: .word 0x027F8878 - arm_func_end sub_0200FF90 +_027E07EC: .word 0x027F8878 + arm_func_end sub_027E07A0 - arm_func_start sub_0200FFE0 -sub_0200FFE0: ; 0x0200FFE0 - ldr r1, _0201002C ; =0x027F8878 + arm_func_start sub_027E07F0 +sub_027E07F0: ; 0x027E07F0 + ldr r1, _027E083C ; =0x027F8878 cmp r0, #0x200 ldr r2, [r1, #0x550] movhi r0, #0x200 @@ -536,12 +537,12 @@ sub_0200FFE0: ; 0x0200FFE0 strneh r0, [r2, #0x38] bx lr .align 2, 0 -_0201002C: .word 0x027F8878 - arm_func_end sub_0200FFE0 +_027E083C: .word 0x027F8878 + arm_func_end sub_027E07F0 - arm_func_start sub_02010030 -sub_02010030: ; 0x02010030 - ldr r1, _02010058 ; =0x027F8878 + arm_func_start sub_027E0840 +sub_027E0840: ; 0x027E0840 + ldr r1, _027E0868 ; =0x027F8878 ldr r2, [r1, #0x550] strh r0, [r2, #0x30] add r1, r2, #0x100 @@ -552,12 +553,12 @@ sub_02010030: ; 0x02010030 strneh r0, [r2, #0x3a] bx lr .align 2, 0 -_02010058: .word 0x027F8878 - arm_func_end sub_02010030 +_027E0868: .word 0x027F8878 + arm_func_end sub_027E0840 - arm_func_start sub_0201005C -sub_0201005C: ; 0x0201005C - ldr r1, _02010084 ; =0x027F8878 + arm_func_start sub_027E086C +sub_027E086C: ; 0x027E086C + ldr r1, _027E0894 ; =0x027F8878 ldr r2, [r1, #0x550] strh r0, [r2, #0x32] add r1, r2, #0x100 @@ -568,109 +569,109 @@ sub_0201005C: ; 0x0201005C strneh r0, [r2, #0x38] bx lr .align 2, 0 -_02010084: .word 0x027F8878 - arm_func_end sub_0201005C +_027E0894: .word 0x027F8878 + arm_func_end sub_027E086C - arm_func_start sub_02010088 -sub_02010088: ; 0x02010088 + arm_func_start sub_027E0898 +sub_027E0898: ; 0x027E0898 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x20 -_02010090: - ldr r0, _02010EE0 ; =0x027F7878 +_027E08A0: + ldr r0, _027E16F0 ; =0x027F7878 add r1, sp, #0x1c add r0, r0, #0x28 mov r2, #1 - bl sub_0302BF50 + bl sub_037FC760 ldr sb, [sp, #0x1c] cmp sb, #0 - bne _020100B8 - bl sub_0302B94C - b _020111E0 -_020100B8: + bne _027E08C8 + bl sub_037FC15C + b _027E19F0 +_027E08C8: ldrh r1, [sb, #0xc] and r0, r1, #0xff00 mov r0, r0, lsl #0x10 movs r0, r0, lsr #0x10 and r1, r1, #0xff cmpne r0, #0x100 - bne _020111C8 + bne _027E19D8 tst r1, #0x80 - beq _020111C8 - ldr r0, _02010EE4 ; =0x027F8878 + beq _027E19D8 + ldr r0, _027E16F4 ; =0x027F8878 ldr r1, [r0, #0x54c] cmp r1, #0 ldrne r8, [r0, #0x550] ldrneh r3, [r8] cmpne r3, #1 - beq _02010090 + beq _027E08A0 ldrh r2, [sb, #0xc] - ldr r1, _02010EE8 ; =0x00000182 + ldr r1, _027E16F8 ; =0x00000182 cmp r2, r1 - bgt _02010154 - bge _0201080C + bgt _027E0964 + bge _027E101C cmp r2, #0x8d - bgt _02010148 + bgt _027E0958 subs r0, r2, #0x84 addpl pc, pc, r0, lsl #2 - b _020111BC -_02010120: ; jump table - b _02010180 ; case 0 - b _020101A4 ; case 1 - b _02010430 ; case 2 - b _02010594 ; case 3 - b _020105B8 ; case 4 - b _020111BC ; case 5 - b _020111BC ; case 6 - b _020105DC ; case 7 - b _0201060C ; case 8 - b _0201063C ; case 9 -_02010148: + b _027E19CC +_027E0930: ; jump table + b _027E0990 ; case 0 + b _027E09B4 ; case 1 + b _027E0C40 ; case 2 + b _027E0DA4 ; case 3 + b _027E0DC8 ; case 4 + b _027E19CC ; case 5 + b _027E19CC ; case 6 + b _027E0DEC ; case 7 + b _027E0E1C ; case 8 + b _027E0E4C ; case 9 +_027E0958: cmp r2, #0x180 - beq _02010754 - b _020111BC -_02010154: + beq _027E0F64 + b _027E19CC +_027E0964: add r0, r1, #3 cmp r2, r0 - bgt _02010170 - bge _02010E60 + bgt _027E0980 + bge _027E1670 cmp r2, #0x184 - beq _02010B08 - b _020111BC -_02010170: + beq _027E1318 + b _027E19CC +_027E0980: add r0, r1, #4 cmp r2, r0 - beq _020110C4 - b _020111BC -_02010180: - bl sub_03036B70 + beq _027E18D4 + b _027E19CC +_027E0990: + bl sub_03807380 mov r1, #0x80 strh r1, [r0] mov r1, #0 strh r1, [r0, #2] mov r1, #0x13 strh r1, [r0, #4] - bl sub_03036B24 - b _020111BC -_020101A4: + bl sub_03807334 + b _027E19CC +_027E09B4: cmp r3, #7 cmpne r3, #9 - bne _0201032C + bne _027E0B3C add r1, sp, #0x14 add r0, sb, #0x10 mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C mov r6, #0 mov r5, r6 add r4, r8, #0x100 mov sl, #1 - b _020102A4 -_020101D4: - bl sub_0302D4F0 + b _027E0AB4 +_027E09E4: + bl sub_037FDD00 ldrh r2, [r4, #0x82] add r1, r5, #1 mov r7, r0 tst r2, sl, lsl r1 - beq _02010298 + beq _027E0AA8 mov r0, #6 mul r2, r5, r0 add r0, r8, r2 @@ -692,7 +693,7 @@ _020101D4: ldreqb r3, [sp, #0x19] ldreqb r0, [r0, #0x12d] cmpeq r3, r0 - bne _02010298 + bne _027E0AA8 add r3, r8, #0x100 mov r0, r1, lsl #0x10 mov r6, r0, lsr #0x10 @@ -710,21 +711,21 @@ _020101D4: add r0, r0, r2 mov r2, #6 str r1, [r3, #0x73c] - bl sub_0302D860 + bl sub_037FE070 mov r0, r7 - bl sub_0302D504 - b _020102AC -_02010298: + bl sub_037FDD14 + b _027E0ABC +_027E0AA8: mov r0, r7 - bl sub_0302D504 + bl sub_037FDD14 add r5, r5, #1 -_020102A4: +_027E0AB4: cmp r5, #0xf - blt _020101D4 -_020102AC: + blt _027E09E4 +_027E0ABC: cmp r6, #0 - beq _020111BC - bl sub_03036B70 + beq _027E19CC + bl sub_03807380 mov r4, r0 mov r0, #8 strh r0, [r4] @@ -738,42 +739,42 @@ _020102AC: strh r6, [r4, #0x10] add r1, r4, #0xa mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C ldrh r1, [r8, #0x30] mov r0, r4 strh r1, [r4, #0x2c] ldrh r1, [r8, #0x32] strh r1, [r4, #0x2e] - bl sub_03036B24 + bl sub_03807334 ldr r0, [r8, #0xc] cmp r0, #1 - bne _020111BC + bne _027E19CC mov r0, #1 mov r0, r0, lsl r6 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_0201700C - b _020111BC -_0201032C: + bl sub_027E781C + b _027E19CC +_027E0B3C: mov r5, #0 - bl sub_0302D4F0 + bl sub_037FDD00 add r1, r8, #0x100 ldrh r1, [r1, #0x82] mov r4, r0 cmp r1, #0 - bne _02010350 - bl sub_0302D504 - b _020111BC -_02010350: + bne _027E0B60 + bl sub_037FDD14 + b _027E19CC +_027E0B60: ldr r0, [r8, #0xc] cmp r0, #1 - bne _02010370 + bne _027E0B80 mov r0, r5 str r0, [r8, #0xc] mov r5, #1 - bl sub_0201537C - bl sub_0200FE30 -_02010370: + bl sub_027E5B8C + bl sub_027E0640 +_027E0B80: add r0, r8, #0x100 mov r1, #0 strh r1, [r0, #0x82] @@ -785,15 +786,15 @@ _02010370: strh r1, [r0, #0x96] add r0, r8, #0x19c mov r2, #0x50 - bl sub_0302D860 - bl sub_0200FF5C + bl sub_037FE070 + bl sub_027E076C mov r0, #0 strh r0, [r8, #0xc2] mov r1, #3 mov r0, r4 strh r1, [r8] - bl sub_0302D504 - bl sub_03036B70 + bl sub_037FDD14 + bl sub_03807380 mov r4, r0 mov r0, #0xc strh r0, [r4] @@ -810,45 +811,45 @@ _02010370: add r0, r0, #0x100 add r1, r4, #0x10 mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C ldrh r1, [r8, #0x30] mov r0, r4 strh r1, [r4, #0x16] ldrh r1, [r8, #0x32] strh r1, [r4, #0x18] - bl sub_03036B24 + bl sub_03807334 cmp r5, #0 - beq _020111BC + beq _027E19CC mov r0, #1 - bl sub_0201700C - b _020111BC -_02010430: + bl sub_027E781C + b _027E19CC +_027E0C40: ldrh r5, [sb, #0x16] cmp r5, #0 - beq _020111BC + beq _027E19CC cmp r5, #0x10 - bhs _020111BC + bhs _027E19CC ldrh r0, [r8, #0xf6] cmp r0, #0 - bne _020104BC - bl sub_0200FEF0 + bne _027E0CCC + bl sub_027E0700 movs r4, r0 moveq r0, #0 - beq _02010488 + beq _027E0C98 mov r3, #0x22 add r0, sb, #0x10 add r1, r4, #4 mov r2, #6 str r3, [r4] - bl sub_0302D91C - ldr r0, _02010EEC ; =0x027F7900 + bl sub_037FE12C + ldr r0, _027E16FC ; =0x027F7900 mov r1, r4 mov r2, #0 - bl sub_0302BEC4 -_02010488: + bl sub_037FC6D4 +_027E0C98: cmp r0, #0 - bne _020111BC - bl sub_03036B70 + bne _027E19CC + bl sub_03807380 mov r1, #0x80 strh r1, [r0] mov r1, #8 @@ -857,10 +858,10 @@ _02010488: strh r1, [r0, #4] mov r1, #0x22 strh r1, [r0, #6] - bl sub_03036B24 - b _020111BC -_020104BC: - bl sub_0302D4F0 + bl sub_03807334 + b _027E19CC +_027E0CCC: + bl sub_037FDD00 add r1, r8, #0x100 mov r4, #1 ldrh r3, [r1, #0x82] @@ -871,7 +872,7 @@ _020104BC: mov r4, r0 and r0, r1, r2 strh r0, [r8, #0x86] - bl sub_0302CA0C + bl sub_037FD21C orr r2, r0, #1 add r0, r8, r5, lsl #3 add r3, r8, #0x128 @@ -882,15 +883,15 @@ _020104BC: mov r2, #6 mla r1, r0, r2, r3 add r0, sb, #0x10 - bl sub_0302D91C + bl sub_037FE12C mov r0, r4 - bl sub_0302D504 + bl sub_037FDD14 mov r0, #1 add r1, r8, #0x1f8 add r1, r1, r5, lsl #4 mov r2, #0x10 - bl sub_0302D764 - bl sub_03036B70 + bl sub_037FDF74 + bl sub_03807380 mov r4, r0 mov r0, #8 strh r0, [r4] @@ -901,69 +902,69 @@ _020104BC: add r0, sb, #0x10 add r1, r4, #0xa mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C strh r5, [r4, #0x10] add r0, sb, #0x22 add r1, r4, #0x14 mov r2, #0x18 - bl sub_0302D78C + bl sub_037FDF9C ldrh r1, [r8, #0x30] mov r0, r4 strh r1, [r4, #0x2c] ldrh r1, [r8, #0x32] strh r1, [r4, #0x2e] - bl sub_03036B24 - b _020111BC -_02010594: - bl sub_03036B70 + bl sub_03807334 + b _027E19CC +_027E0DA4: + bl sub_03807380 mov r1, #0x80 strh r1, [r0] mov r1, #0 strh r1, [r0, #2] mov r1, #0x12 strh r1, [r0, #4] - bl sub_03036B24 - b _020111BC -_020105B8: - bl sub_03036B70 + bl sub_03807334 + b _027E19CC +_027E0DC8: + bl sub_03807380 mov r1, #0x80 strh r1, [r0] mov r1, #0 strh r1, [r0, #2] mov r1, #0x11 strh r1, [r0, #4] - bl sub_03036B24 - b _020111BC -_020105DC: + bl sub_03807334 + b _027E19CC +_027E0DEC: ldrh r0, [r8, #0xc2] cmp r0, #0 - beq _020111BC - bl sub_03036B70 + beq _027E19CC + bl sub_03807380 mov r1, #0xc strh r1, [r0] mov r1, #0 strh r1, [r0, #2] mov r1, #8 strh r1, [r0, #8] - bl sub_03036B24 - b _020111BC -_0201060C: + bl sub_03807334 + b _027E19CC +_027E0E1C: ldrh r0, [r8, #0xc2] cmp r0, #0 - beq _020111BC - bl sub_03036B70 + beq _027E19CC + bl sub_03807380 mov r1, #8 strh r1, [r0] mov r1, #0 strh r1, [r0, #2] mov r1, #2 strh r1, [r0, #8] - bl sub_03036B24 - b _020111BC -_0201063C: + bl sub_03807334 + b _027E19CC +_027E0E4C: ldrb r0, [sb, #0x1f] - bl sub_02011230 - ldr r2, _02010EF0 ; =0x027FFF98 + bl sub_027E1A40 + ldr r2, _027E1700 ; =0x027FFF98 ldrh r1, [r2] eor r0, r0, r1, lsl #1 eor r0, r0, r0, lsr #16 @@ -971,28 +972,28 @@ _0201063C: ldrh r0, [r8] cmp r0, #8 cmpne r0, #0xa - bne _020111BC + bne _027E19CC ldrh r1, [r8, #0xba] ldrh r0, [sb, #0x44] cmp r1, r0 - beq _020106E0 - bl sub_0200FEF0 + beq _027E0EF0 + bl sub_027E0700 movs r1, r0 moveq r0, #0 - beq _020106AC + beq _027E0EBC mov r0, #0x25 str r0, [r1] mov r0, #1 - ldr r3, _02010EF4 ; =0x00008002 + ldr r3, _027E1704 ; =0x00008002 str r0, [r1, #4] - ldr r0, _02010EEC ; =0x027F7900 + ldr r0, _027E16FC ; =0x027F7900 mov r2, #0 str r3, [r1, #8] - bl sub_0302BEC4 -_020106AC: + bl sub_037FC6D4 +_027E0EBC: cmp r0, #0 - bne _020111BC - bl sub_03036B70 + bne _027E19CC + bl sub_03807380 mov r1, #0x80 strh r1, [r0] mov r1, #8 @@ -1001,15 +1002,15 @@ _020106AC: strh r1, [r0, #4] mov r1, #0x25 strh r1, [r0, #6] - bl sub_03036B24 - b _020111BC -_020106E0: - ldr r0, _02010EE4 ; =0x027F8878 + bl sub_03807334 + b _027E19CC +_027E0EF0: + ldr r0, _027E16F4 ; =0x027F8878 ldr r0, [r0, #0x550] ldrh r0, [r0, #0xc2] cmp r0, #0 - beq _020111BC - bl sub_03036B70 + beq _027E19CC + bl sub_03807380 mov r4, r0 mov r0, #0x80 strh r0, [r4] @@ -1024,33 +1025,33 @@ _020106E0: ldrh r0, [sb, #0x16] strh r0, [r4, #0xa] cmp r0, #0x80 - bhi _02010748 + bhi _027E0F58 add r2, r0, #1 add r0, sb, #0x3c add r1, r4, #0xc bic r2, r2, #1 - bl sub_0302D78C -_02010748: + bl sub_037FDF9C +_027E0F58: mov r0, r4 - bl sub_03036B24 - b _020111BC -_02010754: + bl sub_03807334 + b _027E19CC +_027E0F64: ldr r0, [r8, #0x10] cmp r0, #0 - beq _020111BC + beq _027E19CC ldrb r0, [sb, #0x1f] - bl sub_02011230 - bl sub_0200FD10 - bl sub_0200FD8C + bl sub_027E1A40 + bl sub_027E0520 + bl sub_027E059C strh r0, [r8, #0xbc] add r0, sb, #0x2e - bl sub_0200FA9C + bl sub_027E02AC cmp r0, #1 - beq _020111BC + beq _027E19CC ldrh r1, [sb, #0x16] - ldr r0, _02010EF8 ; =0x000005E4 + ldr r0, _027E1708 ; =0x000005E4 cmp r1, r0 - bhi _020111BC + bhi _027E19CC ldrh r1, [r8, #0xae] add r0, sb, #0x10 eor r1, r1, #1 @@ -1062,16 +1063,16 @@ _02010754: add r2, r1, #0x2d mov r1, r4 bic r2, r2, #1 - bl sub_0302D91C + bl sub_037FE12C add r0, sb, #0x28 add r1, r4, #0x18 mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C add r0, sb, #0x2e add r1, r4, #0x1e mov r2, #6 - bl sub_0302D91C - bl sub_03036B70 + bl sub_037FE12C + bl sub_03807380 mov r1, #0x11 strh r1, [r0] mov r1, #0 @@ -1079,17 +1080,17 @@ _02010754: mov r1, #0xf strh r1, [r0, #4] str r4, [r0, #8] - bl sub_03036B24 - b _020111BC -_0201080C: + bl sub_03807334 + b _027E19CC +_027E101C: ldrb r0, [sb, #0x1f] - bl sub_02011230 + bl sub_027E1A40 ldrh r1, [r8, #0xbe] cmp r1, r0 strhih r0, [r8, #0xbe] ldr r0, [r8, #0xc] cmp r0, #0 - beq _020111BC + beq _027E19CC ldrh r0, [r8, #0x60] cmp r0, #1 moveq r0, #0 @@ -1108,24 +1109,24 @@ _0201080C: movlo r2, r0 mov r1, r4 add r0, sb, #0x10 - bl sub_0302D91C - bl sub_0302D4F0 + bl sub_037FE12C + bl sub_037FDD00 ldrh r1, [r8, #0x84] mov fp, r0 cmp r1, #1 mov r5, #0 - bne _0201089C - ldr r0, _02010EFC ; =0x0380B408 + bne _027E10AC + ldr r0, _027E170C ; =0x0380B408 mov r5, #1 - bl sub_0302CDB0 -_0201089C: + bl sub_037FD5C0 +_027E10AC: mov r7, #1 strh r7, [r8, #0x84] ldrh r0, [r4, #0xa] mov ip, #0 strh r0, [r8, #0x82] ldrh r6, [sb, #0x18] - ldr r0, _02010F00 ; =0x000082EA + ldr r0, _027E1710 ; =0x000082EA tst r6, #0x2000 moveq r7, #0 strh r7, [r8, #0x90] @@ -1145,11 +1146,11 @@ _0201089C: orr r0, r0, r2, lsl #26 mov r3, r2, lsr #6 mov r1, r0, lsr #0xa - ldr r0, _02010EFC ; =0x0380B408 + ldr r0, _027E170C ; =0x0380B408 mov r2, r3, lsr #0xa orr r1, r1, r3, lsl #22 - ldr r3, _02010F04 ; =0x027E1B68 - bl sub_0302CCCC + ldr r3, _027E1714 ; =0x027E1B68 + bl sub_037FD4DC and r0, r6, #0x2800 cmp r0, #0x2800 moveq r1, #1 @@ -1170,34 +1171,34 @@ _0201089C: moveq r0, #0 strh r0, [r8, #0x8c] cmp r7, #0 - beq _020109A8 + beq _027E11B8 ldrh r0, [r4, #0x2c] sub r1, r0, #0x66 mov r0, r1, asr #1 add r0, r1, r0, lsr #30 mov r0, r0, asr #2 subs r1, r0, #0x20 - bmi _020109A8 + bmi _027E11B8 ldrh r0, [r8, #0x32] cmp r1, #0x200 movgt r1, #0x200 cmp r1, r0 - beq _020109A8 + beq _027E11B8 mov r0, r1, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_0201005C -_020109A8: + bl sub_027E086C +_027E11B8: mov r0, fp - bl sub_0302D504 + bl sub_037FDD14 cmp r5, #0 - beq _020109F4 + beq _027E1204 cmp sl, #1 - bne _020109CC + bne _027E11DC mov r0, r5 mov r1, #0 - bl sub_02016CDC -_020109CC: - bl sub_03036B70 + bl sub_027E74EC +_027E11DC: + bl sub_03807380 mov r1, #0xe strh r1, [r0] mov r1, #9 @@ -1206,31 +1207,31 @@ _020109CC: strh r1, [r0, #4] mov r1, #0 str r1, [r0, #8] - bl sub_03036B24 -_020109F4: + bl sub_03807334 +_027E1204: cmp r7, #0 - bne _02010A20 + bne _027E1230 ldrh r0, [r4, #6] cmp r0, #2 - blo _020111BC + blo _027E19CC ldrh r0, [r4, #0x30] tst r0, #0x8000 movne r0, #1 moveq r0, #0 strh r0, [r8, #0x5e] - b _020111BC -_02010A20: + b _027E19CC +_027E1230: add r0, sb, #0x28 add r1, r4, #0x18 mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C add r0, sb, #0x2e add r1, r4, #0x1e mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C ldrh r0, [r4, #6] cmp r0, #2 - blo _02010AB0 + blo _027E12C0 sub r0, r0, #2 strh r0, [r4, #6] ldrh r0, [r4, #0x30] @@ -1238,7 +1239,7 @@ _02010A20: movne r0, #1 moveq r0, #0 strh r0, [r8, #0x5e] - bl sub_03036B70 + bl sub_03807380 mov r1, #0xe strh r1, [r0] mov r1, #0 @@ -1246,58 +1247,58 @@ _02010A20: mov r1, #0xc strh r1, [r0, #4] str r4, [r0, #8] - bl sub_03036B24 + bl sub_03807334 ldrh r3, [r4, #6] cmp r3, #0 - beq _02010ADC + beq _027E12EC str r4, [sp] ldrh r1, [r4, #0x30] add r2, r4, #0x32 mov r0, #0 - bl sub_02017200 - b _02010ADC -_02010AB0: + bl sub_027E7A10 + b _027E12EC +_027E12C0: mov r0, #0 strh r0, [r4, #6] strh r0, [r8, #0x5e] - bl sub_03036B70 + bl sub_03807380 mov r1, #0xe strh r1, [r0] strh r1, [r0, #2] mov r1, #0xc strh r1, [r0, #4] str r4, [r0, #8] - bl sub_03036B24 -_02010ADC: + bl sub_03807334 +_027E12EC: ldr r0, [r8, #0x7bc] ldr r1, [r8, #0x7b8] cmp r0, #0 cmpeq r1, #0 - beq _020111BC - bl sub_0302CA0C + beq _027E19CC + bl sub_037FD21C orr r0, r0, #1 str r0, [r8, #0x738] orr r0, r1, #0 str r0, [r8, #0x73c] - b _020111BC -_02010B08: + b _027E19CC +_027E1318: ldr r0, [r8, #0xc] mov fp, #0 cmp r0, #0 - beq _020111BC + beq _027E19CC ldrh r0, [sb, #0x12] cmp r0, #0 - bne _02010B3C + bne _027E134C ldrh r1, [r8, #0x66] cmp r1, #1 - bne _02010B44 + bne _027E1354 ldrh r0, [sb, #0x10] cmp r0, #0 - beq _02010B44 -_02010B3C: - bl sub_02011244 - b _020111BC -_02010B44: + beq _027E1354 +_027E134C: + bl sub_027E1A54 + b _027E19CC +_027E1354: cmp r1, #0 movne r0, #0 strneh r0, [r8, #0x66] @@ -1313,37 +1314,37 @@ _02010B44: movlo r2, r0 mov r1, r4 add r0, sb, #0x10 - bl sub_0302D91C - ldr r0, _02010EE4 ; =0x027F8878 + bl sub_037FE12C + ldr r0, _027E16F4 ; =0x027F8878 ldrh r1, [r4] ldr r7, [r0, #0x550] cmp r1, #0 ldrh r5, [r7, #0xbe] - bne _02010BE0 + bne _027E13F0 ldrh r0, [sb, #0x14] cmp r0, #1 - blo _02010BE0 + blo _027E13F0 add sl, sb, #0x1a mov r6, #0 - b _02010BD0 -_02010BB4: + b _027E13E0 +_027E13C4: ldrh r1, [sb, #0x16] mla r0, r1, r6, sl ldrb r0, [r0, #3] - bl sub_02011230 + bl sub_027E1A40 cmp r0, r5 movlo r5, r0 add r6, r6, #1 -_02010BD0: +_027E13E0: ldrh r0, [sb, #0x14] cmp r6, r0 - blt _02010BB4 + blt _027E13C4 strh r5, [r7, #0xbe] -_02010BE0: - bl sub_0302CA0C +_027E13F0: + bl sub_037FD21C orr r0, r0, #1 str r0, [sp, #8] - ldr r0, _02010F08 ; =0x00008001 + ldr r0, _027E1718 ; =0x00008001 orr r1, r1, #0 rsb r0, r0, #0x18000 ldrh r6, [r4] @@ -1351,19 +1352,19 @@ _02010BE0: add r5, r4, #0xa mov sl, #0 str r0, [sp, #0x10] - b _02010D78 -_02010C10: + b _027E1588 +_027E1420: ldrh r7, [r5, #4] ldrh r1, [r5] cmp r7, #1 - blo _02010D64 + blo _027E1574 cmp r7, #0xf - bhi _02010D64 + bhi _027E1574 cmp r1, #2 - blo _02010C8C + blo _027E149C ldr r0, [sp, #0x10] cmp r1, r0 - beq _02010C8C + beq _027E149C sub r0, r1, #2 mov r0, r0, lsl #0x10 movs r3, r0, lsr #0x10 @@ -1377,16 +1378,16 @@ _02010C10: str r1, [r0, #0x738] ldr r1, [sp, #0xc] str r1, [r0, #0x73c] - beq _02010D64 + beq _027E1574 mov r0, r7 str r4, [sp] ldrh r1, [r5, #8] add r2, r5, #0xa - bl sub_02017200 - b _02010D64 -_02010C8C: + bl sub_027E7A10 + b _027E1574 +_027E149C: cmp r1, #0 - bne _02010D64 + bne _027E1574 add r0, r8, r7, lsl #3 ldr r2, [r0, #0x738] ldr r1, [r0, #0x73c] @@ -1400,37 +1401,37 @@ _02010C8C: cmp ip, #0 mov r3, #0 cmpeq r0, #0 - beq _02010D64 + beq _027E1574 cmp r1, r3 cmpeq r2, r3 - beq _02010D64 + beq _027E1574 ldr r3, [sp, #8] subs r3, r3, r2 ldr r2, [sp, #0xc] sbc r1, r2, r1 cmp r1, ip cmpeq r3, r0 - bls _02010D64 - bl sub_0200FEF0 + bls _027E1574 + bl sub_027E0700 movs r1, r0 add r2, r8, r7, lsl #3 mov r0, #0 str r0, [r2, #0x738] str r0, [r2, #0x73c] - beq _02010D34 + beq _027E1544 mov r0, #0x25 str r0, [r1] ldr r0, [sp, #4] mov r2, #0 str r0, [r1, #4] - ldr r0, _02010F08 ; =0x00008001 + ldr r0, _027E1718 ; =0x00008001 str r0, [r1, #8] - ldr r0, _02010EEC ; =0x027F7900 - bl sub_0302BEC4 -_02010D34: + ldr r0, _027E16FC ; =0x027F7900 + bl sub_037FC6D4 +_027E1544: cmp r0, #0 - bne _02010D64 - bl sub_03036B70 + bne _027E1574 + bl sub_03807380 mov r1, #0x80 strh r1, [r0] mov r1, #8 @@ -1439,25 +1440,25 @@ _02010D34: strh r1, [r0, #4] mov r1, #0x25 strh r1, [r0, #6] - bl sub_03036B24 -_02010D64: + bl sub_03807334 +_027E1574: add r0, sl, #1 mov r0, r0, lsl #0x10 mov sl, r0, lsr #0x10 ldrh r0, [r4, #6] add r5, r5, r0 -_02010D78: +_027E1588: ldrh r0, [r4, #4] cmp sl, r0 - blo _02010C10 + blo _027E1420 mov r0, r6, lsl #0x10 mov r1, r0, lsr #0x10 mov r0, #0 - bl sub_02016CDC + bl sub_027E74EC ldrh r0, [r4] cmp r0, #0 movne fp, #1 - bl sub_03036B70 + bl sub_03807380 mov r1, #0xe strh r1, [r0] mov r1, #0 @@ -1465,11 +1466,11 @@ _02010D78: mov r1, #0xb strh r1, [r0, #4] str r4, [r0, #8] - bl sub_03036B24 + bl sub_03807334 ldrh r0, [r8, #0x70] eor r0, r0, #1 strh r0, [r8, #0x70] - bl sub_0302D4F0 + bl sub_037FDD00 cmp fp, #0 ldreqsh r1, [r8, #0x62] subeq r1, r1, #1 @@ -1484,37 +1485,37 @@ _02010D78: cmpgt r1, #0 movgt r4, #1 movle r4, #0 - bl sub_0302D504 + bl sub_037FDD14 cmp r4, #0 - beq _020111BC + beq _027E19CC cmp fp, #1 ldreqh r4, [sb, #0x10] ldrh r0, [r8, #0x44] - ldrne r4, _02010F0C ; =0x0000FFFF + ldrne r4, _027E171C ; =0x0000FFFF cmp r0, #0 - beq _02010E54 - ldr r0, _02010F10 ; =0x0380B434 - bl sub_0302CDB0 + beq _027E1664 + ldr r0, _027E1720 ; =0x0380B434 + bl sub_037FD5C0 str r4, [sp] ldr r1, [r8, #0x48] ldr r2, [r8, #0x4c] - ldr r0, _02010F10 ; =0x0380B434 - ldr r3, _02010F14 ; =0x027E1AD4 - bl sub_0302CCCC - b _020111BC -_02010E54: + ldr r0, _027E1720 ; =0x0380B434 + ldr r3, _027E1724 ; =0x027E1AD4 + bl sub_037FD4DC + b _027E19CC +_027E1664: mov r0, r4 - bl sub_020112D8 - b _020111BC -_02010E60: + bl sub_027E1AE8 + b _027E19CC +_027E1670: ldr r0, [r8, #0xc] mov r5, #0 cmp r0, #0 - beq _020111BC + beq _027E19CC ldrh r0, [sb, #0xe] cmp r0, #0 - bne _02010EC0 - ldr r1, _02010F18 ; =0x048080F8 + bne _027E16D0 + ldr r1, _027E1728 ; =0x048080F8 mov r4, #1 ldrh r0, [r1] ldrh r3, [r1, #2] @@ -1529,62 +1530,62 @@ _02010E60: mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 cmp r0, #0 - ble _020111BC - b _02010EC4 -_02010EC0: + ble _027E19CC + b _027E16D4 +_027E16D0: mov r4, r5 -_02010EC4: - bl sub_0302D4F0 +_027E16D4: + bl sub_037FDD00 ldrh r1, [r8, #0x84] mov r7, r0 cmp r1, #0 - bne _02010F1C - bl sub_0302D504 - b _020111BC + bne _027E172C + bl sub_037FDD14 + b _027E19CC .align 2, 0 -_02010EE0: .word 0x027F7878 -_02010EE4: .word 0x027F8878 -_02010EE8: .word 0x00000182 -_02010EEC: .word 0x027F7900 -_02010EF0: .word 0x027FFF98 -_02010EF4: .word 0x00008002 -_02010EF8: .word 0x000005E4 -_02010EFC: .word 0x0380B408 -_02010F00: .word 0x000082EA -_02010F04: .word 0x027E1B68 -_02010F08: .word 0x00008001 -_02010F0C: .word 0x0000FFFF -_02010F10: .word 0x0380B434 -_02010F14: .word 0x027E1AD4 -_02010F18: .word 0x048080F8 -_02010F1C: - ldr r0, _02010EFC ; =0x0380B408 +_027E16F0: .word 0x027F7878 +_027E16F4: .word 0x027F8878 +_027E16F8: .word 0x00000182 +_027E16FC: .word 0x027F7900 +_027E1700: .word 0x027FFF98 +_027E1704: .word 0x00008002 +_027E1708: .word 0x000005E4 +_027E170C: .word 0x0380B408 +_027E1710: .word 0x000082EA +_027E1714: .word 0x027E1B68 +_027E1718: .word 0x00008001 +_027E171C: .word 0x0000FFFF +_027E1720: .word 0x0380B434 +_027E1724: .word 0x027E1AD4 +_027E1728: .word 0x048080F8 +_027E172C: + ldr r0, _027E170C ; =0x0380B408 mov r1, #0 strh r1, [r8, #0x84] ldrh r6, [r8, #0x90] - bl sub_0302CDB0 + bl sub_037FD5C0 mov r0, r7 - bl sub_0302D504 + bl sub_037FDD14 ldrh r3, [r8, #0x8c] mov r2, #1 cmp r3, #0 - beq _02010F68 + beq _027E1778 cmp r4, #0 - bne _02010F64 + bne _027E1774 add r0, r8, #0x100 ldrh r1, [sb, #0x3e] ldrh r0, [r0, #0x88] tst r1, r2, lsl r0 - bne _02010F68 -_02010F64: + bne _027E1778 +_027E1774: mov r2, #0 -_02010F68: +_027E1778: cmp r3, #0 movne r0, #0 strneh r0, [r8, #0x8c] ldrh r0, [r8, #0x8e] cmp r0, #0 - beq _02010FA4 + beq _027E17B4 mov r0, #0 strh r0, [r8, #0x8e] cmp r2, #0 @@ -1592,19 +1593,19 @@ _02010F68: mov r1, r0, lsl #0x10 mov r0, r4 mov r1, r1, lsr #0x10 - bl sub_02016CDC + bl sub_027E74EC mov r5, r0 -_02010FA4: +_027E17B4: cmp r6, #0 - beq _020111BC - bl sub_03036B70 + beq _027E19CC + bl sub_03807380 mov r7, r0 mov r0, #0xe strh r0, [r7] cmp r4, #0 movne r0, #9 strneh r0, [r7, #2] - bne _02010FF0 + bne _027E1800 add r0, r8, #0x100 ldrh r2, [sb, #0x3e] ldrh r0, [r0, #0x88] @@ -1614,13 +1615,13 @@ _02010FA4: strneh r0, [r7, #2] moveq r0, #0 streqh r0, [r7, #2] -_02010FF0: +_027E1800: mov r0, #0xd strh r0, [r7, #4] mov r0, #0 str r0, [r7, #8] cmp r4, #0 - bne _02011050 + bne _027E1860 ldrh r1, [sb, #0x1c] add r0, sb, #0x28 strh r1, [r7, #0xc] @@ -1628,69 +1629,69 @@ _02010FF0: add r1, r7, #0x10 strh r2, [r7, #0xe] mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C add r0, sb, #0x2e add r1, r7, #0x16 mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C ldrh r0, [sb, #0x3a] strh r0, [r7, #0x1c] ldrh r0, [sb, #0x3c] strh r0, [r7, #0x1e] ldrh r0, [sb, #0x3e] strh r0, [r7, #0x20] -_02011050: +_027E1860: mov r0, r7 - bl sub_03036B24 + bl sub_03807334 cmp r6, #0 - beq _020111BC + beq _027E19CC cmp r5, #1 ldrneh r0, [r8, #0x5e] cmpne r0, #0 - bne _020110AC + bne _027E18BC ldrh r0, [r8, #0x46] cmp r0, #0 - beq _020110A4 - ldr r0, _02010F10 ; =0x0380B434 - bl sub_0302CDB0 + beq _027E18B4 + ldr r0, _027E1720 ; =0x0380B434 + bl sub_037FD5C0 mov r0, #0 str r0, [sp] ldr r1, [r8, #0x50] ldr r2, [r8, #0x54] - ldr r0, _02010F10 ; =0x0380B434 - ldr r3, _020111EC ; =0x027E1C00 - bl sub_0302CCCC - b _020111BC -_020110A4: - bl sub_020113FC - b _020111BC -_020110AC: + ldr r0, _027E1720 ; =0x0380B434 + ldr r3, _027E19FC ; =0x027E1C00 + bl sub_037FD4DC + b _027E19CC +_027E18B4: + bl sub_027E1C0C + b _027E19CC +_027E18BC: mov r1, #0 strh r1, [r8, #0x5e] mov r0, #1 strh r0, [r8, #0x60] strh r1, [r8, #0x88] - b _020111BC -_020110C4: + b _027E19CC +_027E18D4: add r0, r8, #0x700 ldrh r0, [r0, #0xcc] cmp r0, #1 ldreqh r0, [sb, #0x10] cmpeq r0, #0x20 - bne _02011138 - bl sub_0302D4F0 + bne _027E1948 + bl sub_037FDD00 mov r4, r0 - ldr r0, _02010EFC ; =0x0380B408 - bl sub_0302CDB0 + ldr r0, _027E170C ; =0x0380B408 + bl sub_037FD5C0 mov r1, #0 mov r0, r4 strh r1, [r8, #0x84] - bl sub_0302D504 + bl sub_037FDD14 mov r1, #0 strh r1, [r8, #0x8a] mov r0, #1 - bl sub_02016CDC - bl sub_03036B70 + bl sub_027E74EC + bl sub_03807380 mov r1, #0x80 strh r1, [r0] mov r1, #0 @@ -1699,35 +1700,35 @@ _020110C4: strh r1, [r0, #4] mov r1, #1 strh r1, [r0, #6] - bl sub_03036B24 - b _020111BC -_02011138: - bl sub_0200FEF0 + bl sub_03807334 + b _027E19CC +_027E1948: + bl sub_027E0700 movs r1, r0 moveq r0, #0 - beq _0201118C - ldr r0, _020111F0 ; =0x00008003 + beq _027E199C + ldr r0, _027E1A00 ; =0x00008003 mov r2, #0x25 str r2, [r1] str r0, [r1, #8] ldrh r0, [r8] cmp r0, #9 cmpne r0, #7 - ldreq r0, _020111F4 ; =0x00007FFE + ldreq r0, _027E1A04 ; =0x00007FFE streq r0, [r1, #4] - beq _02011180 + beq _027E1990 cmp r0, #0xa cmpne r0, #8 moveq r0, #1 streq r0, [r1, #4] -_02011180: - ldr r0, _02010EEC ; =0x027F7900 +_027E1990: + ldr r0, _027E16FC ; =0x027F7900 mov r2, #0 - bl sub_0302BEC4 -_0201118C: + bl sub_037FC6D4 +_027E199C: cmp r0, #0 - bne _020111BC - bl sub_03036B70 + bne _027E19CC + bl sub_03807380 mov r1, #0x80 strh r1, [r0] mov r1, #8 @@ -1736,78 +1737,78 @@ _0201118C: strh r1, [r0, #4] mov r1, #0x25 strh r1, [r0, #6] - bl sub_03036B24 -_020111BC: + bl sub_03807334 +_027E19CC: mov r0, sb - bl sub_020111F8 - b _02010090 -_020111C8: - ldr r0, _02010EE0 ; =0x027F7878 + bl sub_027E1A08 + b _027E08A0 +_027E19D8: + ldr r0, _027E16F0 ; =0x027F7878 mov r1, sb add r0, r0, #0x58 mov r2, #1 - bl sub_0302BEC4 - b _02010090 -_020111E0: + bl sub_037FC6D4 + b _027E08A0 +_027E19F0: add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_020111EC: .word 0x027E1C00 -_020111F0: .word 0x00008003 -_020111F4: .word 0x00007FFE - arm_func_end sub_02010088 +_027E19FC: .word 0x027E1C00 +_027E1A00: .word 0x00008003 +_027E1A04: .word 0x00007FFE + arm_func_end sub_027E0898 - arm_func_start sub_020111F8 -sub_020111F8: ; 0x020111F8 + arm_func_start sub_027E1A08 +sub_027E1A08: ; 0x027E1A08 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 - bl sub_0302D4F0 - ldr r1, _0201122C ; =0x027F8878 + bl sub_037FDD00 + ldr r1, _027E1A3C ; =0x027F8878 mov r4, r0 ldr r0, [r1, #0x544] ldr r1, [r1, #0x548] mov r2, r5 - bl sub_0302C574 + bl sub_037FCD84 mov r0, r4 - bl sub_0302D504 + bl sub_037FDD14 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0201122C: .word 0x027F8878 - arm_func_end sub_020111F8 +_027E1A3C: .word 0x027F8878 + arm_func_end sub_027E1A08 - arm_func_start sub_02011230 -sub_02011230: ; 0x02011230 + arm_func_start sub_027E1A40 +sub_027E1A40: ; 0x027E1A40 tst r0, #2 mov r0, r0, asr #2 addeq r0, r0, #0x19 and r0, r0, #0xff bx lr - arm_func_end sub_02011230 + arm_func_end sub_027E1A40 - arm_func_start sub_02011244 -sub_02011244: ; 0x02011244 + arm_func_start sub_027E1A54 +sub_027E1A54: ; 0x027E1A54 stmdb sp!, {r4, lr} - ldr r0, _020112BC ; =0x027F8878 + ldr r0, _027E1ACC ; =0x027F8878 ldr r4, [r0, #0x550] - bl sub_0200FEF0 + bl sub_027E0700 movs r1, r0 moveq r0, #0 - beq _0201127C + beq _027E1A8C mov r0, #0x2d str r0, [r1] ldrh r3, [r4, #0x68] - ldr r0, _020112C0 ; =0x027F7900 + ldr r0, _027E1AD0 ; =0x027F7900 mov r2, #0 str r3, [r1, #4] - bl sub_0302BEC4 -_0201127C: + bl sub_037FC6D4 +_027E1A8C: cmp r0, #0 movne r0, #1 strneh r0, [r4, #0x66] - bne _020112B4 - bl sub_03036B70 + bne _027E1AC4 + bl sub_03807380 mov r1, #0x80 strh r1, [r0] mov r1, #8 @@ -1816,48 +1817,48 @@ _0201127C: strh r1, [r0, #4] mov r1, #0x2d strh r1, [r0, #6] - bl sub_03036B24 -_020112B4: + bl sub_03807334 +_027E1AC4: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_020112BC: .word 0x027F8878 -_020112C0: .word 0x027F7900 - arm_func_end sub_02011244 +_027E1ACC: .word 0x027F8878 +_027E1AD0: .word 0x027F7900 + arm_func_end sub_027E1A54 - arm_func_start sub_020112C4 -sub_020112C4: ; 0x020112C4 - ldr ip, _020112D4 ; =sub_027E1AE8 + arm_func_start sub_027E1AD4 +sub_027E1AD4: ; 0x027E1AD4 + ldr ip, _027E1AE4 ; =sub_027E1AE8 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bx ip .align 2, 0 -_020112D4: .word sub_027E1AE8 - arm_func_end sub_020112C4 +_027E1AE4: .word sub_027E1AE8 + arm_func_end sub_027E1AD4 - arm_func_start sub_020112D8 -sub_020112D8: ; 0x020112D8 + arm_func_start sub_027E1AE8 +sub_027E1AE8: ; 0x027E1AE8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 - bl sub_0200FEF0 + bl sub_027E0700 movs r1, r0 - ldr r4, _02011354 ; =0x027F7878 + ldr r4, _027E1B64 ; =0x027F7878 moveq r0, #0 - beq _0201130C + beq _027E1B1C mov r0, #0x2b str r0, [r1] add r0, r4, #0x88 mov r2, #0 str r5, [r1, #4] - bl sub_0302BEC4 -_0201130C: + bl sub_037FC6D4 +_027E1B1C: cmp r0, #0 - bne _0201134C + bne _027E1B5C add r0, r4, #0x1000 ldr r0, [r0, #0x54c] cmp r0, #0 - beq _0201134C - bl sub_03036B70 + beq _027E1B5C + bl sub_03807380 mov r1, #0x80 strh r1, [r0] mov r1, #8 @@ -1866,40 +1867,40 @@ _0201130C: strh r1, [r0, #4] mov r1, #0x2b strh r1, [r0, #6] - bl sub_03036B24 -_0201134C: + bl sub_03807334 +_027E1B5C: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02011354: .word 0x027F7878 - arm_func_end sub_020112D8 +_027E1B64: .word 0x027F7878 + arm_func_end sub_027E1AE8 - arm_func_start sub_02011358 -sub_02011358: ; 0x02011358 + arm_func_start sub_027E1B68 +sub_027E1B68: ; 0x027E1B68 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _020113E0 ; =0x027F8878 + ldr r1, _027E1BF0 ; =0x027F8878 mov r2, #0x40 ldr r0, [r1, #0x544] ldr r1, [r1, #0x548] - ldr r5, _020113E4 ; =0x027F7878 - bl sub_0302C464 + ldr r5, _027E1BF4 ; =0x027F7878 + bl sub_037FCC74 mov r4, r0 - ldr r1, _020113E8 ; =0x00000185 - ldr r0, _020113EC ; =0x027F78A0 + ldr r1, _027E1BF8 ; =0x00000185 + ldr r0, _027E1BFC ; =0x027F78A0 strh r1, [r4, #0xc] mov r2, #0 mov r1, r4 strh r2, [r4, #0xe] - bl sub_0302BEC4 + bl sub_037FC6D4 cmp r0, #0 - bne _020113D8 + bne _027E1BE8 mov r0, r4 - bl sub_020111F8 + bl sub_027E1A08 add r0, r5, #0x1000 ldr r0, [r0, #0x54c] cmp r0, #0 - beq _020113D8 - bl sub_03036B70 + beq _027E1BE8 + bl sub_03807380 mov r2, #0x80 strh r2, [r0] mov r1, #8 @@ -1907,51 +1908,51 @@ sub_02011358: ; 0x02011358 mov r1, #0x16 strh r1, [r0, #4] strh r2, [r0, #6] - bl sub_03036B24 -_020113D8: + bl sub_03807334 +_027E1BE8: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_020113E0: .word 0x027F8878 -_020113E4: .word 0x027F7878 -_020113E8: .word 0x00000185 -_020113EC: .word 0x027F78A0 - arm_func_end sub_02011358 +_027E1BF0: .word 0x027F8878 +_027E1BF4: .word 0x027F7878 +_027E1BF8: .word 0x00000185 +_027E1BFC: .word 0x027F78A0 + arm_func_end sub_027E1B68 - arm_func_start sub_020113F0 -sub_020113F0: ; 0x020113F0 - ldr ip, _020113F8 ; =sub_027E1C0C + arm_func_start sub_027E1C00 +sub_027E1C00: ; 0x027E1C00 + ldr ip, _027E1C08 ; =sub_027E1C0C bx ip .align 2, 0 -_020113F8: .word sub_027E1C0C - arm_func_end sub_020113F0 +_027E1C08: .word sub_027E1C0C + arm_func_end sub_027E1C00 - arm_func_start sub_020113FC -sub_020113FC: ; 0x020113FC + arm_func_start sub_027E1C0C +sub_027E1C0C: ; 0x027E1C0C stmdb sp!, {r4, lr} - bl sub_0200FEF0 - ldr r2, _02011484 ; =0x027F8878 + bl sub_027E0700 + ldr r2, _027E1C94 ; =0x027F8878 movs r1, r0 ldr r0, [r2, #0x550] mov r2, #0 strh r2, [r0, #0x5e] strh r2, [r0, #0x60] - ldr r4, _02011488 ; =0x027F7878 + ldr r4, _027E1C98 ; =0x027F7878 strh r2, [r0, #0x88] - beq _0201143C + beq _027E1C4C mov r3, #0x2c add r0, r4, #0x88 str r3, [r1] - bl sub_0302BEC4 + bl sub_037FC6D4 mov r2, r0 -_0201143C: +_027E1C4C: cmp r2, #0 - bne _0201147C + bne _027E1C8C add r0, r4, #0x1000 ldr r0, [r0, #0x54c] cmp r0, #0 - beq _0201147C - bl sub_03036B70 + beq _027E1C8C + bl sub_03807380 mov r1, #0x80 strh r1, [r0] mov r1, #8 @@ -1960,87 +1961,87 @@ _0201143C: strh r1, [r0, #4] mov r1, #0x2c strh r1, [r0, #6] - bl sub_03036B24 -_0201147C: + bl sub_03807334 +_027E1C8C: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02011484: .word 0x027F8878 -_02011488: .word 0x027F7878 - arm_func_end sub_020113FC +_027E1C94: .word 0x027F8878 +_027E1C98: .word 0x027F7878 + arm_func_end sub_027E1C0C - arm_func_start sub_0201148C -sub_0201148C: ; 0x0201148C + arm_func_start sub_027E1C9C +sub_027E1C9C: ; 0x027E1C9C stmdb sp!, {r3, lr} - ldr r0, _020114A8 ; =0x0380B434 - bl sub_0302CB90 - ldr r0, _020114AC ; =0x0380B408 - bl sub_0302CB90 + ldr r0, _027E1CB8 ; =0x0380B434 + bl sub_037FD3A0 + ldr r0, _027E1CBC ; =0x0380B408 + bl sub_037FD3A0 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_020114A8: .word 0x0380B434 -_020114AC: .word 0x0380B408 - arm_func_end sub_0201148C +_027E1CB8: .word 0x0380B434 +_027E1CBC: .word 0x0380B408 + arm_func_end sub_027E1C9C - arm_func_start sub_020114B0 -sub_020114B0: ; 0x020114B0 + arm_func_start sub_027E1CC0 +sub_027E1CC0: ; 0x027E1CC0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} - ldr r0, _02011548 ; =0x027F8878 + ldr r0, _027E1D58 ; =0x027F8878 mov r6, #1 - ldr r8, _0201154C ; =0x027F7878 + ldr r8, _027E1D5C ; =0x027F7878 ldr sb, [r0, #0x550] - ldr r5, _02011550 ; =0x027F7184 + ldr r5, _027E1D60 ; =0x027F7184 add r7, sp, #0 mov r4, #0 mov fp, r6 -_020114D4: +_027E1CE4: mov r1, r7 mov r2, fp add r0, r8, #0x88 - bl sub_0302BF50 + bl sub_037FC760 ldr r0, [sp] cmp r0, #0 - bne _020114F8 - bl sub_0302B94C - b _02011540 -_020114F8: + bne _027E1D08 + bl sub_037FC15C + b _027E1D50 +_027E1D08: ldrh sl, [r0] tst sl, #0x8000 bicne r0, sl, #0x8000 movne r0, r0, lsl #0x10 movne sl, r0, lsr #0x10 cmp sl, #0x2e - bhs _02011530 + bhs _027E1D40 str r6, [sb, #4] strh sl, [sb, #2] ldr r0, [sp] ldr r1, [r5, sl, lsl #2] mov lr, pc bx r1 -_0201152C: +_027E1D3C: str r4, [sb, #4] -_02011530: +_027E1D40: ldr r0, [sp] orr r1, sl, #0x8000 strh r1, [r0] - b _020114D4 -_02011540: + b _027E1CE4 +_027E1D50: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_02011548: .word 0x027F8878 -_0201154C: .word 0x027F7878 -_02011550: .word 0x027F7184 - arm_func_end sub_020114B0 +_027E1D58: .word 0x027F8878 +_027E1D5C: .word 0x027F7878 +_027E1D60: .word 0x027F7184 + arm_func_end sub_027E1CC0 - arm_func_start sub_02011554 -sub_02011554: ; 0x02011554 + arm_func_start sub_027E1D64 +sub_027E1D64: ; 0x027E1D64 bx lr - arm_func_end sub_02011554 + arm_func_end sub_027E1D64 - arm_func_start sub_02011558 -sub_02011558: ; 0x02011558 + arm_func_start sub_027E1D68 +sub_027E1D68: ; 0x027E1D68 stmdb sp!, {r4, lr} mov r2, #0 strh r2, [r0] @@ -2058,14 +2059,14 @@ sub_02011558: ; 0x02011558 add r4, r0, r2, lsl #1 strh r1, [r4, #0x10] strh r3, [r4, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r4, #0x10 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02011558 + arm_func_end sub_027E1D68 - arm_func_start sub_020115AC -sub_020115AC: ; 0x020115AC + arm_func_start sub_027E1DBC +sub_027E1DBC: ; 0x027E1DBC stmdb sp!, {r4, lr} mov r4, #0 strh r4, [r0] @@ -2086,14 +2087,14 @@ sub_020115AC: ; 0x020115AC add r4, r0, r2, lsl #1 strh r1, [r4, #0x10] strh ip, [r4, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r4, #0x10 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_020115AC + arm_func_end sub_027E1DBC - arm_func_start sub_0201160C -sub_0201160C: ; 0x0201160C + arm_func_start sub_027E1E1C +sub_027E1E1C: ; 0x027E1E1C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r0 mov r0, #0 @@ -2112,18 +2113,18 @@ sub_0201160C: ; 0x0201160C mov r2, #6 mov r6, r3 strh r5, [r4, #0xe] - bl sub_0302D78C + bl sub_037FDF9C ldr r0, [sp, #0x18] add r1, r4, #0x18 mov r2, #0x20 strh r6, [r4, #0x16] - bl sub_0302D78C + bl sub_037FDF9C ldrh r2, [sp, #0x1c] ldr r0, [sp, #0x20] add r1, r4, #0x3a strh r2, [r4, #0x38] mov r2, #0x10 - bl sub_0302D78C + bl sub_037FDF9C ldrh r1, [sp, #0x24] mov r0, r7, lsr #1 strh r1, [r4, #0x4a] @@ -2136,14 +2137,14 @@ sub_0201160C: ; 0x0201160C sub r1, r0, #0x2c mov r0, r4 strh r1, [r5, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r5, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr - arm_func_end sub_0201160C + arm_func_end sub_027E1E1C - arm_func_start sub_020116C4 -sub_020116C4: ; 0x020116C4 + arm_func_start sub_027E1ED4 +sub_027E1ED4: ; 0x027E1ED4 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r3, #0 @@ -2162,7 +2163,7 @@ sub_020116C4: ; 0x020116C4 strh r3, [r4, #0x12] add r1, r4, #0x14 mov r2, #0x44 - bl sub_0302D78C + bl sub_037FDF9C ldrh r1, [r4, #0xe] ldrh r0, [r4, #0xc] add r5, r4, r1, lsl #1 @@ -2170,14 +2171,14 @@ sub_020116C4: ; 0x020116C4 mov r1, #5 mov r0, r4 strh r1, [r5, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r5, #0x10 ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_020116C4 + arm_func_end sub_027E1ED4 - arm_func_start sub_0201173C -sub_0201173C: ; 0x0201173C + arm_func_start sub_027E1F4C +sub_027E1F4C: ; 0x027E1F4C stmdb sp!, {r4, r5, r6, lr} mov r4, r0 mov r0, #0 @@ -2196,7 +2197,7 @@ sub_0201173C: ; 0x0201173C add r1, r4, #0x10 mov r2, #6 mov r5, r3 - bl sub_0302D78C + bl sub_037FDF9C strh r6, [r4, #0x16] strh r5, [r4, #0x18] ldrh r1, [r4, #0xe] @@ -2206,14 +2207,14 @@ sub_0201173C: ; 0x0201173C mov r1, #6 mov r0, r4 strh r1, [r5, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r5, #0x10 ldmia sp!, {r4, r5, r6, lr} bx lr - arm_func_end sub_0201173C + arm_func_end sub_027E1F4C - arm_func_start sub_020117BC -sub_020117BC: ; 0x020117BC + arm_func_start sub_027E1FCC +sub_027E1FCC: ; 0x027E1FCC stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r0, #0 @@ -2231,7 +2232,7 @@ sub_020117BC: ; 0x020117BC strh r3, [r4, #0xe] add r1, r4, #0x10 mov r2, #6 - bl sub_0302D78C + bl sub_037FDF9C strh r5, [r4, #0x16] ldrh r1, [r4, #0xe] ldrh r0, [r4, #0xc] @@ -2240,14 +2241,14 @@ sub_020117BC: ; 0x020117BC mov r1, #4 mov r0, r4 strh r1, [r5, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r5, #0x10 ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_020117BC + arm_func_end sub_027E1FCC - arm_func_start sub_02011834 -sub_02011834: ; 0x02011834 + arm_func_start sub_027E2044 +sub_027E2044: ; 0x027E2044 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 mov r0, #0 @@ -2265,7 +2266,7 @@ sub_02011834: ; 0x02011834 strh r1, [r4, #0xe] add r1, r4, #0x10 mov r5, r3 - bl sub_0302D78C + bl sub_037FDF9C strh r6, [r4, #0x16] strh r5, [r4, #0x18] ldrh r1, [r4, #0xe] @@ -2275,14 +2276,14 @@ sub_02011834: ; 0x02011834 mov r1, #3 mov r0, r4 strh r1, [r5, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r5, #0x10 ldmia sp!, {r4, r5, r6, lr} bx lr - arm_func_end sub_02011834 + arm_func_end sub_027E2044 - arm_func_start sub_020118B0 -sub_020118B0: ; 0x020118B0 + arm_func_start sub_027E20C0 +sub_027E20C0: ; 0x027E20C0 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov ip, #0 @@ -2305,7 +2306,7 @@ sub_020118B0: ; 0x020118B0 add r1, r4, #0x12 mov r2, #0x20 mov r5, r3 - bl sub_0302D78C + bl sub_037FDF9C ldrh r1, [sp, #0x10] strh r5, [r4, #0x32] ldrh r0, [sp, #0x14] @@ -2319,7 +2320,7 @@ sub_020118B0: ; 0x020118B0 ldr r0, [sp, #0x24] strh r2, [r4, #0x3c] add r1, r4, #0x3e - bl sub_0302D78C + bl sub_037FDF9C ldrh r1, [r4, #0xe] ldrh r0, [r4, #0xc] add r5, r4, r1, lsl #1 @@ -2327,14 +2328,14 @@ sub_020118B0: ; 0x020118B0 mov r1, #1 mov r0, r4 strh r1, [r5, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r5, #0x10 ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_020118B0 + arm_func_end sub_027E20C0 - arm_func_start sub_02011970 -sub_02011970: ; 0x02011970 + arm_func_start sub_027E2180 +sub_027E2180: ; 0x027E2180 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r5, #0 @@ -2355,7 +2356,7 @@ sub_02011970: ; 0x02011970 strh r3, [r4, #0x16] add r1, r4, #0x18 mov r2, #0x10 - bl sub_0302D78C + bl sub_037FDF9C ldrh r1, [r4, #0xe] ldrh r0, [r4, #0xc] add r5, r4, r1, lsl #1 @@ -2363,14 +2364,14 @@ sub_02011970: ; 0x02011970 mov r1, #0x12 mov r0, r4 strh r1, [r5, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r5, #0x10 ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_02011970 + arm_func_end sub_027E2180 - arm_func_start sub_020119F0 -sub_020119F0: ; 0x020119F0 + arm_func_start sub_027E2200 +sub_027E2200: ; 0x027E2200 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r0, #0 @@ -2388,7 +2389,7 @@ sub_020119F0: ; 0x020119F0 strh r1, [r4, #0xe] add r1, r4, #0x10 mov r2, #0x30 - bl sub_0302D78C + bl sub_037FDF9C mov r0, #0 strh r0, [r5, #2] strh r0, [r5, #4] @@ -2410,14 +2411,14 @@ sub_020119F0: ; 0x020119F0 mov r1, #2 mov r0, r4 strh r1, [r5, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r5, #0x10 ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_020119F0 + arm_func_end sub_027E2200 - arm_func_start sub_02011A9C -sub_02011A9C: ; 0x02011A9C + arm_func_start sub_027E22AC +sub_027E22AC: ; 0x027E22AC stmdb sp!, {r4, lr} mov ip, #0 strh ip, [r0] @@ -2425,7 +2426,7 @@ sub_02011A9C: ; 0x02011A9C strh ip, [r0, #4] strh ip, [r0, #6] strh ip, [r0, #8] - ldr r4, _02011B00 ; =0x00000101 + ldr r4, _027E2310 ; =0x00000101 strh ip, [r0, #0xa] strh r4, [r0, #0xc] mov r4, #4 @@ -2439,16 +2440,16 @@ sub_02011A9C: ; 0x02011A9C strh r1, [r4, #0x10] mov r1, #1 strh r1, [r4, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r4, #0x10 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02011B00: .word 0x00000101 - arm_func_end sub_02011A9C +_027E2310: .word 0x00000101 + arm_func_end sub_027E22AC - arm_func_start sub_02011B04 -sub_02011B04: ; 0x02011B04 + arm_func_start sub_027E2314 +sub_027E2314: ; 0x027E2314 stmdb sp!, {r4, lr} mov ip, #0 strh ip, [r0] @@ -2456,7 +2457,7 @@ sub_02011B04: ; 0x02011B04 strh ip, [r0, #4] strh ip, [r0, #6] strh ip, [r0, #8] - ldr r4, _02011B98 ; =0x00000102 + ldr r4, _027E23A8 ; =0x00000102 strh ip, [r0, #0xa] strh r4, [r0, #0xc] mov r4, #0xa @@ -2482,16 +2483,16 @@ sub_02011B04: ; 0x02011B04 strh r1, [r4, #0x10] mov r1, #1 strh r1, [r4, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r4, #0x10 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02011B98: .word 0x00000102 - arm_func_end sub_02011B04 +_027E23A8: .word 0x00000102 + arm_func_end sub_027E2314 - arm_func_start sub_02011B9C -sub_02011B9C: ; 0x02011B9C + arm_func_start sub_027E23AC +sub_027E23AC: ; 0x027E23AC stmdb sp!, {r4, lr} mov r2, #0 strh r2, [r0] @@ -2510,14 +2511,14 @@ sub_02011B9C: ; 0x02011B9C add r4, r0, r2, lsl #1 strh r1, [r4, #0x10] strh r3, [r4, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r4, #0x10 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02011B9C + arm_func_end sub_027E23AC - arm_func_start sub_02011BF4 -sub_02011BF4: ; 0x02011BF4 + arm_func_start sub_027E2404 +sub_027E2404: ; 0x027E2404 stmdb sp!, {r4, lr} mov r1, #0 strh r1, [r0] @@ -2535,14 +2536,14 @@ sub_02011BF4: ; 0x02011BF4 strh r1, [r4, #0x10] mov r1, #1 strh r1, [r4, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r4, #0x10 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02011BF4 + arm_func_end sub_027E2404 - arm_func_start sub_02011C48 -sub_02011C48: ; 0x02011C48 + arm_func_start sub_027E2458 +sub_027E2458: ; 0x027E2458 stmdb sp!, {r4, lr} mov r3, #0 strh r3, [r0] @@ -2550,7 +2551,7 @@ sub_02011C48: ; 0x02011C48 strh r3, [r0, #4] strh r3, [r0, #6] strh r3, [r0, #8] - ldr r2, _02011CA0 ; =0x00000207 + ldr r2, _027E24B0 ; =0x00000207 strh r3, [r0, #0xa] strh r2, [r0, #0xc] mov r3, #1 @@ -2561,16 +2562,16 @@ sub_02011C48: ; 0x02011C48 add r4, r0, r2, lsl #1 strh r1, [r4, #0x10] strh r3, [r4, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r4, #0x10 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02011CA0: .word 0x00000207 - arm_func_end sub_02011C48 +_027E24B0: .word 0x00000207 + arm_func_end sub_027E2458 - arm_func_start sub_02011CA4 -sub_02011CA4: ; 0x02011CA4 + arm_func_start sub_027E24B4 +sub_027E24B4: ; 0x027E24B4 stmdb sp!, {r4, lr} mov r3, #0 strh r3, [r0] @@ -2578,7 +2579,7 @@ sub_02011CA4: ; 0x02011CA4 strh r3, [r0, #4] strh r3, [r0, #6] strh r3, [r0, #8] - ldr r2, _02011CFC ; =0x0000020B + ldr r2, _027E250C ; =0x0000020B strh r3, [r0, #0xa] strh r2, [r0, #0xc] mov r3, #1 @@ -2589,16 +2590,16 @@ sub_02011CA4: ; 0x02011CA4 add r4, r0, r2, lsl #1 strh r1, [r4, #0x10] strh r3, [r4, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r4, #0x10 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02011CFC: .word 0x0000020B - arm_func_end sub_02011CA4 +_027E250C: .word 0x0000020B + arm_func_end sub_027E24B4 - arm_func_start sub_02011D00 -sub_02011D00: ; 0x02011D00 + arm_func_start sub_027E2510 +sub_027E2510: ; 0x027E2510 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r0, #0 @@ -2607,7 +2608,7 @@ sub_02011D00: ; 0x02011D00 strh r0, [r4, #4] strh r0, [r4, #6] strh r0, [r4, #8] - ldr r2, _02011D70 ; =0x0000020D + ldr r2, _027E2580 ; =0x0000020D strh r0, [r4, #0xa] mov r0, r1 strh r2, [r4, #0xc] @@ -2615,7 +2616,7 @@ sub_02011D00: ; 0x02011D00 strh r1, [r4, #0xe] add r1, r4, #0x10 mov r2, #0x20 - bl sub_0302D78C + bl sub_037FDF9C ldrh r1, [r4, #0xe] ldrh r0, [r4, #0xc] add r5, r4, r1, lsl #1 @@ -2623,16 +2624,16 @@ sub_02011D00: ; 0x02011D00 mov r1, #1 mov r0, r4 strh r1, [r5, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r5, #0x10 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02011D70: .word 0x0000020D - arm_func_end sub_02011D00 +_027E2580: .word 0x0000020D + arm_func_end sub_027E2510 - arm_func_start sub_02011D74 -sub_02011D74: ; 0x02011D74 + arm_func_start sub_027E2584 +sub_027E2584: ; 0x027E2584 stmdb sp!, {r4, lr} mov r3, #0 strh r3, [r0] @@ -2640,7 +2641,7 @@ sub_02011D74: ; 0x02011D74 strh r3, [r0, #4] strh r3, [r0, #6] strh r3, [r0, #8] - ldr r2, _02011DCC ; =0x0000020E + ldr r2, _027E25DC ; =0x0000020E strh r3, [r0, #0xa] strh r2, [r0, #0xc] mov r3, #1 @@ -2651,16 +2652,16 @@ sub_02011D74: ; 0x02011D74 add r4, r0, r2, lsl #1 strh r1, [r4, #0x10] strh r3, [r4, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r4, #0x10 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02011DCC: .word 0x0000020E - arm_func_end sub_02011D74 +_027E25DC: .word 0x0000020E + arm_func_end sub_027E2584 - arm_func_start sub_02011DD0 -sub_02011DD0: ; 0x02011DD0 + arm_func_start sub_027E25E0 +sub_027E25E0: ; 0x027E25E0 stmdb sp!, {r4, lr} mov ip, #0 strh ip, [r0] @@ -2668,7 +2669,7 @@ sub_02011DD0: ; 0x02011DD0 strh ip, [r0, #4] strh ip, [r0, #6] strh ip, [r0, #8] - ldr r4, _02011E34 ; =0x00000211 + ldr r4, _027E2644 ; =0x00000211 strh ip, [r0, #0xa] strh r4, [r0, #0xc] mov r4, #3 @@ -2682,16 +2683,16 @@ sub_02011DD0: ; 0x02011DD0 strh r1, [r4, #0x10] mov r1, #1 strh r1, [r4, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r4, #0x10 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02011E34: .word 0x00000211 - arm_func_end sub_02011DD0 +_027E2644: .word 0x00000211 + arm_func_end sub_027E25E0 - arm_func_start sub_02011E38 -sub_02011E38: ; 0x02011E38 + arm_func_start sub_027E2648 +sub_027E2648: ; 0x027E2648 stmdb sp!, {r4, lr} mov r3, #0 strh r3, [r0] @@ -2699,7 +2700,7 @@ sub_02011E38: ; 0x02011E38 strh r3, [r0, #4] strh r3, [r0, #6] strh r3, [r0, #8] - ldr r2, _02011E90 ; =0x00000212 + ldr r2, _027E26A0 ; =0x00000212 strh r3, [r0, #0xa] strh r2, [r0, #0xc] mov r3, #1 @@ -2710,16 +2711,16 @@ sub_02011E38: ; 0x02011E38 add r4, r0, r2, lsl #1 strh r1, [r4, #0x10] strh r3, [r4, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r4, #0x10 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02011E90: .word 0x00000212 - arm_func_end sub_02011E38 +_027E26A0: .word 0x00000212 + arm_func_end sub_027E2648 - arm_func_start sub_02011E94 -sub_02011E94: ; 0x02011E94 + arm_func_start sub_027E26A4 +sub_027E26A4: ; 0x027E26A4 stmdb sp!, {r4, lr} mov r3, #0 strh r3, [r0] @@ -2727,7 +2728,7 @@ sub_02011E94: ; 0x02011E94 strh r3, [r0, #4] strh r3, [r0, #6] strh r3, [r0, #8] - ldr r2, _02011EEC ; =0x00000215 + ldr r2, _027E26FC ; =0x00000215 strh r3, [r0, #0xa] strh r2, [r0, #0xc] mov r3, #1 @@ -2738,16 +2739,16 @@ sub_02011E94: ; 0x02011E94 add r4, r0, r2, lsl #1 strh r1, [r4, #0x10] strh r3, [r4, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r4, #0x10 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02011EEC: .word 0x00000215 - arm_func_end sub_02011E94 +_027E26FC: .word 0x00000215 + arm_func_end sub_027E26A4 - arm_func_start sub_02011EF0 -sub_02011EF0: ; 0x02011EF0 + arm_func_start sub_027E2700 +sub_027E2700: ; 0x027E2700 stmdb sp!, {r4, lr} mov r3, #0 strh r3, [r0] @@ -2755,7 +2756,7 @@ sub_02011EF0: ; 0x02011EF0 strh r3, [r0, #4] strh r3, [r0, #6] strh r3, [r0, #8] - ldr r2, _02011F48 ; =0x00000216 + ldr r2, _027E2758 ; =0x00000216 strh r3, [r0, #0xa] strh r2, [r0, #0xc] mov r3, #1 @@ -2766,16 +2767,16 @@ sub_02011EF0: ; 0x02011EF0 add r4, r0, r2, lsl #1 strh r1, [r4, #0x10] strh r3, [r4, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r4, #0x10 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02011F48: .word 0x00000216 - arm_func_end sub_02011EF0 +_027E2758: .word 0x00000216 + arm_func_end sub_027E2700 - arm_func_start sub_02011F4C -sub_02011F4C: ; 0x02011F4C + arm_func_start sub_027E275C +sub_027E275C: ; 0x027E275C stmdb sp!, {r4, lr} mov r3, #0 strh r3, [r0] @@ -2783,7 +2784,7 @@ sub_02011F4C: ; 0x02011F4C strh r3, [r0, #4] strh r3, [r0, #6] strh r3, [r0, #8] - ldr r2, _02011FA4 ; =0x00000242 + ldr r2, _027E27B4 ; =0x00000242 strh r3, [r0, #0xa] strh r2, [r0, #0xc] mov r3, #1 @@ -2794,16 +2795,16 @@ sub_02011F4C: ; 0x02011F4C add r4, r0, r2, lsl #1 strh r1, [r4, #0x10] strh r3, [r4, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r4, #0x10 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02011FA4: .word 0x00000242 - arm_func_end sub_02011F4C +_027E27B4: .word 0x00000242 + arm_func_end sub_027E275C - arm_func_start sub_02011FA8 -sub_02011FA8: ; 0x02011FA8 + arm_func_start sub_027E27B8 +sub_027E27B8: ; 0x027E27B8 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov ip, #0 @@ -2816,7 +2817,7 @@ sub_02011FA8: ; 0x02011FA8 add r0, r0, r0, lsr #31 mov r3, r0, asr #1 mov r0, r2 - ldr r5, _02012028 ; =0x00000245 + ldr r5, _027E2838 ; =0x00000245 strh ip, [r4, #0xa] strh r5, [r4, #0xc] add r2, r3, #1 @@ -2824,7 +2825,7 @@ sub_02011FA8: ; 0x02011FA8 strh r1, [r4, #0x10] mov r2, r1 add r1, r4, #0x12 - bl sub_0302D78C + bl sub_037FDF9C ldrh r1, [r4, #0xe] ldrh r0, [r4, #0xc] add r5, r4, r1, lsl #1 @@ -2832,134 +2833,134 @@ sub_02011FA8: ; 0x02011FA8 mov r1, #1 mov r0, r4 strh r1, [r5, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r5, #0x10 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02012028: .word 0x00000245 - arm_func_end sub_02011FA8 +_027E2838: .word 0x00000245 + arm_func_end sub_027E27B8 - arm_func_start sub_0201202C -sub_0201202C: ; 0x0201202C - ldr ip, _0201203C ; =sub_027E29A8 - ldr r1, _02012040 ; =0x00000281 + arm_func_start sub_027E283C +sub_027E283C: ; 0x027E283C + ldr ip, _027E284C ; =sub_027E29A8 + ldr r1, _027E2850 ; =0x00000281 mov r2, #4 bx ip .align 2, 0 -_0201203C: .word sub_027E29A8 -_02012040: .word 0x00000281 - arm_func_end sub_0201202C +_027E284C: .word sub_027E29A8 +_027E2850: .word 0x00000281 + arm_func_end sub_027E283C - arm_func_start sub_02012044 -sub_02012044: ; 0x02012044 - ldr ip, _02012054 ; =sub_027E29A8 - ldr r1, _02012058 ; =0x00000283 + arm_func_start sub_027E2854 +sub_027E2854: ; 0x027E2854 + ldr ip, _027E2864 ; =sub_027E29A8 + ldr r1, _027E2868 ; =0x00000283 mov r2, #3 bx ip .align 2, 0 -_02012054: .word sub_027E29A8 -_02012058: .word 0x00000283 - arm_func_end sub_02012044 +_027E2864: .word sub_027E29A8 +_027E2868: .word 0x00000283 + arm_func_end sub_027E2854 - arm_func_start sub_0201205C -sub_0201205C: ; 0x0201205C - ldr ip, _0201206C ; =sub_027E29A8 + arm_func_start sub_027E286C +sub_027E286C: ; 0x027E286C + ldr ip, _027E287C ; =sub_027E29A8 mov r1, #0x284 mov r2, #2 bx ip .align 2, 0 -_0201206C: .word sub_027E29A8 - arm_func_end sub_0201205C +_027E287C: .word sub_027E29A8 + arm_func_end sub_027E286C - arm_func_start sub_02012070 -sub_02012070: ; 0x02012070 - ldr ip, _02012080 ; =sub_027E29A8 - ldr r1, _02012084 ; =0x00000301 + arm_func_start sub_027E2880 +sub_027E2880: ; 0x027E2880 + ldr ip, _027E2890 ; =sub_027E29A8 + ldr r1, _027E2894 ; =0x00000301 mov r2, #1 bx ip .align 2, 0 -_02012080: .word sub_027E29A8 -_02012084: .word 0x00000301 - arm_func_end sub_02012070 +_027E2890: .word sub_027E29A8 +_027E2894: .word 0x00000301 + arm_func_end sub_027E2880 - arm_func_start sub_02012088 -sub_02012088: ; 0x02012088 - ldr ip, _02012098 ; =sub_027E29A8 - ldr r1, _0201209C ; =0x00000302 + arm_func_start sub_027E2898 +sub_027E2898: ; 0x027E2898 + ldr ip, _027E28A8 ; =sub_027E29A8 + ldr r1, _027E28AC ; =0x00000302 mov r2, #1 bx ip .align 2, 0 -_02012098: .word sub_027E29A8 -_0201209C: .word 0x00000302 - arm_func_end sub_02012088 +_027E28A8: .word sub_027E29A8 +_027E28AC: .word 0x00000302 + arm_func_end sub_027E2898 - arm_func_start sub_020120A0 -sub_020120A0: ; 0x020120A0 - ldr ip, _020120B0 ; =sub_027E29A8 - ldr r1, _020120B4 ; =0x00000303 + arm_func_start sub_027E28B0 +sub_027E28B0: ; 0x027E28B0 + ldr ip, _027E28C0 ; =sub_027E29A8 + ldr r1, _027E28C4 ; =0x00000303 mov r2, #1 bx ip .align 2, 0 -_020120B0: .word sub_027E29A8 -_020120B4: .word 0x00000303 - arm_func_end sub_020120A0 +_027E28C0: .word sub_027E29A8 +_027E28C4: .word 0x00000303 + arm_func_end sub_027E28B0 - arm_func_start sub_020120B8 -sub_020120B8: ; 0x020120B8 - ldr ip, _020120C8 ; =sub_027E29A8 + arm_func_start sub_027E28C8 +sub_027E28C8: ; 0x027E28C8 + ldr ip, _027E28D8 ; =sub_027E29A8 mov r1, #0x304 mov r2, #1 bx ip .align 2, 0 -_020120C8: .word sub_027E29A8 - arm_func_end sub_020120B8 +_027E28D8: .word sub_027E29A8 + arm_func_end sub_027E28C8 - arm_func_start sub_020120CC -sub_020120CC: ; 0x020120CC - ldr ip, _020120DC ; =sub_027E29A8 - ldr r1, _020120E0 ; =0x00000305 + arm_func_start sub_027E28DC +sub_027E28DC: ; 0x027E28DC + ldr ip, _027E28EC ; =sub_027E29A8 + ldr r1, _027E28F0 ; =0x00000305 mov r2, #1 bx ip .align 2, 0 -_020120DC: .word sub_027E29A8 -_020120E0: .word 0x00000305 - arm_func_end sub_020120CC +_027E28EC: .word sub_027E29A8 +_027E28F0: .word 0x00000305 + arm_func_end sub_027E28DC - arm_func_start sub_020120E4 -sub_020120E4: ; 0x020120E4 - ldr ip, _020120F4 ; =sub_027E29A8 - ldr r1, _020120F8 ; =0x00000306 + arm_func_start sub_027E28F4 +sub_027E28F4: ; 0x027E28F4 + ldr ip, _027E2904 ; =sub_027E29A8 + ldr r1, _027E2908 ; =0x00000306 mov r2, #9 bx ip .align 2, 0 -_020120F4: .word sub_027E29A8 -_020120F8: .word 0x00000306 - arm_func_end sub_020120E4 +_027E2904: .word sub_027E29A8 +_027E2908: .word 0x00000306 + arm_func_end sub_027E28F4 - arm_func_start sub_020120FC -sub_020120FC: ; 0x020120FC - ldr ip, _0201210C ; =sub_027E29A8 - ldr r1, _02012110 ; =0x00000307 + arm_func_start sub_027E290C +sub_027E290C: ; 0x027E290C + ldr ip, _027E291C ; =sub_027E29A8 + ldr r1, _027E2920 ; =0x00000307 mov r2, #0x5c bx ip .align 2, 0 -_0201210C: .word sub_027E29A8 -_02012110: .word 0x00000307 - arm_func_end sub_020120FC +_027E291C: .word sub_027E29A8 +_027E2920: .word 0x00000307 + arm_func_end sub_027E290C - arm_func_start sub_02012114 -sub_02012114: ; 0x02012114 - ldr ip, _02012124 ; =sub_027E29A8 + arm_func_start sub_027E2924 +sub_027E2924: ; 0x027E2924 + ldr ip, _027E2934 ; =sub_027E29A8 mov r1, #0x308 mov r2, #2 bx ip .align 2, 0 -_02012124: .word sub_027E29A8 - arm_func_end sub_02012114 +_027E2934: .word sub_027E29A8 + arm_func_end sub_027E2924 - arm_func_start sub_02012128 -sub_02012128: ; 0x02012128 + arm_func_start sub_027E2938 +sub_027E2938: ; 0x027E2938 stmdb sp!, {r4, lr} mov ip, #0 strh ip, [r0] @@ -2967,7 +2968,7 @@ sub_02012128: ; 0x02012128 strh ip, [r0, #4] strh ip, [r0, #6] strh ip, [r0, #8] - ldr r4, _02012194 ; =0x00000309 + ldr r4, _027E29A4 ; =0x00000309 strh ip, [r0, #0xa] strh r4, [r0, #0xc] mov r4, #4 @@ -2983,16 +2984,16 @@ sub_02012128: ; 0x02012128 strh r1, [r4, #0x10] mov r1, #1 strh r1, [r4, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r4, #0x10 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02012194: .word 0x00000309 - arm_func_end sub_02012128 +_027E29A4: .word 0x00000309 + arm_func_end sub_027E2938 - arm_func_start sub_02012198 -sub_02012198: ; 0x02012198 + arm_func_start sub_027E29A8 +sub_027E29A8: ; 0x027E29A8 stmdb sp!, {r4, lr} mov r3, #0 strh r3, [r0] @@ -3007,18 +3008,18 @@ sub_02012198: ; 0x02012198 add r4, r0, r3, lsl #1 strh r1, [r4, #0x10] strh r2, [r4, #0x12] - bl sub_0200F9BC + bl sub_027E01CC add r0, r4, #0x10 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02012198 + arm_func_end sub_027E29A8 - arm_func_start sub_020121E0 -sub_020121E0: ; 0x020121E0 + arm_func_start sub_027E29F0 +sub_027E29F0: ; 0x027E29F0 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldr r4, [r0, #4] - ldr r1, _0201227C ; =0x027F8878 + ldr r1, _027E2A8C ; =0x027F8878 str r4, [r1, #0x54c] ldr r2, [r0, #8] str r2, [r1, #0x550] @@ -3026,13 +3027,13 @@ sub_020121E0: ; 0x020121E0 ldr r1, [r0, #0xc] str r1, [r4, #8] ldr r0, [r0, #0x10] - bl sub_02017638 + bl sub_027E7E48 add r0, sp, #2 add r1, sp, #0 - bl sub_020178F4 + bl sub_027E8104 cmp r0, #0 - bne _02012250 - bl sub_03036B70 + bne _027E2A60 + bl sub_03807380 mov r1, #0 strh r1, [r0] mov r1, #1 @@ -3041,67 +3042,67 @@ sub_020121E0: ; 0x020121E0 strh r1, [r0, #4] ldrh r1, [sp] strh r1, [r0, #6] - bl sub_03036B24 - b _02012270 -_02012250: + bl sub_03807334 + b _027E2A80 +_027E2A60: ldr r0, [r4] mov r1, #2 strh r1, [r0] - bl sub_03036B70 + bl sub_03807380 mov r1, #0 strh r1, [r0] strh r1, [r0, #2] - bl sub_03036B24 -_02012270: + bl sub_03807334 +_027E2A80: add sp, sp, #4 ldmia sp!, {r3, r4, lr} bx lr .align 2, 0 -_0201227C: .word 0x027F8878 - arm_func_end sub_020121E0 +_027E2A8C: .word 0x027F8878 + arm_func_end sub_027E29F0 - arm_func_start sub_02012280 -sub_02012280: ; 0x02012280 + arm_func_start sub_027E2A90 +sub_027E2A90: ; 0x027E2A90 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x210 - ldr r0, _0201264C ; =0x027F8878 + ldr r0, _027E2E5C ; =0x027F8878 mov r4, #0 ldr r8, [r0, #0x550] - bl sub_0302D4F0 + bl sub_037FDD00 ldr r1, [r8, #0xc] mov r5, r0 cmp r1, #1 - bne _020122DC + bne _027E2AEC mov r0, r4 str r0, [r8, #0xc] mov r4, #1 - bl sub_0201537C - bl sub_0200FE30 + bl sub_027E5B8C + bl sub_027E0640 ldrh r0, [r8] cmp r0, #0xa moveq r0, #8 streqh r0, [r8] - beq _020122DC + beq _027E2AEC cmp r0, #9 moveq r0, #7 streqh r0, [r8] -_020122DC: +_027E2AEC: ldrh r1, [r8] add r0, r1, #0xf9 add r0, r0, #0xff00 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #1 - bhi _02012310 + bhi _027E2B20 add r0, r8, #0x100 cmp r1, #7 moveq sl, #1 ldrh sb, [r0, #0x82] movne sl, #0 - b _02012314 -_02012310: + b _027E2B24 +_027E2B20: mov sb, #0 -_02012314: +_027E2B24: add r0, r8, #0x100 mov r1, #0 strh r1, [r0, #0x82] @@ -3111,25 +3112,25 @@ _02012314: str r1, [r8, #0x1c] mov r0, r5 strh r1, [r8, #0xc2] - bl sub_0302D504 + bl sub_037FDD14 cmp r4, #0 - beq _0201234C - ldr r0, _02012650 ; =0x0000FFFF - bl sub_0201700C -_0201234C: + beq _027E2B5C + ldr r0, _027E2E60 ; =0x0000FFFF + bl sub_027E781C +_027E2B5C: cmp sl, #0 movne r0, #0 strneh r0, [r8, #0xf6] cmp sb, #0 - beq _020123A8 + beq _027E2BB8 mov r7, #0 add r5, r8, #0x128 add r4, r8, #0x8a mov r6, #1 mov fp, #6 -_02012374: +_027E2B84: tst sb, r6, lsl r7 - beq _0201239C + beq _027E2BAC cmp r7, #0 addeq r2, r4, #0x100 subne r0, r7, #1 @@ -3137,250 +3138,250 @@ _02012374: mov r1, r7, lsl #0x10 mov r0, sl mov r1, r1, lsr #0x10 - bl sub_02014278 -_0201239C: + bl sub_027E4A88 +_027E2BAC: add r7, r7, #1 cmp r7, #0x10 - blt _02012374 -_020123A8: + blt _027E2B84 +_027E2BB8: add r0, r8, #0x128 mov r1, #0 mov r2, #0x5a - bl sub_0302D860 + bl sub_037FE070 add r0, sp, #0x10 - bl sub_02012114 + bl sub_027E2924 ldrh r1, [r0, #4] cmp r1, #0 - beq _020123D8 + beq _027E2BE8 mov r0, #0x308 - bl sub_02012660 - b _02012640 -_020123D8: + bl sub_027E2E70 + b _027E2E50 +_027E2BE8: ldrh r4, [r0, #6] add r0, sp, #0x10 - bl sub_0201205C + bl sub_027E286C ldrh r1, [r0, #4] cmp r1, #0 - beq _020123FC + beq _027E2C0C mov r0, #0x284 - bl sub_02012660 - b _02012640 -_020123FC: + bl sub_027E2E70 + b _027E2E50 +_027E2C0C: ldrh r1, [r0, #6] cmp r4, #0x20 - bgt _02012440 - bge _02012514 + bgt _027E2C50 + bge _027E2D24 cmp r4, #0 - bgt _0201241C - beq _02012538 - b _02012618 -_0201241C: + bgt _027E2C2C + beq _027E2D48 + b _027E2E28 +_027E2C2C: cmp r4, #0x12 - bgt _02012618 + bgt _027E2E28 cmp r4, #0x10 - blt _02012618 - beq _02012558 + blt _027E2E28 + beq _027E2D68 cmp r4, #0x11 cmpne r4, #0x12 - beq _020125B0 - b _02012618 -_02012440: + beq _027E2DC0 + b _027E2E28 +_027E2C50: cmp r4, #0x30 - bgt _02012450 - beq _02012458 - b _02012618 -_02012450: + bgt _027E2C60 + beq _027E2C68 + b _027E2E28 +_027E2C60: cmp r4, #0x40 - bne _02012618 -_02012458: + bne _027E2E28 +_027E2C68: add r0, r1, #0xfe add r0, r0, #0xff00 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #1 - bhi _020124DC + bhi _027E2CEC add r0, r8, #0x8a add r1, sp, #0xa add r0, r0, #0x100 mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C mov r6, #0 add r5, sp, #0xa mov r4, #3 - b _020124D0 -_02012494: + b _027E2CE0 +_027E2CA4: add r0, sp, #0x10 mov r1, r5 mov r2, r4 - bl sub_020117BC + bl sub_027E1FCC ldrh r0, [r0, #4] cmp r0, #0 - beq _020124C0 + beq _027E2CD0 cmp r0, #7 cmpne r0, #0xc - beq _020124CC - b _02012514 -_020124C0: + beq _027E2CDC + b _027E2D24 +_027E2CD0: mov r0, #3 strh r0, [r8] - b _02012514 -_020124CC: + b _027E2D24 +_027E2CDC: add r6, r6, #1 -_020124D0: +_027E2CE0: cmp r6, #2 - blt _02012494 - b _02012514 -_020124DC: + blt _027E2CA4 + b _027E2D24 +_027E2CEC: cmp r1, #1 - bne _02012514 + bne _027E2D24 add r0, sp, #4 mov r1, #0xff mov r2, #6 - bl sub_0302D860 + bl sub_037FE070 add r1, sp, #4 add r0, sp, #0x10 mov r2, #3 - bl sub_020117BC + bl sub_027E1FCC ldrh r0, [r0, #4] cmp r0, #0 moveq r0, #3 streqh r0, [r8] -_02012514: +_027E2D24: add r0, sp, #0x10 mov r1, #1 - bl sub_02011558 + bl sub_027E1D68 ldrh r1, [r0, #4] cmp r1, #0 - beq _02012538 + beq _027E2D48 mov r0, #0 - bl sub_02012660 - b _02012640 -_02012538: + bl sub_027E2E70 + b _027E2E50 +_027E2D48: add r0, sp, #0x10 - bl sub_02012088 + bl sub_027E2898 ldrh r1, [r0, #4] cmp r1, #0 - beq _02012558 - ldr r0, _02012654 ; =0x00000302 - bl sub_02012660 - b _02012640 -_02012558: + beq _027E2D68 + ldr r0, _027E2E64 ; =0x00000302 + bl sub_027E2E70 + b _027E2E50 +_027E2D68: add r0, r8, #0x100 ldrh r0, [r0, #0xee] cmp r0, #0 - bne _02012598 + bne _027E2DA8 add r0, sp, #0x10 mov r1, #1 - bl sub_02011D74 + bl sub_027E2584 ldrh r1, [r0, #4] cmp r1, #0 - beq _0201258C - ldr r0, _02012658 ; =0x0000020E - bl sub_02012660 - b _02012640 -_0201258C: + beq _027E2D9C + ldr r0, _027E2E68 ; =0x0000020E + bl sub_027E2E70 + b _027E2E50 +_027E2D9C: add r0, r8, #0x100 mov r1, #1 strh r1, [r0, #0xee] -_02012598: +_027E2DA8: mov r0, #2 strh r0, [r8] mov r0, #0 str r0, [r8, #0x198] - bl sub_0200FF5C - b _02012628 -_020125B0: + bl sub_027E076C + b _027E2E38 +_027E2DC0: cmp r1, #0 - bne _020125EC + bne _027E2DFC mov r0, #1 mov r1, #0 str r0, [sp] add r0, sp, #0x10 mov r2, r1 mov r3, #0x14 - bl sub_02012128 + bl sub_027E2938 ldrh r1, [r0, #4] cmp r1, #0 - beq _020125EC - ldr r0, _0201265C ; =0x00000309 - bl sub_02012660 - b _02012640 -_020125EC: + beq _027E2DFC + ldr r0, _027E2E6C ; =0x00000309 + bl sub_027E2E70 + b _027E2E50 +_027E2DFC: add r0, sp, #0x10 - bl sub_02012088 + bl sub_027E2898 ldrh r1, [r0, #4] cmp r1, #0 - beq _0201260C - ldr r0, _02012654 ; =0x00000302 - bl sub_02012660 - b _02012640 -_0201260C: + beq _027E2E1C + ldr r0, _027E2E64 ; =0x00000302 + bl sub_027E2E70 + b _027E2E50 +_027E2E1C: mov r0, #2 strh r0, [r8] - b _02012628 -_02012618: + b _027E2E38 +_027E2E28: mov r0, #0x308 mov r1, #0 - bl sub_02012660 - b _02012640 -_02012628: - bl sub_03036B70 + bl sub_027E2E70 + b _027E2E50 +_027E2E38: + bl sub_03807380 mov r1, #1 strh r1, [r0] mov r1, #0 strh r1, [r0, #2] - bl sub_03036B24 -_02012640: + bl sub_03807334 +_027E2E50: add sp, sp, #0x210 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_0201264C: .word 0x027F8878 -_02012650: .word 0x0000FFFF -_02012654: .word 0x00000302 -_02012658: .word 0x0000020E -_0201265C: .word 0x00000309 - arm_func_end sub_02012280 +_027E2E5C: .word 0x027F8878 +_027E2E60: .word 0x0000FFFF +_027E2E64: .word 0x00000302 +_027E2E68: .word 0x0000020E +_027E2E6C: .word 0x00000309 + arm_func_end sub_027E2A90 - arm_func_start sub_02012660 -sub_02012660: ; 0x02012660 + arm_func_start sub_027E2E70 +sub_027E2E70: ; 0x027E2E70 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 - bl sub_03036B70 + bl sub_03807380 mov r1, #1 strh r1, [r0] strh r1, [r0, #2] strh r5, [r0, #4] strh r4, [r0, #6] - bl sub_03036B24 + bl sub_03807334 ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_02012660 + arm_func_end sub_027E2E70 - arm_func_start sub_02012690 -sub_02012690: ; 0x02012690 + arm_func_start sub_027E2EA0 +sub_027E2EA0: ; 0x027E2EA0 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x200 - ldr r0, _0201273C ; =0x027F8878 + ldr r0, _027E2F4C ; =0x027F8878 ldr r4, [r0, #0x550] ldrh r0, [r4] cmp r0, #2 - beq _020126C8 - bl sub_03036B70 + beq _027E2ED8 + bl sub_03807380 mov r1, #2 strh r1, [r0] mov r1, #3 strh r1, [r0, #2] - bl sub_03036B24 - b _02012730 -_020126C8: + bl sub_03807334 + b _027E2F40 +_027E2ED8: add r0, sp, #0 - bl sub_02012070 + bl sub_027E2880 ldrh r5, [r0, #4] cmp r5, #0 - beq _02012704 - bl sub_03036B70 + beq _027E2F14 + bl sub_03807380 mov r2, #2 mov r1, #1 strh r2, [r0] @@ -3388,108 +3389,108 @@ _020126C8: add r1, r1, #0x300 strh r1, [r0, #4] strh r5, [r0, #6] - bl sub_03036B24 - b _02012730 -_02012704: + bl sub_03807334 + b _027E2F40 +_027E2F14: mov r0, #1 strh r0, [r4] - bl sub_03034A0C + bl sub_0380521C mov r0, #0 strh r0, [r4] - bl sub_03036B70 + bl sub_03807380 mov r1, #2 strh r1, [r0] mov r1, #0 strh r1, [r0, #2] - bl sub_03036B24 -_02012730: + bl sub_03807334 +_027E2F40: add sp, sp, #0x200 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0201273C: .word 0x027F8878 - arm_func_end sub_02012690 +_027E2F4C: .word 0x027F8878 + arm_func_end sub_027E2EA0 - arm_func_start sub_02012740 -sub_02012740: ; 0x02012740 + arm_func_start sub_027E2F50 +sub_027E2F50: ; 0x027E2F50 stmdb sp!, {r4, lr} sub sp, sp, #0x200 - ldr r1, _020127F8 ; =0x027F8878 + ldr r1, _027E3008 ; =0x027F8878 ldr r0, [r0, #4] ldr r4, [r1, #0x550] mov r2, #0x40 add r1, r4, #0xe8 - bl sub_0302D91C + bl sub_037FE12C add r0, r4, #0x100 ldrh r1, [r0, #0x1a] ldrh r0, [r0, #0xf4] mov r2, #1 tst r0, r2, lsl r1 - bne _02012794 - bl sub_03036B70 + bne _027E2FA4 + bl sub_03807380 mov r1, #7 strh r1, [r0] mov r1, #6 strh r1, [r0, #2] - bl sub_03036B24 - b _020127EC -_02012794: + bl sub_03807334 + b _027E2FFC +_027E2FA4: ldrh r1, [r4, #0xf8] add r0, sp, #0 - bl sub_02011E38 + bl sub_027E2648 ldrh r4, [r0, #4] cmp r4, #0 - beq _020127D4 - bl sub_03036B70 + beq _027E2FE4 + bl sub_03807380 mov r1, #7 strh r1, [r0] mov r2, #1 - ldr r1, _020127FC ; =0x00000212 + ldr r1, _027E300C ; =0x00000212 strh r2, [r0, #2] strh r1, [r0, #4] strh r4, [r0, #6] - bl sub_03036B24 - b _020127EC -_020127D4: - bl sub_03036B70 + bl sub_03807334 + b _027E2FFC +_027E2FE4: + bl sub_03807380 mov r1, #7 strh r1, [r0] mov r1, #0 strh r1, [r0, #2] - bl sub_03036B24 -_020127EC: + bl sub_03807334 +_027E2FFC: add sp, sp, #0x200 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_020127F8: .word 0x027F8878 -_020127FC: .word 0x00000212 - arm_func_end sub_02012740 +_027E3008: .word 0x027F8878 +_027E300C: .word 0x00000212 + arm_func_end sub_027E2F50 - arm_func_start sub_02012800 -sub_02012800: ; 0x02012800 + arm_func_start sub_027E3010 +sub_027E3010: ; 0x027E3010 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x2b8 - ldr r1, _02012A84 ; =0x027F8878 + ldr r1, _027E3294 ; =0x027F8878 add r5, sp, #0xb8 ldr r4, [r1, #0x550] ldrh r1, [r4] cmp r1, #2 - bne _0201282C + bne _027E303C ldr r1, [r4, #0xc8] tst r1, #1 - beq _02012850 -_0201282C: - bl sub_03036B70 + beq _027E3060 +_027E303C: + bl sub_03807380 mov r1, #8 strh r1, [r0] mov r1, #3 strh r1, [r0, #2] mov r1, #0 strh r1, [r0, #8] - bl sub_03036B24 - b _02012A78 -_02012850: + bl sub_03807334 + b _027E3288 +_027E3060: add r1, r4, #0x100 ldrh r2, [r1, #0x1a] mov r3, #1 @@ -3497,43 +3498,43 @@ _02012850: mov r2, r3, lsl r2 ldr r6, [r0, #4] tst ip, r2, asr #1 - bne _02012894 - bl sub_03036B70 + bne _027E30A4 + bl sub_03807380 mov r1, #8 strh r1, [r0] mov r1, #6 strh r1, [r0, #2] mov r1, #0 strh r1, [r0, #8] - bl sub_03036B24 - b _02012A78 -_02012894: + bl sub_03807334 + b _027E3288 +_027E30A4: strh r3, [r4, #0xe6] mov r0, #0 strh r0, [r1, #0x88] - bl sub_0302D4F0 + bl sub_037FDD00 add r1, r4, #0x100 mov r2, #0 strh r2, [r1, #0x82] strh r2, [r4, #0x86] - bl sub_0302D504 + bl sub_037FDD14 mov r1, r5 add r2, r4, #0x100 mov r3, #1 mov r0, #8 strh r3, [r2, #0xee] - bl sub_0200FBC0 + bl sub_027E03D0 cmp r0, #0 - beq _02012A78 + beq _027E3288 mov r0, r5 - bl sub_020120A0 + bl sub_027E28B0 ldrh r1, [r0, #4] cmp r1, #0 - beq _020128F8 - ldr r0, _02012A88 ; =0x00000303 - bl sub_02012A8C - b _02012A78 -_020128F8: + beq _027E3108 + ldr r0, _027E3298 ; =0x00000303 + bl sub_027E329C + b _027E3288 +_027E3108: cmp r6, #0 movne r0, #1 moveq r0, #0 @@ -3543,27 +3544,27 @@ _020128F8: mov r1, r6 mov r2, #0 mov r3, #1 - bl sub_020115AC + bl sub_027E1DBC ldrh r1, [r0, #4] cmp r1, #0 - beq _02012938 + beq _027E3148 mov r0, #1 - bl sub_02012A8C - b _02012A78 -_02012938: + bl sub_027E329C + b _027E3288 +_027E3148: strh r6, [r4, #0xc6] add r1, sp, #0x38 mov r0, #0 mov r2, #0x80 add r6, r4, #0xe8 - bl sub_0302D764 + bl sub_037FDF74 add r0, sp, #0x38 mov r1, r6 - bl sub_0200FAFC + bl sub_027E030C add r1, sp, #0x18 mov r0, #0 mov r2, #0x20 - bl sub_0302D764 + bl sub_037FDF74 ldr r1, [r6, #8] mov r0, r5 strh r1, [sp, #0x18] @@ -3591,14 +3592,14 @@ _02012938: ldrh r3, [r6, #0x18] mov r1, #0x20 add r2, sp, #0x18 - bl sub_020118B0 + bl sub_027E20C0 ldrh r1, [r0, #4] cmp r1, #0 - beq _020129F4 + beq _027E3204 mov r0, #9 - bl sub_02012A8C - b _02012A78 -_020129F4: + bl sub_027E329C + b _027E3288 +_027E3204: ldrh r0, [r6, #0x14] cmp r0, #0 ldrh r0, [r6, #0x34] @@ -3607,7 +3608,7 @@ _020129F4: add r0, r0, r1 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_0200FF90 + bl sub_027E07A0 ldrh r0, [r6, #0x14] cmp r0, #0 movne r1, #6 @@ -3616,8 +3617,8 @@ _020129F4: add r0, r0, r1 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_0200FFE0 - bl sub_03036B70 + bl sub_027E07F0 + bl sub_03807380 mov r1, #7 strh r1, [r4] mov r1, #8 @@ -3629,24 +3630,24 @@ _020129F4: strh r1, [r0, #0x2c] ldrh r1, [r4, #0x32] strh r1, [r0, #0x2e] - bl sub_03036B24 + bl sub_03807334 mov r0, #1 strh r0, [r4, #0xc2] -_02012A78: +_027E3288: add sp, sp, #0x2b8 ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_02012A84: .word 0x027F8878 -_02012A88: .word 0x00000303 - arm_func_end sub_02012800 +_027E3294: .word 0x027F8878 +_027E3298: .word 0x00000303 + arm_func_end sub_027E3010 - arm_func_start sub_02012A8C -sub_02012A8C: ; 0x02012A8C + arm_func_start sub_027E329C +sub_027E329C: ; 0x027E329C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 - bl sub_03036B70 + bl sub_03807380 mov r1, #8 strh r1, [r0] mov r1, #1 @@ -3655,69 +3656,69 @@ sub_02012A8C: ; 0x02012A8C strh r1, [r0, #8] strh r5, [r0, #4] strh r4, [r0, #6] - bl sub_03036B24 + bl sub_03807334 ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_02012A8C + arm_func_end sub_027E329C - arm_func_start sub_02012AC8 -sub_02012AC8: ; 0x02012AC8 + arm_func_start sub_027E32D8 +sub_027E32D8: ; 0x027E32D8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x208 - ldr r0, _02012C84 ; =0x027F8878 + ldr r0, _027E3494 ; =0x027F8878 ldr sl, [r0, #0x550] ldrh r0, [sl] cmp r0, #7 - beq _02012B00 - bl sub_03036B70 + beq _027E3310 + bl sub_03807380 mov r1, #9 strh r1, [r0] mov r1, #3 strh r1, [r0, #2] - bl sub_03036B24 - b _02012C78 -_02012B00: + bl sub_03807334 + b _027E3488 +_027E3310: mov r0, #0 strh r0, [sl, #0xf6] mov r8, #1 -_02012B0C: +_027E331C: add r0, sl, #0x100 ldrh r0, [r0, #0x82] mov r7, #1 tst r0, r7, lsl r8 - beq _02012BDC + beq _027E33EC add r0, sl, #0x128 sub r1, r8, #1 mov r2, #6 mla r0, r1, r2, r0 add r1, sp, #0 - bl sub_0302D91C + bl sub_037FE12C mov sb, #0 add r6, sp, #8 add r5, sp, #0 mov r4, #3 - b _02012B78 -_02012B4C: + b _027E3388 +_027E335C: mov r0, r6 mov r1, r5 mov r2, r4 - bl sub_020117BC + bl sub_027E1FCC ldrh r0, [r0, #4] cmp r0, #0 - beq _02012B80 + beq _027E3390 cmp r0, #7 cmpne r0, #0xc - bne _02012B80 + bne _027E3390 add sb, sb, #1 -_02012B78: +_027E3388: cmp sb, #2 - blt _02012B4C -_02012B80: - bl sub_0302D4F0 + blt _027E335C +_027E3390: + bl sub_037FDD00 add r1, sl, #0x100 ldrh r2, [r1, #0x82] tst r2, r7, lsl r8 - beq _02012BD8 + beq _027E33E8 mvn r3, r7, lsl r8 and r2, r2, r3 strh r2, [r1, #0x82] @@ -3728,41 +3729,41 @@ _02012B80: mov r2, #0 str r2, [r1, #0x738] str r2, [r1, #0x73c] - bl sub_0302D504 + bl sub_037FDD14 mov r0, r8, lsl #0x10 mov r1, r0, lsr #0x10 add r2, sp, #0 mov r0, #1 - bl sub_02014278 - b _02012BDC -_02012BD8: - bl sub_0302D504 -_02012BDC: + bl sub_027E4A88 + b _027E33EC +_027E33E8: + bl sub_037FDD14 +_027E33EC: add r8, r8, #1 cmp r8, #0x10 - blt _02012B0C + blt _027E331C add r0, sp, #8 mov r1, #1 - bl sub_02011558 + bl sub_027E1D68 ldrh r1, [r0, #4] mov r0, #0 cmp r1, #0 - beq _02012C0C - bl sub_02012C8C - b _02012C78 -_02012C0C: + beq _027E341C + bl sub_027E349C + b _027E3488 +_027E341C: strh r0, [sl, #0xc2] mov r1, #3 strh r1, [sl] add r0, sp, #8 - bl sub_02012088 + bl sub_027E2898 ldrh r1, [r0, #4] cmp r1, #0 - beq _02012C38 - ldr r0, _02012C88 ; =0x00000302 - bl sub_02012C8C - b _02012C78 -_02012C38: + beq _027E3448 + ldr r0, _027E3498 ; =0x00000302 + bl sub_027E349C + b _027E3488 +_027E3448: mov r0, #2 strh r0, [sl] mov r1, #0 @@ -3771,62 +3772,62 @@ _02012C38: strh r1, [r0, #0x96] add r0, sl, #0x19c mov r2, #0x50 - bl sub_0302D860 - bl sub_0200FF5C - bl sub_03036B70 + bl sub_037FE070 + bl sub_027E076C + bl sub_03807380 mov r1, #9 strh r1, [r0] mov r1, #0 strh r1, [r0, #2] - bl sub_03036B24 -_02012C78: + bl sub_03807334 +_027E3488: add sp, sp, #0x208 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, lr} bx lr .align 2, 0 -_02012C84: .word 0x027F8878 -_02012C88: .word 0x00000302 - arm_func_end sub_02012AC8 +_027E3494: .word 0x027F8878 +_027E3498: .word 0x00000302 + arm_func_end sub_027E32D8 - arm_func_start sub_02012C8C -sub_02012C8C: ; 0x02012C8C + arm_func_start sub_027E349C +sub_027E349C: ; 0x027E349C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 - bl sub_03036B70 + bl sub_03807380 mov r1, #9 strh r1, [r0] mov r1, #1 strh r1, [r0, #2] strh r5, [r0, #4] strh r4, [r0, #6] - bl sub_03036B24 + bl sub_03807334 ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_02012C8C + arm_func_end sub_027E349C - arm_func_start sub_02012CC0 -sub_02012CC0: ; 0x02012CC0 + arm_func_start sub_027E34D0 +sub_027E34D0: ; 0x027E34D0 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x248 - ldr r1, _02013010 ; =0x027F8878 + ldr r1, _027E3820 ; =0x027F8878 add r4, sp, #0x48 ldr r7, [r1, #0x550] ldrh r1, [r7] cmp r1, #2 cmpne r1, #3 cmpne r1, #5 - beq _02012D0C - bl sub_03036B70 + beq _027E351C + bl sub_03807380 mov r1, #0xa strh r1, [r0] mov r1, #3 strh r1, [r0, #2] mov r1, #4 strh r1, [r0, #8] - bl sub_03036B24 - b _02013004 -_02012D0C: + bl sub_03807334 + b _027E3814 +_027E351C: ldr r1, [r0, #4] add r2, r7, #0x100 str r1, [r7, #0x184] @@ -3836,125 +3837,125 @@ _02012D0C: ldrh r6, [r0, #8] add r0, r0, #0xa mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C ldrh r1, [sp, #0x10] - ldr r0, _02013014 ; =0x0000FFFF + ldr r0, _027E3824 ; =0x0000FFFF cmp r1, r0 - beq _02012D50 + beq _027E3560 tst r1, #1 bicne r0, r1, #1 strneh r0, [sp, #0x10] -_02012D50: +_027E3560: cmp r5, #0 - bne _02012D7C - bl sub_03036B70 + bne _027E358C + bl sub_03807380 mov r1, #0xa strh r1, [r0] mov r1, #6 strh r1, [r0, #2] mov r1, #4 strh r1, [r0, #8] - bl sub_03036B24 - b _02013004 -_02012D7C: + bl sub_03807334 + b _027E3814 +_027E358C: add r0, r7, #0x100 ldrh r0, [r0, #0xf4] mov r1, #1 tst r0, r1, lsl r5 - bne _02012DB4 - bl sub_03036B70 + bne _027E35C4 + bl sub_03807380 mov r1, #0xa strh r1, [r0] mov r1, #6 strh r1, [r0, #2] mov r1, #4 strh r1, [r0, #8] - bl sub_03036B24 - b _02013004 -_02012DB4: + bl sub_03807334 + b _027E3814 +_027E35C4: mov r0, #2 strh r0, [r7, #0xe6] mov r0, r4 - bl sub_02012114 + bl sub_027E2924 ldrh r1, [r0, #4] cmp r1, #0 - beq _02012DE0 + beq _027E35F0 mov r0, #0x308 mov r2, #0 - bl sub_02013564 - b _02013004 -_02012DE0: + bl sub_027E3D74 + b _027E3814 +_027E35F0: ldrh r0, [r0, #6] cmp r0, #0x10 - bne _02012E5C + bne _027E366C mov r1, r4 mov r0, #0xa - bl sub_0200FBC0 + bl sub_027E03D0 cmp r0, #0 - beq _02013004 + beq _027E3814 mov r0, r4 - bl sub_020120A0 + bl sub_027E28B0 ldrh r1, [r0, #4] mov r2, #0 cmp r1, #0 - beq _02012E24 - ldr r0, _02013018 ; =0x00000303 - bl sub_02013564 - b _02013004 -_02012E24: + beq _027E3634 + ldr r0, _027E3828 ; =0x00000303 + bl sub_027E3D74 + b _027E3814 +_027E3634: mov r0, #3 mov r1, #1 strh r0, [r7] mov r0, r4 mov r3, r1 - bl sub_020115AC + bl sub_027E1DBC ldrh r1, [r0, #4] mov r0, #1 cmp r1, #0 - beq _02012E58 + beq _027E3668 mov r2, #0 - bl sub_02013564 - b _02013004 -_02012E58: + bl sub_027E3D74 + b _027E3814 +_027E3668: strh r0, [r7, #0xc6] -_02012E5C: - ldr r0, _02013014 ; =0x0000FFFF +_027E366C: + ldr r0, _027E3824 ; =0x0000FFFF mov r3, #5 strh r3, [r7] add r1, sp, #0x26 mov r2, #0x20 - bl sub_0302D764 + bl sub_037FDF74 add r0, sp, #0x17 mov r1, #0 mov r2, #0xf strb r5, [sp, #0x16] - bl sub_0302D860 + bl sub_037FE070 add r1, sp, #0x26 str r1, [sp] mov r1, #1 str r1, [sp, #4] add r0, sp, #0x16 str r0, [sp, #8] - ldr r1, _0201301C ; =0x0000011E + ldr r1, _027E382C ; =0x0000011E add r2, sp, #0x10 str r6, [sp, #0xc] mov r0, r4 mov r3, #0 - bl sub_0201160C + bl sub_027E1E1C mov r4, r0 ldrh r1, [r4, #4] cmp r1, #0 - beq _02012ED8 + beq _027E36E8 mov r0, #2 mov r2, #0 - bl sub_02013564 - b _02013004 -_02012ED8: - bl sub_03036B70 + bl sub_027E3D74 + b _027E3814 +_027E36E8: + bl sub_03807380 ldrh r1, [r4, #8] mov r6, r0 cmp r1, #0 - bne _02012F10 + bne _027E3720 mov r0, #0xa strh r0, [r6] mov r1, #0 @@ -3963,18 +3964,18 @@ _02012ED8: strh r0, [r6, #8] strh r5, [r6, #0x10] strh r1, [r6, #0x12] - b _02012FFC -_02012F10: + b _027E380C +_027E3720: ldr r1, [r7, #0x184] mov r0, #0 add r1, r1, #0x40 mov r2, #0x80 - bl sub_0302D764 + bl sub_037FDF74 ldrh r2, [r4, #0xa] ldr r1, [r7, #0x184] add r0, r4, #0xa mov r2, r2, lsl #1 - bl sub_0302D91C + bl sub_037FE12C mov r0, #0xa strh r0, [r6] mov r0, #0 @@ -3985,26 +3986,26 @@ _02012F10: strh r0, [r6, #0x10] ldrh r0, [r4, #0xc] and r0, r0, #0xff - bl sub_02013020 + bl sub_027E3830 mov r7, r0 - bl sub_0200FDC8 + bl sub_027E05D8 strh r0, [r6, #0x12] mov r0, r7 - bl sub_02013034 + bl sub_027E3844 ldrh r1, [r4, #0x14] add r0, r4, #0xe strh r1, [r6, #0x14] add r1, r6, #0xa mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C add r0, r4, #0x16 add r1, r6, #0x16 mov r2, #0x20 - bl sub_0302D78C + bl sub_037FDF9C ldrh r0, [r4, #0x46] strh r0, [r6, #0x36] cmp r0, #0x80 - bls _02012FD4 + bls _027E37E4 mov r0, #0xa strh r0, [r6] mov r1, #0 @@ -4013,76 +4014,76 @@ _02012F10: strh r0, [r6, #8] strh r5, [r6, #0x10] strh r1, [r6, #0x12] - b _02012FFC -_02012FD4: + b _027E380C +_027E37E4: add r1, r6, #0x38 mov r0, #0 mov r2, #0x80 - bl sub_0302D764 + bl sub_037FDF74 ldrh r1, [r6, #0x36] add r0, r4, #0x4a add r2, r1, #1 add r1, r6, #0x38 bic r2, r2, #1 - bl sub_0302D78C -_02012FFC: + bl sub_037FDF9C +_027E380C: mov r0, r6 - bl sub_03036B24 -_02013004: + bl sub_03807334 +_027E3814: add sp, sp, #0x248 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02013010: .word 0x027F8878 -_02013014: .word 0x0000FFFF -_02013018: .word 0x00000303 -_0201301C: .word 0x0000011E - arm_func_end sub_02012CC0 +_027E3820: .word 0x027F8878 +_027E3824: .word 0x0000FFFF +_027E3828: .word 0x00000303 +_027E382C: .word 0x0000011E + arm_func_end sub_027E34D0 - arm_func_start sub_02013020 -sub_02013020: ; 0x02013020 + arm_func_start sub_027E3830 +sub_027E3830: ; 0x027E3830 tst r0, #2 mov r0, r0, asr #2 addeq r0, r0, #0x19 and r0, r0, #0xff bx lr - arm_func_end sub_02013020 + arm_func_end sub_027E3830 - arm_func_start sub_02013034 -sub_02013034: ; 0x02013034 - ldr r2, _0201304C ; =0x027FFF98 + arm_func_start sub_027E3844 +sub_027E3844: ; 0x027E3844 + ldr r2, _027E385C ; =0x027FFF98 ldrh r1, [r2] eor r0, r0, r1, lsl #1 eor r0, r0, r0, lsr #16 strh r0, [r2] bx lr .align 2, 0 -_0201304C: .word 0x027FFF98 - arm_func_end sub_02013034 +_027E385C: .word 0x027FFF98 + arm_func_end sub_027E3844 - arm_func_start sub_02013050 -sub_02013050: ; 0x02013050 + arm_func_start sub_027E3860 +sub_027E3860: ; 0x027E3860 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc8 sub sp, sp, #0x400 - ldr r1, _02013550 ; =0x027F8878 + ldr r1, _027E3D60 ; =0x027F8878 mov sb, r0 ldr r8, [r1, #0x550] ldrh r0, [r8] cmp r0, #2 cmpne r0, #3 cmpne r0, #5 - beq _020130A0 - bl sub_03036B70 + beq _027E38B0 + bl sub_03807380 mov r1, #0x26 strh r1, [r0] mov r1, #3 strh r1, [r0, #2] mov r1, #4 strh r1, [r0, #8] - bl sub_03036B24 - b _02013540 -_020130A0: + bl sub_03807334 + b _027E3D50 +_027E38B0: ldr r0, [sb, #4] add r1, sp, #0x18 str r0, [r8, #0x184] @@ -4093,188 +4094,188 @@ _020130A0: add r0, sb, #0xc str r3, [sp, #0x10] mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C ldrh r5, [sb, #0x12] ldrh fp, [sb, #0x36] cmp r5, #2 - beq _020130E8 + beq _027E38F8 cmp r5, #3 - beq _020130F4 - b _02013100 -_020130E8: + beq _027E3904 + b _027E3910 +_027E38F8: mov r6, #1 mov r5, #0 - b _02013104 -_020130F4: + b _027E3914 +_027E3904: mov r6, #1 mov r5, r6 - b _02013104 -_02013100: + b _027E3914 +_027E3910: mov r6, #0 -_02013104: +_027E3914: add r1, sp, #0x4e add r0, sb, #0x16 mov r2, #0x20 ldrh r4, [sb, #0x14] - bl sub_0302D91C + bl sub_037FE12C ldrh r1, [sp, #0x18] - ldr r0, _02013554 ; =0x0000FFFF + ldr r0, _027E3D64 ; =0x0000FFFF ldrh r7, [sb, #8] cmp r1, r0 - beq _02013138 + beq _027E3948 tst r1, #1 bicne r0, r1, #1 strneh r0, [sp, #0x18] -_02013138: +_027E3948: add r0, r8, #0x100 ldrh r1, [r0, #0xf4] mov r0, sl, lsl #0x11 ands sl, r1, r0, lsr #16 - beq _0201317C + beq _027E398C ldr r0, [r8, #0xc8] tst r0, #1 cmpne r5, #1 - bne _0201317C + bne _027E398C ldr r0, [sb, #4] cmp r0, #0 - beq _0201317C + beq _027E398C tst r0, #3 - bne _0201317C + bne _027E398C ldrh r0, [sb, #8] cmp r0, #0x40 - bhs _020131A0 -_0201317C: - bl sub_03036B70 + bhs _027E39B0 +_027E398C: + bl sub_03807380 mov r1, #0x26 strh r1, [r0] mov r1, #6 strh r1, [r0, #2] mov r1, #4 strh r1, [r0, #8] - bl sub_03036B24 - b _02013540 -_020131A0: + bl sub_03807334 + b _027E3D50 +_027E39B0: mov r0, #2 strh r0, [r8, #0xe6] add r0, sp, #0x70 - bl sub_02012114 + bl sub_027E2924 ldrh r1, [r0, #4] cmp r1, #0 - beq _020131CC + beq _027E39DC mov r0, #0x308 mov r2, #1 - bl sub_02013564 - b _02013540 -_020131CC: + bl sub_027E3D74 + b _027E3D50 +_027E39DC: ldrh r0, [r0, #6] cmp r0, #0x10 - bne _0201324C + bne _027E3A5C add r1, sp, #0x70 mov r0, #0x26 - bl sub_0200FBC0 + bl sub_027E03D0 cmp r0, #0 - beq _02013540 + beq _027E3D50 add r0, sp, #0x70 - bl sub_020120A0 + bl sub_027E28B0 ldrh r1, [r0, #4] cmp r1, #0 - beq _02013210 - ldr r0, _02013558 ; =0x00000303 + beq _027E3A20 + ldr r0, _027E3D68 ; =0x00000303 mov r2, #1 - bl sub_02013564 - b _02013540 -_02013210: + bl sub_027E3D74 + b _027E3D50 +_027E3A20: mov r0, #3 mov r1, #1 strh r0, [r8] add r0, sp, #0x70 mov r3, r1 mov r2, #0 - bl sub_020115AC + bl sub_027E1DBC ldrh r1, [r0, #4] mov r0, #1 cmp r1, #0 - beq _02013248 + beq _027E3A58 mov r2, r0 - bl sub_02013564 - b _02013540 -_02013248: + bl sub_027E3D74 + b _027E3D50 +_027E3A58: strh r0, [r8, #0xc6] -_0201324C: +_027E3A5C: add r0, r8, #0x100 ldrh r0, [r0, #0xee] cmp r5, #0 - bne _0201329C + bne _027E3AAC cmp r0, #1 - bne _020132D8 + bne _027E3AE8 add r0, sp, #0x70 mov r1, #0 - bl sub_02011D74 + bl sub_027E2584 ldrh r1, [r0, #4] cmp r1, #0 - beq _0201328C - ldr r0, _0201355C ; =0x0000020E + beq _027E3A9C + ldr r0, _027E3D6C ; =0x0000020E mov r2, #1 - bl sub_02013564 - b _02013540 -_0201328C: + bl sub_027E3D74 + b _027E3D50 +_027E3A9C: add r0, r8, #0x100 mov r1, #0 strh r1, [r0, #0xee] - b _020132D8 -_0201329C: + b _027E3AE8 +_027E3AAC: cmp r0, #0 - bne _020132D8 + bne _027E3AE8 add r0, sp, #0x70 mov r1, #1 - bl sub_02011D74 + bl sub_027E2584 ldrh r1, [r0, #4] cmp r1, #0 - beq _020132CC - ldr r0, _0201355C ; =0x0000020E + beq _027E3ADC + ldr r0, _027E3D6C ; =0x0000020E mov r2, #1 - bl sub_02013564 - b _02013540 -_020132CC: + bl sub_027E3D74 + b _027E3D50 +_027E3ADC: add r0, r8, #0x100 mov r1, #1 strh r1, [r0, #0xee] -_020132D8: +_027E3AE8: cmp r6, #1 - bne _02013330 + bne _027E3B40 add r0, sp, #0x2e mov r1, #0xff mov r2, #0x20 - bl sub_0302D860 + bl sub_037FE070 cmp fp, #0x20 - bhi _02013308 + bhi _027E3B18 add r0, sp, #0x2e mov r2, fp mov r1, #0 - bl sub_0302D860 -_02013308: + bl sub_037FE070 +_027E3B18: add r1, sp, #0x2e add r0, sp, #0x70 - bl sub_02011D00 + bl sub_027E2510 ldrh r1, [r0, #4] cmp r1, #0 - beq _02013330 - ldr r0, _02013560 ; =0x0000020D + beq _027E3B40 + ldr r0, _027E3D70 ; =0x0000020D mov r2, #1 - bl sub_02013564 - b _02013540 -_02013330: + bl sub_027E3D74 + b _027E3D50 +_027E3B40: mov r6, #0 mov r3, #5 add r0, sp, #0x1e mov r1, r6 mov r2, #0x10 strh r3, [r8] - bl sub_0302D860 + bl sub_037FE070 mov r3, #1 add r1, sp, #0x1e mov r2, r3 -_02013358: +_027E3B68: tst sl, r2, lsl r3 addne r0, r6, #1 movne r0, r0, lsl #0x10 @@ -4284,10 +4285,10 @@ _02013358: mov r0, r0, lsl #0x10 mov r3, r0, lsr #0x10 cmp r3, #0xf - blo _02013358 + blo _027E3B68 sub r0, r7, #0x40 mov r1, #0x42 - bl sub_030365C4 + bl sub_03806DD4 add r2, sp, #0x4e stmia sp, {r2, r5} add r1, sp, #0x1e @@ -4299,21 +4300,21 @@ _02013358: add r0, sp, #0x70 mov r3, r4 add r1, r5, #0x5e - bl sub_0201160C + bl sub_027E1E1C mov r5, r0 ldrh r1, [r5, #4] cmp r1, #0 - beq _020133DC + beq _027E3BEC mov r0, #2 mov r2, #1 - bl sub_02013564 - b _02013540 -_020133DC: - bl sub_03036B70 + bl sub_027E3D74 + b _027E3D50 +_027E3BEC: + bl sub_03807380 ldrh r1, [r5, #8] mov r6, r0 cmp r1, #0 - bne _02013418 + bne _027E3C28 mov r0, #0x26 strh r0, [r6] mov r1, #0 @@ -4323,76 +4324,76 @@ _020133DC: strh r1, [r6, #0xe] mov r0, sl, asr #1 strh r0, [r6, #0xa] - b _02013538 -_02013418: + b _027E3D48 +_027E3C28: ldr sb, [r8, #0x184] mov r2, r7 mov r1, sb mov r0, #0 add r8, r5, #0xa - bl sub_0302D764 + bl sub_037FDF74 mov r7, #0 - b _02013504 -_02013438: + b _027E3D14 +_027E3C48: ldrh r1, [r8] mov r0, r8 mov r1, r1, lsl #0x11 mov fp, r1, lsr #0x10 mov r1, sb mov r2, fp - bl sub_0302D91C + bl sub_037FE12C cmp r4, #0 - beq _020134C0 + beq _027E3CD0 ldrh r2, [sb, #0xa] cmp r2, #0 moveq r0, #0 - beq _020134A4 + beq _027E3CB4 cmp r2, #0x20 movhi r0, #0 - bhi _020134A4 + bhi _027E3CB4 mov r1, #0 - b _02013498 -_02013480: + b _027E3CA8 +_027E3C90: add r0, sb, r1 ldrb r0, [r0, #0xc] cmp r0, #0 movne r0, #1 - bne _020134A4 + bne _027E3CB4 add r1, r1, #1 -_02013498: +_027E3CA8: cmp r1, r2 - blt _02013480 + blt _027E3C90 mov r0, #0 -_020134A4: +_027E3CB4: cmp r0, #0 - bne _020134C0 + bne _027E3CD0 add r0, sp, #0x4e add r1, sb, #0xc mov r2, #0x20 strh r4, [sb, #0xa] - bl sub_0302D91C -_020134C0: + bl sub_037FE12C +_027E3CD0: add r0, r6, r7, lsl #2 str sb, [r0, #0x10] ldrh r0, [r8, #2] and r0, r0, #0xff - bl sub_02013020 + bl sub_027E3830 str r0, [sp, #0x14] - bl sub_0200FDC8 + bl sub_027E05D8 add r1, r6, r7, lsl #1 strh r0, [r1, #0x50] ldr r0, [sp, #0x14] - bl sub_02013034 + bl sub_027E3844 add sb, sb, fp tst sb, #2 addne r0, sb, #2 add r8, r8, fp bicne sb, r0, #3 add r7, r7, #1 -_02013504: +_027E3D14: ldrh r0, [r5, #8] cmp r7, r0 - blt _02013438 + blt _027E3C48 mov r0, #0x26 strh r0, [r6] mov r0, #0 @@ -4403,29 +4404,29 @@ _02013504: mov r0, sl, asr #1 strh r1, [r6, #0xe] strh r0, [r6, #0xa] -_02013538: +_027E3D48: mov r0, r6 - bl sub_03036B24 -_02013540: + bl sub_03807334 +_027E3D50: add sp, sp, #0xc8 add sp, sp, #0x400 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_02013550: .word 0x027F8878 -_02013554: .word 0x0000FFFF -_02013558: .word 0x00000303 -_0201355C: .word 0x0000020E -_02013560: .word 0x0000020D - arm_func_end sub_02013050 +_027E3D60: .word 0x027F8878 +_027E3D64: .word 0x0000FFFF +_027E3D68: .word 0x00000303 +_027E3D6C: .word 0x0000020E +_027E3D70: .word 0x0000020D + arm_func_end sub_027E3860 - arm_func_start sub_02013564 -sub_02013564: ; 0x02013564 + arm_func_start sub_027E3D74 +sub_027E3D74: ; 0x027E3D74 stmdb sp!, {r4, r5, r6, lr} mov r4, r2 mov r6, r0 mov r5, r1 - bl sub_03036B70 + bl sub_03807380 cmp r4, #0 movne r1, #0x26 moveq r1, #0xa @@ -4436,181 +4437,181 @@ sub_02013564: ; 0x02013564 strh r1, [r0, #8] strh r6, [r0, #4] strh r5, [r0, #6] - bl sub_03036B24 + bl sub_03807334 ldmia sp!, {r4, r5, r6, lr} bx lr - arm_func_end sub_02013564 + arm_func_end sub_027E3D74 - arm_func_start sub_020135AC -sub_020135AC: ; 0x020135AC + arm_func_start sub_027E3DBC +sub_027E3DBC: ; 0x027E3DBC stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x200 - ldr r0, _02013674 ; =0x027F8878 + ldr r0, _027E3E84 ; =0x027F8878 add r4, sp, #0 ldr r5, [r0, #0x550] ldrh r0, [r5] cmp r0, #5 - beq _020135E8 - bl sub_03036B70 + beq _027E3DF8 + bl sub_03807380 mov r1, #0xb strh r1, [r0] mov r1, #3 strh r1, [r0, #2] - bl sub_03036B24 - b _02013668 -_020135E8: + bl sub_03807334 + b _027E3E78 +_027E3DF8: mov r0, r4 - bl sub_02012088 + bl sub_027E2898 ldrh r1, [r0, #4] cmp r1, #0 - beq _02013608 - ldr r0, _02013678 ; =0x00000302 - bl sub_02013680 - b _02013668 -_02013608: + beq _027E3E18 + ldr r0, _027E3E88 ; =0x00000302 + bl sub_027E3E90 + b _027E3E78 +_027E3E18: mov r0, #2 strh r0, [r5] add r0, r5, #0x100 ldrh r0, [r0, #0xee] cmp r0, #0 - bne _02013650 + bne _027E3E60 mov r0, r4 mov r1, #1 - bl sub_02011D74 + bl sub_027E2584 ldrh r1, [r0, #4] cmp r1, #0 - beq _02013644 - ldr r0, _0201367C ; =0x0000020E - bl sub_02013680 - b _02013668 -_02013644: + beq _027E3E54 + ldr r0, _027E3E8C ; =0x0000020E + bl sub_027E3E90 + b _027E3E78 +_027E3E54: add r0, r5, #0x100 mov r1, #1 strh r1, [r0, #0xee] -_02013650: - bl sub_03036B70 +_027E3E60: + bl sub_03807380 mov r1, #0xb strh r1, [r0] mov r1, #0 strh r1, [r0, #2] - bl sub_03036B24 -_02013668: + bl sub_03807334 +_027E3E78: add sp, sp, #0x200 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02013674: .word 0x027F8878 -_02013678: .word 0x00000302 -_0201367C: .word 0x0000020E - arm_func_end sub_020135AC +_027E3E84: .word 0x027F8878 +_027E3E88: .word 0x00000302 +_027E3E8C: .word 0x0000020E + arm_func_end sub_027E3DBC - arm_func_start sub_02013680 -sub_02013680: ; 0x02013680 + arm_func_start sub_027E3E90 +sub_027E3E90: ; 0x027E3E90 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 - bl sub_03036B70 + bl sub_03807380 mov r1, #0xb strh r1, [r0] mov r1, #1 strh r1, [r0, #2] strh r5, [r0, #4] strh r4, [r0, #6] - bl sub_03036B24 + bl sub_03807334 ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_02013680 + arm_func_end sub_027E3E90 - arm_func_start sub_020136B4 -sub_020136B4: ; 0x020136B4 + arm_func_start sub_027E3EC4 +sub_027E3EC4: ; 0x027E3EC4 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x250 - ldr r1, _02013C44 ; =0x027F8878 + ldr r1, _027E4454 ; =0x027F8878 add r4, sp, #0x50 ldr r7, [r1, #0x550] ldr r5, [r1, #0x54c] ldrh r1, [r7] mov r6, r0 cmp r1, #2 - bne _020136E8 + bne _027E3EF8 ldr r0, [r7, #0xc8] tst r0, #1 - beq _0201370C -_020136E8: - bl sub_03036B70 + beq _027E3F1C +_027E3EF8: + bl sub_03807380 mov r1, #0xc strh r1, [r0] mov r1, #3 strh r1, [r0, #2] mov r1, #6 strh r1, [r0, #8] - bl sub_03036B24 - b _02013C38 -_0201370C: + bl sub_03807334 + b _027E4448 +_027E3F1C: ldr r0, [r6, #4] add r1, r5, #0x10 mov r2, #0xc0 - bl sub_0302D91C + bl sub_037FE12C ldrh r0, [r5, #0x4c] cmp r0, #0x10 - blo _02013758 + blo _027E3F68 ldrb r0, [r5, #0x5b] tst r0, #1 - bne _02013758 - bl sub_03036B70 + bne _027E3F68 + bl sub_03807380 mov r1, #0xc strh r1, [r0] mov r1, #0xb strh r1, [r0, #2] mov r1, #6 strh r1, [r0, #8] - bl sub_03036B24 - b _02013C38 -_02013758: + bl sub_03807334 + b _027E4448 +_027E3F68: ldrh r1, [r5, #0x46] add r0, r7, #0x100 mov r2, #1 ldrh r0, [r0, #0xf4] mov r1, r2, lsl r1 tst r1, r0 - beq _02013780 + beq _027E3F90 rsb r0, r2, #0x2000 tst r0, r1, asr #1 - bne _020137A0 -_02013780: - bl sub_03036B70 + bne _027E3FB0 +_027E3F90: + bl sub_03807380 mov r1, #0xc strh r1, [r0] mov r1, #6 strh r1, [r0, #2] strh r1, [r0, #8] - bl sub_03036B24 - b _02013C38 -_020137A0: - bl sub_03036B70 + bl sub_03807334 + b _027E4448 +_027E3FB0: + bl sub_03807380 mov r1, #0xc strh r1, [r0] mov r1, #0 strh r1, [r0, #2] mov r1, #6 strh r1, [r0, #8] - bl sub_03036B24 + bl sub_03807334 add r0, r7, #0x100 ldrh r1, [r0, #0xec] cmp r1, #1 ldrh r1, [r5, #0x3e] - bne _020137E8 + bne _027E3FF8 tst r1, #1 movne r1, #1 strneh r1, [r0, #0xec] moveq r1, #2 - b _020137F8 -_020137E8: + b _027E4008 +_027E3FF8: tst r1, #2 movne r1, #2 strneh r1, [r0, #0xec] moveq r1, #1 -_020137F8: +_027E4008: streqh r1, [r0, #0xec] ldrh r0, [r5, #0x3c] tst r0, #0x20 @@ -4625,55 +4626,55 @@ _020137F8: movne r0, #2 strh r0, [r7, #0xe6] mov r0, #0xc - bl sub_0200FBC0 + bl sub_027E03D0 cmp r0, #0 - beq _02013C38 + beq _027E4448 mov r0, r4 mov r1, #0 - bl sub_02011EF0 + bl sub_027E2700 ldrh r1, [r0, #4] cmp r1, #0 - beq _02013864 - ldr r0, _02013C48 ; =0x00000216 + beq _027E4074 + ldr r0, _027E4458 ; =0x00000216 mov r2, #0 - bl sub_02013C58 - b _02013C38 -_02013864: + bl sub_027E4468 + b _027E4448 +_027E4074: ldrh r0, [r5, #0x4c] cmp r0, #0x10 - bhs _020138C0 + bhs _027E40D0 ldrh r1, [r5, #0x42] cmp r1, #0 moveq r0, #1 - beq _0201388C - ldr r0, _02013C4C ; =0x00002710 - bl sub_030363B8 + beq _027E409C + ldr r0, _027E445C ; =0x00002710 + bl sub_03806BC8 add r0, r0, #1 -_0201388C: +_027E409C: mov r0, r0, lsl #0x10 mov r1, r0, lsr #0x10 cmp r1, #0xff movhi r1, #0xff mov r0, r4 - bl sub_02011CA4 + bl sub_027E24B4 ldrh r1, [r0, #4] cmp r1, #0 - beq _020138C0 - ldr r0, _02013C50 ; =0x0000020B + beq _027E40D0 + ldr r0, _027E4460 ; =0x0000020B mov r2, #0 - bl sub_02013C58 - b _02013C38 -_020138C0: + bl sub_027E4468 + b _027E4448 +_027E40D0: mov r0, r4 - bl sub_020120A0 + bl sub_027E28B0 ldrh r1, [r0, #4] mov r2, #0 cmp r1, #0 - beq _020138E4 - ldr r0, _02013C54 ; =0x00000303 - bl sub_02013C58 - b _02013C38 -_020138E4: + beq _027E40F4 + ldr r0, _027E4464 ; =0x00000303 + bl sub_027E4468 + b _027E4448 +_027E40F4: mov r0, #3 strh r0, [r7] ldr r0, [r6, #0x20] @@ -4685,23 +4686,23 @@ _020138E4: mov r8, r0, lsr #0x10 mov r0, r4 mov r1, r8 - bl sub_020115AC + bl sub_027E1DBC ldrh r1, [r0, #4] cmp r1, #0 - beq _02013930 + beq _027E4140 mov r0, #1 mov r2, #0 - bl sub_02013C58 - b _02013C38 -_02013930: + bl sub_027E4468 + b _027E4448 +_027E4140: strh r8, [r7, #0xc6] add r1, sp, #0xc add r0, r5, #0x10 mov r2, #0x40 - bl sub_0302D91C + bl sub_037FE12C ldrh r0, [r7, #0xe6] cmp r0, #2 - bne _0201398C + bne _027E419C mov r0, #0x20 strh r0, [sp, #0x16] ldr r0, [r5, #0x54] @@ -4716,100 +4717,100 @@ _02013930: mov r2, #0x18 strh ip, [sp, #0x1c] strh r3, [sp, #0x1e] - bl sub_0302D91C -_0201398C: + bl sub_037FE12C +_027E419C: add r2, sp, #0xc mov r0, r4 mov r1, #0x7d0 - bl sub_020116C4 + bl sub_027E1ED4 ldrh r1, [r0, #4] cmp r1, #0 ldreqh r2, [r0, #6] cmpeq r2, #0 - beq _020139C0 + beq _027E41D0 ldrh r2, [r0, #6] mov r0, #3 - bl sub_02013C58 - b _02013C38 -_020139C0: + bl sub_027E4468 + b _027E4448 +_027E41D0: add r1, r7, #0x8a add r0, r0, #8 add r1, r1, #0x100 mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C add r0, r7, #0x8a add r1, sp, #6 add r0, r0, #0x100 mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C ldrh r2, [r6, #0x26] add r1, sp, #6 mov r0, r4 mov r3, #0x7d0 - bl sub_0201173C + bl sub_027E1F4C ldrh r1, [r0, #4] cmp r1, #0xc ldreqh r2, [r0, #6] cmpeq r2, #0x13 - bne _02013A30 - bl sub_03036B70 + bne _027E4240 + bl sub_03807380 mov r1, #0xc strh r1, [r0] strh r1, [r0, #2] mov r1, #6 strh r1, [r0, #8] - bl sub_03036B24 - b _02013C38 -_02013A30: + bl sub_03807334 + b _027E4448 +_027E4240: cmp r1, #0 ldreqh r2, [r0, #6] cmpeq r2, #0 - beq _02013A50 + beq _027E4260 ldrh r2, [r0, #6] mov r0, #4 - bl sub_02013C58 - b _02013C38 -_02013A50: + bl sub_027E4468 + b _027E4448 +_027E4260: add r0, r7, #0x8a add r1, sp, #0 add r0, r0, #0x100 mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C add r1, sp, #0 mov r0, r4 mov r2, #1 mov r3, #0x7d0 - bl sub_02011834 + bl sub_027E2044 mov r4, r0 - bl sub_0302D4F0 + bl sub_037FDD00 ldrh r2, [r4, #4] mov r6, r0 cmp r2, #0xc ldreqh r1, [r4, #6] cmpeq r1, #0x13 - bne _02013ABC - bl sub_0302D504 - bl sub_03036B70 + bne _027E42CC + bl sub_037FDD14 + bl sub_03807380 mov r1, #0xc strh r1, [r0] strh r1, [r0, #2] mov r1, #6 strh r1, [r0, #8] - bl sub_03036B24 - b _02013C38 -_02013ABC: + bl sub_03807334 + b _027E4448 +_027E42CC: cmp r2, #0 ldreqh r0, [r4, #6] cmpeq r0, #0 - beq _02013AE8 + beq _027E42F8 mov r0, r6 - bl sub_0302D504 + bl sub_037FDD14 ldrh r1, [r4, #4] ldrh r2, [r4, #6] mov r0, #6 - bl sub_02013C58 - b _02013C38 -_02013AE8: + bl sub_027E4468 + b _027E4448 +_027E42F8: ldrh r1, [r4, #8] add r0, r7, #0x100 strh r1, [r0, #0x88] @@ -4818,7 +4819,7 @@ _02013AE8: strh r0, [r7, #0xba] mov r0, #1 mov r2, #0x10 - bl sub_0302D764 + bl sub_037FDF74 ldrh r0, [r5, #0x12] and r0, r0, #0xff tst r0, #2 @@ -4826,11 +4827,11 @@ _02013AE8: addeq r0, r0, #0x19 and r4, r0, #0xff mov r0, r4 - bl sub_0200FDC8 + bl sub_027E05D8 strh r0, [r7, #0xbc] mov r0, r4 - bl sub_0200FD54 - bl sub_0302D4F0 + bl sub_027E0564 + bl sub_037FDD00 add r1, r7, #0x100 mov r2, #1 strh r2, [r1, #0x82] @@ -4840,13 +4841,13 @@ _02013AE8: cmp r1, #0 mov r4, r0 cmpeq r2, #0 - beq _02013B78 - bl sub_0302CA0C + beq _027E4388 + bl sub_037FD21C orr r0, r0, #1 str r0, [r7, #0x738] orr r0, r1, #0 str r0, [r7, #0x73c] -_02013B78: +_027E4388: mov r0, #8 strh r0, [r7] ldrb r0, [r5, #0x5b] @@ -4857,7 +4858,7 @@ _02013B78: add r0, r0, r1 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_0200FF90 + bl sub_027E07A0 ldrb r0, [r5, #0x5b] tst r0, #4 movne r1, #6 @@ -4866,12 +4867,12 @@ _02013B78: add r0, r0, r1 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_0200FFE0 + bl sub_027E07F0 mov r0, r4 - bl sub_0302D504 + bl sub_037FDD14 mov r0, #1 strh r0, [r7, #0xc2] - bl sub_03036B70 + bl sub_03807380 mov r4, r0 mov r0, #0xc strh r0, [r4] @@ -4886,34 +4887,34 @@ _02013B78: add r0, r1, #0x100 add r1, r4, #0x10 mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C ldrh r1, [r7, #0x30] mov r0, r4 strh r1, [r4, #0x16] ldrh r1, [r7, #0x32] strh r1, [r4, #0x18] - bl sub_03036B24 + bl sub_03807334 mov r0, r6 - bl sub_0302D504 -_02013C38: + bl sub_037FDD14 +_027E4448: add sp, sp, #0x250 ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_02013C44: .word 0x027F8878 -_02013C48: .word 0x00000216 -_02013C4C: .word 0x00002710 -_02013C50: .word 0x0000020B -_02013C54: .word 0x00000303 - arm_func_end sub_020136B4 +_027E4454: .word 0x027F8878 +_027E4458: .word 0x00000216 +_027E445C: .word 0x00002710 +_027E4460: .word 0x0000020B +_027E4464: .word 0x00000303 + arm_func_end sub_027E3EC4 - arm_func_start sub_02013C58 -sub_02013C58: ; 0x02013C58 + arm_func_start sub_027E4468 +sub_027E4468: ; 0x027E4468 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 - bl sub_03036B70 + bl sub_03807380 mov r1, #0xc strh r1, [r0] mov r1, #1 @@ -4921,13 +4922,13 @@ sub_02013C58: ; 0x02013C58 strh r6, [r0, #4] strh r5, [r0, #6] strh r4, [r0, #0xe] - bl sub_03036B24 + bl sub_03807334 ldmia sp!, {r4, r5, r6, lr} bx lr - arm_func_end sub_02013C58 + arm_func_end sub_027E4468 - arm_func_start sub_02013C94 -sub_02013C94: ; 0x02013C94 + arm_func_start sub_027E44A4 +sub_027E44A4: ; 0x027E44A4 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldr r1, [r0, #4] @@ -4935,10 +4936,10 @@ sub_02013C94: ; 0x02013C94 mov r3, r1, lsl #0x10 mov r1, #0 mov r4, r3, lsr #0x10 - bl sub_02013CEC + bl sub_027E44FC cmp r0, #1 - bne _02013CE0 - bl sub_03036B70 + bne _027E44F0 + bl sub_03807380 mov r1, #0xd strh r1, [r0] mov r1, #0 @@ -4946,18 +4947,18 @@ sub_02013C94: ; 0x02013C94 strh r4, [r0, #8] ldrh r1, [sp] strh r1, [r0, #0xa] - bl sub_03036B24 -_02013CE0: + bl sub_03807334 +_027E44F0: add sp, sp, #4 ldmia sp!, {r3, r4, lr} bx lr - arm_func_end sub_02013C94 + arm_func_end sub_027E44A4 - arm_func_start sub_02013CEC -sub_02013CEC: ; 0x02013CEC + arm_func_start sub_027E44FC +sub_027E44FC: ; 0x027E44FC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x220 - ldr r3, _02014270 ; =0x027F8878 + ldr r3, _027E4A80 ; =0x027F8878 ldr r4, [r0, #4] movs sl, r1 ldrne r0, [r0, #8] @@ -4974,25 +4975,25 @@ sub_02013CEC: ; 0x02013CEC mov r5, fp str r0, [sp, #8] cmpne r1, #7 - bne _02013D4C + bne _027E455C ldr r0, [r7, #0xc] cmp r0, #1 moveq r5, #1 - b _02013E44 -_02013D4C: + b _027E4654 +_027E455C: cmp r1, #0xa cmpne r1, #8 - bne _02013E08 - bl sub_0302D4F0 + bne _027E4618 + bl sub_037FDD00 add r1, r7, #0x100 ldrh r1, [r1, #0x82] mov r4, r0 cmp r1, #0 - bne _02013DB0 - bl sub_0302D504 + bne _027E45C0 + bl sub_037FDD14 cmp sl, #0 - bne _02013DA8 - bl sub_03036B70 + bne _027E45B8 + bl sub_03807380 mov r1, #0xd strh r1, [r0] mov r1, #3 @@ -5002,24 +5003,24 @@ _02013D4C: strh r1, [r0, #6] strh r8, [r0, #8] strh r1, [r0, #0xa] - bl sub_03036B24 -_02013DA8: + bl sub_03807334 +_027E45B8: mov r0, #0 - b _02014264 -_02013DB0: + b _027E4A74 +_027E45C0: ldr r0, [r7, #0xc] cmp r0, #1 - bne _02013DE0 + bne _027E45F0 mov r0, #0 str r0, [r7, #0xc] mov r5, #1 - bl sub_0201537C - bl sub_0200FE30 + bl sub_027E5B8C + bl sub_027E0640 ldrh r0, [r7] cmp r0, #0xa moveq r0, #8 streqh r0, [r7] -_02013DE0: +_027E45F0: add r0, r7, #0x100 mov r1, #0 strh r1, [r0, #0x82] @@ -5028,12 +5029,12 @@ _02013DE0: str r1, [r7, #0x10] mov r0, r4 str r1, [r7, #0x1c] - bl sub_0302D504 - b _02013E44 -_02013E08: + bl sub_037FDD14 + b _027E4654 +_027E4618: cmp sl, #0 - bne _02013E3C - bl sub_03036B70 + bne _027E464C + bl sub_03807380 mov r1, #0xd strh r1, [r0] mov r1, #3 @@ -5043,68 +5044,68 @@ _02013E08: strh r1, [r0, #6] strh r8, [r0, #8] strh r1, [r0, #0xa] - bl sub_03036B24 -_02013E3C: + bl sub_03807334 +_027E464C: mov r0, #0 - b _02014264 -_02013E44: + b _027E4A74 +_027E4654: ldrh r0, [r7] cmp r0, #0xa cmpne r0, #8 - bne _0201406C + bne _027E487C add r0, r7, #0x8a add r1, sp, #0x1a add r0, r0, #0x100 mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C mov sb, #0 add r6, sp, #0x1a mov r4, #3 - b _02013EFC -_02013E78: + b _027E470C +_027E4688: add r0, sp, #0x20 mov r1, r6 mov r2, r4 - bl sub_020117BC + bl sub_027E1FCC ldrh r1, [r0, #4] cmp r1, #7 - bgt _02013EB4 - bge _02013EBC + bgt _027E46C4 + bge _027E46CC cmp r1, #1 - bgt _02013EC4 + bgt _027E46D4 cmp r1, #0 - blt _02013EC4 + blt _027E46D4 cmpne r1, #1 - beq _02013F04 - b _02013EC4 -_02013EB4: + beq _027E4714 + b _027E46D4 +_027E46C4: cmp r1, #0xc - bne _02013EC4 -_02013EBC: + bne _027E46D4 +_027E46CC: add sb, sb, #1 - b _02013EFC -_02013EC4: + b _027E470C +_027E46D4: cmp sl, #0 mov r2, r8 mov r0, #5 mov r3, #0 - beq _02013EE0 - bl sub_02014380 - b _02013EE4 -_02013EE0: - bl sub_0201433C -_02013EE4: + beq _027E46F0 + bl sub_027E4B90 + b _027E46F4 +_027E46F0: + bl sub_027E4B4C +_027E46F4: cmp r5, #0 - beq _02013EF4 + beq _027E4704 mov r0, #1 - bl sub_0201700C -_02013EF4: + bl sub_027E781C +_027E4704: mov r0, #0 - b _02014264 -_02013EFC: + b _027E4A74 +_027E470C: cmp sb, #2 - blt _02013E78 -_02013F04: + blt _027E4688 +_027E4714: mov r0, #0 strh r0, [r7, #0xc2] mov r0, #3 @@ -5112,52 +5113,52 @@ _02013F04: strh r0, [r7] add r0, sp, #0x20 mov r1, fp - bl sub_02011558 + bl sub_027E1D68 ldrh r1, [r0, #4] cmp r1, #0 - beq _02013F68 + beq _027E4778 cmp sl, #0 mov r2, r8 mov r0, #0 mov r3, fp - beq _02013F4C - bl sub_02014380 - b _02013F50 -_02013F4C: - bl sub_0201433C -_02013F50: + beq _027E475C + bl sub_027E4B90 + b _027E4760 +_027E475C: + bl sub_027E4B4C +_027E4760: cmp r5, #0 - beq _02013F60 + beq _027E4770 mov r0, #1 - bl sub_0201700C -_02013F60: + bl sub_027E781C +_027E4770: mov r0, #0 - b _02014264 -_02013F68: + b _027E4A74 +_027E4778: add r0, sp, #0x20 - bl sub_02012088 + bl sub_027E2898 ldrh r1, [r0, #4] cmp r1, #0 - beq _02013FB8 - ldr r0, _02014274 ; =0x00000302 + beq _027E47C8 + ldr r0, _027E4A84 ; =0x00000302 cmp sl, #0 mov r2, r8 - beq _02013F98 + beq _027E47A8 mov r3, fp - bl sub_02014380 - b _02013FA0 -_02013F98: + bl sub_027E4B90 + b _027E47B0 +_027E47A8: mov r3, fp - bl sub_0201433C -_02013FA0: + bl sub_027E4B4C +_027E47B0: cmp r5, #0 - beq _02013FB0 + beq _027E47C0 mov r0, #1 - bl sub_0201700C -_02013FB0: + bl sub_027E781C +_027E47C0: mov r0, #0 - b _02014264 -_02013FB8: + b _027E4A74 +_027E47C8: mov r0, #2 strh r0, [r7] mov r1, #0 @@ -5166,11 +5167,11 @@ _02013FB8: add r0, r7, #0x19c mov r2, #0x50 strh r1, [r3, #0x96] - bl sub_0302D860 - bl sub_0200FF5C + bl sub_037FE070 + bl sub_027E076C cmp sl, #1 - bne _02014048 - bl sub_03036B70 + bne _027E4858 + bl sub_03807380 mov r4, r0 mov r0, #0xc strh r0, [r4] @@ -5186,36 +5187,36 @@ _02013FB8: add r0, sp, #0x1a strh r1, [r4, #0xa] add r1, r4, #0x10 - bl sub_0302D91C + bl sub_037FE12C ldrh r1, [r7, #0x30] mov r0, r4 strh r1, [r4, #0x16] ldrh r1, [r7, #0x32] strh r1, [r4, #0x18] - bl sub_03036B24 - b _02014058 -_02014048: + bl sub_03807334 + b _027E4868 +_027E4858: mov r0, #0 add r2, sp, #0x1a mov r1, r0 - bl sub_02014278 -_02014058: + bl sub_027E4A88 +_027E4868: cmp r5, #0 - beq _02014254 + beq _027E4A64 mov r0, #1 - bl sub_0201700C - b _02014254 -_0201406C: + bl sub_027E781C + b _027E4A64 +_027E487C: mov r6, #1 - b _0201424C -_02014074: + b _027E4A5C +_027E4884: add r0, r7, #0x100 ldrh r0, [r0, #0x82] mov r1, #1 mov sb, r1, lsl r6 and r0, r0, r8 tst sb, r0 - beq _02014248 + beq _027E4A58 sub r1, r6, #1 mov r2, #6 mul r0, r1, r2 @@ -5229,50 +5230,50 @@ _02014074: ldr r0, [sp, #0x10] add r0, r1, r0 add r1, sp, #0x14 - bl sub_0302D91C + bl sub_037FE12C mov r4, #0 - b _02014138 -_020140D0: + b _027E4948 +_027E48E0: add r0, sp, #0x20 add r1, sp, #0x14 mov r2, #3 - bl sub_020117BC + bl sub_027E1FCC ldrh r1, [r0, #4] cmp r1, #0 - beq _02014140 + beq _027E4950 cmp r1, #7 cmpne r1, #0xc - bne _02014100 + bne _027E4910 add r4, r4, #1 - b _02014138 -_02014100: + b _027E4948 +_027E4910: cmp sl, #0 mov r2, r8 mov r0, #5 mov r3, fp - beq _0201411C - bl sub_02014380 - b _02014120 -_0201411C: - bl sub_0201433C -_02014120: + beq _027E492C + bl sub_027E4B90 + b _027E4930 +_027E492C: + bl sub_027E4B4C +_027E4930: cmp r5, #0 - beq _02014130 + beq _027E4940 mov r0, #1 - bl sub_0201700C -_02014130: + bl sub_027E781C +_027E4940: mov r0, #0 - b _02014264 -_02014138: + b _027E4A74 +_027E4948: cmp r4, #2 - blt _020140D0 -_02014140: - bl sub_0302D4F0 + blt _027E48E0 +_027E4950: + bl sub_037FDD00 mov r4, r0 add r1, r7, #0x100 ldrh r3, [r1, #0x82] tst r3, sb - beq _02014244 + beq _027E4A54 ldr r2, [sp, #0xc] ldr r0, [sp, #0x10] mov ip, #1 @@ -5293,12 +5294,12 @@ _02014140: str r1, [r2, #0x738] str r1, [r2, #0x73c] mov r2, #6 - bl sub_0302D860 + bl sub_037FE070 mov r0, r4 - bl sub_0302D504 + bl sub_037FDD14 cmp sl, #1 - bne _02014218 - bl sub_03036B70 + bne _027E4A28 + bl sub_03807380 mov r4, r0 mov r0, #8 strh r0, [r4] @@ -5313,82 +5314,82 @@ _02014140: mov r2, #6 strh r0, [r4, #0x10] add r0, sp, #0x14 - bl sub_0302D91C + bl sub_037FE12C ldrh r1, [r7, #0x30] mov r0, r4 strh r1, [r4, #0x2c] ldrh r1, [r7, #0x32] strh r1, [r4, #0x2e] - bl sub_03036B24 - b _0201422C -_02014218: + bl sub_03807334 + b _027E4A3C +_027E4A28: mov r0, r6, lsl #0x10 mov r1, r0, lsr #0x10 add r2, sp, #0x14 mov r0, #1 - bl sub_02014278 -_0201422C: + bl sub_027E4A88 +_027E4A3C: cmp r5, #0 - beq _02014248 + beq _027E4A58 mov r0, sb, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_0201700C - b _02014248 -_02014244: - bl sub_0302D504 -_02014248: + bl sub_027E781C + b _027E4A58 +_027E4A54: + bl sub_037FDD14 +_027E4A58: add r6, r6, #1 -_0201424C: +_027E4A5C: cmp r6, #0x10 - blt _02014074 -_02014254: + blt _027E4884 +_027E4A64: ldr r0, [sp] cmp r0, #0 strneh fp, [r0] mov r0, #1 -_02014264: +_027E4A74: add sp, sp, #0x220 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_02014270: .word 0x027F8878 -_02014274: .word 0x00000302 - arm_func_end sub_02013CEC +_027E4A80: .word 0x027F8878 +_027E4A84: .word 0x00000302 + arm_func_end sub_027E44FC - arm_func_start sub_02014278 -sub_02014278: ; 0x02014278 + arm_func_start sub_027E4A88 +sub_027E4A88: ; 0x027E4A88 stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r3, _02014334 ; =0x027F8878 + ldr r3, _027E4B44 ; =0x027F8878 mov r8, r0 ldr r5, [r3, #0x550] mov r7, r1 mov r6, r2 - bl sub_03036B70 + bl sub_03807380 mov r4, r0 mov r0, #0 strh r0, [r4, #2] cmp r8, #0 mov r1, #0x1a mov r2, #6 - beq _020142E8 + beq _027E4AF8 mov r0, #8 strh r0, [r4] strh r1, [r4, #8] - ldr r0, _02014338 ; =0x0000F001 + ldr r0, _027E4B48 ; =0x0000F001 add r1, r4, #0xa strh r0, [r4, #0x12] strh r7, [r4, #0x10] mov r0, r6 - bl sub_0302D91C + bl sub_037FE12C ldrh r0, [r5, #0x30] strh r0, [r4, #0x2c] ldrh r0, [r5, #0x32] strh r0, [r4, #0x2e] - b _02014324 -_020142E8: + b _027E4B34 +_027E4AF8: mov r0, #0xc strh r0, [r4] - ldr r0, _02014338 ; =0x0000F001 + ldr r0, _027E4B48 ; =0x0000F001 strh r1, [r4, #8] strh r0, [r4, #0xc] add r0, r5, #0x100 @@ -5396,29 +5397,29 @@ _020142E8: mov r0, r6 strh r1, [r4, #0xa] add r1, r4, #0x10 - bl sub_0302D91C + bl sub_037FE12C ldrh r0, [r5, #0x30] strh r0, [r4, #0x16] ldrh r0, [r5, #0x32] strh r0, [r4, #0x18] -_02014324: +_027E4B34: mov r0, r4 - bl sub_03036B24 + bl sub_03807334 ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_02014334: .word 0x027F8878 -_02014338: .word 0x0000F001 - arm_func_end sub_02014278 +_027E4B44: .word 0x027F8878 +_027E4B48: .word 0x0000F001 + arm_func_end sub_027E4A88 - arm_func_start sub_0201433C -sub_0201433C: ; 0x0201433C + arm_func_start sub_027E4B4C +sub_027E4B4C: ; 0x027E4B4C stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 mov r4, r3 - bl sub_03036B70 + bl sub_03807380 mov r1, #0xd strh r1, [r0] mov r1, #1 @@ -5427,19 +5428,19 @@ sub_0201433C: ; 0x0201433C strh r6, [r0, #6] strh r5, [r0, #8] strh r4, [r0, #0xa] - bl sub_03036B24 + bl sub_03807334 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr - arm_func_end sub_0201433C + arm_func_end sub_027E4B4C - arm_func_start sub_02014380 -sub_02014380: ; 0x02014380 + arm_func_start sub_027E4B90 +sub_027E4B90: ; 0x027E4B90 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 mov r4, r3 - bl sub_03036B70 + bl sub_03807380 mov r1, #0x25 strh r1, [r0] mov r1, #1 @@ -5448,16 +5449,16 @@ sub_02014380: ; 0x02014380 strh r6, [r0, #6] strh r5, [r0, #8] strh r4, [r0, #0xa] - bl sub_03036B24 + bl sub_03807334 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr - arm_func_end sub_02014380 + arm_func_end sub_027E4B90 - arm_func_start sub_020143C4 -sub_020143C4: ; 0x020143C4 + arm_func_start sub_027E4BD4 +sub_027E4BD4: ; 0x027E4BD4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x204 - ldr r1, _0201474C ; =0x027F8878 + ldr r1, _027E4F5C ; =0x027F8878 mov sl, r0 ldr r8, [r1, #0x550] ldr fp, [sl, #4] @@ -5465,10 +5466,10 @@ sub_020143C4: ; 0x020143C4 ldr r4, [sl, #8] ldr r5, [sl, #0xc] ldr r6, [sl, #0x10] - ldr r0, _02014750 ; =0x027F7878 + ldr r0, _027E4F60 ; =0x027F7878 cmp r1, #0 mov r7, #0 - bne _02014448 + bne _027E4C58 ldrh r1, [r8, #0x3c] add r1, r1, #0x1f bic r1, r1, #0x1f @@ -5479,20 +5480,20 @@ sub_020143C4: ; 0x020143C4 cmp r1, #0 ldrneh r1, [r8, #0x3e] addne r1, r1, #0x51 - bne _0201443C + bne _027E4C4C ldrh r2, [r8, #0x3e] ldrh r1, [r8, #0xf8] add r2, r2, #0xc mul r1, r2, r1 add r1, r1, #0x29 -_0201443C: +_027E4C4C: bic r1, r1, #0x1f cmp r4, r1 movlo r7, #6 -_02014448: +_027E4C58: ldrh r1, [r8, #0xe6] cmp r1, #2 - bne _02014478 + bne _027E4C88 add r0, r0, #0x1000 ldr r1, [r0, #0x54c] add r0, r8, #0x100 @@ -5502,42 +5503,42 @@ _02014448: mov r0, r2, lsl r1 tst r3, r0, asr #1 moveq r7, #6 -_02014478: +_027E4C88: cmp r7, #0 - beq _020144A0 - bl sub_03036B70 + beq _027E4CB0 + bl sub_03807380 mov r1, #0xe strh r1, [r0] strh r7, [r0, #2] mov r1, #0xa strh r1, [r0, #4] - bl sub_03036B24 - b _02014740 -_020144A0: + bl sub_03807334 + b _027E4F50 +_027E4CB0: ldr r0, [r8, #0xc] mov r1, #0 cmp r0, #0 strne r1, [r8, #0xc] movne r1, #1 cmp r1, #0 - beq _020144C4 - ldr r0, _02014754 ; =0x0000FFFF - bl sub_0201700C -_020144C4: - bl sub_02015B60 - bl sub_0302D4F0 + beq _027E4CD4 + ldr r0, _027E4F64 ; =0x0000FFFF + bl sub_027E781C +_027E4CD4: + bl sub_027E6370 + bl sub_037FDD00 str r0, [sp] add r0, sl, #0x14 mov r1, #0 - bl sub_02017C0C - ldr r0, _0201474C ; =0x027F8878 + bl sub_027E841C + ldr r0, _027E4F5C ; =0x027F8878 ldr r7, [sl, #0x30] ldr sb, [r0, #0x550] ldrh r0, [sb] cmp r0, #9 cmpne r0, #0xa - beq _020145B8 - bl sub_0302D4F0 + beq _027E4DC8 + bl sub_037FDD00 tst r7, #4 ldrneh r2, [sl, #0x38] add r1, sb, #0x700 @@ -5584,15 +5585,15 @@ _020144C4: add r1, sb, #0x700 ldreqh r2, [sb, #0x9a] strh r2, [r1, #0xcc] - bl sub_0302D504 -_020145B8: + bl sub_037FDD14 +_027E4DC8: ldrh r0, [r8] add r0, r0, #0xf9 add r0, r0, #0xff00 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #1 - bhi _02014718 + bhi _027E4F28 mov r2, #0 strh r2, [r8, #0x84] strh r2, [r8, #0x5e] @@ -5622,50 +5623,50 @@ _020145B8: rsb r0, r1, #0x10000 strh r0, [r8, #0xbe] strh r1, [r8, #0xc0] - bl sub_0302CA0C + bl sub_037FD21C orr r1, r1, #0 orr r2, r0, #1 mov r3, #0 -_02014658: +_027E4E68: add r0, r8, r3, lsl #3 str r2, [r0, #0x738] add r3, r3, #1 str r1, [r0, #0x73c] cmp r3, #0x10 - blt _02014658 - bl sub_0200FE90 + blt _027E4E68 + bl sub_027E06A0 mov r0, #0 strh r0, [r8, #0xce] - bl sub_02015390 + bl sub_027E5BA0 ldrh r0, [r8] cmp r0, #8 moveq r0, #0xa streqh r0, [r8] - beq _020146A0 + beq _027E4EB0 cmp r0, #7 moveq r0, #9 streqh r0, [r8] -_020146A0: - bl sub_03036B70 +_027E4EB0: + bl sub_03807380 mov r1, #0xe strh r1, [r0] mov r1, #0 strh r1, [r0, #2] mov r1, #0xa strh r1, [r0, #4] - bl sub_03036B24 + bl sub_03807334 mov r1, #1 ldr r0, [sp] str r1, [r8, #0xc] - bl sub_0302D504 + bl sub_037FDD14 add r0, sp, #4 mov r1, #1 - bl sub_02011EF0 + bl sub_027E2700 mov r4, r0 ldrh r0, [r4, #4] cmp r0, #0 - beq _02014740 - bl sub_03036B70 + beq _027E4F50 + bl sub_03807380 mov r2, #0xe strh r2, [r0] mov r1, #1 @@ -5674,34 +5675,34 @@ _020146A0: strh r1, [r0, #4] ldrh r1, [r4, #4] strh r1, [r0, #6] - bl sub_03036B24 - b _02014740 -_02014718: + bl sub_03807334 + b _027E4F50 +_027E4F28: ldr r0, [sp] - bl sub_0302D504 - bl sub_03036B70 + bl sub_037FDD14 + bl sub_03807380 mov r1, #0xe strh r1, [r0] mov r1, #3 strh r1, [r0, #2] mov r1, #0xa strh r1, [r0, #4] - bl sub_03036B24 -_02014740: + bl sub_03807334 +_027E4F50: add sp, sp, #0x204 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_0201474C: .word 0x027F8878 -_02014750: .word 0x027F7878 -_02014754: .word 0x0000FFFF - arm_func_end sub_020143C4 +_027E4F5C: .word 0x027F8878 +_027E4F60: .word 0x027F7878 +_027E4F64: .word 0x0000FFFF + arm_func_end sub_027E4BD4 - arm_func_start sub_02014758 -sub_02014758: ; 0x02014758 + arm_func_start sub_027E4F68 +sub_027E4F68: ; 0x027E4F68 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x14 - ldr r1, _0201488C ; =0x027F8878 + ldr r1, _027E509C ; =0x027F8878 ldr r2, [r0, #0x10] ldr sl, [r1, #0x550] ldr r5, [r0, #8] @@ -5725,21 +5726,21 @@ sub_02014758: ; 0x02014758 mov r4, r1, lsr #0x10 mov r1, r3, lsr #0x10 moveq r8, #3 - beq _020147EC + beq _027E4FFC tst r5, sb moveq r8, #0 - beq _020147EC + beq _027E4FFC str fp, [sp] stmib sp, {r4, r6, r7} ldr r2, [sp, #0x10] mov r0, sb mov r3, r5 - bl sub_02016BA8 + bl sub_027E73B8 mov r8, r0 -_020147EC: +_027E4FFC: cmp r8, #2 - beq _02014880 - bl sub_03036B70 + beq _027E5090 + bl sub_03807380 mov r1, #0x81 strh r1, [r0] strh r8, [r0, #2] @@ -5757,7 +5758,7 @@ _020147EC: strh r4, [r0, #0x18] str fp, [r0, #0x14] str r6, [r0, #0x1c] - ldr r1, _02014890 ; =0x0000FFFF + ldr r1, _027E50A0 ; =0x0000FFFF str r7, [r0, #0x20] strh r1, [r0, #0x1a] add r1, sl, #0x100 @@ -5773,125 +5774,125 @@ _020147EC: cmp r1, #0 movne r3, r2 strh r3, [r0, #0x26] - bl sub_03036B24 -_02014880: + bl sub_03807334 +_027E5090: add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_0201488C: .word 0x027F8878 -_02014890: .word 0x0000FFFF - arm_func_end sub_02014758 +_027E509C: .word 0x027F8878 +_027E50A0: .word 0x0000FFFF + arm_func_end sub_027E4F68 - arm_func_start sub_02014894 -sub_02014894: ; 0x02014894 + arm_func_start sub_027E50A4 +sub_027E50A4: ; 0x027E50A4 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x200 - ldr r0, _020149A4 ; =0x027F8878 + ldr r0, _027E51B4 ; =0x027F8878 mov r4, #0 ldr r6, [r0, #0x550] ldrh r0, [r6] cmp r0, #9 cmpne r0, #0xa - beq _020148D4 - bl sub_03036B70 + beq _027E50E4 + bl sub_03807380 mov r1, #0x10 strh r1, [r0] mov r1, #3 strh r1, [r0, #2] - bl sub_03036B24 - b _02014998 -_020148D4: - bl sub_0302D4F0 + bl sub_03807334 + b _027E51A8 +_027E50E4: + bl sub_037FDD00 ldr r1, [r6, #0xc] mov r5, r0 mov r0, #0 cmp r1, #1 str r0, [r6, #0xc] moveq r4, #1 - bl sub_0201537C - bl sub_0200FE30 + bl sub_027E5B8C + bl sub_027E0640 ldrh r0, [r6] cmp r0, #0xa moveq r0, #8 streqh r0, [r6] - beq _02014918 + beq _027E5128 cmp r0, #9 moveq r0, #7 streqh r0, [r6] -_02014918: +_027E5128: mov r0, r5 - bl sub_0302D504 + bl sub_037FDD14 add r0, sp, #0 mov r1, #0 - bl sub_02011EF0 + bl sub_027E2700 ldrh r1, [r0, #4] cmp r1, #0 - beq _02014944 - ldr r0, _020149A8 ; =0x00000216 - bl sub_020149B0 - b _02014998 -_02014944: + beq _027E5154 + ldr r0, _027E51B8 ; =0x00000216 + bl sub_027E51C0 + b _027E51A8 +_027E5154: add r0, sp, #0 mov r1, #7 - bl sub_02011B9C + bl sub_027E23AC ldrh r1, [r0, #4] cmp r1, #0 - beq _02014968 + beq _027E5178 mov r0, #0x104 - bl sub_020149B0 - b _02014998 -_02014968: + bl sub_027E51C0 + b _027E51A8 +_027E5178: mov r0, #0 strh r0, [r6, #0x8a] cmp r4, #0 - beq _02014980 - ldr r0, _020149AC ; =0x0000FFFF - bl sub_0201700C -_02014980: - bl sub_03036B70 + beq _027E5190 + ldr r0, _027E51BC ; =0x0000FFFF + bl sub_027E781C +_027E5190: + bl sub_03807380 mov r1, #0x10 strh r1, [r0] mov r1, #0 strh r1, [r0, #2] - bl sub_03036B24 -_02014998: + bl sub_03807334 +_027E51A8: add sp, sp, #0x200 ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_020149A4: .word 0x027F8878 -_020149A8: .word 0x00000216 -_020149AC: .word 0x0000FFFF - arm_func_end sub_02014894 +_027E51B4: .word 0x027F8878 +_027E51B8: .word 0x00000216 +_027E51BC: .word 0x0000FFFF + arm_func_end sub_027E50A4 - arm_func_start sub_020149B0 -sub_020149B0: ; 0x020149B0 + arm_func_start sub_027E51C0 +sub_027E51C0: ; 0x027E51C0 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 - bl sub_03036B70 + bl sub_03807380 mov r1, #0x10 strh r1, [r0] mov r1, #1 strh r1, [r0, #2] strh r5, [r0, #4] strh r4, [r0, #6] - bl sub_03036B24 + bl sub_03807334 ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_020149B0 + arm_func_end sub_027E51C0 - arm_func_start sub_020149E4 -sub_020149E4: ; 0x020149E4 + arm_func_start sub_027E51F4 +sub_027E51F4: ; 0x027E51F4 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r1, _02014A6C ; =0x027F8878 + ldr r1, _027E527C ; =0x027F8878 ldr r2, [r0, #8] ldr r4, [r1, #0x550] mov r5, r2, lsl #0x10 ldr r6, [r0, #4] mov r7, r5, lsr #0x10 - bl sub_0302D4F0 + bl sub_037FDD00 str r6, [r4, #0xb0] strh r7, [r4, #0xb8] add r1, r6, r5, lsr #16 @@ -5904,35 +5905,35 @@ sub_020149E4: ; 0x020149E4 mov r1, #0xb strh r1, [r4] mov r5, r0 - bl sub_03036B70 + bl sub_03807380 mov r1, #0x11 strh r1, [r0] mov r1, #0 strh r1, [r0, #2] mov r1, #0xe strh r1, [r0, #4] - bl sub_03036B24 + bl sub_03807334 mov r1, #1 mov r0, r5 str r1, [r4, #0x10] - bl sub_0302D504 + bl sub_037FDD14 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02014A6C: .word 0x027F8878 - arm_func_end sub_020149E4 +_027E527C: .word 0x027F8878 + arm_func_end sub_027E51F4 - arm_func_start sub_02014A70 -sub_02014A70: ; 0x02014A70 + arm_func_start sub_027E5280 +sub_027E5280: ; 0x027E5280 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x230 - ldr r1, _02014B64 ; =0x027F8878 + ldr r1, _027E5374 ; =0x027F8878 mov r5, r0 ldr r4, [r1, #0x550] add r0, r5, #4 add r1, r4, #0xa2 mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C ldr r0, [r5, #0xc] add r1, sp, #0 str r0, [r4, #0xa8] @@ -5942,7 +5943,7 @@ sub_02014A70: ; 0x02014A70 str r0, [r4, #0x18] mov r0, #0 mov r2, #0x30 - bl sub_0302D764 + bl sub_037FDF74 mov r0, #0 strh r0, [sp] ldr r1, [r5, #0x10] @@ -5956,18 +5957,18 @@ sub_02014A70: ; 0x02014A70 add r0, r5, #4 mov r2, #6 strb r3, [sp, #0xe] - bl sub_0302D91C + bl sub_037FE12C add r1, sp, #0x1e add r0, r4, #0xe0 mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C ldr r2, [r5, #0xc] add r0, sp, #0x30 add r1, sp, #0 str r2, [sp, #0x2c] - bl sub_020119F0 + bl sub_027E2200 mov r4, r0 - bl sub_03036B70 + bl sub_03807380 mov r1, #0x12 strh r1, [r0] ldrh r1, [r4, #4] @@ -5981,45 +5982,45 @@ sub_02014A70: ; 0x02014A70 strneh r1, [r0, #4] ldrneh r1, [r4, #4] strneh r1, [r0, #6] - bl sub_03036B24 + bl sub_03807334 add sp, sp, #0x230 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02014B64: .word 0x027F8878 - arm_func_end sub_02014A70 +_027E5374: .word 0x027F8878 + arm_func_end sub_027E5280 - arm_func_start sub_02014B68 -sub_02014B68: ; 0x02014B68 + arm_func_start sub_027E5378 +sub_027E5378: ; 0x027E5378 stmdb sp!, {r4, lr} sub sp, sp, #0x200 - ldr r0, _02014C20 ; =0x027F8878 + ldr r0, _027E5430 ; =0x027F8878 ldr r4, [r0, #0x550] - bl sub_0302D4F0 + bl sub_037FDD00 ldrh r1, [r4] cmp r1, #0xb - beq _02014BA8 - bl sub_0302D504 - bl sub_03036B70 + beq _027E53B8 + bl sub_037FDD14 + bl sub_03807380 mov r1, #0x13 strh r1, [r0] mov r1, #3 strh r1, [r0, #2] - bl sub_03036B24 - b _02014C14 -_02014BA8: + bl sub_03807334 + b _027E5424 +_027E53B8: mov r1, #0 str r1, [r4, #0x10] mov r1, #8 strh r1, [r4] - bl sub_0302D504 + bl sub_037FDD14 add r0, sp, #0 mov r1, #7 - bl sub_02011B9C + bl sub_027E23AC ldrh r4, [r0, #4] cmp r4, #0 - beq _02014BFC - bl sub_03036B70 + beq _027E540C + bl sub_03807380 mov r1, #0x13 strh r1, [r0] mov r1, #1 @@ -6027,27 +6028,27 @@ _02014BA8: mov r1, #0x104 strh r1, [r0, #4] strh r4, [r0, #6] - bl sub_03036B24 - b _02014C14 -_02014BFC: - bl sub_03036B70 + bl sub_03807334 + b _027E5424 +_027E540C: + bl sub_03807380 mov r1, #0x13 strh r1, [r0] mov r1, #0 strh r1, [r0, #2] - bl sub_03036B24 -_02014C14: + bl sub_03807334 +_027E5424: add sp, sp, #0x200 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02014C20: .word 0x027F8878 - arm_func_end sub_02014B68 +_027E5430: .word 0x027F8878 + arm_func_end sub_027E5378 - arm_func_start sub_02014C24 -sub_02014C24: ; 0x02014C24 + arm_func_start sub_027E5434 +sub_027E5434: ; 0x027E5434 stmdb sp!, {r3, lr} - ldr r1, _02014CC8 ; =0x027F8878 + ldr r1, _027E54D8 ; =0x027F8878 ldr r2, [r0, #4] ldr r3, [r1, #0x550] add r1, r3, #0x100 @@ -6055,54 +6056,54 @@ sub_02014C24: ; 0x02014C24 ldrh r1, [r1, #0x96] cmp r1, #3 addls pc, pc, r1, lsl #2 - b _02014C74 -_02014C4C: ; jump table - b _02014C5C ; case 0 - b _02014C68 ; case 1 - b _02014C68 ; case 2 - b _02014C68 ; case 3 -_02014C5C: + b _027E5484 +_027E545C: ; jump table + b _027E546C ; case 0 + b _027E5478 ; case 1 + b _027E5478 ; case 2 + b _027E5478 ; case 3 +_027E546C: mov r1, #0 str r1, [r3, #0x198] - b _02014C7C -_02014C68: + b _027E548C +_027E5478: mov r1, #1 str r1, [r3, #0x198] - b _02014C7C -_02014C74: + b _027E548C +_027E5484: mov r1, #0 str r1, [r3, #0x198] -_02014C7C: +_027E548C: ldr r1, [r3, #0x198] mov r2, #0x50 cmp r1, #1 - bne _02014C9C + bne _027E54AC ldr r0, [r0, #8] add r1, r3, #0x19c - bl sub_0302D91C - b _02014CA8 -_02014C9C: + bl sub_037FE12C + b _027E54B8 +_027E54AC: add r0, r3, #0x19c mov r1, #0 - bl sub_0302D860 -_02014CA8: - bl sub_03036B70 + bl sub_037FE070 +_027E54B8: + bl sub_03807380 mov r1, #0x14 strh r1, [r0] mov r1, #0 strh r1, [r0, #2] - bl sub_03036B24 + bl sub_03807334 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02014CC8: .word 0x027F8878 - arm_func_end sub_02014C24 +_027E54D8: .word 0x027F8878 + arm_func_end sub_027E5434 - arm_func_start sub_02014CCC -sub_02014CCC: ; 0x02014CCC + arm_func_start sub_027E54DC +sub_027E54DC: ; 0x027E54DC stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x200 - ldr r1, _02014DC0 ; =0x027F8878 + ldr r1, _027E55D0 ; =0x027F8878 mov r5, r0 ldr r4, [r1, #0x550] ldr r1, [r5, #4] @@ -6111,46 +6112,46 @@ sub_02014CCC: ; 0x02014CCC ldrh r0, [r0, #0x96] cmp r0, #3 addls pc, pc, r0, lsl #2 - b _02014D24 -_02014CFC: ; jump table - b _02014D0C ; case 0 - b _02014D18 ; case 1 - b _02014D18 ; case 2 - b _02014D18 ; case 3 -_02014D0C: + b _027E5534 +_027E550C: ; jump table + b _027E551C ; case 0 + b _027E5528 ; case 1 + b _027E5528 ; case 2 + b _027E5528 ; case 3 +_027E551C: mov r0, #0 str r0, [r4, #0x198] - b _02014D2C -_02014D18: + b _027E553C +_027E5528: mov r0, #1 str r0, [r4, #0x198] - b _02014D2C -_02014D24: + b _027E553C +_027E5534: mov r0, #0 str r0, [r4, #0x198] -_02014D2C: +_027E553C: ldr r0, [r4, #0x198] mov r2, #0x50 cmp r0, #1 - bne _02014D4C + bne _027E555C ldr r0, [r5, #8] add r1, r4, #0x19c - bl sub_0302D91C - b _02014D58 -_02014D4C: + bl sub_037FE12C + b _027E5568 +_027E555C: add r0, r4, #0x19c mov r1, #0 - bl sub_0302D860 -_02014D58: + bl sub_037FE070 +_027E5568: ldr r1, [r5, #0xc] add r0, sp, #0 strh r1, [r4, #0xc4] ldrh r1, [r4, #0xc4] - bl sub_02011C48 + bl sub_027E2458 ldrh r4, [r0, #4] cmp r4, #0 - beq _02014D9C - bl sub_03036B70 + beq _027E55AC + bl sub_03807380 mov r2, #0x14 mov r1, #1 strh r2, [r0] @@ -6158,26 +6159,26 @@ _02014D58: rsb r1, r1, #0x208 strh r1, [r0, #4] strh r4, [r0, #6] - bl sub_03036B24 -_02014D9C: - bl sub_03036B70 + bl sub_03807334 +_027E55AC: + bl sub_03807380 mov r1, #0x27 strh r1, [r0] mov r1, #0 strh r1, [r0, #2] - bl sub_03036B24 + bl sub_03807334 add sp, sp, #0x200 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02014DC0: .word 0x027F8878 - arm_func_end sub_02014CCC +_027E55D0: .word 0x027F8878 + arm_func_end sub_027E54DC - arm_func_start sub_02014DC4 -sub_02014DC4: ; 0x02014DC4 + arm_func_start sub_027E55D4 +sub_027E55D4: ; 0x027E55D4 stmdb sp!, {r4, lr} sub sp, sp, #0x280 - ldr r1, _02014EB0 ; =0x027F8878 + ldr r1, _027E56C0 ; =0x027F8878 ldr r2, [r0, #4] ldr r4, [r1, #0x550] str r2, [r4, #0xe8] @@ -6207,16 +6208,16 @@ sub_02014DC4: ; 0x02014DC4 strh r1, [r4, #0xfe] add r0, sp, #0 add r1, r4, #0xe8 - bl sub_0200FAFC + bl sub_027E030C ldrh r1, [r4, #0xec] add r0, sp, #0x80 add r1, r1, #0x10 mov r1, r1, lsl #0x10 add r2, sp, #0 mov r1, r1, lsr #0x10 - bl sub_02011FA8 + bl sub_027E27B8 mov r4, r0 - bl sub_03036B70 + bl sub_03807380 mov r1, #0x18 strh r1, [r0] ldrh r1, [r4, #4] @@ -6226,32 +6227,32 @@ sub_02014DC4: ; 0x02014DC4 strh r1, [r0, #2] ldrh r1, [r4, #4] cmp r1, #0 - ldrne r1, _02014EB4 ; =0x00000245 + ldrne r1, _027E56C4 ; =0x00000245 strneh r1, [r0, #4] ldrneh r1, [r4, #4] strneh r1, [r0, #6] - bl sub_03036B24 + bl sub_03807334 add sp, sp, #0x280 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02014EB0: .word 0x027F8878 -_02014EB4: .word 0x00000245 - arm_func_end sub_02014DC4 +_027E56C0: .word 0x027F8878 +_027E56C4: .word 0x00000245 + arm_func_end sub_027E55D4 - arm_func_start sub_02014EB8 -sub_02014EB8: ; 0x02014EB8 + arm_func_start sub_027E56C8 +sub_027E56C8: ; 0x027E56C8 stmdb sp!, {r4, lr} sub sp, sp, #0x200 ldr r1, [r0, #4] add r0, sp, #0 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 - bl sub_02011E94 + bl sub_027E26A4 ldrh r4, [r0, #4] cmp r4, #0 - beq _02014F08 - bl sub_03036B70 + beq _027E5718 + bl sub_03807380 mov r2, #0x19 mov r1, #1 strh r2, [r0] @@ -6259,49 +6260,49 @@ sub_02014EB8: ; 0x02014EB8 add r1, r1, #0x214 strh r1, [r0, #4] strh r4, [r0, #6] - bl sub_03036B24 - b _02014F20 -_02014F08: - bl sub_03036B70 + bl sub_03807334 + b _027E5730 +_027E5718: + bl sub_03807380 mov r1, #0x19 strh r1, [r0] mov r1, #0 strh r1, [r0, #2] - bl sub_03036B24 -_02014F20: + bl sub_03807334 +_027E5730: add sp, sp, #0x200 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02014EB8 + arm_func_end sub_027E56C8 - arm_func_start sub_02014F2C -sub_02014F2C: ; 0x02014F2C + arm_func_start sub_027E573C +sub_027E573C: ; 0x027E573C stmdb sp!, {r3, lr} - bl sub_03036B70 + bl sub_03807380 mov r1, #0x1a strh r1, [r0] mov r1, #4 strh r1, [r0, #2] - bl sub_03036B24 + bl sub_03807334 ldmia sp!, {r3, lr} bx lr - arm_func_end sub_02014F2C + arm_func_end sub_027E573C - arm_func_start sub_02014F50 -sub_02014F50: ; 0x02014F50 + arm_func_start sub_027E5760 +sub_027E5760: ; 0x027E5760 stmdb sp!, {r3, lr} - bl sub_03036B70 + bl sub_03807380 mov r1, #0x1b strh r1, [r0] mov r1, #4 strh r1, [r0, #2] - bl sub_03036B24 + bl sub_03807334 ldmia sp!, {r3, lr} bx lr - arm_func_end sub_02014F50 + arm_func_end sub_027E5760 - arm_func_start sub_02014F74 -sub_02014F74: ; 0x02014F74 + arm_func_start sub_027E5784 +sub_027E5784: ; 0x027E5784 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x200 ldmib r0, {r1, r2, r3} @@ -6310,18 +6311,18 @@ sub_02014F74: ; 0x02014F74 mov r4, r0, lsl #0x10 mov r2, r2, lsl #0x10 mov r3, r3, lsl #0x10 - ldr ip, _02015094 ; =0x027F8878 + ldr ip, _027E58A4 ; =0x027F8878 mov r5, r4, lsr #0x10 add r0, sp, #0 mov r1, r1, lsr #0x10 mov r2, r2, lsr #0x10 mov r3, r3, lsr #0x10 ldr r4, [ip, #0x550] - bl sub_02011DD0 + bl sub_027E25E0 ldrh r6, [r0, #4] cmp r6, #0 - beq _02014FE8 - bl sub_03036B70 + beq _027E57F8 + bl sub_03807380 mov r2, #0x1d mov r1, #1 strh r2, [r0] @@ -6329,19 +6330,19 @@ sub_02014F74: ; 0x02014F74 add r1, r1, #0x210 strh r1, [r0, #4] strh r6, [r0, #6] - bl sub_03036B24 - b _02015088 -_02014FE8: - ldr r0, _02015098 ; =0x0000FFFF + bl sub_03807334 + b _027E5898 +_027E57F8: + ldr r0, _027E58A8 ; =0x0000FFFF cmp r5, r0 - beq _0201503C + beq _027E584C cmp r5, #0 moveq r1, #1 moveq r0, #0 - beq _02015030 + beq _027E5840 mov r0, #0x64 mul r2, r5, r0 - ldr r0, _0201509C ; =0x000082EA + ldr r0, _027E58AC ; =0x000082EA mov r1, #0 umull ip, r3, r2, r0 mla r3, r2, r1, r3 @@ -6350,105 +6351,105 @@ _02014FE8: mov r1, ip, lsr #6 mov r0, r3, lsr #6 orr r1, r1, r3, lsl #26 -_02015030: +_027E5840: str r1, [r4, #0x7b8] str r0, [r4, #0x7bc] - b _02015048 -_0201503C: + b _027E5858 +_027E584C: mov r0, #0 str r0, [r4, #0x7b8] str r0, [r4, #0x7bc] -_02015048: - bl sub_0302CA0C +_027E5858: + bl sub_037FD21C orr r1, r1, #0 orr r2, r0, #1 mov r3, #0 -_02015058: +_027E5868: add r0, r4, r3, lsl #3 str r2, [r0, #0x738] add r3, r3, #1 str r1, [r0, #0x73c] cmp r3, #0x10 - blt _02015058 - bl sub_03036B70 + blt _027E5868 + bl sub_03807380 mov r1, #0x1d strh r1, [r0] mov r1, #0 strh r1, [r0, #2] - bl sub_03036B24 -_02015088: + bl sub_03807334 +_027E5898: add sp, sp, #0x200 ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_02015094: .word 0x027F8878 -_02015098: .word 0x0000FFFF -_0201509C: .word 0x000082EA - arm_func_end sub_02014F74 +_027E58A4: .word 0x027F8878 +_027E58A8: .word 0x0000FFFF +_027E58AC: .word 0x000082EA + arm_func_end sub_027E5784 - arm_func_start sub_020150A0 -sub_020150A0: ; 0x020150A0 + arm_func_start sub_027E58B0 +sub_027E58B0: ; 0x027E58B0 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x214 - ldr r1, _0201523C ; =0x027F8878 + ldr r1, _027E5A4C ; =0x027F8878 mov r7, r0 ldr r6, [r1, #0x550] add r4, sp, #0x14 ldrh r0, [r6] cmp r0, #2 - beq _020150E0 - bl sub_03036B70 + beq _027E58F0 + bl sub_03807380 mov r1, #0x1e strh r1, [r0] mov r1, #3 strh r1, [r0, #2] - bl sub_03036B24 - b _02015230 -_020150E0: + bl sub_03807334 + b _027E5A40 +_027E58F0: mov r0, r4 - bl sub_02012114 + bl sub_027E2924 ldrh r1, [r0, #4] cmp r1, #0 - beq _02015100 + beq _027E5910 mov r0, #0x308 - bl sub_02015248 - b _02015230 -_02015100: + bl sub_027E5A58 + b _027E5A40 +_027E5910: ldrh r1, [r0, #6] mov r0, #2 strh r0, [r6, #0xe6] cmp r1, #0x10 - bne _02015180 + bne _027E5990 mov r1, r4 mov r0, #0xa - bl sub_0200FBC0 + bl sub_027E03D0 cmp r0, #0 - beq _02015230 + beq _027E5A40 mov r0, r4 - bl sub_020120A0 + bl sub_027E28B0 ldrh r1, [r0, #4] cmp r1, #0 - beq _02015148 - ldr r0, _02015240 ; =0x00000303 - bl sub_02015248 - b _02015230 -_02015148: + beq _027E5958 + ldr r0, _027E5A50 ; =0x00000303 + bl sub_027E5A58 + b _027E5A40 +_027E5958: mov r0, #3 mov r1, #1 strh r0, [r6] mov r0, r4 mov r3, r1 mov r2, #0 - bl sub_020115AC + bl sub_027E1DBC ldrh r1, [r0, #4] mov r0, #1 cmp r1, #0 - beq _0201517C - bl sub_02015248 - b _02015230 -_0201517C: + beq _027E598C + bl sub_027E5A58 + b _027E5A40 +_027E598C: strh r0, [r6, #0xc6] -_02015180: +_027E5990: ldrh r8, [r7, #2] ldrh sb, [r7, #4] ldrh r5, [r7, #6] @@ -6456,7 +6457,7 @@ _02015180: add r0, sp, #4 mov r1, #0 mov r2, #0x10 - bl sub_0302D860 + bl sub_037FE070 strb r5, [sp, #4] add r0, sp, #4 str r0, [sp] @@ -6464,74 +6465,74 @@ _02015180: mov r1, r8 mov r2, sb mov r3, r7 - bl sub_02011970 + bl sub_027E2180 ldrh r1, [r0, #4] cmp r1, #0 - beq _020151D8 + beq _027E59E8 mov r0, #0xa - bl sub_02015248 - b _02015230 -_020151D8: + bl sub_027E5A58 + b _027E5A40 +_027E59E8: ldrh r1, [r0, #8] mov r0, r4 and r4, r1, #0xff mov r1, r1, lsl #8 mov r5, r1, lsr #0x10 - bl sub_02012088 + bl sub_027E2898 ldrh r1, [r0, #4] cmp r1, #0 - beq _02015208 - ldr r0, _02015244 ; =0x00000302 - bl sub_02015248 - b _02015230 -_02015208: + beq _027E5A18 + ldr r0, _027E5A54 ; =0x00000302 + bl sub_027E5A58 + b _027E5A40 +_027E5A18: mov r0, #2 strh r0, [r6] - bl sub_03036B70 + bl sub_03807380 mov r1, #0x1e strh r1, [r0] mov r1, #0 strh r1, [r0, #2] strh r4, [r0, #8] strh r5, [r0, #0xa] - bl sub_03036B24 -_02015230: + bl sub_03807334 +_027E5A40: add sp, sp, #0x214 ldmia sp!, {r4, r5, r6, r7, r8, sb, lr} bx lr .align 2, 0 -_0201523C: .word 0x027F8878 -_02015240: .word 0x00000303 -_02015244: .word 0x00000302 - arm_func_end sub_020150A0 +_027E5A4C: .word 0x027F8878 +_027E5A50: .word 0x00000303 +_027E5A54: .word 0x00000302 + arm_func_end sub_027E58B0 - arm_func_start sub_02015248 -sub_02015248: ; 0x02015248 + arm_func_start sub_027E5A58 +sub_027E5A58: ; 0x027E5A58 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 - bl sub_03036B70 + bl sub_03807380 mov r1, #0x1e strh r1, [r0] mov r1, #1 strh r1, [r0, #2] strh r5, [r0, #4] strh r4, [r0, #6] - bl sub_03036B24 + bl sub_03807334 ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_02015248 + arm_func_end sub_027E5A58 - arm_func_start sub_0201527C -sub_0201527C: ; 0x0201527C + arm_func_start sub_027E5A8C +sub_027E5A8C: ; 0x027E5A8C stmdb sp!, {r4, lr} sub sp, sp, #0x200 add r0, sp, #0 - bl sub_020120CC + bl sub_027E28DC ldrh r4, [r0, #4] cmp r4, #0 - beq _020152C0 - bl sub_03036B70 + beq _027E5AD0 + bl sub_03807380 mov r2, #0x1f mov r1, #1 strh r2, [r0] @@ -6539,32 +6540,32 @@ sub_0201527C: ; 0x0201527C add r1, r1, #0x304 strh r1, [r0, #4] strh r4, [r0, #6] - bl sub_03036B24 - b _020152D8 -_020152C0: - bl sub_03036B70 + bl sub_03807334 + b _027E5AE8 +_027E5AD0: + bl sub_03807380 mov r1, #0x1f strh r1, [r0] mov r1, #0 strh r1, [r0, #2] - bl sub_03036B24 -_020152D8: + bl sub_03807334 +_027E5AE8: add sp, sp, #0x200 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_0201527C + arm_func_end sub_027E5A8C - arm_func_start sub_020152E4 -sub_020152E4: ; 0x020152E4 + arm_func_start sub_027E5AF4 +sub_027E5AF4: ; 0x027E5AF4 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x200 add r0, sp, #0 - bl sub_020120FC + bl sub_027E290C mov r5, r0 ldrh r4, [r5, #4] cmp r4, #0 - beq _0201532C - bl sub_03036B70 + beq _027E5B3C + bl sub_03807380 mov r2, #0x20 mov r1, #1 strh r2, [r0] @@ -6572,10 +6573,10 @@ sub_020152E4: ; 0x020152E4 rsb r1, r1, #0x308 strh r1, [r0, #4] strh r4, [r0, #6] - bl sub_03036B24 - b _0201535C -_0201532C: - bl sub_03036B70 + bl sub_03807334 + b _027E5B6C +_027E5B3C: + bl sub_03807380 mov r4, r0 mov r0, #0x20 strh r0, [r4] @@ -6584,103 +6585,103 @@ _0201532C: add r1, r4, #8 mov r2, #0xb4 strh r3, [r4, #2] - bl sub_0302D78C + bl sub_037FDF9C mov r0, r4 - bl sub_03036B24 -_0201535C: + bl sub_03807334 +_027E5B6C: add sp, sp, #0x200 ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_020152E4 + arm_func_end sub_027E5AF4 - arm_func_start sub_02015368 -sub_02015368: ; 0x02015368 - ldr ip, _02015374 ; =sub_037FD884 - ldr r0, _02015378 ; =0x0380B460 + arm_func_start sub_027E5B78 +sub_027E5B78: ; 0x027E5B78 + ldr ip, _027E5B84 ; =sub_037FD884 + ldr r0, _027E5B88 ; =0x0380B460 bx ip .align 2, 0 -_02015374: .word sub_037FD884 -_02015378: .word 0x0380B460 - arm_func_end sub_02015368 +_027E5B84: .word sub_037FD884 +_027E5B88: .word 0x0380B460 + arm_func_end sub_027E5B78 - arm_func_start sub_0201537C -sub_0201537C: ; 0x0201537C - ldr ip, _02015388 ; =sub_037FDA38 - ldr r0, _0201538C ; =0x0380B460 + arm_func_start sub_027E5B8C +sub_027E5B8C: ; 0x027E5B8C + ldr ip, _027E5B98 ; =sub_037FDA38 + ldr r0, _027E5B9C ; =0x0380B460 bx ip .align 2, 0 -_02015388: .word sub_037FDA38 -_0201538C: .word 0x0380B460 - arm_func_end sub_0201537C +_027E5B98: .word sub_037FDA38 +_027E5B9C: .word 0x0380B460 + arm_func_end sub_027E5B8C - arm_func_start sub_02015390 -sub_02015390: ; 0x02015390 + arm_func_start sub_027E5BA0 +sub_027E5BA0: ; 0x027E5BA0 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 - ldr r1, _02015430 ; =0x027F8878 - ldr r0, _02015434 ; =0x0380B460 + ldr r1, _027E5C40 ; =0x027F8878 + ldr r0, _027E5C44 ; =0x0380B460 ldr r4, [r1, #0x550] ldrh r1, [r4, #0xe6] cmp r1, #1 - bne _020153E0 + bne _027E5BF0 ldr r1, [r0] cmp r1, #0 - beq _020153C0 - bl sub_0302D228 -_020153C0: - ldr r0, _02015434 ; =0x0380B460 + beq _027E5BD0 + bl sub_037FDA38 +_027E5BD0: + ldr r0, _027E5C44 ; =0x0380B460 mov r1, #0xcb mov ip, #3 - ldr r3, _02015438 ; =0x027E5F8C + ldr r3, _027E5C48 ; =0x027E5F8C add r2, r1, #0x3c str ip, [sp] - bl sub_0302D088 - b _02015424 -_020153E0: + bl sub_037FD898 + b _027E5C34 +_027E5BF0: cmp r1, #2 - bne _02015424 + bne _027E5C34 mov r1, #0 str r1, [r4, #0x1c] ldr r1, [r0] cmp r1, #0 - beq _02015400 - bl sub_0302D228 -_02015400: - ldr r0, _02015434 ; =0x0380B460 + beq _027E5C10 + bl sub_037FDA38 +_027E5C10: + ldr r0, _027E5C44 ; =0x0380B460 mov r2, #1 mov r1, #0xc8 - ldr r3, _0201543C ; =0x027E5C50 + ldr r3, _027E5C4C ; =0x027E5C50 str r2, [sp] add r2, r1, #0x3f - bl sub_0302D088 + bl sub_037FD898 mov r0, #0 str r0, [r4, #0xd8] -_02015424: +_027E5C34: add sp, sp, #4 ldmia sp!, {r3, r4, lr} bx lr .align 2, 0 -_02015430: .word 0x027F8878 -_02015434: .word 0x0380B460 -_02015438: .word 0x027E5F8C -_0201543C: .word 0x027E5C50 - arm_func_end sub_02015390 +_027E5C40: .word 0x027F8878 +_027E5C44: .word 0x0380B460 +_027E5C48: .word 0x027E5F8C +_027E5C4C: .word 0x027E5C50 + arm_func_end sub_027E5BA0 - arm_func_start sub_02015440 -sub_02015440: ; 0x02015440 + arm_func_start sub_027E5C50 +sub_027E5C50: ; 0x027E5C50 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 - ldr r1, _0201557C ; =0x027F8878 - ldr r2, _02015580 ; =0x0380FFF0 + ldr r1, _027E5D8C ; =0x027F8878 + ldr r2, _027E5D90 ; =0x0380FFF0 ldr r0, [r1, #0x550] ldrh r3, [r2] str r3, [r0, #0xd0] ldr r2, [r0, #0xd4] cmp r2, r3 - beq _02015520 + beq _027E5D30 str r3, [r0, #0xd4] ldr r1, [r1, #0x550] - ldr r3, _02015584 ; =0x048080F8 + ldr r3, _027E5D94 ; =0x048080F8 ldr r2, [r1, #0xd0] mov r2, r2, lsl #6 str r2, [r1, #0xd0] @@ -6689,10 +6690,10 @@ sub_02015440: ; 0x02015440 ldrh r4, [r3] cmp r2, r4 ldrhih lr, [r3, #2] - ldr r3, _02015588 ; =0x04000006 - ldr r2, _0201558C ; =0x00000107 + ldr r3, _027E5D98 ; =0x04000006 + ldr r2, _027E5D9C ; =0x00000107 ldrh ip, [r3] - ldr r3, _02015590 ; =0x003FFFC0 + ldr r3, _027E5DA0 ; =0x003FFFC0 sub ip, r2, ip orr lr, r4, lr, lsl #16 ldr r2, [r1, #0xd0] @@ -6703,97 +6704,97 @@ sub_02015440: ; 0x02015440 cmp r2, lr movhi r2, #0 strhi r2, [r1, #0xd8] - bhi _02015520 + bhi _027E5D30 mov ip, #1 - b _02015510 -_020154D8: + b _027E5D20 +_027E5CE8: ldr r2, [r1, #0xd0] add r2, r2, #0x4b add r3, r2, #0x4100 str r3, [r1, #0xd0] cmp r3, lr - bls _0201550C - ldr r2, _02015594 ; =0x0000400E + bls _027E5D1C + ldr r2, _027E5DA4 ; =0x0000400E sub r3, r3, lr cmp r3, r2 str r3, [r1, #0xd8] movhi r2, #0 strhi r2, [r1, #0xd8] - b _02015520 -_0201550C: + b _027E5D30 +_027E5D1C: add ip, ip, #1 -_02015510: +_027E5D20: cmp ip, #0x1e - blt _020154D8 + blt _027E5CE8 mov r2, #0 str r2, [r1, #0xd8] -_02015520: +_027E5D30: ldr r1, [r0, #0xd8] cmp r1, #0x7f - bls _0201554C - ldr r0, _02015598 ; =0x0380B460 + bls _027E5D5C + ldr r0, _027E5DA8 ; =0x0380B460 mov r1, #0xd0 mov ip, #2 - ldr r3, _0201559C ; =0x027E5DB4 + ldr r3, _027E5DAC ; =0x027E5DB4 add r2, r1, #0x37 str ip, [sp] - bl sub_0302D088 - b _02015570 -_0201554C: + bl sub_037FD898 + b _027E5D80 +_027E5D5C: mov r2, #1 str r2, [r0, #0x1c] mov r1, #4 str r1, [sp] ldrsh r1, [r0, #0x42] - ldr r0, _02015598 ; =0x0380B460 - ldr r3, _020155A0 ; =0x027E5E74 + ldr r0, _027E5DA8 ; =0x0380B460 + ldr r3, _027E5DB0 ; =0x027E5E74 rsb r2, r2, #0x108 - bl sub_0302D088 -_02015570: + bl sub_037FD898 +_027E5D80: add sp, sp, #4 ldmia sp!, {r3, r4, lr} bx lr .align 2, 0 -_0201557C: .word 0x027F8878 -_02015580: .word 0x0380FFF0 -_02015584: .word 0x048080F8 -_02015588: .word 0x04000006 -_0201558C: .word 0x00000107 -_02015590: .word 0x003FFFC0 -_02015594: .word 0x0000400E -_02015598: .word 0x0380B460 -_0201559C: .word 0x027E5DB4 -_020155A0: .word 0x027E5E74 - arm_func_end sub_02015440 +_027E5D8C: .word 0x027F8878 +_027E5D90: .word 0x0380FFF0 +_027E5D94: .word 0x048080F8 +_027E5D98: .word 0x04000006 +_027E5D9C: .word 0x00000107 +_027E5DA0: .word 0x003FFFC0 +_027E5DA4: .word 0x0000400E +_027E5DA8: .word 0x0380B460 +_027E5DAC: .word 0x027E5DB4 +_027E5DB0: .word 0x027E5E74 + arm_func_end sub_027E5C50 - arm_func_start sub_020155A4 -sub_020155A4: ; 0x020155A4 + arm_func_start sub_027E5DB4 +sub_027E5DB4: ; 0x027E5DB4 stmdb sp!, {r3, lr} - ldr r1, _02015650 ; =0x04000006 - ldr r0, _02015654 ; =0x027F8878 + ldr r1, _027E5E60 ; =0x04000006 + ldr r0, _027E5E64 ; =0x027F8878 ldrh ip, [r1] ldr r0, [r0, #0x550] cmp ip, #0xd0 - blt _0201561C + blt _027E5E2C cmp ip, #0xd2 - bge _0201561C + bge _027E5E2C ldr r1, [r0, #0xd8] cmp r1, #0x7f - blo _0201561C + blo _027E5E2C mov r3, #1 - b _020155F4 -_020155DC: + b _027E5E04 +_027E5DEC: ldr r2, [r0, #0xd8] rsb r1, r3, r3, lsl #6 add r1, r1, #0x7f cmp r2, r1 - blo _020155FC + blo _027E5E0C add r3, r3, #1 -_020155F4: +_027E5E04: cmp r3, #7 - blt _020155DC -_020155FC: - ldr r1, _02015650 ; =0x04000006 + blt _027E5DEC +_027E5E0C: + ldr r1, _027E5E60 ; =0x04000006 rsb r2, r3, #1 add r2, ip, r2 strh r2, [r1] @@ -6801,50 +6802,50 @@ _020155FC: rsb r1, r3, r3, lsl #6 sub r1, r2, r1 str r1, [r0, #0xd8] -_0201561C: +_027E5E2C: ldr r1, [r0, #0xd8] - ldr r2, _02015658 ; =0x00000107 + ldr r2, _027E5E68 ; =0x00000107 cmp r1, #0x7f movhs r1, #0 strhs r1, [r0, #0x1c] mov r1, #4 str r1, [sp] ldrsh r1, [r0, #0x42] - ldr r0, _0201565C ; =0x0380B460 - ldr r3, _02015660 ; =0x027E5E74 - bl sub_0302D088 + ldr r0, _027E5E6C ; =0x0380B460 + ldr r3, _027E5E70 ; =0x027E5E74 + bl sub_037FD898 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02015650: .word 0x04000006 -_02015654: .word 0x027F8878 -_02015658: .word 0x00000107 -_0201565C: .word 0x0380B460 -_02015660: .word 0x027E5E74 - arm_func_end sub_020155A4 +_027E5E60: .word 0x04000006 +_027E5E64: .word 0x027F8878 +_027E5E68: .word 0x00000107 +_027E5E6C: .word 0x0380B460 +_027E5E70: .word 0x027E5E74 + arm_func_end sub_027E5DB4 - arm_func_start sub_02015664 -sub_02015664: ; 0x02015664 + arm_func_start sub_027E5E74 +sub_027E5E74: ; 0x027E5E74 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 - ldr r0, _02015768 ; =0x027F8878 + ldr r0, _027E5F78 ; =0x027F8878 ldr r4, [r0, #0x550] ldr r0, [r4, #0xc] cmp r0, #1 - bne _0201575C - ldr r0, _0201576C ; =0x0380B460 + bne _027E5F6C + ldr r0, _027E5F7C ; =0x0380B460 mov r2, #1 mov r1, #0xc8 - ldr r3, _02015770 ; =0x027E5C50 + ldr r3, _027E5F80 ; =0x027E5C50 str r2, [sp] add r2, r1, #0x3f - bl sub_0302D088 + bl sub_037FD898 ldr r0, [r4, #0x7bc] ldr r1, [r4, #0x7b8] cmp r0, #0 cmpeq r1, #0 - beq _02015758 - bl sub_0302CA0C + beq _027E5F68 + bl sub_037FD21C ldr r3, [r4, #0x73c] ldr ip, [r4, #0x738] cmp r3, #0 @@ -6852,31 +6853,31 @@ sub_02015664: ; 0x02015664 orr lr, r1, #0 orr r1, r0, #1 mov r0, #0 - beq _02015758 + beq _027E5F68 ldr r2, [r4, #0x7b8] subs ip, r1, ip ldr r1, [r4, #0x7bc] sbc r3, lr, r3 cmp r3, r1 cmpeq ip, r2 - bls _02015758 + bls _027E5F68 str r0, [r4, #0x738] str r0, [r4, #0x73c] - bl sub_0200FEF0 + bl sub_027E0700 movs r1, r0 moveq r0, #0 - beq _02015724 + beq _027E5F34 mov r0, #0x25 str r0, [r1] - ldr r3, _02015774 ; =0x00008001 + ldr r3, _027E5F84 ; =0x00008001 mov r2, #0 - ldr r0, _02015778 ; =0x027F7900 + ldr r0, _027E5F88 ; =0x027F7900 stmib r1, {r2, r3} - bl sub_0302BEC4 -_02015724: + bl sub_037FC6D4 +_027E5F34: cmp r0, #0 - bne _0201575C - bl sub_03036B70 + bne _027E5F6C + bl sub_03807380 mov r1, #0x80 strh r1, [r0] mov r1, #8 @@ -6885,52 +6886,52 @@ _02015724: strh r1, [r0, #4] mov r1, #0x25 strh r1, [r0, #6] - bl sub_03036B24 - b _0201575C -_02015758: - bl sub_02015880 -_0201575C: + bl sub_03807334 + b _027E5F6C +_027E5F68: + bl sub_027E6090 +_027E5F6C: add sp, sp, #4 ldmia sp!, {r3, r4, lr} bx lr .align 2, 0 -_02015768: .word 0x027F8878 -_0201576C: .word 0x0380B460 -_02015770: .word 0x027E5C50 -_02015774: .word 0x00008001 -_02015778: .word 0x027F7900 - arm_func_end sub_02015664 +_027E5F78: .word 0x027F8878 +_027E5F7C: .word 0x0380B460 +_027E5F80: .word 0x027E5C50 +_027E5F84: .word 0x00008001 +_027E5F88: .word 0x027F7900 + arm_func_end sub_027E5E74 - arm_func_start sub_0201577C -sub_0201577C: ; 0x0201577C + arm_func_start sub_027E5F8C +sub_027E5F8C: ; 0x027E5F8C stmdb sp!, {r3, lr} - ldr r0, _0201581C ; =0x027F8878 + ldr r0, _027E602C ; =0x027F8878 ldr r0, [r0, #0x550] ldrh r1, [r0, #0xdc] cmp r1, #0x3c - blo _020157B8 - ldr r2, _02015820 ; =0x04000006 + blo _027E5FC8 + ldr r2, _027E6030 ; =0x04000006 ldrh r1, [r2] cmp r1, #0xcb - blt _020157C0 + blt _027E5FD0 cmp r1, #0xd2 strlth r1, [r2] movlt r1, #0 strlth r1, [r0, #0xdc] - b _020157C0 -_020157B8: + b _027E5FD0 +_027E5FC8: add r1, r1, #1 strh r1, [r0, #0xdc] -_020157C0: - ldr r1, _02015820 ; =0x04000006 - ldr r2, _02015824 ; =0x048080F8 +_027E5FD0: + ldr r1, _027E6030 ; =0x04000006 + ldr r2, _027E6034 ; =0x048080F8 ldrh lr, [r1] ldrh r1, [r2] ldrh r3, [r2, #2] ldrh ip, [r2] cmp r1, ip ldrhih r3, [r2, #2] - ldr r1, _02015828 ; =0x0380FFF0 + ldr r1, _027E6038 ; =0x0380FFF0 orr r3, ip, r3, lsl #16 rsb r2, lr, lr, lsl #7 rsb r2, r2, r3, lsl #1 @@ -6939,81 +6940,81 @@ _020157C0: mov r2, #5 str r2, [sp] ldrsh r1, [r0, #0x40] - ldr r0, _0201582C ; =0x0380B460 - ldr r3, _02015830 ; =0x027E6044 + ldr r0, _027E603C ; =0x0380B460 + ldr r3, _027E6040 ; =0x027E6044 rsb r2, r2, #0x10c - bl sub_0302D088 + bl sub_037FD898 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201581C: .word 0x027F8878 -_02015820: .word 0x04000006 -_02015824: .word 0x048080F8 -_02015828: .word 0x0380FFF0 -_0201582C: .word 0x0380B460 -_02015830: .word 0x027E6044 - arm_func_end sub_0201577C +_027E602C: .word 0x027F8878 +_027E6030: .word 0x04000006 +_027E6034: .word 0x048080F8 +_027E6038: .word 0x0380FFF0 +_027E603C: .word 0x0380B460 +_027E6040: .word 0x027E6044 + arm_func_end sub_027E5F8C - arm_func_start sub_02015834 -sub_02015834: ; 0x02015834 + arm_func_start sub_027E6044 +sub_027E6044: ; 0x027E6044 stmdb sp!, {r3, lr} - ldr r0, _02015874 ; =0x027F8878 + ldr r0, _027E6084 ; =0x027F8878 ldr r0, [r0, #0x550] ldr r0, [r0, #0xc] cmp r0, #1 - bne _0201586C - ldr r0, _02015878 ; =0x0380B460 + bne _027E607C + ldr r0, _027E6088 ; =0x0380B460 mov r1, #0xcb mov ip, #3 - ldr r3, _0201587C ; =0x027E5F8C + ldr r3, _027E608C ; =0x027E5F8C add r2, r1, #0x3c str ip, [sp] - bl sub_0302D088 - bl sub_02015880 -_0201586C: + bl sub_037FD898 + bl sub_027E6090 +_027E607C: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02015874: .word 0x027F8878 -_02015878: .word 0x0380B460 -_0201587C: .word 0x027E5F8C - arm_func_end sub_02015834 +_027E6084: .word 0x027F8878 +_027E6088: .word 0x0380B460 +_027E608C: .word 0x027E5F8C + arm_func_end sub_027E6044 - arm_func_start sub_02015880 -sub_02015880: ; 0x02015880 + arm_func_start sub_027E6090 +sub_027E6090: ; 0x027E6090 stmdb sp!, {r3, r4, r5, lr} - ldr r0, _02015928 ; =0x027F8878 - ldr r4, _0201592C ; =0x027F7878 + ldr r0, _027E6138 ; =0x027F8878 + ldr r4, _027E613C ; =0x027F7878 ldr r5, [r0, #0x550] - bl sub_0302D4F0 + bl sub_037FDD00 ldrh r1, [r5, #0xce] cmp r1, #1 - bne _020158A8 - bl sub_0302D504 - b _02015920 -_020158A8: + bne _027E60B8 + bl sub_037FDD14 + b _027E6130 +_027E60B8: mov r1, #1 strh r1, [r5, #0xce] - bl sub_0302D504 - bl sub_0200FEF0 + bl sub_037FDD14 + bl sub_027E0700 movs r1, r0 moveq r0, #0 - beq _020158D8 + beq _027E60E8 mov r3, #0x1c add r0, r4, #0x88 mov r2, #0 str r3, [r1] - bl sub_0302BEC4 -_020158D8: + bl sub_037FC6D4 +_027E60E8: cmp r0, #0 - bne _02015920 + bne _027E6130 mov r0, #0 strh r0, [r5, #0xce] add r0, r4, #0x1000 ldr r0, [r0, #0x54c] cmp r0, #0 - beq _02015920 - bl sub_03036B70 + beq _027E6130 + bl sub_03807380 mov r1, #0x80 strh r1, [r0] mov r1, #8 @@ -7022,19 +7023,19 @@ _020158D8: strh r1, [r0, #4] mov r1, #0x1c strh r1, [r0, #6] - bl sub_03036B24 -_02015920: + bl sub_03807334 +_027E6130: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02015928: .word 0x027F8878 -_0201592C: .word 0x027F7878 - arm_func_end sub_02015880 +_027E6138: .word 0x027F8878 +_027E613C: .word 0x027F7878 + arm_func_end sub_027E6090 - arm_func_start sub_02015930 -sub_02015930: ; 0x02015930 + arm_func_start sub_027E6140 +sub_027E6140: ; 0x027E6140 stmdb sp!, {r3, r4, r5, lr} - ldr r0, _02015AC8 ; =0x027F8878 + ldr r0, _027E62D8 ; =0x027F8878 mov r1, #0 ldr r4, [r0, #0x550] mov r2, #1 @@ -7045,7 +7046,7 @@ sub_02015930: ; 0x02015930 strh r0, [r4, #0xc0] ldrh r0, [r4, #0xc0] cmp r0, #0 - bne _0201599C + bne _027E61AC ldrh r1, [r4, #0xbe] rsb r0, r2, #0x10000 cmp r1, r0 @@ -7053,27 +7054,27 @@ sub_02015930: ; 0x02015930 streqh r0, [r4, #0xbe] ldrh r0, [r4, #0xbe] and r0, r0, #0xff - bl sub_0200FD10 - bl sub_0200FD8C + bl sub_027E0520 + bl sub_027E059C strh r0, [r4, #0xbc] - ldr r1, _02015ACC ; =0x0000FFFF + ldr r1, _027E62DC ; =0x0000FFFF mov r0, #1 strh r1, [r4, #0xbe] strh r0, [r4, #0xc0] -_0201599C: +_027E61AC: ldrh r0, [r4] cmp r0, #9 - bne _02015A8C - bl sub_0302D4F0 + bne _027E629C + bl sub_037FDD00 add r1, r4, #0x100 ldrh r1, [r1, #0x82] cmp r1, #0 - bne _020159CC + bne _027E61DC mov r1, #0 strh r1, [r4, #0x62] - bl sub_0302D504 - b _02015AC0 -_020159CC: + bl sub_037FDD14 + b _027E62D0 +_027E61DC: ldrsh r2, [r4, #0x62] mov r3, #1 cmp r2, #0 @@ -7096,22 +7097,22 @@ _020159CC: ldrh r1, [r1, #0xc4] cmp r3, #0 strh r1, [r4, #0x64] - beq _02015A40 + beq _027E6250 ldrsh r1, [r4, #0x62] cmp r1, #0 ldrgtsh r1, [r4, #0x64] cmpgt r1, #0 movgt r5, #1 - bgt _02015A44 -_02015A40: + bgt _027E6254 +_027E6250: mov r5, #0 -_02015A44: - bl sub_0302D504 +_027E6254: + bl sub_037FDD14 cmp r5, #0 - beq _02015A58 - ldr r0, _02015ACC ; =0x0000FFFF - bl sub_02016110 -_02015A58: + beq _027E6268 + ldr r0, _027E62DC ; =0x0000FFFF + bl sub_027E6920 +_027E6268: add r0, r4, #0x700 ldrh r0, [r0, #0xc6] cmp r0, #1 @@ -7124,97 +7125,97 @@ _02015A58: streqh r0, [r4, #0x9e] moveq r0, #0x3c streqh r0, [r4, #0xa0] - b _02015AC0 -_02015A8C: + b _027E62D0 +_027E629C: cmp r0, #0xa - bne _02015AC0 + bne _027E62D0 mov r5, #0 - bl sub_0302D4F0 + bl sub_037FDD00 ldr r1, [r4, #0x734] cmp r1, #1 movne r1, r5 movne r5, #1 strneh r1, [r4, #0x60] - bl sub_0302D504 + bl sub_037FDD14 cmp r5, #1 - bne _02015AC0 - bl sub_02015C18 -_02015AC0: + bne _027E62D0 + bl sub_027E6428 +_027E62D0: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02015AC8: .word 0x027F8878 -_02015ACC: .word 0x0000FFFF - arm_func_end sub_02015930 +_027E62D8: .word 0x027F8878 +_027E62DC: .word 0x0000FFFF + arm_func_end sub_027E6140 - arm_func_start sub_02015AD0 -sub_02015AD0: ; 0x02015AD0 + arm_func_start sub_027E62E0 +sub_027E62E0: ; 0x027E62E0 stmdb sp!, {r3, lr} - ldr r1, _02015B00 ; =0x027F8878 + ldr r1, _027E6310 ; =0x027F8878 ldr r1, [r1, #0x550] ldrh r1, [r1] cmp r1, #9 - bne _02015AF8 + bne _027E6308 ldr r0, [r0, #4] mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_02016110 -_02015AF8: + bl sub_027E6920 +_027E6308: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02015B00: .word 0x027F8878 - arm_func_end sub_02015AD0 +_027E6310: .word 0x027F8878 + arm_func_end sub_027E62E0 - arm_func_start sub_02015B04 -sub_02015B04: ; 0x02015B04 + arm_func_start sub_027E6314 +sub_027E6314: ; 0x027E6314 stmdb sp!, {r3, lr} - ldr r0, _02015B28 ; =0x027F8878 + ldr r0, _027E6338 ; =0x027F8878 ldr r0, [r0, #0x550] ldrh r0, [r0] cmp r0, #0xa - bne _02015B20 - bl sub_02015C18 -_02015B20: + bne _027E6330 + bl sub_027E6428 +_027E6330: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02015B28: .word 0x027F8878 - arm_func_end sub_02015B04 +_027E6338: .word 0x027F8878 + arm_func_end sub_027E6314 - arm_func_start sub_02015B2C -sub_02015B2C: ; 0x02015B2C + arm_func_start sub_027E633C +sub_027E633C: ; 0x027E633C stmdb sp!, {r3, lr} - ldr r1, _02015B5C ; =0x027F8878 + ldr r1, _027E636C ; =0x027F8878 ldr r1, [r1, #0x550] ldrh r1, [r1] cmp r1, #9 - bne _02015B54 + bne _027E6364 ldr r0, [r0, #4] mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_02016AB8 -_02015B54: + bl sub_027E72C8 +_027E6364: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02015B5C: .word 0x027F8878 - arm_func_end sub_02015B2C +_027E636C: .word 0x027F8878 + arm_func_end sub_027E633C - arm_func_start sub_02015B60 -sub_02015B60: ; 0x02015B60 + arm_func_start sub_027E6370 +sub_027E6370: ; 0x027E6370 stmdb sp!, {r4, lr} - ldr r0, _02015C10 ; =0x027F8878 + ldr r0, _027E6420 ; =0x027F8878 ldr r4, [r0, #0x550] add r0, r4, #0x31c add r0, r0, #0x400 - bl sub_0302C078 + bl sub_037FC888 add r1, r4, #0x2f8 mov r0, #0 mov r2, #0x400 - bl sub_0302D764 + bl sub_037FDF74 mov r3, #0 -_02015B8C: +_027E639C: add r0, r3, #1 mov r0, r0, lsl #0x10 add r1, r4, r3, lsl #5 @@ -7222,8 +7223,8 @@ _02015B8C: add r0, r1, #0x200 strh r3, [r0, #0xf8] cmp r3, #0x1f - blo _02015B8C - ldr r2, _02015C14 ; =0x0000FFFF + blo _027E639C + ldr r2, _027E6424 ; =0x0000FFFF add r0, r4, r3, lsl #5 add r0, r0, #0x200 strh r2, [r0, #0xf8] @@ -7231,7 +7232,7 @@ _02015B8C: mov ip, #0 strh ip, [r0, #0xf8] strh r3, [r0, #0xfa] -_02015BCC: +_027E63DC: add r1, r4, ip, lsl #2 add r0, r1, #0x700 strh r2, [r0, #0xc] @@ -7243,27 +7244,27 @@ _02015BCC: mov ip, r1, lsr #0x10 strh r2, [r0, #0xfe] cmp ip, #4 - blo _02015BCC + blo _027E63DC add r0, r4, #0x31c add r0, r0, #0x400 - bl sub_0302C0FC + bl sub_037FC90C ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02015C10: .word 0x027F8878 -_02015C14: .word 0x0000FFFF - arm_func_end sub_02015B60 +_027E6420: .word 0x027F8878 +_027E6424: .word 0x0000FFFF + arm_func_end sub_027E6370 - arm_func_start sub_02015C18 -sub_02015C18: ; 0x02015C18 + arm_func_start sub_027E6428 +sub_027E6428: ; 0x027E6428 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x260 - ldr r1, _02016108 ; =0x027F8878 + ldr r1, _027E6918 ; =0x027F8878 ldr fp, [r1, #0x550] add r0, fp, #0x100 ldrh r0, [r0, #0x82] cmp r0, #0 - beq _020160FC + beq _027E690C mov r0, #1 strh r0, [fp, #0x8a] str r0, [sp, #0x14] @@ -7278,61 +7279,61 @@ sub_02015C18: ; 0x02015C18 bic r1, r1, #0x1f ldr r7, [r8, #0x7c] cmp r2, r1 - blt _020160A8 + blt _027E68B8 add r1, r8, #0x100 ldrh r1, [r1, #0x88] cmp r1, #0x10 - bhs _020160A8 + bhs _027E68B8 ldrh r1, [r8] cmp r1, #9 - beq _02015C9C + beq _027E64AC cmp r1, #0xa streq r0, [sp, #0x14] - bne _020160A8 -_02015C9C: + bne _027E68B8 +_027E64AC: ldr r0, [sp, #0x34] mov r6, #0 strh r6, [r0] mov r0, #1 cmp sb, #0 strlt r0, [sp, #0x14] - blt _020160A8 + blt _027E68B8 str r0, [sp, #0x18] ldr r0, [sp, #0x14] cmp r0, #0 - beq _02015CDC + beq _027E64EC add r0, r8, #0x700 ldrh r0, [r0, #0xc6] cmp r0, #0 strne r6, [sp, #0x18] - b _02015CE0 -_02015CDC: + b _027E64F0 +_027E64EC: str r6, [sp, #0x18] -_02015CE0: +_027E64F0: add r0, r8, #0x31c mov r1, #0 str r1, [sp, #0xc] mov r1, #1 add r0, r0, #0x400 str r1, [sp, #0x10] - bl sub_0302C078 + bl sub_037FC888 ldr r0, [r8, #0x734] cmp r0, #1 - bne _02015D20 + bne _027E6530 add r0, r8, #0x31c add r0, r0, #0x400 - bl sub_0302C0FC + bl sub_037FC90C mov r0, #1 str r0, [sp, #0x14] - b _020160A8 -_02015D20: + b _027E68B8 +_027E6530: mov r0, #1 str r0, [r8, #0x734] add r0, r8, #0x2f8 str r0, [sp, #0x1c] mov r5, #0 - b _02016084 -_02015D38: + b _027E6894 +_027E6548: add r0, r8, #0x30c add r0, r0, #0x400 mov r1, r5, lsl #2 @@ -7345,7 +7346,7 @@ _02015D38: str r0, [sp, #0x24] ldr r0, [sp, #0x20] str r0, [sp, #0x28] - ldr r0, _0201610C ; =0x0000FFFF + ldr r0, _027E691C ; =0x0000FFFF str r0, [sp, #0x2c] str r0, [sp, #0x38] str r0, [sp, #0x3c] @@ -7362,8 +7363,8 @@ _02015D38: str r0, [sp, #0x50] str r0, [sp, #0x54] str r0, [sp, #0x58] - b _0201606C -_02015DB0: + b _027E687C +_027E65C0: ldr r0, [sp, #0x1c] ldr r2, [sp, #0xc] add r4, r0, sl, lsl #5 @@ -7371,7 +7372,7 @@ _02015DB0: mov r1, #1 str r0, [sp, #8] tst r2, r1, lsl r0 - bne _02016030 + bne _027E6840 ldr r0, [sp, #0x18] cmp r0, #0 ldr r0, [sp, #8] @@ -7380,10 +7381,10 @@ _02015DB0: ldrh r0, [r4, #6] and r1, r0, r1 str r1, [sp, #0x30] - beq _02015DFC + beq _027E660C bics r1, r1, #1 - bne _02016030 -_02015DFC: + bne _027E6840 +_027E660C: ldr r1, [sp, #8] tst r1, #8 movne r1, #1 @@ -7421,7 +7422,7 @@ _02015DFC: add r0, r2, r0 add r0, r1, r0 cmp r0, sb - bgt _02016030 + bgt _027E6840 ldr r0, [sp, #0x10] cmp r0, #0 streq r7, [sp, #0x34] @@ -7444,7 +7445,7 @@ _02015DFC: ldrh r2, [r4, #0xe] mov r1, r7 subeq sb, sb, #2 - bl sub_0302D78C + bl sub_037FDF9C ldrh r1, [r4, #0xe] ldr r0, [sp, #4] add r6, r6, r1 @@ -7452,11 +7453,11 @@ _02015DFC: bic r0, r1, #1 add r7, r7, r0 sub sb, sb, r1 - bne _02015F64 + bne _027E6774 ldrh r0, [r4, #0x10] tst r0, #1 moveq r2, r0, asr #1 - beq _02015F50 + beq _027E6760 ldr r0, [sp, #0x40] ldrh r1, [r4, #2] ldrh r0, [r0, #0x88] @@ -7469,16 +7470,16 @@ _02015DFC: strh r1, [r0, #0xf8] mov r0, r2, lsl #1 strh r0, [r4, #0x10] -_02015F50: +_027E6760: ldr r0, [sp, #0x44] add r6, r6, #2 and r0, r2, r0 strh r0, [r7], #2 sub sb, sb, #2 -_02015F64: +_027E6774: ldr r0, [sp] cmp r0, #1 - bne _02015F94 + bne _027E67A4 ldr r0, [sp, #0x34] add r6, r6, #2 ldrh r0, [r0] @@ -7488,7 +7489,7 @@ _02015F64: strh r1, [r0] ldrh r0, [r4, #6] strh r0, [r7], #2 -_02015F94: +_027E67A4: ldr r0, [sp, #0x10] cmp r0, #1 moveq r0, #0 @@ -7527,8 +7528,8 @@ _02015F94: ldr r0, [sp, #0x4c] ldrh r0, [r0, #0xc8] cmp r0, #1 - beq _02016094 -_02016030: + beq _027E68A4 +_027E6840: ldr r0, [sp, #0x50] str sl, [sp, #0x2c] cmp sl, r0 @@ -7544,31 +7545,31 @@ _02016030: ldrneh sl, [r0, r1] ldreq r0, [sp, #0x20] ldreqh sl, [r0] -_0201606C: +_027E687C: ldr r0, [sp, #0x58] cmp sl, r0 - beq _02016080 + beq _027E6890 cmp sb, #2 - bgt _02015DB0 -_02016080: + bgt _027E65C0 +_027E6890: add r5, r5, #1 -_02016084: +_027E6894: cmp r5, #4 - bhs _02016094 + bhs _027E68A4 cmp sb, #2 - bgt _02015D38 -_02016094: + bgt _027E6548 +_027E68A4: add r0, r8, #0x31c add r0, r0, #0x400 - bl sub_0302C0FC + bl sub_037FC90C mov r0, #0 str r0, [sp, #0x14] -_020160A8: +_027E68B8: ldr r0, [sp, #0x14] cmp r0, #1 moveq r0, #0 streqh r0, [fp, #0x8a] - beq _020160FC + beq _027E690C ldr r0, [fp, #0x1c] mov r1, r6, lsl #0x10 cmp r0, #1 @@ -7579,45 +7580,45 @@ _020160A8: ldrh r2, [sp, #0x5c] ldr r3, [fp, #0x7c] add r0, sp, #0x60 - bl sub_02011A9C + bl sub_027E22AC ldrh r0, [r0, #4] cmp r0, #0 cmpne r0, #8 movne r0, #0 strneh r0, [fp, #0x8a] -_020160FC: +_027E690C: add sp, sp, #0x260 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_02016108: .word 0x027F8878 -_0201610C: .word 0x0000FFFF - arm_func_end sub_02015C18 +_027E6918: .word 0x027F8878 +_027E691C: .word 0x0000FFFF + arm_func_end sub_027E6428 - arm_func_start sub_02016110 -sub_02016110: ; 0x02016110 + arm_func_start sub_027E6920 +sub_027E6920: ; 0x027E6920 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x2c8 - ldr r1, _02016AA8 ; =0x027F8878 + ldr r1, _027E72B8 ; =0x027F8878 str r0, [sp, #0x18] ldr r7, [r1, #0x550] - bl sub_0302D4F0 + bl sub_037FDD00 add r1, r7, #0x100 ldrh r1, [r1, #0x82] ldrh r4, [r7, #0x86] str r1, [sp, #0x74] - bl sub_0302D504 + bl sub_037FDD14 mov r1, #0 strh r1, [sp, #0xc4] ldrh r0, [r7, #0x88] cmp r0, #1 - ldreq r0, _02016AAC ; =0x0000FFFF + ldreq r0, _027E72BC ; =0x0000FFFF streq r0, [sp, #0x18] streqh r1, [r7, #0x88] ldrh r0, [r7, #0x9e] cmp r0, #0 - bne _020169F8 - ldr r1, _02016AA8 ; =0x027F8878 + bne _027E7208 + ldr r1, _027E72B8 ; =0x027F8878 ldrh r0, [r7, #0x3a] ldr r8, [r1, #0x550] str r0, [sp, #0x24] @@ -7630,24 +7631,24 @@ sub_02016110: ; 0x02016110 cmp r1, r0 ldr r6, [r8, #0x7c] movlt r0, #1 - blt _02016638 + blt _027E6E48 add r0, r8, #0x100 ldrh r0, [r0, #0x88] cmp r0, #0x10 movhs r0, #1 - bhs _02016638 + bhs _027E6E48 ldrh r0, [r8] cmp r0, #9 moveq r0, #1 streq r0, [sp, #0x48] - beq _020161DC + beq _027E69EC cmp r0, #0xa moveq r0, #0 streq r0, [sp, #0x48] - beq _020161DC + beq _027E69EC mov r0, #1 - b _02016638 -_020161DC: + b _027E6E48 +_027E69EC: ldr r0, [sp, #0x70] mov r5, #0 mov sl, r5 @@ -7655,23 +7656,23 @@ _020161DC: strh r5, [r0] cmp sb, #0 movlt r0, #1 - blt _02016638 + blt _027E6E48 ldr r0, [sp, #0x48] str r4, [sp, #0x50] cmp r0, #0 mov r0, #1 str r0, [sp, #0x4c] - beq _02016230 + beq _027E6A40 add r0, r8, #0x700 ldrh r0, [r0, #0xc6] cmp r0, #0 ldrne r0, [sp, #0x74] strne r5, [sp, #0x4c] strne r0, [sp, #0x50] - b _02016234 -_02016230: + b _027E6A44 +_027E6A40: str r5, [sp, #0x4c] -_02016234: +_027E6A44: ldr r0, [sp, #0x18] and r4, r4, r0 mov r0, #0 @@ -7680,16 +7681,16 @@ _02016234: str r0, [sp, #0x44] add r0, r8, #0x31c add r0, r0, #0x400 - bl sub_0302C078 + bl sub_037FC888 ldr r0, [r8, #0x734] cmp r0, #1 - bne _02016278 + bne _027E6A88 add r0, r8, #0x31c add r0, r0, #0x400 - bl sub_0302C0FC + bl sub_037FC90C mov r0, #1 - b _02016638 -_02016278: + b _027E6E48 +_027E6A88: mvn r0, r4 str r0, [sp, #0x2c] mov r0, #1 @@ -7698,8 +7699,8 @@ _02016278: str r0, [sp, #0x54] mov r0, #0 str r0, [sp, #0x58] - b _02016610 -_0201629C: + b _027E6E20 +_027E6AAC: ldr r0, [sp, #0x58] mov r2, r0, lsl #2 add r0, r8, #0x30c @@ -7715,7 +7716,7 @@ _0201629C: str r0, [sp, #0x60] ldr r0, [sp, #0x5c] str r0, [sp, #0x64] - ldr r0, _02016AAC ; =0x0000FFFF + ldr r0, _027E72BC ; =0x0000FFFF str r0, [sp, #0x68] str r0, [sp, #0x78] str r0, [sp, #0x8c] @@ -7732,8 +7733,8 @@ _0201629C: str r0, [sp, #0xa0] str r0, [sp, #0xa4] str r0, [sp, #0xa8] - b _020165F0 -_02016320: + b _027E6E00 +_027E6B30: ldr r0, [sp, #0x54] ldr r2, [sp, #0x40] add r4, r0, sl, lsl #5 @@ -7741,7 +7742,7 @@ _02016320: mov r1, #1 str r0, [sp, #0x28] tst r2, r1, lsl r0 - bne _020165B4 + bne _027E6DC4 ldr r0, [sp, #0x4c] cmp r0, #0 ldr r0, [sp, #0x28] @@ -7751,12 +7752,12 @@ _02016320: ldr r1, [sp, #0x50] and r1, r0, r1 str r1, [sp, #0x6c] - beq _02016378 + beq _027E6B88 mov r2, r1 ldr r1, [sp, #0x2c] tst r2, r1 - bne _020165B4 -_02016378: + bne _027E6DC4 +_027E6B88: ldr r1, [sp, #0x28] tst r1, #8 movne r1, #1 @@ -7794,7 +7795,7 @@ _02016378: add r0, r2, r0 add r0, r1, r0 cmp r0, sb - bgt _020165B4 + bgt _027E6DC4 ldr r0, [sp, #0x44] cmp r0, #0 streq r6, [sp, #0x70] @@ -7817,7 +7818,7 @@ _02016378: ldrh r2, [r4, #0xe] mov r1, r6 subeq sb, sb, #2 - bl sub_0302D78C + bl sub_037FDF9C ldrh r1, [r4, #0xe] ldr r0, [sp, #0x20] add fp, fp, r1 @@ -7825,11 +7826,11 @@ _02016378: bic r0, r1, #1 add r6, r6, r0 sub sb, sb, r1 - bne _020164E0 + bne _027E6CF0 ldrh r0, [r4, #0x10] tst r0, #1 moveq r2, r0, asr #1 - beq _020164CC + beq _027E6CDC ldr r0, [sp, #0x90] ldrh r1, [r4, #2] ldrh r0, [r0, #0x88] @@ -7842,16 +7843,16 @@ _02016378: strh r1, [r0, #0xf8] mov r0, r2, lsl #1 strh r0, [r4, #0x10] -_020164CC: +_027E6CDC: ldr r0, [sp, #0x94] add fp, fp, #2 and r0, r2, r0 strh r0, [r6], #2 sub sb, sb, #2 -_020164E0: +_027E6CF0: ldr r0, [sp, #0x1c] cmp r0, #1 - bne _02016510 + bne _027E6D20 ldr r0, [sp, #0x70] add fp, fp, #2 ldrh r0, [r0] @@ -7861,7 +7862,7 @@ _020164E0: strh r1, [r0] ldrh r0, [r4, #6] strh r0, [r6], #2 -_02016510: +_027E6D20: ldr r0, [sp, #0x44] cmp r0, #1 moveq r0, #0 @@ -7902,8 +7903,8 @@ _02016510: ldr r0, [sp, #0x9c] ldrh r0, [r0, #0xc8] cmp r0, #1 - beq _02016624 -_020165B4: + beq _027E6E34 +_027E6DC4: ldr r0, [sp, #0xa0] str sl, [sp, #0x68] cmp sl, r0 @@ -7919,34 +7920,34 @@ _020165B4: ldrneh sl, [r0, r1] ldreq r0, [sp, #0x5c] ldreqh sl, [r0] -_020165F0: +_027E6E00: ldr r0, [sp, #0xa8] cmp sl, r0 - beq _02016604 + beq _027E6E14 cmp sb, #2 - bgt _02016320 -_02016604: + bgt _027E6B30 +_027E6E14: ldr r0, [sp, #0x58] add r0, r0, #1 str r0, [sp, #0x58] -_02016610: +_027E6E20: ldr r0, [sp, #0x58] cmp r0, #4 - bhs _02016624 + bhs _027E6E34 cmp sb, #2 - bgt _0201629C -_02016624: + bgt _027E6AAC +_027E6E34: add r0, r8, #0x31c add r0, r0, #0x400 mov sl, fp - bl sub_0302C0FC + bl sub_037FC90C mov r0, #0 -_02016638: +_027E6E48: cmp r0, #1 moveq r0, #0 streqh r0, [r7, #0x62] streqh r0, [r7, #0x64] - beq _02016A9C + beq _027E72AC add r0, r7, #0x700 ldrh r1, [r0, #0xc6] ldr r0, [sp, #0x24] @@ -7956,7 +7957,7 @@ _02016638: ldr r0, [sp, #0x74] and r5, r5, r0 mov r0, r5 - bl sub_03033020 + bl sub_03803830 ldr r1, [sp, #0x24] add r1, r1, #0xc mul r0, r1, r0 @@ -7964,45 +7965,45 @@ _02016638: ldrh r1, [r7, #0x72] bic r0, r0, #0x1f cmp r1, r0 - bge _020169B8 - ldr r0, _02016AA8 ; =0x027F8878 + bge _027E71C8 + ldr r0, _027E72B8 ; =0x027F8878 ldr sb, [r0, #0x550] ldrh r0, [sb] add r8, sb, #0x2f8 cmp r0, #9 moveq r4, #1 - beq _020166BC + beq _027E6ECC cmp r0, #0xa - bne _020169A8 + bne _027E71B8 mov r4, #0 -_020166BC: +_027E6ECC: add r0, sb, #0x31c add r0, r0, #0x400 - bl sub_0302C078 + bl sub_037FC888 ldr r0, [sb, #0x734] cmp r0, #0 - bne _020166E4 + bne _027E6EF4 add r0, sb, #0x31c add r0, r0, #0x400 - bl sub_0302C0FC - b _020169A8 -_020166E4: + bl sub_037FC90C + b _027E71B8 +_027E6EF4: cmp r4, #0 moveq r0, #1 streq r0, [sp, #0x3c] - beq _02016708 - bl sub_0302D4F0 + beq _027E6F18 + bl sub_037FDD00 add r1, sb, #0x100 ldrh r1, [r1, #0x82] str r1, [sp, #0x3c] - bl sub_0302D504 -_02016708: + bl sub_037FDD14 +_027E6F18: mov r0, r5, lsl #0x10 mvn r0, r0, lsr #16 str r0, [sp, #0x30] mov sl, #0 -_02016718: - ldr r0, _02016AAC ; =0x0000FFFF +_027E6F28: + ldr r0, _027E72BC ; =0x0000FFFF add fp, sb, #0x600 str r0, [sp, #0x38] add r0, sb, #0x2fc @@ -8025,8 +8026,8 @@ _02016718: str r0, [sp, #0xb8] str r0, [sp, #0xbc] str r0, [sp, #0xc0] - b _02016934 -_02016778: + b _027E7144 +_027E6F88: add r4, r8, r5, lsl #5 ldrh r1, [r4, #0xa] ldr r0, [sp, #0x30] @@ -8047,12 +8048,12 @@ _02016778: strh r0, [r4, #0xa] ldrh r0, [r4, #6] cmp r0, #0 - beq _02016848 + beq _027E7058 ldrh r0, [r4, #2] tst r0, #8 ldreqh r0, [r4, #0x12] cmpeq r0, #0 - beq _02016848 + beq _027E7058 ldrh r0, [r4, #0x12] cmp r0, #0 subne r0, r0, #1 @@ -8078,9 +8079,9 @@ _02016778: mov r0, r5, lsl #0x10 mov r0, r0, lsr #0x10 str r0, [sp, #0x38] - b _02016930 -_02016848: - bl sub_03036B70 + b _027E7140 +_027E7058: + bl sub_03807380 mov r1, #0x81 strh r1, [r0] ldrh r1, [r4, #6] @@ -8121,7 +8122,7 @@ _02016848: cmp r3, #0 movne r2, r1 strh r2, [r0, #0x26] - bl sub_03036B24 + bl sub_03807334 ldrh r1, [r4] ldr r0, [sp, #0xb8] cmp r1, r0 @@ -8138,16 +8139,16 @@ _02016848: movne r0, r1, lsl #5 strneh r5, [r8, r0] strh r5, [fp, #0xfa] -_02016930: +_027E7140: ldrh r5, [r6] -_02016934: +_027E7144: ldr r0, [sp, #0xc0] cmp r5, r0 - bne _02016778 - ldr r2, _02016AAC ; =0x0000FFFF + bne _027E6F88 + ldr r2, _027E72BC ; =0x0000FFFF ldr r0, [sp, #0x38] cmp r0, r2 - beq _02016988 + beq _027E7198 add r0, sb, sl, lsl #2 add r1, r0, #0x700 ldr r0, [sp, #0x38] @@ -8162,38 +8163,38 @@ _02016934: add r1, r0, #0x700 ldr r0, [sp, #0x34] strh r0, [r1, #0xc] -_02016988: +_027E7198: add sl, sl, #1 cmp sl, #4 - blt _02016718 + blt _027E6F28 add r0, sb, #0x31c mov r1, #0 add r0, r0, #0x400 str r1, [sb, #0x734] - bl sub_0302C0FC -_020169A8: + bl sub_037FC90C +_027E71B8: mov r0, #0 strh r0, [r7, #0x62] strh r0, [r7, #0x64] - b _02016A9C -_020169B8: + b _027E72AC +_027E71C8: ldrsh r0, [r7, #0x62] cmp r0, #1 ldrnesh r0, [r7, #0x64] cmpne r0, #1 movne r6, #0 - bne _02016A38 + bne _027E7248 ldrh r3, [r7, #0x40] mov r0, sl mov r1, r4 mov r2, r5 - bl sub_02017404 + bl sub_027E7C14 ldrh r1, [sp, #0xc4] mov r6, r0 orr r0, r1, #0x8000 strh r0, [sp, #0xc4] - b _02016A38 -_020169F8: + b _027E7248 +_027E7208: mov r6, #0 strh r6, [r7, #0x9e] ldrh r0, [sp, #0xc4] @@ -8201,20 +8202,20 @@ _020169F8: bic r0, r0, #0x8000 strh r0, [sp, #0xc4] mov sl, r6 - ldr r4, _02016AB0 ; =0x000080D6 - bl sub_0302D4F0 + ldr r4, _027E72C0 ; =0x000080D6 + bl sub_037FDD00 ldrsh r1, [r7, #0x62] add r1, r1, #1 strh r1, [r7, #0x62] ldrsh r1, [r7, #0x64] add r1, r1, #1 strh r1, [r7, #0x64] - bl sub_0302D504 -_02016A38: + bl sub_037FDD14 +_027E7248: mov r0, r5, lsl #0x10 mov r0, r0, lsr #0x10 str r0, [sp] - ldr r0, _02016AB4 ; =0x048080F8 + ldr r0, _027E72C4 ; =0x048080F8 str r6, [sp, #4] ldrh r1, [r0] mov r0, sl, lsl #0x10 @@ -8230,67 +8231,67 @@ _02016A38: add r0, sp, #0xc8 mov r2, r1 mov r3, r3, lsr #0x10 - bl sub_02011B04 + bl sub_027E2314 strh r5, [r7, #0x68] ldrh r0, [sp, #0xc4] strh r0, [r7, #0x6a] strh r4, [r7, #0x6c] strh sl, [r7, #0x6e] -_02016A9C: +_027E72AC: add sp, sp, #0x2c8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_02016AA8: .word 0x027F8878 -_02016AAC: .word 0x0000FFFF -_02016AB0: .word 0x000080D6 -_02016AB4: .word 0x048080F8 - arm_func_end sub_02016110 +_027E72B8: .word 0x027F8878 +_027E72BC: .word 0x0000FFFF +_027E72C0: .word 0x000080D6 +_027E72C4: .word 0x048080F8 + arm_func_end sub_027E6920 - arm_func_start sub_02016AB8 -sub_02016AB8: ; 0x02016AB8 + arm_func_start sub_027E72C8 +sub_027E72C8: ; 0x027E72C8 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x218 - ldr r1, _02016B9C ; =0x027F8878 + ldr r1, _027E73AC ; =0x027F8878 mov r4, r0 ldr r7, [r1, #0x550] - bl sub_0302D4F0 - bl sub_0302D504 + bl sub_037FDD00 + bl sub_037FDD14 add r0, r7, #0x100 ldrh r0, [r0, #0x82] - ldr r1, _02016BA0 ; =0x048080F8 + ldr r1, _027E73B0 ; =0x048080F8 and r4, r4, r0 ldrh r8, [r7, #0x3a] mov r0, r4 ldrh r5, [r1] ldrh r6, [r7, #0x6a] - bl sub_03033020 + bl sub_03803830 add r1, r8, #0xc mul r0, r1, r0 add r0, r0, #0x29 ldrh r1, [r7, #0x72] bic r0, r0, #0x1f cmp r1, r0 - bge _02016B24 + bge _027E7334 mov r0, #2 - bl sub_0302BC58 - bl sub_02011244 - b _02016B90 -_02016B24: + bl sub_037FC468 + bl sub_027E1A54 + b _027E73A0 +_027E7334: ldrsh r0, [r7, #0x62] cmp r0, #1 ldrnesh r0, [r7, #0x64] cmpne r0, #1 bicne r6, r6, #0x8000 movne r0, #0 - bne _02016B58 + bne _027E7368 ldrh r0, [r7, #0x6e] ldrh r1, [r7, #0x6c] ldrh r3, [r7, #0x40] mov r2, r4 - bl sub_02017404 + bl sub_027E7C14 orr r6, r6, #0x8000 -_02016B58: +_027E7368: mov r1, r4, lsl #0x10 mov r1, r1, lsr #0x10 str r1, [sp] @@ -8300,25 +8301,25 @@ _02016B58: str r2, [sp, #0xc] mov r0, r0, lsr #0x10 str r0, [sp, #0x10] - ldr r1, _02016BA4 ; =0x0000800C + ldr r1, _027E73B4 ; =0x0000800C add r0, sp, #0x18 mov r3, r2 str r2, [sp, #0x14] - bl sub_02011B04 -_02016B90: + bl sub_027E2314 +_027E73A0: add sp, sp, #0x218 ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_02016B9C: .word 0x027F8878 -_02016BA0: .word 0x048080F8 -_02016BA4: .word 0x0000800C - arm_func_end sub_02016AB8 +_027E73AC: .word 0x027F8878 +_027E73B0: .word 0x048080F8 +_027E73B4: .word 0x0000800C + arm_func_end sub_027E72C8 - arm_func_start sub_02016BA8 -sub_02016BA8: ; 0x02016BA8 + arm_func_start sub_027E73B8 +sub_027E73B8: ; 0x027E73B8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} - ldr r4, _02016CD4 ; =0x027F8878 + ldr r4, _027E74E4 ; =0x027F8878 ldrh r8, [sp, #0x24] ldr r4, [r4, #0x550] mov r7, r0 @@ -8330,7 +8331,7 @@ sub_02016BA8: ; 0x02016BA8 mov r5, r3 add r8, r4, #0x2f8 moveq r0, #6 - beq _02016CCC + beq _027E74DC ldrh r0, [sp, #0x24] tst r6, #8 movne r1, #2 @@ -8338,21 +8339,21 @@ sub_02016BA8: ; 0x02016BA8 add r0, r0, r1 cmp r0, #0x204 movgt r0, #6 - bgt _02016CCC + bgt _027E74DC add r0, r4, #0x31c add r0, r0, #0x400 - bl sub_0302C078 + bl sub_037FC888 add r2, r4, #0x600 ldrh r1, [r2, #0xf8] - ldr r3, _02016CD8 ; =0x0000FFFF + ldr r3, _027E74E8 ; =0x0000FFFF cmp r1, r3 - bne _02016C34 + bne _027E7444 add r0, r4, #0x31c add r0, r0, #0x400 - bl sub_0302C0FC + bl sub_037FC90C mov r0, #0xa - b _02016CCC -_02016C34: + b _027E74DC +_027E7444: mov r0, r1, lsl #5 ldrh ip, [r8, r0] add r0, r8, r1, lsl #5 @@ -8375,7 +8376,7 @@ _02016C34: ldr r2, [sp, #0x2c] str r3, [r0, #0x18] str r2, [r0, #0x1c] - ldr r3, _02016CD8 ; =0x0000FFFF + ldr r3, _027E74E8 ; =0x0000FFFF add r2, r4, #0x700 strh r3, [r0] strh r3, [r0, #0x10] @@ -8389,21 +8390,21 @@ _02016C34: add r0, r4, #0x31c add r0, r0, #0x400 strh r1, [sb, #2] - bl sub_0302C0FC + bl sub_037FC90C mov r0, #2 -_02016CCC: +_027E74DC: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, lr} bx lr .align 2, 0 -_02016CD4: .word 0x027F8878 -_02016CD8: .word 0x0000FFFF - arm_func_end sub_02016BA8 +_027E74E4: .word 0x027F8878 +_027E74E8: .word 0x0000FFFF + arm_func_end sub_027E73B8 - arm_func_start sub_02016CDC -sub_02016CDC: ; 0x02016CDC + arm_func_start sub_027E74EC +sub_027E74EC: ; 0x027E74EC stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x3c - ldr r2, _02017004 ; =0x027F8878 + ldr r2, _027E7814 ; =0x027F8878 str r0, [sp] ldr r8, [r2, #0x550] mov r5, r1 @@ -8413,40 +8414,40 @@ sub_02016CDC: ; 0x02016CDC add r4, r8, #0x2f8 str r0, [sp, #0xc] moveq r6, #1 - beq _02016D1C + beq _027E752C cmp r1, #0xa moveq r6, r0 - bne _02016FF8 -_02016D1C: + bne _027E7808 +_027E752C: add r0, r8, #0x31c add r0, r0, #0x400 - bl sub_0302C078 + bl sub_037FC888 ldr r0, [r8, #0x734] cmp r0, #0 - bne _02016D48 + bne _027E7558 add r0, r8, #0x31c add r0, r0, #0x400 - bl sub_0302C0FC + bl sub_037FC90C mov r0, #0 - b _02016FF8 -_02016D48: + b _027E7808 +_027E7558: cmp r6, #0 moveq r0, #1 streq r0, [sp, #0x10] - beq _02016D6C - bl sub_0302D4F0 + beq _027E757C + bl sub_037FDD00 add r1, r8, #0x100 ldrh r1, [r1, #0x82] str r1, [sp, #0x10] - bl sub_0302D504 -_02016D6C: + bl sub_037FDD14 +_027E757C: mvn r0, r5 str r0, [sp, #4] mov sl, #0 -_02016D78: +_027E7588: add r0, r8, #0x2fc add r1, r0, #0x400 - ldr sb, _02017008 ; =0x0000FFFF + ldr sb, _027E7818 ; =0x0000FFFF mov r0, sl, lsl #2 ldrh r5, [r1, r0] add r0, r8, #0x100 @@ -8463,12 +8464,12 @@ _02016D78: add fp, r8, #0x600 str sb, [sp, #0x34] str sb, [sp, #0x38] - b _02016F8C -_02016DC8: + b _027E779C +_027E75D8: ldr r0, [sp] add r7, r4, r5, lsl #5 cmp r0, #0 - bne _02016E04 + bne _027E7614 ldrh r1, [r7, #0xa] ldr r0, [sp, #4] ldrh r2, [r7, #8] @@ -8480,7 +8481,7 @@ _02016DC8: mvn r0, r0 and r0, r1, r0 strh r0, [r7, #6] -_02016E04: +_027E7614: ldrh r1, [r7, #6] ldr r0, [sp, #0x10] and r0, r1, r0 @@ -8489,12 +8490,12 @@ _02016E04: strh r0, [r7, #0xa] ldrh r0, [r7, #6] cmp r0, #0 - beq _02016EA0 + beq _027E76B0 ldrh r0, [r7, #2] tst r0, #8 ldreqh r0, [r7, #0x12] cmpeq r0, #0 - beq _02016EA0 + beq _027E76B0 mov r0, #1 str r0, [sp, #0xc] ldrh r0, [r7, #0x12] @@ -8519,9 +8520,9 @@ _02016E04: strneh r5, [r4, r0] mov r0, r5, lsl #0x10 mov sb, r0, lsr #0x10 - b _02016F88 -_02016EA0: - bl sub_03036B70 + b _027E7798 +_027E76B0: + bl sub_03807380 mov r1, #0x81 strh r1, [r0] ldrh r1, [r7, #6] @@ -8562,7 +8563,7 @@ _02016EA0: cmp r3, #0 movne r2, r1 strh r2, [r0, #0x26] - bl sub_03036B24 + bl sub_03807334 ldrh r1, [r7] ldr r0, [sp, #0x30] cmp r1, r0 @@ -8579,15 +8580,15 @@ _02016EA0: movne r0, r1, lsl #5 strneh r5, [r4, r0] strh r5, [fp, #0xfa] -_02016F88: +_027E7798: ldrh r5, [r6] -_02016F8C: +_027E779C: ldr r0, [sp, #0x38] cmp r5, r0 - bne _02016DC8 - ldr r1, _02017008 ; =0x0000FFFF + bne _027E75D8 + ldr r1, _027E7818 ; =0x0000FFFF cmp sb, r1 - beq _02016FD4 + beq _027E77E4 add r0, r8, sl, lsl #2 add r0, r0, #0x700 ldrh r3, [r0, #0xc] @@ -8600,30 +8601,30 @@ _02016F8C: add r1, r0, #0x700 ldr r0, [sp, #8] strh r0, [r1, #0xc] -_02016FD4: +_027E77E4: add sl, sl, #1 cmp sl, #4 - blt _02016D78 + blt _027E7588 add r0, r8, #0x31c mov r1, #0 add r0, r0, #0x400 str r1, [r8, #0x734] - bl sub_0302C0FC + bl sub_037FC90C ldr r0, [sp, #0xc] -_02016FF8: +_027E7808: add sp, sp, #0x3c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_02017004: .word 0x027F8878 -_02017008: .word 0x0000FFFF - arm_func_end sub_02016CDC +_027E7814: .word 0x027F8878 +_027E7818: .word 0x0000FFFF + arm_func_end sub_027E74EC - arm_func_start sub_0201700C -sub_0201700C: ; 0x0201700C + arm_func_start sub_027E781C +sub_027E781C: ; 0x027E781C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x14 - ldr r1, _020171F8 ; =0x027F8878 + ldr r1, _027E7A08 ; =0x027F8878 mvn r2, r0 ldr sb, [r1, #0x550] add r0, sb, #0x100 @@ -8632,27 +8633,27 @@ sub_0201700C: ; 0x0201700C add r0, r0, #0x400 add r5, sb, #0x2f8 and fp, r2, r1 - bl sub_0302C078 + bl sub_037FC888 add r0, sb, #0x30c add r0, r0, #0x400 str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] -_02017050: +_027E7860: add r0, sb, #0x100 str r0, [sp, #0x10] mov r6, #0 add r4, sb, #0x600 -_02017060: +_027E7870: ldr r0, [sp, #8] mov r1, r6, lsl #2 add r7, r0, r6, lsl #2 ldrh sl, [r0, r1] - ldr r0, _020171FC ; =0x0000FFFF + ldr r0, _027E7A0C ; =0x0000FFFF str r7, [sp, #4] str r0, [sp] - b _020171B4 -_02017080: + b _027E79C4 +_027E7890: add r8, r5, sl, lsl #5 ldrh r0, [r8, #6] and r0, r0, fp @@ -8662,8 +8663,8 @@ _02017080: strh r0, [r8, #0xa] ldrh r0, [r8, #6] cmp r0, #0 - bne _02017188 - bl sub_03036B70 + bne _027E7998 + bl sub_03807380 mov r1, #0x81 strh r1, [r0] mov r1, #0 @@ -8701,16 +8702,16 @@ _02017080: cmp r3, #0 movne r2, r1 strh r2, [r0, #0x26] - bl sub_03036B24 + bl sub_03807334 ldrh r1, [r8] - ldr r0, _020171FC ; =0x0000FFFF + ldr r0, _027E7A0C ; =0x0000FFFF cmp r1, r0 ldreq r0, [sp] streqh r0, [r7, #2] ldrh r1, [r8] ldr r0, [sp, #4] strh r1, [r0] - ldr r0, _020171FC ; =0x0000FFFF + ldr r0, _027E7A0C ; =0x0000FFFF strh r0, [r8] ldrh r1, [r4, #0xfa] cmp r1, r0 @@ -8719,72 +8720,72 @@ _02017080: strneh sl, [r5, r0] strh sl, [r4, #0xfa] ldr sl, [sp] -_02017188: - ldr r0, _020171FC ; =0x0000FFFF +_027E7998: + ldr r0, _027E7A0C ; =0x0000FFFF str sl, [sp] cmp sl, r0 addne r0, r5, sl, lsl #5 strne r0, [sp, #4] - ldr r0, _020171FC ; =0x0000FFFF + ldr r0, _027E7A0C ; =0x0000FFFF streq r7, [sp, #4] cmp sl, r0 movne r0, sl, lsl #5 ldrneh sl, [r5, r0] ldreqh sl, [r7] -_020171B4: - ldr r0, _020171FC ; =0x0000FFFF +_027E79C4: + ldr r0, _027E7A0C ; =0x0000FFFF cmp sl, r0 - bne _02017080 + bne _027E7890 add r6, r6, #1 cmp r6, #4 - blt _02017060 + blt _027E7870 ldr r0, [sp, #0xc] add r0, r0, #1 str r0, [sp, #0xc] cmp r0, #2 - blt _02017050 + blt _027E7860 add r0, sb, #0x31c add r0, r0, #0x400 - bl sub_0302C0FC + bl sub_037FC90C add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_020171F8: .word 0x027F8878 -_020171FC: .word 0x0000FFFF - arm_func_end sub_0201700C +_027E7A08: .word 0x027F8878 +_027E7A0C: .word 0x0000FFFF + arm_func_end sub_027E781C - arm_func_start sub_02017200 -sub_02017200: ; 0x02017200 + arm_func_start sub_027E7A10 +sub_027E7A10: ; 0x027E7A10 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc - ldr r4, _020173FC ; =0x027F8878 + ldr r4, _027E7C0C ; =0x027F8878 ldr r1, [sp, #0x40] ldr r5, [r4, #0x550] movs sb, r3 str r1, [sp, #0x40] mov sl, r0 str r2, [sp] - beq _020173EC + beq _027E7BFC cmp sb, #0x204 - bhi _020173EC + bhi _027E7BFC add r4, r5, #0x100 ldrh r0, [r4, #0x88] cmp sl, r0 - beq _020173EC + beq _027E7BFC cmp sl, #0x10 - bhs _020173EC + bhs _027E7BFC tst sb, #1 - bne _020173EC + bne _027E7BFC add r0, r5, #0x1f8 add r8, r0, sl, lsl #4 mov r0, #1 str r0, [sp, #8] - b _020173E4 -_02017268: + b _027E7BF4 +_027E7A78: ldr r0, [sp, #8] - ldr r7, _02017400 ; =0x0000FFFF + ldr r7, _027E7C10 ; =0x0000FFFF cmp r0, #1 addeq r1, sp, #0x34 moveq r0, #0 @@ -8813,7 +8814,7 @@ _02017268: add r0, r6, r0 add r0, r0, fp subs sb, sb, r0 - bmi _020173EC + bmi _027E7BFC and r1, r1, #0xf00 cmp r3, #1 mov r1, r1, lsl #8 @@ -8824,7 +8825,7 @@ _02017268: str r1, [sp, #4] add r1, r1, r6 str r0, [sp] - bne _0201734C + bne _027E7B5C mov r0, fp, lsl #0x1d mov r0, r0, lsr #0x1c ldrh r3, [r8, r0] @@ -8832,26 +8833,26 @@ _02017268: tst r3, #1 movne r3, r7, lsl #1 strneh r3, [r8, r0] - bne _0201734C + bne _027E7B5C mov r7, r7, lsl #1 sub r3, r3, r7 mov r3, r3, lsl #0x10 mov r3, r3, lsr #0x10 cmp r3, #0x100 - blo _020173E4 + blo _027E7BF4 strh r7, [r8, r0] -_0201734C: +_027E7B5C: cmp r2, #1 - bne _02017368 + bne _027E7B78 ldrh r2, [r1] ldrh r1, [r4, #0x88] mov r0, #1 tst r2, r0, lsl r1 - beq _020173E4 -_02017368: + beq _027E7BF4 +_027E7B78: cmp r6, #0 - ble _020173E4 - bl sub_03036B70 + ble _027E7BF4 + bl sub_03807380 mov r1, #0x82 strh r1, [r0] mov r1, #0 @@ -8879,36 +8880,36 @@ _02017368: cmp r1, #0 movne r3, r2 strh r3, [r0, #0x42] - bl sub_03036B24 -_020173E4: + bl sub_03807334 +_027E7BF4: cmp sb, #0 - bgt _02017268 -_020173EC: + bgt _027E7A78 +_027E7BFC: add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr .align 2, 0 -_020173FC: .word 0x027F8878 -_02017400: .word 0x0000FFFF - arm_func_end sub_02017200 +_027E7C0C: .word 0x027F8878 +_027E7C10: .word 0x0000FFFF + arm_func_end sub_027E7A10 - arm_func_start sub_02017404 -sub_02017404: ; 0x02017404 + arm_func_start sub_027E7C14 +sub_027E7C14: ; 0x027E7C14 stmdb sp!, {r4, r5, r6, lr} mov r6, r1 mov r5, r0 tst r6, #0x8000 - ldrne r0, _020174A0 ; =0x00007FFF + ldrne r0, _027E7CB0 ; =0x00007FFF mov r4, r3 andne r6, r6, r0 addeq r0, r6, #0x1c moveq r0, r0, lsl #2 addeq r6, r0, #0x66 mov r0, r2 - bl sub_03033020 + bl sub_03803830 mul r2, r6, r0 - ldr r1, _020174A4 ; =0x04000006 + ldr r1, _027E7CB4 ; =0x04000006 add r0, r5, #0x22 mov r3, r0, lsl #2 ldrh r1, [r1] @@ -8917,13 +8918,13 @@ sub_02017404: ; 0x02017404 add r2, r2, #0x388 add r4, r3, r2 subs r3, r0, r1 - bpl _0201746C -_02017460: + bpl _027E7C7C +_027E7C70: add r0, r3, #7 adds r3, r0, #0x100 - bmi _02017460 -_0201746C: - ldr r2, _020174A8 ; =0x66666667 + bmi _027E7C70 +_027E7C7C: + ldr r2, _027E7CB8 ; =0x66666667 rsb r1, r3, r3, lsl #7 mov r0, r1, lsr #0x1f smull r1, r3, r2, r1 @@ -8937,109 +8938,109 @@ _0201746C: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_020174A0: .word 0x00007FFF -_020174A4: .word 0x04000006 -_020174A8: .word 0x66666667 - arm_func_end sub_02017404 +_027E7CB0: .word 0x00007FFF +_027E7CB4: .word 0x04000006 +_027E7CB8: .word 0x66666667 + arm_func_end sub_027E7C14 - arm_func_start sub_020174AC -sub_020174AC: ; 0x020174AC + arm_func_start sub_027E7CBC +sub_027E7CBC: ; 0x027E7CBC stmdb sp!, {r4, lr} sub sp, sp, #0x280 - ldr r1, _02017538 ; =0x027F8878 + ldr r1, _027E7D48 ; =0x027F8878 ldr r2, [r0, #4] ldr r4, [r1, #0x550] add r0, sp, #0 strh r2, [r4, #0xf6] add r1, r4, #0xe8 - bl sub_0200FAFC + bl sub_027E030C ldrh r1, [r4, #0xec] add r0, sp, #0x80 add r1, r1, #0x10 mov r1, r1, lsl #0x10 add r2, sp, #0 mov r1, r1, lsr #0x10 - bl sub_02011FA8 + bl sub_027E27B8 mov r4, r0 - bl sub_03036B70 + bl sub_03807380 mov r1, #0x21 strh r1, [r0] ldrh r1, [r4, #4] cmp r1, #0 moveq r1, #0 streqh r1, [r0, #2] - beq _02017528 + beq _027E7D38 mov r1, #1 strh r1, [r0, #2] add r1, r1, #0x244 strh r1, [r0, #4] ldrh r1, [r4, #4] strh r1, [r0, #6] -_02017528: - bl sub_03036B24 +_027E7D38: + bl sub_03807334 add sp, sp, #0x280 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02017538: .word 0x027F8878 - arm_func_end sub_020174AC +_027E7D48: .word 0x027F8878 + arm_func_end sub_027E7CBC - arm_func_start sub_0201753C -sub_0201753C: ; 0x0201753C + arm_func_start sub_027E7D4C +sub_027E7D4C: ; 0x027E7D4C stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x208 add r1, sp, #0 add r0, r0, #4 mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C mov r8, #0 add r7, sp, #8 add r6, sp, #0 mov r5, #0x13 - b _02017598 -_02017568: + b _027E7DA8 +_027E7D78: mov r0, r7 mov r1, r6 mov r2, r5 - bl sub_020117BC + bl sub_027E1FCC mov r4, r0 ldrh r0, [r4, #4] cmp r0, #0 - beq _020175A0 + beq _027E7DB0 cmp r0, #7 cmpne r0, #0xc - bne _020175A0 + bne _027E7DB0 add r8, r8, #1 -_02017598: +_027E7DA8: cmp r8, #2 - blt _02017568 -_020175A0: - bl sub_03036B70 + blt _027E7D78 +_027E7DB0: + bl sub_03807380 mov r1, #0x22 strh r1, [r0] ldrh r1, [r4, #4] cmp r1, #0 moveq r1, #0 streqh r1, [r0, #2] - beq _020175D8 + beq _027E7DE8 mov r1, #1 strh r1, [r0, #2] mov r1, #5 strh r1, [r0, #4] ldrh r1, [r4, #4] strh r1, [r0, #6] -_020175D8: - bl sub_03036B24 +_027E7DE8: + bl sub_03807334 add sp, sp, #0x208 ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr - arm_func_end sub_0201753C + arm_func_end sub_027E7D4C - arm_func_start sub_020175E8 -sub_020175E8: ; 0x020175E8 + arm_func_start sub_027E7DF8 +sub_027E7DF8: ; 0x027E7DF8 stmdb sp!, {r3, lr} ldr r3, [r0, #4] - ldr r1, _02017634 ; =0x027F8878 + ldr r1, _027E7E44 ; =0x027F8878 str r3, [r1, #0x54c] ldr r2, [r0, #8] str r2, [r1, #0x550] @@ -9047,38 +9048,38 @@ sub_020175E8: ; 0x020175E8 ldr r1, [r0, #0xc] str r1, [r3, #8] ldr r0, [r0, #0x10] - bl sub_02017638 - bl sub_03036B70 + bl sub_027E7E48 + bl sub_03807380 mov r1, #3 strh r1, [r0] mov r1, #0 strh r1, [r0, #2] - bl sub_03036B24 + bl sub_03807334 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02017634: .word 0x027F8878 - arm_func_end sub_020175E8 +_027E7E44: .word 0x027F8878 + arm_func_end sub_027E7DF8 - arm_func_start sub_02017638 -sub_02017638: ; 0x02017638 + arm_func_start sub_027E7E48 +sub_027E7E48: ; 0x027E7E48 stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r1, _020177D8 ; =0x027F8878 + ldr r1, _027E7FE8 ; =0x027F8878 mov r8, r0 ldr r7, [r1, #0x550] ldr r4, [r1, #0x54c] mov r5, #0 - bl sub_0302D4F0 + bl sub_037FDD00 ldr r1, [r7, #0xc] mov r6, r0 cmp r1, #1 - bne _02017678 + bne _027E7E88 mov r0, r5 str r0, [r7, #0xc] mov r5, #1 - bl sub_0201537C - bl sub_0200FE30 -_02017678: + bl sub_027E5B8C + bl sub_027E0640 +_027E7E88: add ip, r7, #0x100 mov r1, #0 strh r1, [ip, #0x82] @@ -9117,8 +9118,8 @@ _02017678: strh lr, [r3, #0xcc] str r1, [r7, #0x198] strh r1, [ip, #0x96] - bl sub_0302D860 - bl sub_0200FF5C + bl sub_037FE070 + bl sub_027E076C mov r0, #0x104 strh r0, [r7, #0x40] mov r0, #0xf0 @@ -9126,7 +9127,7 @@ _02017678: mov r0, #0x3e8 strh r0, [r7, #0x44] mov r1, #0 - ldr r0, _020177DC ; =0x0000020B + ldr r0, _027E7FEC ; =0x0000020B strh r1, [r7, #0x46] str r0, [r7, #0x48] str r1, [r7, #0x4c] @@ -9138,100 +9139,100 @@ _02017678: strh r1, [r0, #0xee] mov r0, r6 str r8, [r7, #0xc8] - bl sub_0302D504 + bl sub_037FDD14 cmp r5, #0 - beq _02017778 - ldr r0, _020177E0 ; =0x0000FFFF - bl sub_0201700C -_02017778: + beq _027E7F88 + ldr r0, _027E7FF0 ; =0x0000FFFF + bl sub_027E781C +_027E7F88: mov r2, #0 mov r1, #0x8000 -_02017780: +_027E7F90: add r0, r4, r2, lsl #4 add r2, r2, #1 str r1, [r0, #0xd0] cmp r2, #0x20 - blt _02017780 + blt _027E7F90 add r1, r7, #0x1f8 mov r0, #1 mov r2, #0x100 - bl sub_0302D764 - bl sub_0201148C + bl sub_037FDF74 + bl sub_027E1C9C add r0, r7, #0x31c add r0, r0, #0x400 - bl sub_0302C060 - bl sub_02015368 + bl sub_037FC870 + bl sub_027E5B78 tst r8, #2 - bne _020177C8 + bne _027E7FD8 mov r0, #0xf - bl sub_03034A0C -_020177C8: + bl sub_0380521C +_027E7FD8: mov r0, #1 strh r0, [r7] ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_020177D8: .word 0x027F8878 -_020177DC: .word 0x0000020B -_020177E0: .word 0x0000FFFF - arm_func_end sub_02017638 +_027E7FE8: .word 0x027F8878 +_027E7FEC: .word 0x0000020B +_027E7FF0: .word 0x0000FFFF + arm_func_end sub_027E7E48 - arm_func_start sub_020177E4 -sub_020177E4: ; 0x020177E4 + arm_func_start sub_027E7FF4 +sub_027E7FF4: ; 0x027E7FF4 stmdb sp!, {r4, lr} - ldr r0, _02017848 ; =0x027F8878 + ldr r0, _027E8058 ; =0x027F8878 ldr r4, [r0, #0x550] ldrh r0, [r4] cmp r0, #1 - beq _02017818 - bl sub_03036B70 + beq _027E8028 + bl sub_03807380 mov r1, #4 strh r1, [r0] mov r1, #3 strh r1, [r0, #2] - bl sub_03036B24 - b _02017840 -_02017818: + bl sub_03807334 + b _027E8050 +_027E8028: mov r0, #1 - bl sub_03034A0C + bl sub_0380521C mov r0, #0 strh r0, [r4] - bl sub_03036B70 + bl sub_03807380 mov r1, #4 strh r1, [r0] mov r1, #0 strh r1, [r0, #2] - bl sub_03036B24 -_02017840: + bl sub_03807334 +_027E8050: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02017848: .word 0x027F8878 - arm_func_end sub_020177E4 +_027E8058: .word 0x027F8878 + arm_func_end sub_027E7FF4 - arm_func_start sub_0201784C -sub_0201784C: ; 0x0201784C + arm_func_start sub_027E805C +sub_027E805C: ; 0x027E805C stmdb sp!, {r3, r4, lr} sub sp, sp, #4 - ldr r0, _020178F0 ; =0x027F8878 + ldr r0, _027E8100 ; =0x027F8878 ldr r4, [r0, #0x550] ldrh r0, [r4] cmp r0, #1 - beq _02017884 - bl sub_03036B70 + beq _027E8094 + bl sub_03807380 mov r1, #5 strh r1, [r0] mov r1, #3 strh r1, [r0, #2] - bl sub_03036B24 - b _020178E4 -_02017884: + bl sub_03807334 + b _027E80F4 +_027E8094: add r0, sp, #2 add r1, sp, #0 - bl sub_020178F4 + bl sub_027E8104 cmp r0, #0 - bne _020178C4 - bl sub_03036B70 + bne _027E80D4 + bl sub_03807380 mov r1, #5 strh r1, [r0] mov r1, #1 @@ -9240,90 +9241,90 @@ _02017884: strh r1, [r0, #4] ldrh r1, [sp] strh r1, [r0, #6] - bl sub_03036B24 - b _020178E4 -_020178C4: + bl sub_03807334 + b _027E80F4 +_027E80D4: mov r0, #2 strh r0, [r4] - bl sub_03036B70 + bl sub_03807380 mov r1, #5 strh r1, [r0] mov r1, #0 strh r1, [r0, #2] - bl sub_03036B24 -_020178E4: + bl sub_03807334 +_027E80F4: add sp, sp, #4 ldmia sp!, {r3, r4, lr} bx lr .align 2, 0 -_020178F0: .word 0x027F8878 - arm_func_end sub_0201784C +_027E8100: .word 0x027F8878 + arm_func_end sub_027E805C - arm_func_start sub_020178F4 -sub_020178F4: ; 0x020178F4 + arm_func_start sub_027E8104 +sub_027E8104: ; 0x027E8104 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x200 - ldr r2, _02017ADC ; =0x027F8878 + ldr r2, _027E82EC ; =0x027F8878 mov r7, r0 add r0, sp, #0 mov r6, r1 ldr r5, [r2, #0x550] - bl sub_020120B8 + bl sub_027E28C8 ldrh r1, [r0, #4] cmp r1, #0 - beq _02017938 + beq _027E8148 mov r1, #0x304 strh r1, [r7] ldrh r1, [r0, #4] mov r0, #0 strh r1, [r6] - b _02017AD0 -_02017938: + b _027E82E0 +_027E8148: add r0, sp, #0 - bl sub_02012088 + bl sub_027E2898 ldrh r1, [r0, #4] cmp r1, #0 - beq _02017964 - ldr r1, _02017AE0 ; =0x00000302 + beq _027E8174 + ldr r1, _027E82F0 ; =0x00000302 strh r1, [r7] ldrh r1, [r0, #4] mov r0, #0 strh r1, [r6] - b _02017AD0 -_02017964: - ldr r2, _02017AE4 ; =0x04808124 + b _027E82E0 +_027E8174: + ldr r2, _027E82F4 ; =0x04808124 mov r0, #0xc8 strh r0, [r2] mov r0, #0x7d0 strh r0, [r2, #4] - ldr r1, _02017AE8 ; =0x00000202 + ldr r1, _027E82F8 ; =0x00000202 add r0, sp, #0 strh r1, [r2, #0x2c] - bl sub_02012044 + bl sub_027E2854 ldrh r1, [r0, #4] cmp r1, #0 - beq _020179AC - ldr r1, _02017AEC ; =0x00000283 + beq _027E81BC + ldr r1, _027E82FC ; =0x00000283 strh r1, [r7] ldrh r1, [r0, #4] mov r0, #0 strh r1, [r6] - b _02017AD0 -_020179AC: + b _027E82E0 +_027E81BC: ldrh r2, [r0, #6] add r0, r5, #0x100 mov r1, r2, lsl #0xf strh r2, [r0, #0xf4] mov r0, r1, lsr #0x10 - bl sub_03036BC4 + bl sub_038073D4 add r1, r5, #0x100 strh r0, [r1, #0xf6] - ldr r1, _02017AF0 ; =0x0000FFFF + ldr r1, _027E8300 ; =0x0000FFFF add r0, sp, #0 mov r2, #0x28 mov r3, #5 - bl sub_02011DD0 - ldr r1, _02017AF4 ; =0x001FF621 + bl sub_027E25E0 + ldr r1, _027E8304 ; =0x001FF621 mov r0, #0 str r1, [r5, #0x7b8] str r0, [r5, #0x7bc] @@ -9333,22 +9334,22 @@ _020179AC: mov r2, #1 add r0, sp, #0 strh r2, [r1, #0xee] - bl sub_020120E4 + bl sub_027E28F4 mov r4, r0 ldrh r0, [r4, #4] cmp r0, #0 - beq _02017A34 - ldr r1, _02017AF8 ; =0x00000306 + beq _027E8244 + ldr r1, _027E8308 ; =0x00000306 mov r0, #0 strh r1, [r7] ldrh r1, [r4, #4] strh r1, [r6] - b _02017AD0 -_02017A34: + b _027E82E0 +_027E8244: add r0, r4, #6 add r1, r5, #0x20 mov r2, #8 - bl sub_0302D78C + bl sub_037FDF9C ldrh r1, [r4, #0xe] add r0, sp, #0 strh r1, [r5, #0x28] @@ -9358,74 +9359,74 @@ _02017A34: strh r1, [r5, #0x2e] ldrh r1, [r4, #0x14] strh r1, [r5, #0x2a] - bl sub_0201202C + bl sub_027E283C ldrh r1, [r0, #4] cmp r1, #0 - beq _02017A90 - ldr r1, _02017AFC ; =0x00000281 + beq _027E82A0 + ldr r1, _027E830C ; =0x00000281 strh r1, [r7] ldrh r1, [r0, #4] mov r0, #0 strh r1, [r6] - b _02017AD0 -_02017A90: + b _027E82E0 +_027E82A0: add r0, r0, #6 add r1, r5, #0xe0 mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C add r0, sp, #0 mov r1, #1 - bl sub_02011E94 + bl sub_027E26A4 ldrh r1, [r0, #4] cmp r1, #0 moveq r0, #1 - beq _02017AD0 - ldr r1, _02017B00 ; =0x00000215 + beq _027E82E0 + ldr r1, _027E8310 ; =0x00000215 strh r1, [r7] ldrh r1, [r0, #4] mov r0, #0 strh r1, [r6] -_02017AD0: +_027E82E0: add sp, sp, #0x200 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02017ADC: .word 0x027F8878 -_02017AE0: .word 0x00000302 -_02017AE4: .word 0x04808124 -_02017AE8: .word 0x00000202 -_02017AEC: .word 0x00000283 -_02017AF0: .word 0x0000FFFF -_02017AF4: .word 0x001FF621 -_02017AF8: .word 0x00000306 -_02017AFC: .word 0x00000281 -_02017B00: .word 0x00000215 - arm_func_end sub_020178F4 +_027E82EC: .word 0x027F8878 +_027E82F0: .word 0x00000302 +_027E82F4: .word 0x04808124 +_027E82F8: .word 0x00000202 +_027E82FC: .word 0x00000283 +_027E8300: .word 0x0000FFFF +_027E8304: .word 0x001FF621 +_027E8308: .word 0x00000306 +_027E830C: .word 0x00000281 +_027E8310: .word 0x00000215 + arm_func_end sub_027E8104 - arm_func_start sub_02017B04 -sub_02017B04: ; 0x02017B04 + arm_func_start sub_027E8314 +sub_027E8314: ; 0x027E8314 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x200 - ldr r0, _02017BAC ; =0x027F8878 + ldr r0, _027E83BC ; =0x027F8878 ldr r5, [r0, #0x550] ldrh r0, [r5] cmp r0, #2 - beq _02017B3C - bl sub_03036B70 + beq _027E834C + bl sub_03807380 mov r1, #6 strh r1, [r0] mov r1, #3 strh r1, [r0, #2] - bl sub_03036B24 - b _02017BA0 -_02017B3C: + bl sub_03807334 + b _027E83B0 +_027E834C: add r0, sp, #0 - bl sub_02012070 + bl sub_027E2880 mov r4, r0 ldrh r0, [r4, #4] cmp r0, #0 - beq _02017B80 - bl sub_03036B70 + beq _027E8390 + bl sub_03807380 mov r2, #6 mov r1, #1 strh r2, [r0] @@ -9434,35 +9435,35 @@ _02017B3C: strh r1, [r0, #4] ldrh r1, [r4, #4] strh r1, [r0, #6] - bl sub_03036B24 - b _02017BA0 -_02017B80: + bl sub_03807334 + b _027E83B0 +_027E8390: mov r0, #1 strh r0, [r5] - bl sub_03036B70 + bl sub_03807380 mov r1, #6 strh r1, [r0] mov r1, #0 strh r1, [r0, #2] - bl sub_03036B24 -_02017BA0: + bl sub_03807334 +_027E83B0: add sp, sp, #0x200 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02017BAC: .word 0x027F8878 - arm_func_end sub_02017B04 +_027E83BC: .word 0x027F8878 + arm_func_end sub_027E8314 - arm_func_start sub_02017BB0 -sub_02017BB0: ; 0x02017BB0 + arm_func_start sub_027E83C0 +sub_027E83C0: ; 0x027E83C0 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x1c mov r6, r0 add r1, sp, #0 add r0, r6, #4 - bl sub_02017C0C + bl sub_027E841C mov r5, r0 - bl sub_03036B70 + bl sub_03807380 mov r4, r0 mov r0, #0x23 strh r0, [r4] @@ -9472,18 +9473,18 @@ sub_02017BB0: ; 0x02017BB0 add r1, r4, #8 mov r2, #0x1c str r3, [r4, #4] - bl sub_0302D91C + bl sub_037FE12C mov r0, r4 - bl sub_03036B24 + bl sub_03807334 add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, lr} bx lr - arm_func_end sub_02017BB0 + arm_func_end sub_027E83C0 - arm_func_start sub_02017C0C -sub_02017C0C: ; 0x02017C0C + arm_func_start sub_027E841C +sub_027E841C: ; 0x027E841C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} - ldr r2, _02017F1C ; =0x027F8878 + ldr r2, _027E872C ; =0x027F8878 mov r4, r0 ldr r8, [r2, #0x550] ldr r7, [r4] @@ -9495,16 +9496,16 @@ sub_02017C0C: ; 0x02017C0C mov r0, r0, lsr #0x10 cmp r0, #1 mov r6, #0 - bhi _02017C50 + bhi _027E8460 tst r7, #0x2c00 bicne r7, r7, #0x2c00 movne r6, #3 -_02017C50: - bl sub_0302D4F0 +_027E8460: + bl sub_037FDD00 mov r5, r0 cmp sb, #0 - beq _02017CD8 - ldr r0, _02017F20 ; =0x00003FFF + beq _027E84E8 + ldr r0, _027E8730 ; =0x00003FFF str r0, [sb] ldrh r0, [r8, #0x58] strh r0, [sb, #4] @@ -9534,18 +9535,18 @@ _02017C50: strb r0, [sb, #0x1a] ldrh r0, [r8, #0x9c] strb r0, [sb, #0x1b] -_02017CD8: +_027E84E8: tst r7, #1 - beq _02017CF8 + beq _027E8508 ldrh r1, [r4, #4] add r0, r8, #0x700 cmp r1, #0 moveq r1, #0x10 strh r1, [r8, #0x58] strh r1, [r0, #0xc0] -_02017CF8: +_027E8508: tst r7, #2 - beq _02017D24 + beq _027E8534 ldrh r1, [r4, #6] add r0, r8, #0x700 cmp r1, #0 @@ -9555,9 +9556,9 @@ _02017CF8: ldrsh r0, [r8, #0x62] cmp r0, r1 strgth r1, [r8, #0x62] -_02017D24: +_027E8534: tst r7, #4 - beq _02017D50 + beq _027E8560 ldrh r1, [r4, #8] add r0, r8, #0x700 cmp r1, #0 @@ -9567,9 +9568,9 @@ _02017D24: ldrsh r0, [r8, #0x62] cmp r0, r1 strgth r1, [r8, #0x62] -_02017D50: +_027E8560: tst r7, #8 - beq _02017D7C + beq _027E858C ldrh r0, [r4, #0xa] ldrh r2, [r8, #0x34] add r1, r0, #1 @@ -9577,11 +9578,11 @@ _02017D50: mov r1, r1, lsl #0x10 cmp r2, r1, lsr #16 movlo r6, #6 - blo _02017D7C - bl sub_02010030 -_02017D7C: + blo _027E858C + bl sub_027E0840 +_027E858C: tst r7, #0x10 - beq _02017DA8 + beq _027E85B8 ldrh r0, [r4, #0xc] add r1, r0, #1 bic r1, r1, #1 @@ -9589,17 +9590,17 @@ _02017D7C: mov r1, r1, lsr #0x10 cmp r1, #0x200 movhi r6, #6 - bhi _02017DA8 - bl sub_0201005C -_02017DA8: + bhi _027E85B8 + bl sub_027E086C +_027E85B8: tst r7, #0x20 - beq _02017DFC + beq _027E860C ldrh r0, [r4, #0xe] - ldr r1, _02017F24 ; =0x00002710 + ldr r1, _027E8734 ; =0x00002710 cmp r0, r1 movhi r6, #6 - bhi _02017DFC - ldr r1, _02017F28 ; =0x000082EA + bhi _027E860C + ldr r1, _027E8738 ; =0x000082EA mov r2, #0 umull sb, r3, r0, r1 mla r3, r0, r2, r3 @@ -9613,15 +9614,15 @@ _02017DA8: str r2, [r8, #0x48] mov r0, r1, lsr #0xa str r0, [r8, #0x4c] -_02017DFC: +_027E860C: tst r7, #0x40 - beq _02017E50 + beq _027E8660 ldrh r0, [r4, #0x10] - ldr r1, _02017F24 ; =0x00002710 + ldr r1, _027E8734 ; =0x00002710 cmp r0, r1 movhi r6, #6 - bhi _02017E50 - ldr r1, _02017F28 ; =0x000082EA + bhi _027E8660 + ldr r1, _027E8738 ; =0x000082EA mov r2, #0 umull sb, r3, r0, r1 mla r3, r0, r2, r3 @@ -9635,39 +9636,39 @@ _02017DFC: str r2, [r8, #0x50] mov r0, r1, lsr #0xa str r0, [r8, #0x54] -_02017E50: +_027E8660: tst r7, #0x80 - beq _02017E84 + beq _027E8694 ldrh r1, [r4, #0x12] cmp r1, #0xbe - bls _02017E78 + bls _027E8688 cmp r1, #0xdc - blo _02017E80 - ldr r0, _02017F2C ; =0x00000106 + blo _027E8690 + ldr r0, _027E873C ; =0x00000106 cmp r1, r0 - bhi _02017E80 -_02017E78: + bhi _027E8690 +_027E8688: strh r1, [r8, #0x40] - b _02017E84 -_02017E80: + b _027E8694 +_027E8690: mov r6, #6 -_02017E84: +_027E8694: tst r7, #0x100 - beq _02017EB8 + beq _027E86C8 ldrh r1, [r4, #0x14] cmp r1, #0xbe - bls _02017EAC + bls _027E86BC cmp r1, #0xdc - blo _02017EB4 - ldr r0, _02017F2C ; =0x00000106 + blo _027E86C4 + ldr r0, _027E873C ; =0x00000106 cmp r1, r0 - bhi _02017EB4 -_02017EAC: + bhi _027E86C4 +_027E86BC: strh r1, [r8, #0x42] - b _02017EB8 -_02017EB4: + b _027E86C8 +_027E86C4: mov r6, #6 -_02017EB8: +_027E86C8: tst r7, #0x200 ldrneh r1, [r4, #0x16] addne r0, r8, #0x700 @@ -9689,85 +9690,85 @@ _02017EB8: ldrneb r0, [r4, #0x1b] strneh r0, [r8, #0x9c] mov r0, r5 - bl sub_0302D504 + bl sub_037FDD14 mov r0, r6 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, lr} bx lr .align 2, 0 -_02017F1C: .word 0x027F8878 -_02017F20: .word 0x00003FFF -_02017F24: .word 0x00002710 -_02017F28: .word 0x000082EA -_02017F2C: .word 0x00000106 - arm_func_end sub_02017C0C +_027E872C: .word 0x027F8878 +_027E8730: .word 0x00003FFF +_027E8734: .word 0x00002710 +_027E8738: .word 0x000082EA +_027E873C: .word 0x00000106 + arm_func_end sub_027E841C - arm_func_start sub_02017F30 -sub_02017F30: ; 0x02017F30 + arm_func_start sub_027E8740 +sub_027E8740: ; 0x027E8740 stmdb sp!, {r4, lr} sub sp, sp, #0x200 ldr r1, [r0, #4] add r0, sp, #0 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 - bl sub_02011F4C + bl sub_027E275C ldrh r4, [r0, #4] cmp r4, #0 - beq _02017F80 - bl sub_03036B70 + beq _027E8790 + bl sub_03807380 mov r1, #0x24 strh r1, [r0] mov r2, #1 - ldr r1, _02017FA4 ; =0x00000242 + ldr r1, _027E87B4 ; =0x00000242 strh r2, [r0, #2] strh r1, [r0, #4] strh r4, [r0, #6] - bl sub_03036B24 - b _02017F98 -_02017F80: - bl sub_03036B70 + bl sub_03807334 + b _027E87A8 +_027E8790: + bl sub_03807380 mov r1, #0x24 strh r1, [r0] mov r1, #0 strh r1, [r0, #2] - bl sub_03036B24 -_02017F98: + bl sub_03807334 +_027E87A8: add sp, sp, #0x200 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02017FA4: .word 0x00000242 - arm_func_end sub_02017F30 +_027E87B4: .word 0x00000242 + arm_func_end sub_027E8740 - arm_func_start sub_02017FA8 -sub_02017FA8: ; 0x02017FA8 - ldr ip, _02017FB8 ; =sub_027E44FC + arm_func_start sub_027E87B8 +sub_027E87B8: ; 0x027E87B8 + ldr ip, _027E87C8 ; =sub_027E44FC mov r1, #1 mov r2, #0 bx ip .align 2, 0 -_02017FB8: .word sub_027E44FC - arm_func_end sub_02017FA8 +_027E87C8: .word sub_027E44FC + arm_func_end sub_027E87B8 - arm_func_start sub_02017FBC -sub_02017FBC: ; 0x02017FBC + arm_func_start sub_027E87CC +sub_027E87CC: ; 0x027E87CC stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x230 - ldr r1, _02018138 ; =0x027F8878 + ldr r1, _027E8948 ; =0x027F8878 mov r7, r0 ldr r6, [r1, #0x550] add r5, sp, #0x30 - bl sub_03036B70 + bl sub_03807380 mov r4, r0 mov r1, #0x28 strh r1, [r4] ldrh r1, [r6] cmp r1, #0xb - beq _02018000 + beq _027E8810 mov r1, #3 strh r1, [r4, #2] - bl sub_03036B24 - b _0201812C -_02018000: + bl sub_03807334 + b _027E893C +_027E8810: ldr r0, [r7, #4] mov r2, #0 cmp r0, #1 @@ -9777,26 +9778,26 @@ _02018000: mov r0, r5 mov r1, r1, lsr #0x10 mov r3, #1 - bl sub_020115AC + bl sub_027E1DBC ldrh r1, [r0, #4] cmp r1, #0 - beq _02018054 + beq _027E8864 mov r1, #1 strh r1, [r4, #2] strh r1, [r4, #4] ldrh r1, [r0, #4] mov r0, r4 strh r1, [r4, #6] - bl sub_03036B24 - b _0201812C -_02018054: - ldr r0, _02018138 ; =0x027F8878 + bl sub_03807334 + b _027E893C +_027E8864: + ldr r0, _027E8948 ; =0x027F8878 mov r2, #6 ldr r5, [r0, #0x550] add r0, r5, #0x8a add r0, r0, #0x100 add r1, r5, #0xa2 - bl sub_0302D91C + bl sub_037FE12C add r1, sp, #0x30 str r1, [r5, #0xa8] mov r0, #0 @@ -9805,7 +9806,7 @@ _02018054: str r2, [r5, #0x18] add r1, sp, #0 mov r2, #0x30 - bl sub_0302D764 + bl sub_037FDF74 mov r0, #0 strh r0, [sp] strh r0, [sp, #6] @@ -9819,18 +9820,18 @@ _02018054: add r0, r0, #0x100 mov r2, #6 strb r3, [sp, #0xe] - bl sub_0302D91C + bl sub_037FE12C add r1, sp, #0x1e add r0, r5, #0xe0 mov r2, #6 - bl sub_0302D91C + bl sub_037FE12C add r0, sp, #0x30 str r0, [sp, #0x2c] add r1, sp, #0 - bl sub_020119F0 + bl sub_027E2200 ldrh r1, [r0, #4] cmp r1, #0 - beq _0201811C + beq _027E892C mov r1, #1 strh r1, [r4, #2] mov r1, #0x100 @@ -9838,84 +9839,84 @@ _02018054: ldrh r1, [r0, #4] mov r0, r4 strh r1, [r4, #6] - bl sub_03036B24 - b _0201812C -_0201811C: + bl sub_03807334 + b _027E893C +_027E892C: mov r1, #0 mov r0, r4 strh r1, [r4, #2] - bl sub_03036B24 -_0201812C: + bl sub_03807334 +_027E893C: add sp, sp, #0x230 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02018138: .word 0x027F8878 - arm_func_end sub_02017FBC +_027E8948: .word 0x027F8878 + arm_func_end sub_027E87CC - arm_func_start sub_0201813C -sub_0201813C: ; 0x0201813C + arm_func_start sub_027E894C +sub_027E894C: ; 0x027E894C stmdb sp!, {r3, lr} - bl sub_03036B70 + bl sub_03807380 mov r1, #0x29 strh r1, [r0] mov r1, #4 strh r1, [r0, #2] - bl sub_03036B24 + bl sub_03807334 ldmia sp!, {r3, lr} bx lr - arm_func_end sub_0201813C + arm_func_end sub_027E894C - arm_func_start sub_02018160 -sub_02018160: ; 0x02018160 + arm_func_start sub_027E8970 +sub_027E8970: ; 0x027E8970 stmdb sp!, {r3, lr} - bl sub_03036B70 + bl sub_03807380 mov r1, #0x2a strh r1, [r0] mov r1, #4 strh r1, [r0, #2] - bl sub_03036B24 + bl sub_03807334 ldmia sp!, {r3, lr} bx lr - arm_func_end sub_02018160 + arm_func_end sub_027E8970 - arm_func_start sub_02018184 -sub_02018184: ; 0x02018184 + arm_func_start sub_027E8994 +sub_027E8994: ; 0x027E8994 stmdb sp!, {r3, lr} - bl sub_0201A3D0 - bl sub_020194E4 - bl sub_02019F10 - bl sub_02018534 - bl sub_020183B4 - ldr r0, _020181CC ; =0x0380FFF4 + bl sub_027EABE0 + bl sub_027E9CF4 + bl sub_027EA720 + bl sub_027E8D44 + bl sub_027E8BC4 + ldr r0, _027E89DC ; =0x0380FFF4 ldr r0, [r0] add r1, r0, #0x300 ldr r0, [r0, #0x31c] ldrh r1, [r1, #0x20] - bl sub_020185CC - bl sub_0201BED4 - bl sub_0201D8A0 - bl sub_0201BC64 - bl sub_02018FA0 + bl sub_027E8DDC + bl sub_027EC6E4 + bl sub_027EE0B0 + bl sub_027EC474 + bl sub_027E97B0 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_020181CC: .word 0x0380FFF4 - arm_func_end sub_02018184 +_027E89DC: .word 0x0380FFF4 + arm_func_end sub_027E8994 - arm_func_start sub_020181D0 -sub_020181D0: ; 0x020181D0 + arm_func_start sub_027E89E0 +sub_027E89E0: ; 0x027E89E0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc mov r4, r0 ldr r1, [r4] - ldr r3, _02018390 ; =0x0380FFF4 - ldr r2, _02018394 ; =0x00000694 + ldr r3, _027E8BA0 ; =0x0380FFF4 + ldr r2, _027E8BA4 ; =0x00000694 mov r0, #0 str r1, [r3] - bl sub_0302D804 - bl sub_0302B3EC - ldr r2, _02018390 ; =0x0380FFF4 + bl sub_037FE014 + bl sub_037FBBFC + ldr r2, _027E8BA0 ; =0x0380FFF4 ldr r1, [r2] str r0, [r1, #0x314] ldr r1, [r4, #0x18] @@ -9931,10 +9932,10 @@ sub_020181D0: ; 0x020181D0 mvneq r0, #0 streq r0, [r1, #0x310] add r0, r4, #0x20 - bl sub_0201845C - bl sub_020246B0 - ldr r3, _02018398 ; =0x04000304 - ldr r1, _02018390 ; =0x0380FFF4 + bl sub_027E8C6C + bl sub_027F4EC0 + ldr r3, _027E8BA8 ; =0x04000304 + ldr r1, _027E8BA0 ; =0x0380FFF4 ldrh r2, [r3] mov r0, #0x30 orr r2, r2, #2 @@ -9948,14 +9949,14 @@ sub_020181D0: ; 0x020181D0 add r1, r1, #0x92 add r2, r1, #0x600 mov r1, #2 - bl sub_02024600 - ldr r1, _02018390 ; =0x0380FFF4 + bl sub_027F4E10 + ldr r1, _027E8BA0 ; =0x0380FFF4 mov r0, #0x3e ldr r2, [r1] mov r1, #2 add r2, r2, #0x690 - bl sub_02024600 - ldr r2, _02018390 ; =0x0380FFF4 + bl sub_027F4E10 + ldr r2, _027E8BA0 ; =0x0380FFF4 ldr r3, [r4, #0x10] ldr r0, [r2] mov r1, #0x1c @@ -9964,55 +9965,55 @@ sub_020181D0: ; 0x020181D0 ldr r2, [r4, #0x14] str r2, [r0, #0x304] ldr r0, [r4, #0x30] - bl sub_030365C4 + bl sub_03806DD4 mov r1, r0 ldr r0, [r4, #0x2c] - bl sub_020185CC - bl sub_020183B4 - bl sub_0201BED4 - bl sub_0201D8A0 - bl sub_0201BC64 - bl sub_0201A138 + bl sub_027E8DDC + bl sub_027E8BC4 + bl sub_027EC6E4 + bl sub_027EE0B0 + bl sub_027EC474 + bl sub_027EA948 add r0, sp, #8 - bl sub_0202451C + bl sub_027F4D2C cmp r0, #0 - beq _0201830C - ldr r0, _02018390 ; =0x0380FFF4 + beq _027E8B1C + ldr r0, _027E8BA0 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x300 ldrh r1, [r0, #0x3e] orr r1, r1, #0x80 strh r1, [r0, #0x3e] - b _02018334 -_0201830C: - bl sub_02019EA0 - bl sub_0201AA10 - bl sub_0201956C - bl sub_02019F10 - bl sub_02019FB0 - bl sub_0201ABB4 - bl sub_0201AD40 - bl sub_02019F48 - bl sub_02018FA0 - bl sub_020194E4 -_02018334: + b _027E8B44 +_027E8B1C: + bl sub_027EA6B0 + bl sub_027EB220 + bl sub_027E9D7C + bl sub_027EA720 + bl sub_027EA7C0 + bl sub_027EB3C4 + bl sub_027EB550 + bl sub_027EA758 + bl sub_027E97B0 + bl sub_027E9CF4 +_027E8B44: ldr r1, [r4, #8] - ldr r0, _02018390 ; =0x0380FFF4 + ldr r0, _027E8BA0 ; =0x0380FFF4 str r1, [sp] ldr r2, [r4, #0xc] - ldr r1, _0201839C ; =0x037F84E0 + ldr r1, _027E8BAC ; =0x037F84E0 str r2, [sp, #4] ldr r0, [r0] ldr r3, [r4, #4] add r0, r0, #0x18 mov r2, #0 - bl sub_0302B844 - ldr r0, _02018390 ; =0x0380FFF4 + bl sub_037FC054 + ldr r0, _027E8BA0 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x18 - bl sub_0302BB5C - bl sub_0201B0AC - ldr r0, _02018390 ; =0x0380FFF4 + bl sub_037FC36C + bl sub_027EB8BC + ldr r0, _027E8BA0 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x300 ldrh r0, [r0, #0x3e] @@ -10020,32 +10021,32 @@ _02018334: ldmia sp!, {r3, r4, lr} bx lr .align 2, 0 -_02018390: .word 0x0380FFF4 -_02018394: .word 0x00000694 -_02018398: .word 0x04000304 -_0201839C: .word 0x037F84E0 - arm_func_end sub_020181D0 +_027E8BA0: .word 0x0380FFF4 +_027E8BA4: .word 0x00000694 +_027E8BA8: .word 0x04000304 +_027E8BAC: .word 0x037F84E0 + arm_func_end sub_027E89E0 - arm_func_start sub_020183A0 -sub_020183A0: ; 0x020183A0 - ldr r0, _020183B0 ; =0x0380FFF4 + arm_func_start sub_027E8BB0 +sub_027E8BB0: ; 0x027E8BB0 + ldr r0, _027E8BC0 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x18 bx lr .align 2, 0 -_020183B0: .word 0x0380FFF4 - arm_func_end sub_020183A0 +_027E8BC0: .word 0x0380FFF4 + arm_func_end sub_027E8BB0 - arm_func_start sub_020183B4 -sub_020183B4: ; 0x020183B4 + arm_func_start sub_027E8BC4 +sub_027E8BC4: ; 0x027E8BC4 stmdb sp!, {r4, lr} - ldr r0, _02018434 ; =0x0380FFF4 + ldr r0, _027E8C44 ; =0x0380FFF4 mov r3, #0 ldr lr, [r0] - ldr r2, _02018438 ; =0x0000FFFF + ldr r2, _027E8C48 ; =0x0000FFFF strh r3, [lr, #0x10] strh r3, [lr, #0x12] -_020183D0: +_027E8BE0: add r0, lr, r3, lsl #1 strh r2, [r0, #8] ldrh r0, [r0, #8] @@ -10053,12 +10054,12 @@ _020183D0: add r3, r3, #1 strh r0, [lr, r1] cmp r3, #4 - blo _020183D0 - ldr ip, _02018438 ; =0x0000FFFF + blo _027E8BE0 + ldr ip, _027E8C48 ; =0x0000FFFF mov r4, #0 - ldr r1, _0201843C ; =0x027F723C + ldr r1, _027E8C4C ; =0x027F723C mov r2, r4 -_02018400: +_027E8C10: add r3, lr, r4, lsl #3 strh ip, [r3, #0xbc] ldr r0, [r1, r4, lsl #2] @@ -10066,20 +10067,20 @@ _02018400: add r4, r4, #1 str r0, [r3, #0xc0] cmp r4, #0x18 - blo _02018400 + blo _027E8C10 mov r0, #3 mov r1, #0xc - bl sub_03027D88 + bl sub_037F8598 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02018434: .word 0x0380FFF4 -_02018438: .word 0x0000FFFF -_0201843C: .word 0x027F723C - arm_func_end sub_020183B4 +_027E8C44: .word 0x0380FFF4 +_027E8C48: .word 0x0000FFFF +_027E8C4C: .word 0x027F723C + arm_func_end sub_027E8BC4 - arm_func_start sub_02018440 -sub_02018440: ; 0x02018440 + arm_func_start sub_027E8C50 +sub_027E8C50: ; 0x027E8C50 mvn r2, #0 str r2, [r0] str r2, [r0, #4] @@ -10087,12 +10088,12 @@ sub_02018440: ; 0x02018440 strh r2, [r0, #8] strh r1, [r0, #0xa] bx lr - arm_func_end sub_02018440 + arm_func_end sub_027E8C50 - arm_func_start sub_0201845C -sub_0201845C: ; 0x0201845C + arm_func_start sub_027E8C6C +sub_027E8C6C: ; 0x027E8C6C stmdb sp!, {r3, r4, r5, lr} - ldr r1, _02018530 ; =0x0380FFF4 + ldr r1, _027E8D40 ; =0x0380FFF4 ldr r2, [r0] ldr r4, [r1] mov r1, #2 @@ -10103,40 +10104,40 @@ sub_0201845C: ; 0x0201845C ldr r2, [r0, #8] add r0, r4, #0x188 str r2, [r4, #0x184] - bl sub_02018440 + bl sub_027E8C50 add r0, r4, #0x194 mov r1, #3 - bl sub_02018440 + bl sub_027E8C50 add r0, r4, #0x1a0 mov r1, #4 - bl sub_02018440 + bl sub_027E8C50 add r0, r4, #0x1ac mov r1, #5 - bl sub_02018440 + bl sub_027E8C50 add r0, r4, #0x1b8 mov r1, #6 - bl sub_02018440 + bl sub_027E8C50 add r0, r4, #0x1c4 mov r1, #7 - bl sub_02018440 + bl sub_027E8C50 add r0, r4, #0x1d0 mov r1, #8 - bl sub_02018440 + bl sub_027E8C50 add r0, r4, #0x1dc mov r1, #9 - bl sub_02018440 + bl sub_027E8C50 add r0, r4, #0x1e8 mov r1, #0xa - bl sub_02018440 + bl sub_027E8C50 add r0, r4, #0x1f4 mov r1, #0xb - bl sub_02018440 + bl sub_027E8C50 add r0, r4, #0x200 mov r1, #0xc - bl sub_02018440 + bl sub_027E8C50 add r0, r4, #0x188 mov r1, #0x81 - bl sub_0302805C + bl sub_037F886C add r0, r0, #0xc str r0, [r5, #0x9c] mov r0, #0 @@ -10145,63 +10146,63 @@ sub_0201845C: ; 0x0201845C ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02018530: .word 0x0380FFF4 - arm_func_end sub_0201845C +_027E8D40: .word 0x0380FFF4 + arm_func_end sub_027E8C6C - arm_func_start sub_02018534 -sub_02018534: ; 0x02018534 + arm_func_start sub_027E8D44 +sub_027E8D44: ; 0x027E8D44 stmdb sp!, {r4, lr} - ldr r0, _02018588 ; =0x0380FFF4 + ldr r0, _027E8D98 ; =0x0380FFF4 ldr r4, [r0] add r0, r4, #0x194 - bl sub_0201858C + bl sub_027E8D9C add r0, r4, #0x1a0 - bl sub_0201858C + bl sub_027E8D9C add r0, r4, #0x1ac - bl sub_0201858C + bl sub_027E8D9C add r0, r4, #0x1b8 - bl sub_0201858C + bl sub_027E8D9C add r0, r4, #0x1c4 - bl sub_0201858C + bl sub_027E8D9C add r0, r4, #0x1d0 - bl sub_0201858C + bl sub_027E8D9C add r0, r4, #0x1dc - bl sub_0201858C + bl sub_027E8D9C add r0, r4, #0x1e8 - bl sub_0201858C + bl sub_027E8D9C ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02018588: .word 0x0380FFF4 - arm_func_end sub_02018534 +_027E8D98: .word 0x0380FFF4 + arm_func_end sub_027E8D44 - arm_func_start sub_0201858C -sub_0201858C: ; 0x0201858C + arm_func_start sub_027E8D9C +sub_027E8D9C: ; 0x027E8D9C stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldrh r0, [r6, #8] ldr r1, [r6] cmp r0, #0 - beq _020185C4 + beq _027E8DD4 mvn r4, #0 - b _020185BC -_020185AC: + b _027E8DCC +_027E8DBC: ldr r5, [r1, #4] mov r0, r6 - bl sub_030280F8 + bl sub_037F8908 mov r1, r5 -_020185BC: +_027E8DCC: cmp r1, r4 - bne _020185AC -_020185C4: + bne _027E8DBC +_027E8DD4: ldmia sp!, {r4, r5, r6, lr} bx lr - arm_func_end sub_0201858C + arm_func_end sub_027E8D9C - arm_func_start sub_020185CC -sub_020185CC: ; 0x020185CC + arm_func_start sub_027E8DDC +sub_027E8DDC: ; 0x027E8DDC stmdb sp!, {r4, r5, r6, lr} - ldr r2, _02018648 ; =0x0380FFF4 + ldr r2, _027E8E58 ; =0x0380FFF4 mov r5, r0 ldr r3, [r2] mov r6, r1 @@ -10209,14 +10210,14 @@ sub_020185CC: ; 0x020185CC mov r0, #0 mov r2, #0x28 ldr r4, [r3, #0x3e0] - bl sub_0302D764 - ldr r1, _02018648 ; =0x0380FFF4 + bl sub_037FDF74 + ldr r1, _027E8E58 ; =0x0380FFF4 mov r0, #0 ldr r1, [r1] mov r2, #0xc0 add r1, r1, #0x344 - bl sub_0302D764 - ldr r3, _02018648 ; =0x0380FFF4 + bl sub_037FDF74 + ldr r3, _027E8E58 ; =0x0380FFF4 mov r0, r6, lsl #0x10 ldr r2, [r3] mov r1, r0, lsr #0x10 @@ -10232,46 +10233,46 @@ sub_020185CC: ; 0x020185CC ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_02018648: .word 0x0380FFF4 - arm_func_end sub_020185CC +_027E8E58: .word 0x0380FFF4 + arm_func_end sub_027E8DDC - arm_func_start sub_0201864C -sub_0201864C: ; 0x0201864C + arm_func_start sub_027E8E5C +sub_027E8E5C: ; 0x027E8E5C stmdb sp!, {r4, lr} mov r4, r0 ldrh r0, [r4] tst r0, #1 movne r0, #5 - bne _0201869C - ldr r0, _020186A4 ; =0x0380FFF4 + bne _027E8EAC + ldr r0, _027E8EB4 ; =0x0380FFF4 mov r1, r4 ldr r0, [r0] add r0, r0, #0x324 - bl sub_020198D0 - ldr r0, _020186A8 ; =0x04808018 + bl sub_027EA0E0 + ldr r0, _027E8EB8 ; =0x04808018 mov r1, r4 - bl sub_020198D0 - ldr r1, _020186A4 ; =0x0380FFF4 + bl sub_027EA0E0 + ldr r1, _027E8EB4 ; =0x0380FFF4 mov r0, #0 ldr r2, [r1] ldr r1, [r2, #0x340] orr r1, r1, #2 str r1, [r2, #0x340] -_0201869C: +_027E8EAC: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_020186A4: .word 0x0380FFF4 -_020186A8: .word 0x04808018 - arm_func_end sub_0201864C +_027E8EB4: .word 0x0380FFF4 +_027E8EB8: .word 0x04808018 + arm_func_end sub_027E8E5C - arm_func_start sub_020186AC -sub_020186AC: ; 0x020186AC + arm_func_start sub_027E8EBC +sub_027E8EBC: ; 0x027E8EBC cmp r0, #0xff movhi r0, #5 bxhi lr - ldr r1, _020186D8 ; =0x0380FFF4 - ldr r2, _020186DC ; =0x0480802C + ldr r1, _027E8EE8 ; =0x0380FFF4 + ldr r2, _027E8EEC ; =0x0480802C ldr r1, [r1] add r1, r1, #0x300 strh r0, [r1, #0x2a] @@ -10279,17 +10280,17 @@ sub_020186AC: ; 0x020186AC mov r0, #0 bx lr .align 2, 0 -_020186D8: .word 0x0380FFF4 -_020186DC: .word 0x0480802C - arm_func_end sub_020186AC +_027E8EE8: .word 0x0380FFF4 +_027E8EEC: .word 0x0480802C + arm_func_end sub_027E8EBC - arm_func_start sub_020186E0 -sub_020186E0: ; 0x020186E0 - ldr r1, _02018718 ; =0x00007FFE + arm_func_start sub_027E8EF0 +sub_027E8EF0: ; 0x027E8EF0 + ldr r1, _027E8F28 ; =0x00007FFE tst r0, r1 moveq r0, #5 bxeq lr - ldr r2, _0201871C ; =0x0380FFF4 + ldr r2, _027E8F2C ; =0x0380FFF4 ldr r1, [r2] add r1, r1, #0x300 strh r0, [r1, #0x2c] @@ -10300,20 +10301,20 @@ sub_020186E0: ; 0x020186E0 str r1, [r2, #0x340] bx lr .align 2, 0 -_02018718: .word 0x00007FFE -_0201871C: .word 0x0380FFF4 - arm_func_end sub_020186E0 +_027E8F28: .word 0x00007FFE +_027E8F2C: .word 0x0380FFF4 + arm_func_end sub_027E8EF0 - arm_func_start sub_02018720 -sub_02018720: ; 0x02018720 + arm_func_start sub_027E8F30 +sub_027E8F30: ; 0x027E8F30 stmdb sp!, {r3, lr} cmp r0, #3 movhi r0, #5 - bhi _0201878C - ldr ip, _02018794 ; =0x0380FFF4 - ldr r3, _02018798 ; =0x04808006 + bhi _027E8F9C + ldr ip, _027E8FA4 ; =0x0380FFF4 + ldr r3, _027E8FA8 ; =0x04808006 ldr r1, [ip] - ldr r2, _0201879C ; =0x0000FFF8 + ldr r2, _027E8FAC ; =0x0000FFF8 add r1, r1, #0x300 strh r0, [r1, #0x2e] ldr r1, [ip] @@ -10326,44 +10327,44 @@ sub_02018720: ; 0x02018720 ldr r0, [ip] add r0, r0, #0x300 ldrh r0, [r0, #0x52] - bl sub_0201943C - ldr r1, _02018794 ; =0x0380FFF4 + bl sub_027E9C4C + ldr r1, _027E8FA4 ; =0x0380FFF4 mov r0, #0 ldr r2, [r1] ldr r1, [r2, #0x340] orr r1, r1, #8 str r1, [r2, #0x340] -_0201878C: +_027E8F9C: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02018794: .word 0x0380FFF4 -_02018798: .word 0x04808006 -_0201879C: .word 0x0000FFF8 - arm_func_end sub_02018720 +_027E8FA4: .word 0x0380FFF4 +_027E8FA8: .word 0x04808006 +_027E8FAC: .word 0x0000FFF8 + arm_func_end sub_027E8F30 - arm_func_start sub_020187A0 -sub_020187A0: ; 0x020187A0 + arm_func_start sub_027E8FB0 +sub_027E8FB0: ; 0x027E8FB0 stmdb sp!, {r3, lr} cmp r0, #2 movhi r0, #5 - bhi _020187C8 - ldr r1, _020187D0 ; =0x0380FFF4 + bhi _027E8FD8 + ldr r1, _027E8FE0 ; =0x0380FFF4 ldr r1, [r1] add r1, r1, #0x300 strh r0, [r1, #0x30] - bl sub_020193BC + bl sub_027E9BCC mov r0, #0 -_020187C8: +_027E8FD8: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_020187D0: .word 0x0380FFF4 - arm_func_end sub_020187A0 +_027E8FE0: .word 0x0380FFF4 + arm_func_end sub_027E8FB0 - arm_func_start sub_020187D4 -sub_020187D4: ; 0x020187D4 - ldr r1, _02018868 ; =0x0380FFF4 + arm_func_start sub_027E8FE4 +sub_027E8FE4: ; 0x027E8FE4 + ldr r1, _027E9078 ; =0x0380FFF4 cmp r0, #3 ldr r1, [r1] movhi r0, #5 @@ -10376,7 +10377,7 @@ sub_020187D4: ; 0x020187D4 biceq r1, r1, #0x10 streqh r1, [r2, #0x7c] ldreqh r1, [r2, #0x8a] - ldr r3, _0201886C ; =0x04808006 + ldr r3, _027E907C ; =0x04808006 biceq r1, r1, #0x4000 orrne r1, r1, #0x10 strneh r1, [r2, #0x7c] @@ -10386,13 +10387,13 @@ sub_020187D4: ; 0x020187D4 ldrh r1, [r2, #8] cmp r1, #0x40 cmpeq r0, #1 - ldreq r1, _02018868 ; =0x0380FFF4 + ldreq r1, _027E9078 ; =0x0380FFF4 ldreqh r2, [r2, #0x7c] ldreq r1, [r1] ldreq r1, [r1, #0x4ac] streqh r2, [r1, #0x2e] cmp r0, #0 - ldr r1, _02018870 ; =0x0000FFC7 + ldr r1, _027E9080 ; =0x0000FFC7 ldrh r2, [r3] moveq r0, #1 and r1, r2, r1 @@ -10401,15 +10402,15 @@ sub_020187D4: ; 0x020187D4 mov r0, #0 bx lr .align 2, 0 -_02018868: .word 0x0380FFF4 -_0201886C: .word 0x04808006 -_02018870: .word 0x0000FFC7 - arm_func_end sub_020187D4 +_027E9078: .word 0x0380FFF4 +_027E907C: .word 0x04808006 +_027E9080: .word 0x0000FFC7 + arm_func_end sub_027E8FE4 - arm_func_start sub_02018874 -sub_02018874: ; 0x02018874 + arm_func_start sub_027E9084 +sub_027E9084: ; 0x027E9084 cmp r0, #3 - ldrls r1, _02018894 ; =0x0380FFF4 + ldrls r1, _027E90A4 ; =0x0380FFF4 movhi r0, #5 ldrls r1, [r1] addls r1, r1, #0x300 @@ -10417,44 +10418,44 @@ sub_02018874: ; 0x02018874 movls r0, #0 bx lr .align 2, 0 -_02018894: .word 0x0380FFF4 - arm_func_end sub_02018874 +_027E90A4: .word 0x0380FFF4 + arm_func_end sub_027E9084 - arm_func_start sub_02018898 -sub_02018898: ; 0x02018898 + arm_func_start sub_027E90A8 +sub_027E90A8: ; 0x027E90A8 stmdb sp!, {r4, lr} - ldr r1, _020188E8 ; =0x04805F80 + ldr r1, _027E90F8 ; =0x04805F80 mov r2, #0x14 mov r4, r0 - bl sub_0302D78C - ldr r1, _020188EC ; =0x04805FA0 + bl sub_037FDF9C + ldr r1, _027E90FC ; =0x04805FA0 add r0, r4, #0x14 mov r2, #0x14 - bl sub_0302D78C - ldr r1, _020188F0 ; =0x04805FC0 + bl sub_037FDF9C + ldr r1, _027E9100 ; =0x04805FC0 add r0, r4, #0x28 mov r2, #0x14 - bl sub_0302D78C - ldr r1, _020188F4 ; =0x04805FE0 + bl sub_037FDF9C + ldr r1, _027E9104 ; =0x04805FE0 add r0, r4, #0x3c mov r2, #0x14 - bl sub_0302D78C + bl sub_037FDF9C mov r0, #0 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_020188E8: .word 0x04805F80 -_020188EC: .word 0x04805FA0 -_020188F0: .word 0x04805FC0 -_020188F4: .word 0x04805FE0 - arm_func_end sub_02018898 +_027E90F8: .word 0x04805F80 +_027E90FC: .word 0x04805FA0 +_027E9100: .word 0x04805FC0 +_027E9104: .word 0x04805FE0 + arm_func_end sub_027E90A8 - arm_func_start sub_020188F8 -sub_020188F8: ; 0x020188F8 + arm_func_start sub_027E9108 +sub_027E9108: ; 0x027E9108 cmp r0, #1 movhi r0, #5 bxhi lr - ldr r1, _0201892C ; =0x0380FFF4 + ldr r1, _027E913C ; =0x0380FFF4 and r2, r0, #1 ldr r1, [r1] mov r0, #0 @@ -10465,15 +10466,15 @@ sub_020188F8: ; 0x020188F8 strh r2, [r1, #0x3a] bx lr .align 2, 0 -_0201892C: .word 0x0380FFF4 - arm_func_end sub_020188F8 +_027E913C: .word 0x0380FFF4 + arm_func_end sub_027E9108 - arm_func_start sub_02018930 -sub_02018930: ; 0x02018930 + arm_func_start sub_027E9140 +sub_027E9140: ; 0x027E9140 cmp r0, #1 movhi r0, #5 bxhi lr - ldr r1, _02018964 ; =0x0380FFF4 + ldr r1, _027E9174 ; =0x0380FFF4 mov r2, r0, lsl #0x1f ldr r1, [r1] mov r0, #0 @@ -10484,15 +10485,15 @@ sub_02018930: ; 0x02018930 strh r2, [r1, #0x3a] bx lr .align 2, 0 -_02018964: .word 0x0380FFF4 - arm_func_end sub_02018930 +_027E9174: .word 0x0380FFF4 + arm_func_end sub_027E9140 - arm_func_start sub_02018968 -sub_02018968: ; 0x02018968 + arm_func_start sub_027E9178 +sub_027E9178: ; 0x027E9178 cmp r0, #0xff movhi r0, #5 bxhi lr - ldr r2, _0201899C ; =0x0380FFF4 + ldr r2, _027E91AC ; =0x0380FFF4 mov r3, #0 ldr r1, [r2] add r1, r1, #0x300 @@ -10503,29 +10504,29 @@ sub_02018968: ; 0x02018968 mov r0, r3 bx lr .align 2, 0 -_0201899C: .word 0x0380FFF4 - arm_func_end sub_02018968 +_027E91AC: .word 0x0380FFF4 + arm_func_end sub_027E9178 - arm_func_start sub_020189A0 -sub_020189A0: ; 0x020189A0 + arm_func_start sub_027E91B0 +sub_027E91B0: ; 0x027E91B0 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 cmp r4, #0xa movlo r0, #5 - blo _02018A40 - ldr r0, _02018A48 ; =0x0380FFF4 + blo _027E9250 + ldr r0, _027E9258 ; =0x0380FFF4 cmp r1, #0 ldr r0, [r0] add r0, r0, #0x300 strh r4, [r0, #0x3c] - ldrne r0, _02018A4C ; =0x04808134 + ldrne r0, _027E925C ; =0x04808134 strneh r4, [r0] - ldr r0, _02018A48 ; =0x0380FFF4 + ldr r0, _027E9258 ; =0x0380FFF4 ldr r1, [r0] add r0, r1, #0x400 ldrh r0, [r0, #0xa4] cmp r0, #0 - beq _02018A3C + beq _027E924C ldr r2, [r1, #0x4ac] add r0, r1, #0x300 ldrh r1, [r0, #0x52] @@ -10534,57 +10535,57 @@ sub_020189A0: ; 0x020189A0 add r5, r2, r0 cmp r1, #1 add r0, r5, #6 - bne _02018A28 + bne _027E9238 and r1, r4, #0xff - bl sub_0201A514 + bl sub_027EAD24 mov r1, r4, asr #8 add r0, r5, #7 and r1, r1, #0xff - bl sub_0201A514 - b _02018A3C -_02018A28: + bl sub_027EAD24 + b _027E924C +_027E9238: mov r1, #0xff - bl sub_0201A514 + bl sub_027EAD24 add r0, r5, #7 mov r1, #0xff - bl sub_0201A514 -_02018A3C: + bl sub_027EAD24 +_027E924C: mov r0, #0 -_02018A40: +_027E9250: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02018A48: .word 0x0380FFF4 -_02018A4C: .word 0x04808134 - arm_func_end sub_020189A0 +_027E9258: .word 0x0380FFF4 +_027E925C: .word 0x04808134 + arm_func_end sub_027E91B0 - arm_func_start sub_02018A50 -sub_02018A50: ; 0x02018A50 - ldr r1, _02018A7C ; =0x0380FFF4 + arm_func_start sub_027E9260 +sub_027E9260: ; 0x027E9260 + ldr r1, _027E928C ; =0x0380FFF4 mov r2, #0 ldr r1, [r1] add r3, r1, #0x384 -_02018A60: +_027E9270: ldrh r1, [r0], #2 add r2, r2, #1 cmp r2, #0x10 strh r1, [r3], #2 - blo _02018A60 + blo _027E9270 mov r0, #0 bx lr .align 2, 0 -_02018A7C: .word 0x0380FFF4 - arm_func_end sub_02018A50 +_027E928C: .word 0x0380FFF4 + arm_func_end sub_027E9260 - arm_func_start sub_02018A80 -sub_02018A80: ; 0x02018A80 + arm_func_start sub_027E9290 +sub_027E9290: ; 0x027E9290 stmdb sp!, {r3, lr} - ldr r1, _02018B20 ; =0x0380FFF4 + ldr r1, _027E9330 ; =0x0380FFF4 cmp r0, #1 ldr r2, [r1] movhi r0, #5 add r1, r2, #0x344 - bhi _02018B18 + bhi _027E9328 add r2, r2, #0x300 ldrh ip, [r2, #0x3a] mov r3, r0, lsl #0x1f @@ -10598,7 +10599,7 @@ sub_02018A80: ; 0x02018A80 strh r2, [r1, #0x7c] ldrh r2, [r1, #8] cmp r2, #0x40 - ldreq r2, _02018B20 ; =0x0380FFF4 + ldreq r2, _027E9330 ; =0x0380FFF4 ldreq r3, [r2] addeq r2, r3, #0x300 ldreqh r2, [r2, #0x2e] @@ -10606,7 +10607,7 @@ sub_02018A80: ; 0x02018A80 ldreqh r2, [r1, #0x7c] ldreq r1, [r3, #0x4ac] streqh r2, [r1, #0x2e] - ldr r1, _02018B24 ; =0x048080BC + ldr r1, _027E9334 ; =0x048080BC cmp r0, #0 ldreqh r0, [r1] biceq r0, r0, #6 @@ -10614,20 +10615,20 @@ sub_02018A80: ; 0x02018A80 ldrneh r0, [r1] orrne r0, r0, #6 strneh r0, [r1] - bl sub_020193BC + bl sub_027E9BCC mov r0, #0 -_02018B18: +_027E9328: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02018B20: .word 0x0380FFF4 -_02018B24: .word 0x048080BC - arm_func_end sub_02018A80 +_027E9330: .word 0x0380FFF4 +_027E9334: .word 0x048080BC + arm_func_end sub_027E9290 - arm_func_start sub_02018B28 -sub_02018B28: ; 0x02018B28 + arm_func_start sub_027E9338 +sub_027E9338: ; 0x027E9338 cmp r0, #1 - ldrls r1, _02018B48 ; =0x0380FFF4 + ldrls r1, _027E9358 ; =0x0380FFF4 movhi r0, #5 ldrls r1, [r1] addls r1, r1, #0x300 @@ -10635,37 +10636,37 @@ sub_02018B28: ; 0x02018B28 movls r0, #0 bx lr .align 2, 0 -_02018B48: .word 0x0380FFF4 - arm_func_end sub_02018B28 +_027E9358: .word 0x0380FFF4 + arm_func_end sub_027E9338 - arm_func_start sub_02018B4C -sub_02018B4C: ; 0x02018B4C + arm_func_start sub_027E935C +sub_027E935C: ; 0x027E935C stmdb sp!, {r4, lr} cmp r0, #3 mov r4, r1 movhi r0, #5 - bhi _02018B88 + bhi _027E9398 cmp r4, #0x3f movhi r0, #5 - bhi _02018B88 + bhi _027E9398 mov r1, r0 mov r0, #0x13 - bl sub_02019DE0 + bl sub_027EA5F0 mov r1, r4 mov r0, #0x35 - bl sub_02019DE0 + bl sub_027EA5F0 mov r0, #0 -_02018B88: +_027E9398: ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02018B4C + arm_func_end sub_027E935C - arm_func_start sub_02018B90 -sub_02018B90: ; 0x02018B90 + arm_func_start sub_027E93A0 +sub_027E93A0: ; 0x027E93A0 cmp r0, #1 movhi r0, #5 bxhi lr - ldr r3, _02018BF0 ; =0x0380FFF4 + ldr r3, _027E9400 ; =0x0380FFF4 mov r0, r0, lsl #0x10 ldr r2, [r3] mov r1, r0, lsr #0x10 @@ -10676,7 +10677,7 @@ sub_02018B90: ; 0x02018B90 orr r1, r2, r1, lsr #28 strh r1, [r0, #0x3a] ldr r0, [r3] - ldr r1, _02018BF4 ; =0x04808290 + ldr r1, _027E9404 ; =0x04808290 add r0, r0, #0x300 ldrh r3, [r0, #0x3a] mov r0, #0 @@ -10687,23 +10688,23 @@ sub_02018B90: ; 0x02018B90 strh r2, [r1] bx lr .align 2, 0 -_02018BF0: .word 0x0380FFF4 -_02018BF4: .word 0x04808290 - arm_func_end sub_02018B90 +_027E9400: .word 0x0380FFF4 +_027E9404: .word 0x04808290 + arm_func_end sub_027E93A0 - arm_func_start sub_02018BF8 -sub_02018BF8: ; 0x02018BF8 + arm_func_start sub_027E9408 +sub_027E9408: ; 0x027E9408 cmp r0, #1 cmpls r1, #1 movhi r0, #5 bxhi lr cmp r0, #0 - beq _02018C1C + beq _027E942C cmp r0, #1 - beq _02018C48 - b _02018C70 -_02018C1C: - ldr r2, _02018CC4 ; =0x0380FFF4 + beq _027E9458 + b _027E9480 +_027E942C: + ldr r2, _027E94D4 ; =0x0380FFF4 mov r1, r1, lsl #0x10 ldr r3, [r2] mov r2, r1, lsr #0x10 @@ -10713,9 +10714,9 @@ _02018C1C: bic r3, r3, #0x20 orr r2, r3, r2, lsr #26 strh r2, [r1, #0x3a] - b _02018C70 -_02018C48: - ldr r1, _02018CC4 ; =0x0380FFF4 + b _027E9480 +_027E9458: + ldr r1, _027E94D4 ; =0x0380FFF4 ldr r1, [r1] add r1, r1, #0x300 ldrh r2, [r1, #0x2e] @@ -10725,8 +10726,8 @@ _02018C48: ldrh r2, [r1, #0x3a] bic r2, r2, #0x20 strh r2, [r1, #0x3a] -_02018C70: - ldr r3, _02018CC4 ; =0x0380FFF4 +_027E9480: + ldr r3, _027E94D4 ; =0x0380FFF4 mov r0, r0, lsl #0x10 ldr r2, [r3] mov r1, r0, lsr #0x10 @@ -10737,7 +10738,7 @@ _02018C70: orr r1, r2, r1, lsr #27 strh r1, [r0, #0x3a] ldr r0, [r3] - ldr r1, _02018CC8 ; =0x04808290 + ldr r1, _027E94D8 ; =0x04808290 add r0, r0, #0x300 ldrh r3, [r0, #0x3a] mov r0, #0 @@ -10748,16 +10749,16 @@ _02018C70: strh r2, [r1] bx lr .align 2, 0 -_02018CC4: .word 0x0380FFF4 -_02018CC8: .word 0x04808290 - arm_func_end sub_02018BF8 +_027E94D4: .word 0x0380FFF4 +_027E94D8: .word 0x04808290 + arm_func_end sub_027E9408 - arm_func_start sub_02018CCC -sub_02018CCC: ; 0x02018CCC + arm_func_start sub_027E94DC +sub_027E94DC: ; 0x027E94DC cmp r0, #1 movhi r0, #5 bxhi lr - ldr r1, _02018D08 ; =0x0380FFF4 + ldr r1, _027E9518 ; =0x0380FFF4 mov r0, r0, lsl #0x10 ldr r2, [r1] mov r1, r0, lsr #0x10 @@ -10770,15 +10771,15 @@ sub_02018CCC: ; 0x02018CCC mov r0, #0 bx lr .align 2, 0 -_02018D08: .word 0x0380FFF4 - arm_func_end sub_02018CCC +_027E9518: .word 0x0380FFF4 + arm_func_end sub_027E94DC - arm_func_start sub_02018D0C -sub_02018D0C: ; 0x02018D0C + arm_func_start sub_027E951C +sub_027E951C: ; 0x027E951C cmp r0, #1 movhi r0, #5 bxhi lr - ldr r2, _02018D54 ; =0x0380FFF4 + ldr r2, _027E9564 ; =0x0380FFF4 mov r1, r0, lsl #0x10 ldr r3, [r2] mov r2, r1, lsr #0x10 @@ -10788,30 +10789,30 @@ sub_02018D0C: ; 0x02018D0C bic r3, r3, #0x80 orr r2, r3, r2, lsr #24 strh r2, [r1, #0x3a] - ldreq r1, _02018D58 ; =0x0480802A + ldreq r1, _027E9568 ; =0x0480802A ldreqh r0, [r1] streqh r0, [r1, #-2] mov r0, #0 bx lr .align 2, 0 -_02018D54: .word 0x0380FFF4 -_02018D58: .word 0x0480802A - arm_func_end sub_02018D0C +_027E9564: .word 0x0380FFF4 +_027E9568: .word 0x0480802A + arm_func_end sub_027E951C - arm_func_start sub_02018D5C -sub_02018D5C: ; 0x02018D5C + arm_func_start sub_027E956C +sub_027E956C: ; 0x027E956C stmdb sp!, {r4, lr} - ldr r1, _02018DB4 ; =0x0380FFF4 + ldr r1, _027E95C4 ; =0x0380FFF4 mov r4, r0 ldr r0, [r1] mov r1, r4 add r0, r0, #0x3a8 - bl sub_020198D0 - ldr r0, _02018DB8 ; =0x04808020 + bl sub_027EA0E0 + ldr r0, _027E95C8 ; =0x04808020 mov r1, r4 - bl sub_020198D0 + bl sub_027EA0E0 ldrh r0, [r4] - ldr r1, _02018DBC ; =0x048080D0 + ldr r1, _027E95CC ; =0x048080D0 tst r0, #1 ldrneh r0, [r1] bicne r0, r0, #0x400 @@ -10823,15 +10824,15 @@ sub_02018D5C: ; 0x02018D5C ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02018DB4: .word 0x0380FFF4 -_02018DB8: .word 0x04808020 -_02018DBC: .word 0x048080D0 - arm_func_end sub_02018D5C +_027E95C4: .word 0x0380FFF4 +_027E95C8: .word 0x04808020 +_027E95CC: .word 0x048080D0 + arm_func_end sub_027E956C - arm_func_start sub_02018DC0 -sub_02018DC0: ; 0x02018DC0 + arm_func_start sub_027E95D0 +sub_027E95D0: ; 0x027E95D0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} - ldr r2, _02018ECC ; =0x0380FFF4 + ldr r2, _027E96DC ; =0x0380FFF4 mov r8, r0 ldr r2, [r2] cmp r8, #0x20 @@ -10839,50 +10840,50 @@ sub_02018DC0: ; 0x02018DC0 add r4, r2, #0x344 mov r6, #0 movhi r0, #5 - bhi _02018EC4 + bhi _027E96D4 ldrh r0, [r4, #8] cmp r0, #0x40 addeq r0, r2, #0x300 ldreqh r0, [r0, #0x2e] cmpeq r0, #1 - bne _02018E1C + bne _027E962C ldrh r0, [r4, #0x1e] cmp r0, r8 movne r0, #6 - bne _02018EC4 + bne _027E96D4 ldrh r0, [r4, #0x92] cmp r0, #0 movne r6, #1 -_02018E1C: +_027E962C: mov r5, #0 add sb, r4, #0x20 - b _02018E44 -_02018E28: + b _027E9654 +_027E9638: mov r0, r7 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 add r0, sb, r5 - bl sub_0201A514 + bl sub_027EAD24 add r7, r7, #1 add r5, r5, #1 -_02018E44: +_027E9654: cmp r5, r8 - blo _02018E28 + blo _027E9638 add sb, r4, #0x20 mov r7, #0 - b _02018E68 -_02018E58: + b _027E9678 +_027E9668: mov r1, r7 add r0, sb, r5 - bl sub_0201A514 + bl sub_027EAD24 add r5, r5, #1 -_02018E68: +_027E9678: cmp r5, #0x20 - blo _02018E58 + blo _027E9668 strh r8, [r4, #0x1e] cmp r6, #0 - beq _02018EC0 - ldr r1, _02018ECC ; =0x0380FFF4 + beq _027E96D0 + ldr r1, _027E96DC ; =0x0380FFF4 ldrh r0, [r4, #0x92] ldr r1, [r1] mov r5, #0 @@ -10890,39 +10891,39 @@ _02018E68: add r4, r4, #0x20 add r1, r1, #0x26 add r6, r1, r0 - b _02018EB8 -_02018EA0: + b _027E96C8 +_027E96B0: add r0, r4, r5 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 add r0, r6, r5 - bl sub_0201A514 + bl sub_027EAD24 add r5, r5, #1 -_02018EB8: +_027E96C8: cmp r5, r8 - blo _02018EA0 -_02018EC0: + blo _027E96B0 +_027E96D0: mov r0, #0 -_02018EC4: +_027E96D4: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, lr} bx lr .align 2, 0 -_02018ECC: .word 0x0380FFF4 - arm_func_end sub_02018DC0 +_027E96DC: .word 0x0380FFF4 + arm_func_end sub_027E95D0 - arm_func_start sub_02018ED0 -sub_02018ED0: ; 0x02018ED0 + arm_func_start sub_027E96E0 +sub_027E96E0: ; 0x027E96E0 stmdb sp!, {r3, lr} cmp r0, #0xa - blo _02018EE4 + blo _027E96F4 cmp r0, #0x3e8 - bls _02018EEC -_02018EE4: + bls _027E96FC +_027E96F4: mov r0, #5 - b _02018F18 -_02018EEC: - ldr r3, _02018F20 ; =0x0380FFF4 - ldr r2, _02018F24 ; =0x0480808C + b _027E9728 +_027E96FC: + ldr r3, _027E9730 ; =0x0380FFF4 + ldr r2, _027E9734 ; =0x0480808C ldr r1, [r3] add r1, r1, #0x300 strh r0, [r1, #0xb2] @@ -10930,28 +10931,28 @@ _02018EEC: ldr r0, [r3] add r0, r0, #0x300 ldrh r0, [r0, #0x38] - bl sub_02019620 + bl sub_027E9E30 mov r0, #0 -_02018F18: +_027E9728: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02018F20: .word 0x0380FFF4 -_02018F24: .word 0x0480808C - arm_func_end sub_02018ED0 +_027E9730: .word 0x0380FFF4 +_027E9734: .word 0x0480808C + arm_func_end sub_027E96E0 - arm_func_start sub_02018F28 -sub_02018F28: ; 0x02018F28 + arm_func_start sub_027E9738 +sub_027E9738: ; 0x027E9738 cmp r0, #1 - blo _02018F38 + blo _027E9748 cmp r0, #0xff - bls _02018F40 -_02018F38: + bls _027E9750 +_027E9748: mov r0, #5 bx lr -_02018F40: - ldr r1, _02018F64 ; =0x0380FFF4 - ldr r2, _02018F68 ; =0x0480808E +_027E9750: + ldr r1, _027E9774 ; =0x0380FFF4 + ldr r2, _027E9778 ; =0x0480808E ldr r1, [r1] add r1, r1, #0x300 strh r0, [r1, #0xb8] @@ -10960,102 +10961,102 @@ _02018F40: strh r0, [r2, #-6] bx lr .align 2, 0 -_02018F64: .word 0x0380FFF4 -_02018F68: .word 0x0480808E - arm_func_end sub_02018F28 +_027E9774: .word 0x0380FFF4 +_027E9778: .word 0x0480808E + arm_func_end sub_027E9738 - arm_func_start sub_02018F6C -sub_02018F6C: ; 0x02018F6C + arm_func_start sub_027E977C +sub_027E977C: ; 0x027E977C cmp r0, #1 - blo _02018F7C + blo _027E978C cmp r0, #0xff - bls _02018F84 -_02018F7C: + bls _027E9794 +_027E978C: mov r0, #5 bx lr -_02018F84: - ldr r1, _02018F9C ; =0x0380FFF4 +_027E9794: + ldr r1, _027E97AC ; =0x0380FFF4 ldr r1, [r1] add r1, r1, #0x300 strh r0, [r1, #0xb4] mov r0, #0 bx lr .align 2, 0 -_02018F9C: .word 0x0380FFF4 - arm_func_end sub_02018F6C +_027E97AC: .word 0x0380FFF4 + arm_func_end sub_027E977C - arm_func_start sub_02018FA0 -sub_02018FA0: ; 0x02018FA0 + arm_func_start sub_027E97B0 +sub_027E97B0: ; 0x027E97B0 stmdb sp!, {r3, lr} sub sp, sp, #8 add r2, sp, #2 mov r0, #0x36 mov r1, #6 - bl sub_02024600 + bl sub_027F4E10 add r2, sp, #0 mov r0, #0x3c mov r1, #2 - bl sub_02024600 + bl sub_027F4E10 add r0, sp, #2 - bl sub_0201864C + bl sub_027E8E5C mov r0, #7 - bl sub_020186AC + bl sub_027E8EBC ldrh r1, [sp] - ldr r0, _020190D4 ; =0x00007FFE + ldr r0, _027E98E4 ; =0x00007FFE and r0, r1, r0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_020186E0 + bl sub_027E8EF0 mov r0, #2 - bl sub_02018720 + bl sub_027E8F30 mov r0, #0 - bl sub_020187A0 + bl sub_027E8FB0 mov r0, #0 - bl sub_020187D4 + bl sub_027E8FE4 mov r0, #0 - bl sub_02018874 - ldr r0, _020190D8 ; =0x027F7300 - bl sub_02018898 + bl sub_027E9084 + ldr r0, _027E98E8 ; =0x027F7300 + bl sub_027E90A8 mov r0, #0x1f4 - bl sub_02018ED0 + bl sub_027E96E0 mov r0, #0 - bl sub_020188F8 + bl sub_027E9108 mov r0, #0 - bl sub_02018930 + bl sub_027E9140 mov r0, #0x10 - bl sub_02018968 - ldr r0, _020190DC ; =0x0000FFFF + bl sub_027E9178 + ldr r0, _027E98EC ; =0x0000FFFF mov r1, #0 - bl sub_020189A0 - ldr r0, _020190E0 ; =0x027F72A0 - bl sub_02018A50 + bl sub_027E91B0 + ldr r0, _027E98F0 ; =0x027F72A0 + bl sub_027E9260 mov r0, #1 - bl sub_02018A80 + bl sub_027E9290 mov r0, #0 - bl sub_02018B28 - ldr r0, _020190E4 ; =0x027F729C - bl sub_0201937C + bl sub_027E9338 + ldr r0, _027E98F4 ; =0x027F729C + bl sub_027E9B8C mov r0, #0 mov r1, #0x1f - bl sub_02018B4C + bl sub_027E935C mov r0, #5 - bl sub_02019620 + bl sub_027E9E30 mov r0, #0 mov r1, r0 - bl sub_02018BF8 + bl sub_027E9408 mov r0, #0 - bl sub_02018B90 + bl sub_027E93A0 mov r0, #0 - bl sub_02018CCC + bl sub_027E94DC mov r0, #0 - bl sub_02018D0C - ldr r1, _020190E8 ; =0x04808044 + bl sub_027E951C + ldr r1, _027E98F8 ; =0x04808044 ldrh r2, [r1] ldrh r0, [r1] ldrh r1, [r1] add r0, r2, r0, lsl #8 - bl sub_0201A55C - ldr r0, _020190EC ; =0x0380FFF4 + bl sub_027EAD6C + ldr r0, _027E98FC ; =0x0380FFF4 mov r1, #1 ldr r0, [r0] add r0, r0, #0x300 @@ -11064,47 +11065,47 @@ sub_02018FA0: ; 0x02018FA0 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_020190D4: .word 0x00007FFE -_020190D8: .word 0x027F7300 -_020190DC: .word 0x0000FFFF -_020190E0: .word 0x027F72A0 -_020190E4: .word 0x027F729C -_020190E8: .word 0x04808044 -_020190EC: .word 0x0380FFF4 - arm_func_end sub_02018FA0 +_027E98E4: .word 0x00007FFE +_027E98E8: .word 0x027F7300 +_027E98EC: .word 0x0000FFFF +_027E98F0: .word 0x027F72A0 +_027E98F4: .word 0x027F729C +_027E98F8: .word 0x04808044 +_027E98FC: .word 0x0380FFF4 + arm_func_end sub_027E97B0 - arm_func_start sub_020190F0 -sub_020190F0: ; 0x020190F0 + arm_func_start sub_027E9900 +sub_027E9900: ; 0x027E9900 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 mov sl, r0 - ldr r0, _0201936C ; =0x0380FFF4 + ldr r0, _027E9B7C ; =0x0380FFF4 cmp r1, #0 ldr r0, [r0] - ldrne sb, _02019370 ; =0x027F4E70 + ldrne sb, _027E9B80 ; =0x027F4E70 add r0, r0, #0x300 ldrh r0, [r0, #0x2c] - ldreq sb, _02019374 ; =sub_027F4E10 + ldreq sb, _027E9B84 ; =sub_027F4E10 mov r2, #1 tst r0, r2, lsl sl moveq r0, #5 - beq _02019360 - ldr r1, _02019378 ; =0x04808040 + beq _027E9B70 + ldr r1, _027E9B88 ; =0x04808040 add r0, r2, #0x8000 ldrh r6, [r1] strh r0, [r1] sub r3, r1, #4 add r1, r1, #0x1d4 -_02019140: +_027E9950: ldrh r2, [r3] ldrh r0, [r1] mov r2, r2, asr #8 cmp r2, #2 - bne _02019140 + bne _027E9950 cmp r0, #0 cmpne r0, #9 - bne _02019140 - ldr r5, _0201936C ; =0x0380FFF4 + bne _027E9950 + ldr r5, _027E9B7C ; =0x0380FFF4 ldr r0, [r5] add r0, r0, #0x300 strh sl, [r0, #0xbe] @@ -11112,12 +11113,12 @@ _02019140: add r0, r0, #0x500 ldrh r1, [r0, #0xf8] cmp r1, #2 - beq _02019194 + beq _027E99A4 cmp r1, #3 - beq _02019264 + beq _027E9A74 cmp r1, #5 - bne _0201934C -_02019194: + bne _027E9B5C +_027E99A4: sub r4, sl, #1 mov r0, #6 mul r5, r4, r0 @@ -11128,61 +11129,61 @@ _02019194: mov r1, #3 mov lr, pc bx sb -_020191BC: +_027E99CC: ldr r0, [sp, #4] - bl sub_02019E10 + bl sub_027EA620 add r2, sp, #4 add r0, r5, #0xf5 mov r1, #3 mov lr, pc bx sb -_020191D8: +_027E99E8: ldr r0, [sp, #4] - bl sub_02019E10 + bl sub_027EA620 mov r1, #0 - ldr r0, _0201936C ; =0x0380FFF4 + ldr r0, _027E9B7C ; =0x0380FFF4 str r1, [sp, #4] ldr r0, [r0] ldr r0, [r0, #0x604] tst r0, #0x10000 - beq _0201923C + beq _027E9A4C tst r0, #0x8000 - bne _0201934C + bne _027E9B5C add r2, sp, #4 add r0, r4, #0x154 mov r1, #1 mov lr, pc bx sb -sub_02019218: ; 0x02019218 - ldr r1, _0201936C ; =0x0380FFF4 +sub_027E9A28: ; 0x027E9A28 + ldr r1, _027E9B7C ; =0x0380FFF4 ldr r0, [sp, #4] ldr r1, [r1] mov r0, r0, lsl #0x1b ldr r1, [r1, #0x604] orr r0, r1, r0, lsr #17 str r0, [sp, #4] - bl sub_02019E10 - b _0201934C -_0201923C: + bl sub_027EA620 + b _027E9B5C +_027E9A4C: add r0, r4, #0x46 add r2, sp, #4 add r0, r0, #0x100 mov r1, #1 mov lr, pc bx sb -_02019254: +_027E9A64: ldr r1, [sp, #4] mov r0, #0x1e - bl sub_02019DE0 - b _0201934C -_02019264: + bl sub_027EA5F0 + b _027E9B5C +_027E9A74: ldrh r0, [r0, #0xfc] mov r8, #0 add r7, r0, #0xcf mov r4, r8 mov fp, #1 - b _020192C0 -_0201927C: + b _027E9AD0 +_027E9A8C: mov r0, r7 mov r1, fp add r2, sp, #0 @@ -11190,37 +11191,37 @@ _0201927C: str r4, [sp] mov lr, pc bx sb -_02019298: +_027E9AA8: add r0, r7, sl mov r1, #1 add r2, sp, #4 mov lr, pc bx sb -_020192AC: +_027E9ABC: ldr r0, [sp] ldr r1, [sp, #4] - bl sub_02019DE0 + bl sub_027EA5F0 add r7, r7, #0xf add r8, r8, #1 -_020192C0: +_027E9AD0: ldr r0, [r5] add r0, r0, #0x600 ldrh r0, [r0] cmp r8, r0 - blo _0201927C + blo _027E9A8C mov r8, #0 - ldr r4, _0201936C ; =0x0380FFF4 + ldr r4, _027E9B7C ; =0x0380FFF4 mov r5, r8 mov fp, #1 - b _02019338 -_020192E8: + b _027E9B48 +_027E9AF8: str r5, [sp, #4] mov r0, r7 mov r1, fp add r2, sp, #4 mov lr, pc bx sb -_02019300: +_027E9B10: ldr r1, [sp, #4] add r0, r7, sl mov r1, r1, lsl #8 @@ -11229,40 +11230,40 @@ _02019300: add r2, sp, #4 mov lr, pc bx sb -_02019320: +_027E9B30: ldr r0, [sp, #4] orr r0, r0, #0x50000 str r0, [sp, #4] - bl sub_02019E10 + bl sub_027EA620 add r7, r7, #0xf add r8, r8, #1 -_02019338: +_027E9B48: ldr r0, [r4] add r0, r0, #0x500 ldrh r0, [r0, #0xfe] cmp r8, r0 - blo _020192E8 -_0201934C: - ldr r1, _02019378 ; =0x04808040 + blo _027E9AF8 +_027E9B5C: + ldr r1, _027E9B88 ; =0x04808040 mov r0, #3 strh r6, [r1] strh r0, [r1, #8] mov r0, #0 -_02019360: +_027E9B70: add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_0201936C: .word 0x0380FFF4 -_02019370: .word 0x027F4E70 -_02019374: .word sub_027F4E10 -_02019378: .word 0x04808040 - arm_func_end sub_020190F0 +_027E9B7C: .word 0x0380FFF4 +_027E9B80: .word 0x027F4E70 +_027E9B84: .word sub_027F4E10 +_027E9B88: .word 0x04808040 + arm_func_end sub_027E9900 - arm_func_start sub_0201937C -sub_0201937C: ; 0x0201937C + arm_func_start sub_027E9B8C +sub_027E9B8C: ; 0x027E9B8C stmdb sp!, {r3, lr} - ldr r1, _020193B8 ; =0x0380FFF4 + ldr r1, _027E9BC8 ; =0x0380FFF4 ldrh r2, [r0] ldr r3, [r1] add r1, r3, #0x300 @@ -11272,32 +11273,32 @@ sub_0201937C: ; 0x0201937C add r2, r3, #0x3a4 orr r0, r1, r0 strh r0, [r2, #2] - bl sub_020193BC + bl sub_027E9BCC mov r0, #0 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_020193B8: .word 0x0380FFF4 - arm_func_end sub_0201937C +_027E9BC8: .word 0x0380FFF4 + arm_func_end sub_027E9B8C - arm_func_start sub_020193BC -sub_020193BC: ; 0x020193BC + arm_func_start sub_027E9BCC +sub_027E9BCC: ; 0x027E9BCC stmdb sp!, {r3, lr} - ldr r0, _02019430 ; =0x0000E2E2 + ldr r0, _027E9C40 ; =0x0000E2E2 add r2, sp, #0 str r0, [sp] mov r0, #0x58 mov r1, #2 - bl sub_02024600 + bl sub_027F4E10 ldr r0, [sp] add r0, r0, #2 add r0, r0, #0x200 str r0, [sp] - bl sub_02019D68 + bl sub_027EA578 cmp r0, #0x14 - bne _0201941C + bne _027E9C2C ldr r1, [sp] - ldr r0, _02019434 ; =0x048080BC + ldr r0, _027E9C44 ; =0x048080BC sub r1, r1, #0x61 sub r1, r1, #0x6100 str r1, [sp] @@ -11306,22 +11307,22 @@ sub_020193BC: ; 0x020193BC subne r0, r1, #0x60 subne r0, r0, #0x6000 strne r0, [sp] -_0201941C: +_027E9C2C: ldr r1, [sp] - ldr r0, _02019438 ; =0x04808140 + ldr r0, _027E9C48 ; =0x04808140 strh r1, [r0] ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02019430: .word 0x0000E2E2 -_02019434: .word 0x048080BC -_02019438: .word 0x04808140 - arm_func_end sub_020193BC +_027E9C40: .word 0x0000E2E2 +_027E9C44: .word 0x048080BC +_027E9C48: .word 0x04808140 + arm_func_end sub_027E9BCC - arm_func_start sub_0201943C -sub_0201943C: ; 0x0201943C + arm_func_start sub_027E9C4C +sub_027E9C4C: ; 0x027E9C4C stmdb sp!, {r3, lr} - ldr r1, _0201949C ; =0x0380FFF4 + ldr r1, _027E9CAC ; =0x0380FFF4 cmp r0, #0 ldr r2, [r1] add r1, r2, #0x300 @@ -11329,31 +11330,31 @@ sub_0201943C: ; 0x0201943C strh r0, [r1, #0x52] ldrneh r0, [r3, #0x12] cmpne r0, #1 - ldrne r1, _020194A0 ; =0x04808006 + ldrne r1, _027E9CB0 ; =0x04808006 ldrneh r0, [r1] orrne r0, r0, #0x40 strneh r0, [r1] - bne _02019490 - ldr r2, _020194A0 ; =0x04808006 + bne _027E9CA0 + ldr r2, _027E9CB0 ; =0x04808006 mov r1, #0 ldrh r0, [r2] bic r0, r0, #0x40 strh r0, [r2] ldrh r0, [r3, #0x20] - bl sub_020189A0 -_02019490: + bl sub_027E91B0 +_027E9CA0: mov r0, #0 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201949C: .word 0x0380FFF4 -_020194A0: .word 0x04808006 - arm_func_end sub_0201943C +_027E9CAC: .word 0x0380FFF4 +_027E9CB0: .word 0x04808006 + arm_func_end sub_027E9C4C - arm_func_start sub_020194A4 -sub_020194A4: ; 0x020194A4 - ldr r1, _020194C8 ; =0x0380FFF4 - ldr r2, _020194CC ; =0x0480803C + arm_func_start sub_027E9CB4 +sub_027E9CB4: ; 0x027E9CB4 + ldr r1, _027E9CD8 ; =0x0380FFF4 + ldr r2, _027E9CDC ; =0x0480803C ldr r1, [r1] mov r3, r0, lsr #1 add r1, r1, #0x300 @@ -11362,118 +11363,118 @@ sub_020194A4: ; 0x020194A4 mov r0, #0 bx lr .align 2, 0 -_020194C8: .word 0x0380FFF4 -_020194CC: .word 0x0480803C - arm_func_end sub_020194A4 +_027E9CD8: .word 0x0380FFF4 +_027E9CDC: .word 0x0480803C + arm_func_end sub_027E9CB4 - arm_func_start sub_020194D0 -sub_020194D0: ; 0x020194D0 - ldr r1, _020194E0 ; =0x04808040 + arm_func_start sub_027E9CE0 +sub_027E9CE0: ; 0x027E9CE0 + ldr r1, _027E9CF0 ; =0x04808040 strh r0, [r1] mov r0, #0 bx lr .align 2, 0 -_020194E0: .word 0x04808040 - arm_func_end sub_020194D0 +_027E9CF0: .word 0x04808040 + arm_func_end sub_027E9CE0 - arm_func_start sub_020194E4 -sub_020194E4: ; 0x020194E4 + arm_func_start sub_027E9CF4 +sub_027E9CF4: ; 0x027E9CF4 stmdb sp!, {r3, lr} - ldr r0, _0201954C ; =0x0380FFF4 + ldr r0, _027E9D5C ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x500 ldrh r0, [r0, #0xf8] cmp r0, #2 - bne _02019508 - ldr r0, _02019550 ; =0x0000C008 - bl sub_02019E10 -_02019508: - ldr r1, _02019554 ; =0x0000601E - ldr r0, _02019558 ; =0x04808158 + bne _027E9D18 + ldr r0, _027E9D60 ; =0x0000C008 + bl sub_027EA620 +_027E9D18: + ldr r1, _027E9D64 ; =0x0000601E + ldr r0, _027E9D68 ; =0x04808158 strh r1, [r0] - bl sub_0302AC10 - ldr r1, _0201955C ; =0x0480815C + bl sub_037FB420 + ldr r1, _027E9D6C ; =0x0480815C mov r0, #0x1e ldrh r1, [r1] orr r1, r1, #0x3f - bl sub_02019DE0 - ldr r2, _02019560 ; =0x0000800D - ldr r1, _02019564 ; =0x04808168 - ldr r0, _02019568 ; =0x04808036 + bl sub_027EA5F0 + ldr r2, _027E9D70 ; =0x0000800D + ldr r1, _027E9D74 ; =0x04808168 + ldr r0, _027E9D78 ; =0x04808036 strh r2, [r1] mov r1, #1 strh r1, [r0] ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201954C: .word 0x0380FFF4 -_02019550: .word 0x0000C008 -_02019554: .word 0x0000601E -_02019558: .word 0x04808158 -_0201955C: .word 0x0480815C -_02019560: .word 0x0000800D -_02019564: .word 0x04808168 -_02019568: .word 0x04808036 - arm_func_end sub_020194E4 +_027E9D5C: .word 0x0380FFF4 +_027E9D60: .word 0x0000C008 +_027E9D64: .word 0x0000601E +_027E9D68: .word 0x04808158 +_027E9D6C: .word 0x0480815C +_027E9D70: .word 0x0000800D +_027E9D74: .word 0x04808168 +_027E9D78: .word 0x04808036 + arm_func_end sub_027E9CF4 - arm_func_start sub_0201956C -sub_0201956C: ; 0x0201956C + arm_func_start sub_027E9D7C +sub_027E9D7C: ; 0x027E9D7C stmdb sp!, {r4, lr} - ldr r2, _02019604 ; =0x04808036 + ldr r2, _027E9E14 ; =0x04808036 mov r3, #0 - ldr r1, _02019608 ; =0x027EA99C + ldr r1, _027E9E18 ; =0x027EA99C mov r0, #0x1f40 strh r3, [r2] - bl sub_0302AB1C - ldr r1, _0201960C ; =0x04808168 + bl sub_037FB32C + ldr r1, _027E9E1C ; =0x04808168 mov r2, #0 - ldr r0, _02019610 ; =0x0380FFF4 + ldr r0, _027E9E20 ; =0x0380FFF4 strh r2, [r1] ldr r0, [r0] add r0, r0, #0x500 ldrh r0, [r0, #0xf8] cmp r0, #2 - beq _020195B8 + beq _027E9DC8 cmp r0, #3 - beq _020195F8 - b _020195FC -_020195B8: - ldr r0, _02019614 ; =0x00006001 + beq _027E9E08 + b _027E9E0C +_027E9DC8: + ldr r0, _027E9E24 ; =0x00006001 strh r0, [r1, #-0x10] - bl sub_0302AC10 - ldr r1, _02019618 ; =0x0480815C + bl sub_037FB420 + ldr r1, _027E9E28 ; =0x0480815C mov r0, #1 ldrh r4, [r1] and r1, r4, #0x7f - bl sub_02019DE0 + bl sub_027EA5F0 mov r1, r4 mov r0, #1 - bl sub_02019DE0 - ldr r0, _0201961C ; =0x00009C40 - ldr r1, _02019608 ; =0x027EA99C - bl sub_0302AB1C - bl sub_02019FB0 - b _020195FC -_020195F8: - bl sub_02019FB0 -_020195FC: + bl sub_027EA5F0 + ldr r0, _027E9E2C ; =0x00009C40 + ldr r1, _027E9E18 ; =0x027EA99C + bl sub_037FB32C + bl sub_027EA7C0 + b _027E9E0C +_027E9E08: + bl sub_027EA7C0 +_027E9E0C: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02019604: .word 0x04808036 -_02019608: .word 0x027EA99C -_0201960C: .word 0x04808168 -_02019610: .word 0x0380FFF4 -_02019614: .word 0x00006001 -_02019618: .word 0x0480815C -_0201961C: .word 0x00009C40 - arm_func_end sub_0201956C +_027E9E14: .word 0x04808036 +_027E9E18: .word 0x027EA99C +_027E9E1C: .word 0x04808168 +_027E9E20: .word 0x0380FFF4 +_027E9E24: .word 0x00006001 +_027E9E28: .word 0x0480815C +_027E9E2C: .word 0x00009C40 + arm_func_end sub_027E9D7C - arm_func_start sub_02019620 -sub_02019620: ; 0x02019620 + arm_func_start sub_027E9E30 +sub_027E9E30: ; 0x027E9E30 stmdb sp!, {r4, r5, r6, lr} - ldr r2, _0201967C ; =0x0380FFF4 - ldr r1, _02019680 ; =0x0000FFFF + ldr r2, _027E9E8C ; =0x0380FFF4 + ldr r1, _027E9E90 ; =0x0000FFFF ldr r2, [r2] mov r6, r0 add r5, r2, #0x31c @@ -11481,29 +11482,29 @@ sub_02019620: ; 0x02019620 streqh r1, [r5, #0x1c] add r4, r2, #0x344 streqh r1, [r4, #0x8c] - beq _02019670 + beq _027E9E80 ldrh r0, [r4, #0x6e] mov r1, #0x64 mul r0, r6, r0 - bl sub_030365C4 + bl sub_03806DD4 cmp r0, #0x10000 movhi r0, #5 - bhi _02019674 + bhi _027E9E84 strh r6, [r5, #0x1c] strh r0, [r4, #0x8c] -_02019670: +_027E9E80: mov r0, #0 -_02019674: +_027E9E84: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_0201967C: .word 0x0380FFF4 -_02019680: .word 0x0000FFFF - arm_func_end sub_02019620 +_027E9E8C: .word 0x0380FFF4 +_027E9E90: .word 0x0000FFFF + arm_func_end sub_027E9E30 - arm_func_start sub_02019684 -sub_02019684: ; 0x02019684 - ldr r1, _020196C8 ; =0x0380FFF4 + arm_func_start sub_027E9E94 +sub_027E9E94: ; 0x027E9E94 + ldr r1, _027E9ED8 ; =0x0380FFF4 mov r2, #1 ldr r0, [r1] add r0, r0, #0x300 @@ -11513,7 +11514,7 @@ sub_02019684: ; 0x02019684 ldrh r0, [r0, #0x68] cmp r0, #0 bxne lr - ldr r2, _020196CC ; =0x04808038 + ldr r2, _027E9EDC ; =0x04808038 mov r0, #0 ldrh r1, [r2] bic r1, r1, #2 @@ -11521,14 +11522,14 @@ sub_02019684: ; 0x02019684 strh r0, [r2, #0x10] bx lr .align 2, 0 -_020196C8: .word 0x0380FFF4 -_020196CC: .word 0x04808038 - arm_func_end sub_02019684 +_027E9ED8: .word 0x0380FFF4 +_027E9EDC: .word 0x04808038 + arm_func_end sub_027E9E94 - arm_func_start sub_020196D0 -sub_020196D0: ; 0x020196D0 - ldr r0, _020196F8 ; =0x0380FFF4 - ldr r1, _020196FC ; =0x04808038 + arm_func_start sub_027E9EE0 +sub_027E9EE0: ; 0x027E9EE0 + ldr r0, _027E9F08 ; =0x0380FFF4 + ldr r1, _027E9F0C ; =0x04808038 ldr r0, [r0] mov r2, #0 add r0, r0, #0x300 @@ -11538,90 +11539,90 @@ sub_020196D0: ; 0x020196D0 strh r0, [r1] bx lr .align 2, 0 -_020196F8: .word 0x0380FFF4 -_020196FC: .word 0x04808038 - arm_func_end sub_020196D0 +_027E9F08: .word 0x0380FFF4 +_027E9F0C: .word 0x04808038 + arm_func_end sub_027E9EE0 - arm_func_start sub_02019700 -sub_02019700: ; 0x02019700 + arm_func_start sub_027E9F10 +sub_027E9F10: ; 0x027E9F10 stmdb sp!, {r3, r4, r5, lr} - ldr r2, _02019740 ; =0x0380FFF4 + ldr r2, _027E9F50 ; =0x0380FFF4 mov r5, r0 ldr r0, [r2] cmp r5, #0x80 add r4, r0, #0x344 movhi r0, #4 - bhi _02019738 + bhi _027E9F48 mov r0, r1 ldr r1, [r4, #0x9c] add r2, r5, #1 - bl sub_0302D78C + bl sub_037FDF9C strh r5, [r4, #0xa0] mov r0, #0 -_02019738: +_027E9F48: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02019740: .word 0x0380FFF4 - arm_func_end sub_02019700 +_027E9F50: .word 0x0380FFF4 + arm_func_end sub_027E9F10 - arm_func_start sub_02019744 -sub_02019744: ; 0x02019744 + arm_func_start sub_027E9F54 +sub_027E9F54: ; 0x027E9F54 stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r2, _020197EC ; =0x0380FFF4 + ldr r2, _027E9FFC ; =0x0380FFF4 mov r4, r0 ldr r0, [r2] mov r8, r1 cmp r4, #0x80 add r5, r0, #0x344 movhi r0, #4 - bhi _020197E4 + bhi _027E9FF4 cmp r4, #0 - beq _020197D4 + beq _027E9FE4 ldrh r0, [r5, #0xa2] tst r0, #1 - beq _020197C4 + beq _027E9FD4 ldr r6, [r5, #0x9c] mov r1, #0xff mov r0, r6 - bl sub_0201A514 + bl sub_027EAD24 add r6, r6, #1 mov r7, #0 - b _020197B8 -_02019798: + b _027E9FC8 +_027E9FA8: mov r0, r8 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 mov r0, r6 - bl sub_0201A514 + bl sub_027EAD24 add r6, r6, #1 add r8, r8, #1 add r7, r7, #1 -_020197B8: +_027E9FC8: cmp r7, r4 - blo _02019798 - b _020197D4 -_020197C4: + blo _027E9FA8 + b _027E9FE4 +_027E9FD4: ldr r1, [r5, #0x9c] mov r0, r8 add r2, r4, #1 - bl sub_0302D78C -_020197D4: + bl sub_037FDF9C +_027E9FE4: strh r4, [r5, #0xa0] mov r0, #1 strh r0, [r5, #0xa4] mov r0, #0 -_020197E4: +_027E9FF4: ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_020197EC: .word 0x0380FFF4 - arm_func_end sub_02019744 +_027E9FFC: .word 0x0380FFF4 + arm_func_end sub_027E9F54 - arm_func_start sub_020197F0 -sub_020197F0: ; 0x020197F0 - ldr r3, _02019824 ; =0x0380FFF4 - ldr r2, _02019828 ; =0x0480802A + arm_func_start sub_027EA000 +sub_027EA000: ; 0x027EA000 + ldr r3, _027EA034 ; =0x0380FFF4 + ldr r2, _027EA038 ; =0x0480802A ldr r1, [r3] add r1, r1, #0x300 strh r0, [r1, #0xae] @@ -11634,70 +11635,70 @@ sub_020197F0: ; 0x020197F0 strneh r0, [r2, #-2] bx lr .align 2, 0 -_02019824: .word 0x0380FFF4 -_02019828: .word 0x0480802A - arm_func_end sub_020197F0 +_027EA034: .word 0x0380FFF4 +_027EA038: .word 0x0480802A + arm_func_end sub_027EA000 - arm_func_start sub_0201982C -sub_0201982C: ; 0x0201982C + arm_func_start sub_027EA03C +sub_027EA03C: ; 0x027EA03C stmdb sp!, {r4, lr} - ldr r1, _02019880 ; =0x0380FFF4 + ldr r1, _027EA090 ; =0x0380FFF4 mov r0, #0 ldr r1, [r1] add r4, r1, #0x344 strh r0, [r4, #0x6a] - bl sub_0302ABA4 - ldr r0, _02019884 ; =0x0480802A + bl sub_037FB3B4 + ldr r0, _027EA094 ; =0x0480802A mov r1, #0 strh r1, [r0] ldrh r0, [r4, #0x88] cmp r0, #0 - beq _02019878 - bl sub_02020550 + beq _027EA088 + bl sub_027F0D60 ldrh r0, [r4, #0x88] mov r1, #0x20 - bl sub_0201B434 + bl sub_027EBC44 mov r0, #0 strh r0, [r4, #0x88] -_02019878: +_027EA088: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02019880: .word 0x0380FFF4 -_02019884: .word 0x0480802A - arm_func_end sub_0201982C +_027EA090: .word 0x0380FFF4 +_027EA094: .word 0x0480802A + arm_func_end sub_027EA03C - arm_func_start sub_02019888 -sub_02019888: ; 0x02019888 - ldr r0, _020198A4 ; =0x0380FFF4 - ldr r1, _020198A8 ; =0x04808028 + arm_func_start sub_027EA098 +sub_027EA098: ; 0x027EA098 + ldr r0, _027EA0B4 ; =0x0380FFF4 + ldr r1, _027EA0B8 ; =0x04808028 ldr r0, [r0] add r0, r0, #0x300 ldrh r0, [r0, #0xae] strh r0, [r1] bx lr .align 2, 0 -_020198A4: .word 0x0380FFF4 -_020198A8: .word 0x04808028 - arm_func_end sub_02019888 +_027EA0B4: .word 0x0380FFF4 +_027EA0B8: .word 0x04808028 + arm_func_end sub_027EA098 - arm_func_start sub_020198AC -sub_020198AC: ; 0x020198AC + arm_func_start sub_027EA0BC +sub_027EA0BC: ; 0x027EA0BC stmdb sp!, {r3, lr} - ldr r0, _020198CC ; =0x04808094 + ldr r0, _027EA0DC ; =0x04808094 ldrh r0, [r0] tst r0, #0x8000 - bne _020198C4 - bl sub_0302ABA4 -_020198C4: + bne _027EA0D4 + bl sub_037FB3B4 +_027EA0D4: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_020198CC: .word 0x04808094 - arm_func_end sub_020198AC +_027EA0DC: .word 0x04808094 + arm_func_end sub_027EA0BC - arm_func_start sub_020198D0 -sub_020198D0: ; 0x020198D0 + arm_func_start sub_027EA0E0 +sub_027EA0E0: ; 0x027EA0E0 ldrh r2, [r1] strh r2, [r0] ldrh r2, [r1, #2] @@ -11705,10 +11706,10 @@ sub_020198D0: ; 0x020198D0 ldrh r1, [r1, #4] strh r1, [r0, #4] bx lr - arm_func_end sub_020198D0 + arm_func_end sub_027EA0E0 - arm_func_start sub_020198EC -sub_020198EC: ; 0x020198EC + arm_func_start sub_027EA0FC +sub_027EA0FC: ; 0x027EA0FC ldrh r3, [r1] strh r3, [r0] ldrh r3, [r1, #2] @@ -11722,10 +11723,10 @@ sub_020198EC: ; 0x020198EC ldrh r1, [r2, #4] strh r1, [r0, #0xa] bx lr - arm_func_end sub_020198EC + arm_func_end sub_027EA0FC - arm_func_start sub_02019920 -sub_02019920: ; 0x02019920 + arm_func_start sub_027EA130 +sub_027EA130: ; 0x027EA130 ldrh ip, [r1] strh ip, [r0] ldrh ip, [r1, #2] @@ -11745,29 +11746,29 @@ sub_02019920: ; 0x02019920 ldrh r1, [r3, #4] strh r1, [r0, #0x10] bx lr - arm_func_end sub_02019920 + arm_func_end sub_027EA130 - arm_func_start sub_0201996C -sub_0201996C: ; 0x0201996C + arm_func_start sub_027EA17C +sub_027EA17C: ; 0x027EA17C stmdb sp!, {r3, lr} - bl sub_0201999C - ldr r1, _02019998 ; =0x0380FFF4 + bl sub_027EA1AC + ldr r1, _027EA1A8 ; =0x0380FFF4 mov r0, #0 ldr r1, [r1] mov r2, #0xb4 add r1, r1, #0x13c add r1, r1, #0x400 - bl sub_0302D7C0 + bl sub_037FDFD0 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02019998: .word 0x0380FFF4 - arm_func_end sub_0201996C +_027EA1A8: .word 0x0380FFF4 + arm_func_end sub_027EA17C - arm_func_start sub_0201999C -sub_0201999C: ; 0x0201999C - ldr r1, _02019B8C ; =0x0380FFF4 - ldr r0, _02019B90 ; =0x048081B0 + arm_func_start sub_027EA1AC +sub_027EA1AC: ; 0x027EA1AC + ldr r1, _027EA39C ; =0x0380FFF4 + ldr r0, _027EA3A0 ; =0x048081B0 ldr r1, [r1] ldrh r2, [r0] ldr r3, [r1, #0x58c] @@ -11891,74 +11892,74 @@ sub_0201999C: ; 0x0201999C str r0, [r1, #0x5ec] bx lr .align 2, 0 -_02019B8C: .word 0x0380FFF4 -_02019B90: .word 0x048081B0 - arm_func_end sub_0201999C +_027EA39C: .word 0x0380FFF4 +_027EA3A0: .word 0x048081B0 + arm_func_end sub_027EA1AC - arm_func_start sub_02019B94 -sub_02019B94: ; 0x02019B94 + arm_func_start sub_027EA3A4 +sub_027EA3A4: ; 0x027EA3A4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} - ldr r2, _02019C60 ; =0x0380FFF4 + ldr r2, _027EA470 ; =0x0380FFF4 mov sb, r0 ldr r0, [r2] mov r8, r1 cmp sb, #0x20 add r2, r0, #0x344 movhi r0, #0 - bhi _02019C58 + bhi _027EA468 ldrh r1, [r2, #0x1e] cmp r1, #0 moveq r0, #1 - beq _02019C58 + beq _027EA468 add r0, r0, #0x400 ldrh r0, [r0, #4] cmp r0, #0x13 - bne _02019BEC + bne _027EA3FC cmp sb, r1 movlo r0, #0 - blo _02019C58 + blo _027EA468 mov sb, r1 - b _02019BF8 -_02019BEC: + b _027EA408 +_027EA3FC: cmp sb, r1 movne r0, #0 - bne _02019C58 -_02019BF8: + bne _027EA468 +_027EA408: add r5, r2, #0x20 add r6, r2, #0x40 mov r7, #0 - b _02019C4C -_02019C08: + b _027EA45C +_027EA418: mov r0, r6 - bl sub_0201A540 + bl sub_027EAD50 mov r4, r0 mov r0, r8 add r6, r6, #1 - bl sub_0201A540 + bl sub_027EAD50 mov sl, r0 mov r0, r5 add r8, r8, #1 - bl sub_0201A540 + bl sub_027EAD50 orr r1, sl, r4 orr r0, r0, r4 cmp r1, r0 add r5, r5, #1 movne r0, #0 - bne _02019C58 + bne _027EA468 add r7, r7, #1 -_02019C4C: +_027EA45C: cmp r7, sb - blo _02019C08 + blo _027EA418 mov r0, #1 -_02019C58: +_027EA468: ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, lr} bx lr .align 2, 0 -_02019C60: .word 0x0380FFF4 - arm_func_end sub_02019B94 +_027EA470: .word 0x0380FFF4 + arm_func_end sub_027EA3A4 - arm_func_start sub_02019C64 -sub_02019C64: ; 0x02019C64 + arm_func_start sub_027EA474 +sub_027EA474: ; 0x027EA474 ldrh r3, [r0, #4] ldrh r2, [r1, #4] cmp r3, r2 @@ -11971,11 +11972,11 @@ sub_02019C64: ; 0x02019C64 moveq r0, #1 movne r0, #0 bx lr - arm_func_end sub_02019C64 + arm_func_end sub_027EA474 - arm_func_start sub_02019C94 -sub_02019C94: ; 0x02019C94 - ldr r1, _02019CB0 ; =0x0380FFF4 + arm_func_start sub_027EA4A4 +sub_027EA4A4: ; 0x027EA4A4 + ldr r1, _027EA4C0 ; =0x0380FFF4 mov r2, #1 ldr r1, [r1] add r1, r1, #0x300 @@ -11983,11 +11984,11 @@ sub_02019C94: ; 0x02019C94 and r0, r1, r2, lsl r0 bx lr .align 2, 0 -_02019CB0: .word 0x0380FFF4 - arm_func_end sub_02019C94 +_027EA4C0: .word 0x0380FFF4 + arm_func_end sub_027EA4A4 - arm_func_start sub_02019CB4 -sub_02019CB4: ; 0x02019CB4 + arm_func_start sub_027EA4C4 +sub_027EA4C4: ; 0x027EA4C4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov sb, r1 mov r1, #0 @@ -11995,24 +11996,24 @@ sub_02019CB4: ; 0x02019CB4 strh r1, [sb] add r0, r4, #1 strh r1, [sb, #2] - bl sub_0201A540 + bl sub_027EAD50 add r6, r4, #2 - ldr r5, _02019D64 ; =0x027F73B4 + ldr r5, _027EA574 ; =0x027F73B4 mov r8, r0 mov r7, #0 mov r4, #1 - b _02019D54 -_02019CEC: + b _027EA564 +_027EA4FC: add r0, r6, r7 - bl sub_0201A540 + bl sub_027EAD50 and r1, r0, #0x7f sub r1, r1, #1 cmp r1, #0x78 - bhs _02019D34 + bhs _027EA544 mov r1, r1, lsl #1 ldrh r2, [r5, r1] cmp r2, #0xff - beq _02019D34 + beq _027EA544 ldrh r1, [sb, #2] tst r0, #0x80 orr r0, r1, r4, lsl r2 @@ -12020,8 +12021,8 @@ _02019CEC: ldrneh r0, [sb] orrne r0, r0, r4, lsl r2 strneh r0, [sb] - b _02019D50 -_02019D34: + b _027EA560 +_027EA544: ldrh r1, [sb, #2] tst r0, #0x80 orr r0, r1, #0x8000 @@ -12029,92 +12030,92 @@ _02019D34: ldrneh r0, [sb] orrne r0, r0, #0x8000 strneh r0, [sb] -_02019D50: +_027EA560: add r7, r7, #1 -_02019D54: +_027EA564: cmp r7, r8 - blo _02019CEC + blo _027EA4FC ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, lr} bx lr .align 2, 0 -_02019D64: .word 0x027F73B4 - arm_func_end sub_02019CB4 +_027EA574: .word 0x027F73B4 + arm_func_end sub_027EA4C4 - arm_func_start sub_02019D68 -sub_02019D68: ; 0x02019D68 - ldr r0, _02019DB0 ; =0x0380FFF4 + arm_func_start sub_027EA578 +sub_027EA578: ; 0x027EA578 + ldr r0, _027EA5C0 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x300 ldrh r1, [r0, #0x30] cmp r1, #0 - beq _02019D8C + beq _027EA59C cmp r1, #1 - beq _02019DA0 - b _02019DA8 -_02019D8C: + beq _027EA5B0 + b _027EA5B8 +_027EA59C: ldrh r0, [r0, #0xa4] tst r0, #1 - beq _02019DA8 + beq _027EA5B8 mov r0, #0xa bx lr -_02019DA0: +_027EA5B0: mov r0, #0xa bx lr -_02019DA8: +_027EA5B8: mov r0, #0x14 bx lr .align 2, 0 -_02019DB0: .word 0x0380FFF4 - arm_func_end sub_02019D68 +_027EA5C0: .word 0x0380FFF4 + arm_func_end sub_027EA578 - arm_func_start sub_02019DB4 -sub_02019DB4: ; 0x02019DB4 + arm_func_start sub_027EA5C4 +sub_027EA5C4: ; 0x027EA5C4 stmdb sp!, {r3, lr} - ldr r1, _02019DD8 ; =0x04808158 + ldr r1, _027EA5E8 ; =0x04808158 orr r0, r0, #0x6000 strh r0, [r1] - bl sub_0302AC10 - ldr r0, _02019DDC ; =0x0480815C + bl sub_037FB420 + ldr r0, _027EA5EC ; =0x0480815C ldrh r0, [r0] ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02019DD8: .word 0x04808158 -_02019DDC: .word 0x0480815C - arm_func_end sub_02019DB4 +_027EA5E8: .word 0x04808158 +_027EA5EC: .word 0x0480815C + arm_func_end sub_027EA5C4 - arm_func_start sub_02019DE0 -sub_02019DE0: ; 0x02019DE0 + arm_func_start sub_027EA5F0 +sub_027EA5F0: ; 0x027EA5F0 stmdb sp!, {r3, lr} - ldr r2, _02019E0C ; =0x0480815A + ldr r2, _027EA61C ; =0x0480815A orr r0, r0, #0x5000 strh r1, [r2] strh r0, [r2, #-2] - bl sub_0302AC10 + bl sub_037FB420 cmp r0, #0 mvnne r0, #0 moveq r0, #0 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02019E0C: .word 0x0480815A - arm_func_end sub_02019DE0 +_027EA61C: .word 0x0480815A + arm_func_end sub_027EA5F0 - arm_func_start sub_02019E10 -sub_02019E10: ; 0x02019E10 - ldr r2, _02019E28 ; =0x0480817E - ldr ip, _02019E2C ; =sub_037FB454 + arm_func_start sub_027EA620 +sub_027EA620: ; 0x027EA620 + ldr r2, _027EA638 ; =0x0480817E + ldr ip, _027EA63C ; =sub_037FB454 strh r0, [r2] mov r1, r0, lsr #0x10 strh r1, [r2, #-2] bx ip .align 2, 0 -_02019E28: .word 0x0480817E -_02019E2C: .word sub_037FB454 - arm_func_end sub_02019E10 +_027EA638: .word 0x0480817E +_027EA63C: .word sub_037FB454 + arm_func_end sub_027EA620 - arm_func_start sub_02019E30 -sub_02019E30: ; 0x02019E30 + arm_func_start sub_027EA640 +sub_027EA640: ; 0x027EA640 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 mov r8, #0 @@ -12123,11 +12124,11 @@ sub_02019E30: ; 0x02019E30 mov r6, #0x64 add r4, sp, #0 mov r5, #1 -_02019E50: +_027EA660: mov r0, r6 mov r1, r5 mov r2, r4 - bl sub_02024600 + bl sub_027F4E10 cmp r7, #1 ldreq r0, [sp] mov r1, r8 @@ -12135,55 +12136,55 @@ _02019E50: streq r0, [sp] ldr r0, [sp] and r0, r0, #0xff - bl sub_0201A5D8 + bl sub_027EADE8 add r7, r7, #1 mov r8, r0 cmp r7, #0x69 add r6, r6, #1 - blo _02019E50 + blo _027EA660 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, lr} bx lr - arm_func_end sub_02019E30 + arm_func_end sub_027EA640 - arm_func_start sub_02019EA0 -sub_02019EA0: ; 0x02019EA0 + arm_func_start sub_027EA6B0 +sub_027EA6B0: ; 0x027EA6B0 stmdb sp!, {r4, lr} - ldr r1, _02019F0C ; =0x0380FFF4 + ldr r1, _027EA71C ; =0x0380FFF4 mov r0, #0 ldr r1, [r1] mov r2, #0x10 add r1, r1, #0x1f8 add r4, r1, #0x400 mov r1, r4 - bl sub_0302D764 + bl sub_037FDF74 mov r2, r4 mov r0, #0x40 mov r1, #1 - bl sub_02024600 + bl sub_027F4E10 add r2, r4, #2 mov r0, #0x41 mov r1, #1 - bl sub_02024600 + bl sub_027F4E10 add r2, r4, #4 mov r0, #0x42 mov r1, #1 - bl sub_02024600 + bl sub_027F4E10 add r2, r4, #6 mov r0, #0x43 mov r1, #1 - bl sub_02024600 + bl sub_027F4E10 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02019F0C: .word 0x0380FFF4 - arm_func_end sub_02019EA0 +_027EA71C: .word 0x0380FFF4 + arm_func_end sub_027EA6B0 - arm_func_start sub_02019F10 -sub_02019F10: ; 0x02019F10 - ldr r2, _02019F44 ; =0x027F7350 + arm_func_start sub_027EA720 +sub_027EA720: ; 0x027EA720 + ldr r2, _027EA754 ; =0x027F7350 mov r3, #0 -_02019F18: +_027EA728: mov r0, r3, lsl #2 ldrh r0, [r2, r0] add r1, r2, r3, lsl #2 @@ -12193,16 +12194,16 @@ _02019F18: add r0, r0, #0x8000 strh r1, [r0] cmp r3, #0x19 - blo _02019F18 + blo _027EA728 bx lr .align 2, 0 -_02019F44: .word 0x027F7350 - arm_func_end sub_02019F10 +_027EA754: .word 0x027F7350 + arm_func_end sub_027EA720 - arm_func_start sub_02019F48 -sub_02019F48: ; 0x02019F48 + arm_func_start sub_027EA758 +sub_027EA758: ; 0x027EA758 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r0, _02019FAC ; =0x04808160 + ldr r0, _027EA7BC ; =0x04808160 mov r1, #0x100 strh r1, [r0] mov r6, #0 @@ -12210,33 +12211,33 @@ sub_02019F48: ; 0x02019F48 mov r7, #0x64 add r4, sp, #0 mov r5, #1 -_02019F6C: +_027EA77C: mov r0, r7 mov r1, r5 mov r2, r4 - bl sub_02024600 + bl sub_027F4E10 ldr r1, [sp] mov r0, r6 - bl sub_02019DE0 + bl sub_027EA5F0 add r6, r6, #1 cmp r6, #0x69 add r7, r7, #1 - blo _02019F6C + blo _027EA77C mov r0, #0x5a mov r1, #2 - bl sub_02019DE0 + bl sub_027EA5F0 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02019FAC: .word 0x04808160 - arm_func_end sub_02019F48 +_027EA7BC: .word 0x04808160 + arm_func_end sub_027EA758 - arm_func_start sub_02019FB0 -sub_02019FB0: ; 0x02019FB0 + arm_func_start sub_027EA7C0 +sub_027EA7C0: ; 0x027EA7C0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #8 - ldr r0, _0201A12C ; =0x0380FFF4 - ldr r5, _0201A130 ; =0x027F72E0 + ldr r0, _027EA93C ; =0x0380FFF4 + ldr r5, _027EA940 ; =0x027F72E0 ldr r0, [r0] mov r8, #0 add r0, r0, #0x1f8 @@ -12244,12 +12245,12 @@ sub_02019FB0: ; 0x02019FB0 add r4, r0, #0x400 add r6, sp, #0 mov r7, #2 -_02019FDC: +_027EA7EC: mov r0, r8, lsl #1 mov r1, r7 mov r2, r6 add r0, r0, #0x44 - bl sub_02024600 + bl sub_027F4E10 mov r0, r8, lsl #1 ldrh r0, [r5, r0] add r8, r8, #1 @@ -12258,9 +12259,9 @@ _02019FDC: add r0, r0, #0x8000 strh r1, [r0] cmp r8, #0x10 - blo _02019FDC + blo _027EA7EC ldrh r1, [r4, #2] - ldr r0, _0201A134 ; =0x04808184 + ldr r0, _027EA944 ; =0x04808184 mov r2, r1, lsr #7 mov r1, r2, lsl #8 str r1, [sp, #4] @@ -12279,46 +12280,46 @@ _02019FDC: ldrh r8, [r4, #4] cmp r1, #3 mov r6, r0, asr #3 - bne _0201A0CC + bne _027EA8DC add r0, r8, #0xce add r2, r4, #8 mov r1, #1 - bl sub_02024600 + bl sub_027F4E10 mov sb, #0 add r4, sp, #4 mov r6, sb mov r5, #1 - b _0201A0C0 -_0201A08C: + b _027EA8D0 +_027EA89C: str r6, [sp, #4] mov r0, r7 mov r1, r5 mov r2, r4 - bl sub_02024600 + bl sub_027F4E10 mov r0, sb, lsl #8 ldr r1, [sp, #4] add r0, r0, #0x50000 orr r0, r1, r0 str r0, [sp, #4] - bl sub_02019E10 + bl sub_027EA620 add sb, sb, #1 add r7, r7, #1 -_0201A0C0: +_027EA8D0: cmp sb, r8 - blo _0201A08C - b _0201A120 -_0201A0CC: + blo _027EA89C + b _027EA930 +_027EA8DC: mov r0, #0 str r0, [sp, #4] add r5, sp, #4 - b _0201A118 -_0201A0DC: + b _027EA928 +_027EA8EC: mov r0, r7 mov r1, r6 mov r2, r5 - bl sub_02024600 + bl sub_027F4E10 ldr r0, [sp, #4] - bl sub_02019E10 + bl sub_027EA620 ldrh r0, [r4] sub r8, r8, #1 cmp r0, #2 @@ -12328,75 +12329,75 @@ _0201A0DC: cmpeq r0, #9 biceq r0, r1, #0x7c00 streq r0, [r4, #0xc] -_0201A118: +_027EA928: cmp r8, #0 - bne _0201A0DC -_0201A120: + bne _027EA8EC +_027EA930: add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, lr} bx lr .align 2, 0 -_0201A12C: .word 0x0380FFF4 -_0201A130: .word 0x027F72E0 -_0201A134: .word 0x04808184 - arm_func_end sub_02019FB0 +_027EA93C: .word 0x0380FFF4 +_027EA940: .word 0x027F72E0 +_027EA944: .word 0x04808184 + arm_func_end sub_027EA7C0 - arm_func_start sub_0201A138 -sub_0201A138: ; 0x0201A138 + arm_func_start sub_027EA948 +sub_027EA948: ; 0x027EA948 stmdb sp!, {r4, lr} - ldr r0, _0201A188 ; =0x0380FFF4 + ldr r0, _027EA998 ; =0x0380FFF4 ldr r4, [r0] - bl sub_0302CB80 + bl sub_037FD390 cmp r0, #0 addeq r0, r4, #0x300 ldreqh r1, [r0, #0x3e] orreq r1, r1, #0x40 streqh r1, [r0, #0x3e] - beq _0201A180 + beq _027EA990 add r0, r4, #0x208 add r0, r0, #0x400 - bl sub_0302CB90 + bl sub_037FD3A0 add r0, r4, #0x234 add r0, r0, #0x400 - bl sub_0302CB90 + bl sub_037FD3A0 add r0, r4, #0x660 - bl sub_0302CB90 -_0201A180: + bl sub_037FD3A0 +_027EA990: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201A188: .word 0x0380FFF4 - arm_func_end sub_0201A138 +_027EA998: .word 0x0380FFF4 + arm_func_end sub_027EA948 - arm_func_start sub_0201A18C -sub_0201A18C: ; 0x0201A18C + arm_func_start sub_027EA99C +sub_027EA99C: ; 0x027EA99C mov r1, #0 str r1, [r0] bx lr - arm_func_end sub_0201A18C + arm_func_end sub_027EA99C - arm_func_start sub_0201A198 -sub_0201A198: ; 0x0201A198 - ldr ip, _0201A1A4 ; =sub_037FB32C - ldr r1, _0201A1A8 ; =0x027EA99C + arm_func_start sub_027EA9A8 +sub_027EA9A8: ; 0x027EA9A8 + ldr ip, _027EA9B4 ; =sub_037FB32C + ldr r1, _027EA9B8 ; =0x027EA99C bx ip .align 2, 0 -_0201A1A4: .word sub_037FB32C -_0201A1A8: .word 0x027EA99C - arm_func_end sub_0201A198 +_027EA9B4: .word sub_037FB32C +_027EA9B8: .word 0x027EA99C + arm_func_end sub_027EA9A8 - arm_func_start sub_0201A1AC -sub_0201A1AC: ; 0x0201A1AC + arm_func_start sub_027EA9BC +sub_027EA9BC: ; 0x027EA9BC stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc - ldr r2, _0201A234 ; =0x0380FFF4 + ldr r2, _027EAA44 ; =0x0380FFF4 mov r5, r0 ldr r0, [r2] mov r4, r1 add r0, r0, #0x208 add r0, r0, #0x400 - bl sub_0302CDB0 - ldr r0, _0201A238 ; =0x000082EA + bl sub_037FD5C0 + ldr r0, _027EAA48 ; =0x000082EA mov r1, #0 umull r3, r2, r5, r0 mla r2, r5, r1, r2 @@ -12404,124 +12405,124 @@ sub_0201A1AC: ; 0x0201A1AC mla r2, r5, r0, r2 mov r6, r3, lsr #6 orr r6, r6, r2, lsl #26 - bl sub_0302CA0C + bl sub_037FD21C adds r0, r6, r0 adc r2, r1, #0 mov r1, r0 str r4, [sp, #4] mov r0, r5 str r0, [sp, #8] - ldr r0, _0201A234 ; =0x0380FFF4 + ldr r0, _027EAA44 ; =0x0380FFF4 str r5, [sp] ldr r0, [r0] mov r3, r6 add r0, r0, #0x208 add r0, r0, #0x400 - bl sub_0302CD3C + bl sub_037FD54C add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, lr} bx lr .align 2, 0 -_0201A234: .word 0x0380FFF4 -_0201A238: .word 0x000082EA - arm_func_end sub_0201A1AC +_027EAA44: .word 0x0380FFF4 +_027EAA48: .word 0x000082EA + arm_func_end sub_027EA9BC - arm_func_start sub_0201A23C -sub_0201A23C: ; 0x0201A23C - ldr r0, _0201A254 ; =0x0380FFF4 - ldr ip, _0201A258 ; =sub_037FD5C0 + arm_func_start sub_027EAA4C +sub_027EAA4C: ; 0x027EAA4C + ldr r0, _027EAA64 ; =0x0380FFF4 + ldr ip, _027EAA68 ; =sub_037FD5C0 ldr r0, [r0] add r0, r0, #0x208 add r0, r0, #0x400 bx ip .align 2, 0 -_0201A254: .word 0x0380FFF4 -_0201A258: .word sub_037FD5C0 - arm_func_end sub_0201A23C +_027EAA64: .word 0x0380FFF4 +_027EAA68: .word sub_037FD5C0 + arm_func_end sub_027EAA4C - arm_func_start sub_0201A25C -sub_0201A25C: ; 0x0201A25C + arm_func_start sub_027EAA6C +sub_027EAA6C: ; 0x027EAA6C stmdb sp!, {r4, lr} - ldr r1, _0201A2D8 ; =0x0380FFF4 + ldr r1, _027EAAE8 ; =0x0380FFF4 mov r0, #1 ldr r4, [r1] mov r1, #0xa ldr r2, [r4, #0x3ec] add r2, r2, #1 str r2, [r4, #0x3ec] - bl sub_03027D88 + bl sub_037F8598 mov r0, #2 mov r1, #0x12 - bl sub_03027D88 + bl sub_037F8598 mov r0, #1 mov r1, #0x11 - bl sub_03027D88 + bl sub_037F8598 add r0, r4, #0x100 ldrh r0, [r0, #0xfc] cmp r0, #0 - beq _0201A2B4 + beq _027EAAC4 mov r0, #2 mov r1, #0x13 - bl sub_03027D88 -_0201A2B4: + bl sub_037F8598 +_027EAAC4: add r0, r4, #0x300 ldrh r0, [r0, #0xf4] cmp r0, #0 - beq _0201A2D0 + beq _027EAAE0 mov r0, #2 mov r1, #0x15 - bl sub_03027D88 -_0201A2D0: + bl sub_037F8598 +_027EAAE0: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201A2D8: .word 0x0380FFF4 - arm_func_end sub_0201A25C +_027EAAE8: .word 0x0380FFF4 + arm_func_end sub_027EAA6C - arm_func_start sub_0201A2DC -sub_0201A2DC: ; 0x0201A2DC + arm_func_start sub_027EAAEC +sub_027EAAEC: ; 0x027EAAEC stmdb sp!, {r3, r4, r5, lr} - ldr r2, _0201A344 ; =0x0380FFF4 + ldr r2, _027EAB54 ; =0x0380FFF4 mov r5, r0 ldr r0, [r2] mov r4, r1 add r0, r0, #0x234 add r0, r0, #0x400 - bl sub_0302CDB0 + bl sub_037FD5C0 mov r3, #0 - ldr r0, _0201A348 ; =0x000082EA + ldr r0, _027EAB58 ; =0x000082EA mov r1, r3 umull r2, ip, r5, r0 mla ip, r5, r3, ip mla ip, r1, r0, ip mov r1, r2, lsr #6 str r3, [sp] - ldr r0, _0201A344 ; =0x0380FFF4 + ldr r0, _027EAB54 ; =0x0380FFF4 mov r3, r4 ldr r0, [r0] mov r2, ip, lsr #6 add r0, r0, #0x234 add r0, r0, #0x400 orr r1, r1, ip, lsl #26 - bl sub_0302CCCC + bl sub_037FD4DC ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0201A344: .word 0x0380FFF4 -_0201A348: .word 0x000082EA - arm_func_end sub_0201A2DC +_027EAB54: .word 0x0380FFF4 +_027EAB58: .word 0x000082EA + arm_func_end sub_027EAAEC - arm_func_start sub_0201A34C -sub_0201A34C: ; 0x0201A34C + arm_func_start sub_027EAB5C +sub_027EAB5C: ; 0x027EAB5C stmdb sp!, {r3, r4, r5, lr} - ldr r2, _0201A3C8 ; =0x0380FFF4 + ldr r2, _027EABD8 ; =0x0380FFF4 mov r5, r0 ldr r0, [r2] mov r4, r1 add r0, r0, #0x234 add r0, r0, #0x400 - bl sub_0302CDB0 - ldr r0, _0201A3CC ; =0x000082EA + bl sub_037FD5C0 + ldr r0, _027EABDC ; =0x000082EA mov r3, #0 umull ip, r2, r5, r0 mla r2, r5, r3, r2 @@ -12531,41 +12532,41 @@ sub_0201A34C: ; 0x0201A34C mov r1, r2, lsr #6 orr r0, r0, r2, lsl #26 mov r2, #0x3e8 - bl sub_03036370 + bl sub_03806B80 mov r2, r1 mov r1, r0 mov r0, #0 str r0, [sp] - ldr r0, _0201A3C8 ; =0x0380FFF4 + ldr r0, _027EABD8 ; =0x0380FFF4 mov r3, r4 ldr r0, [r0] add r0, r0, #0x234 add r0, r0, #0x400 - bl sub_0302CCCC + bl sub_037FD4DC ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0201A3C8: .word 0x0380FFF4 -_0201A3CC: .word 0x000082EA - arm_func_end sub_0201A34C +_027EABD8: .word 0x0380FFF4 +_027EABDC: .word 0x000082EA + arm_func_end sub_027EAB5C - arm_func_start sub_0201A3D0 -sub_0201A3D0: ; 0x0201A3D0 - ldr r0, _0201A3E8 ; =0x0380FFF4 - ldr ip, _0201A3EC ; =sub_037FD5C0 + arm_func_start sub_027EABE0 +sub_027EABE0: ; 0x027EABE0 + ldr r0, _027EABF8 ; =0x0380FFF4 + ldr ip, _027EABFC ; =sub_037FD5C0 ldr r0, [r0] add r0, r0, #0x234 add r0, r0, #0x400 bx ip .align 2, 0 -_0201A3E8: .word 0x0380FFF4 -_0201A3EC: .word sub_037FD5C0 - arm_func_end sub_0201A3D0 +_027EABF8: .word 0x0380FFF4 +_027EABFC: .word sub_037FD5C0 + arm_func_end sub_027EABE0 - arm_func_start sub_0201A3F0 -sub_0201A3F0: ; 0x0201A3F0 + arm_func_start sub_027EAC00 +sub_027EAC00: ; 0x027EAC00 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r3, _0201A464 ; =0x04805F60 + ldr r3, _027EAC74 ; =0x04805F60 add r2, r2, #1 mov r5, r1 bic r2, r2, #1 @@ -12579,10 +12580,10 @@ sub_0201A3F0: ; 0x0201A3F0 mov r0, r5 mov r1, r6 mov r2, r4 - bl sub_0302D78C + bl sub_037FDF9C cmp r7, #0 - beq _0201A45C - ldr r0, _0201A468 ; =0x0380FFF4 + beq _027EAC6C + ldr r0, _027EAC78 ; =0x0380FFF4 add r3, r5, r4 ldr r0, [r0] mov r2, r7 @@ -12590,18 +12591,18 @@ sub_0201A3F0: ; 0x0201A3F0 ldrh r0, [r0, #0xde] add r1, r6, r4 sub r0, r3, r0 - bl sub_0302D78C -_0201A45C: + bl sub_037FDF9C +_027EAC6C: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_0201A464: .word 0x04805F60 -_0201A468: .word 0x0380FFF4 - arm_func_end sub_0201A3F0 +_027EAC74: .word 0x04805F60 +_027EAC78: .word 0x0380FFF4 + arm_func_end sub_027EAC00 - arm_func_start sub_0201A46C -sub_0201A46C: ; 0x0201A46C - ldr ip, _0201A488 ; =sub_037FDF9C + arm_func_start sub_027EAC7C +sub_027EAC7C: ; 0x027EAC7C + ldr ip, _027EAC98 ; =sub_037FDF9C mov r3, r0 add r2, r2, #1 mov r0, r1 @@ -12609,11 +12610,11 @@ sub_0201A46C: ; 0x0201A46C bic r2, r2, #1 bx ip .align 2, 0 -_0201A488: .word sub_037FDF9C - arm_func_end sub_0201A46C +_027EAC98: .word sub_037FDF9C + arm_func_end sub_027EAC7C - arm_func_start sub_0201A48C -sub_0201A48C: ; 0x0201A48C + arm_func_start sub_027EAC9C +sub_027EAC9C: ; 0x027EAC9C stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r2 @@ -12621,21 +12622,21 @@ sub_0201A48C: ; 0x0201A48C mov r4, r3 mov r1, r6 mov r2, #0x24 - bl sub_0302D78C + bl sub_037FDF9C cmp r4, #0 - beq _0201A4C8 + beq _027EACD8 add r2, r4, #1 mov r0, r5 add r1, r6, #0x24 bic r2, r2, #1 - bl sub_0302D78C -_0201A4C8: + bl sub_037FDF9C +_027EACD8: ldmia sp!, {r4, r5, r6, lr} bx lr - arm_func_end sub_0201A48C + arm_func_end sub_027EAC9C - arm_func_start sub_0201A4D0 -sub_0201A4D0: ; 0x0201A4D0 + arm_func_start sub_027EACE0 +sub_027EACE0: ; 0x027EACE0 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r2 @@ -12643,21 +12644,21 @@ sub_0201A4D0: ; 0x0201A4D0 mov r4, r3 mov r1, r6 mov r2, #0x24 - bl sub_0302D78C + bl sub_037FDF9C cmp r4, #0 - beq _0201A50C + beq _027EAD1C add r2, r4, #1 mov r0, r5 add r1, r6, #0x28 bic r2, r2, #1 - bl sub_0302D78C -_0201A50C: + bl sub_037FDF9C +_027EAD1C: ldmia sp!, {r4, r5, r6, lr} bx lr - arm_func_end sub_0201A4D0 + arm_func_end sub_027EACE0 - arm_func_start sub_0201A514 -sub_0201A514: ; 0x0201A514 + arm_func_start sub_027EAD24 +sub_027EAD24: ; 0x027EAD24 tst r0, #1 ldrneh r2, [r0, #-1] andne r2, r2, #0xff @@ -12669,10 +12670,10 @@ sub_0201A514: ; 0x0201A514 orreq r1, r2, r1 streqh r1, [r0] bx lr - arm_func_end sub_0201A514 + arm_func_end sub_027EAD24 - arm_func_start sub_0201A540 -sub_0201A540: ; 0x0201A540 + arm_func_start sub_027EAD50 +sub_027EAD50: ; 0x027EAD50 tst r0, #1 ldrneh r0, [r0, #-1] movne r0, r0, asr #8 @@ -12680,12 +12681,12 @@ sub_0201A540: ; 0x0201A540 and r0, r0, #0xff and r0, r0, #0xff bx lr - arm_func_end sub_0201A540 + arm_func_end sub_027EAD50 - arm_func_start sub_0201A55C -sub_0201A55C: ; 0x0201A55C - ldr r3, _0201A588 ; =0x0380FFF4 - ldr r2, _0201A58C ; =0x0000FFF8 + arm_func_start sub_027EAD6C +sub_027EAD6C: ; 0x027EAD6C + ldr r3, _027EAD98 ; =0x0380FFF4 + ldr r2, _027EAD9C ; =0x0000FFF8 ldr r3, [r3] and r0, r0, r2 add r2, r0, #5 @@ -12696,24 +12697,24 @@ sub_0201A55C: ; 0x0201A55C strh r0, [r2, #2] bx lr .align 2, 0 -_0201A588: .word 0x0380FFF4 -_0201A58C: .word 0x0000FFF8 - arm_func_end sub_0201A55C +_027EAD98: .word 0x0380FFF4 +_027EAD9C: .word 0x0000FFF8 + arm_func_end sub_027EAD6C - arm_func_start sub_0201A590 -sub_0201A590: ; 0x0201A590 - ldr r1, _0201A5A4 ; =0x0380FFF4 + arm_func_start sub_027EADA0 +sub_027EADA0: ; 0x027EADA0 + ldr r1, _027EADB4 ; =0x0380FFF4 ldr r1, [r1] add r1, r1, #0x500 strh r0, [r1, #0xf4] bx lr .align 2, 0 -_0201A5A4: .word 0x0380FFF4 - arm_func_end sub_0201A590 +_027EADB4: .word 0x0380FFF4 + arm_func_end sub_027EADA0 - arm_func_start sub_0201A5A8 -sub_0201A5A8: ; 0x0201A5A8 - ldr r0, _0201A5D4 ; =0x0380FFF4 + arm_func_start sub_027EADB8 +sub_027EADB8: ; 0x027EADB8 + ldr r0, _027EADE4 ; =0x0380FFF4 ldr r0, [r0] add r3, r0, #0x5f0 add r0, r0, #0x500 @@ -12725,15 +12726,15 @@ sub_0201A5A8: ; 0x0201A5A8 ldrh r0, [r3, #4] bx lr .align 2, 0 -_0201A5D4: .word 0x0380FFF4 - arm_func_end sub_0201A5A8 +_027EADE4: .word 0x0380FFF4 + arm_func_end sub_027EADB8 - arm_func_start sub_0201A5D8 -sub_0201A5D8: ; 0x0201A5D8 + arm_func_start sub_027EADE8 +sub_027EADE8: ; 0x027EADE8 stmdb sp!, {r4, lr} - ldr r2, _0201A650 ; =0x027F72C0 + ldr r2, _027EAE60 ; =0x027F72C0 mov r4, r1, lsl #0x1c - ldr r3, _0201A654 ; =0x00000FFF + ldr r3, _027EAE64 ; =0x00000FFF mov r4, r4, lsr #0x1b mov ip, r0, lsl #0x1c mov lr, ip, lsr #0x1b @@ -12761,31 +12762,31 @@ sub_0201A5D8: ; 0x0201A5D8 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201A650: .word 0x027F72C0 -_0201A654: .word 0x00000FFF - arm_func_end sub_0201A5D8 +_027EAE60: .word 0x027F72C0 +_027EAE64: .word 0x00000FFF + arm_func_end sub_027EADE8 - arm_func_start sub_0201A658 -sub_0201A658: ; 0x0201A658 + arm_func_start sub_027EAE68 +sub_027EAE68: ; 0x027EAE68 stmdb sp!, {r4, lr} ldr r4, [r0, #8] - ldr r1, _0201A6CC ; =0x0000B6B8 + ldr r1, _027EAEDC ; =0x0000B6B8 ldrh r2, [r4, #-4] sub lr, r4, #4 cmp r2, r1 ldreqh r2, [lr, #2] - ldreq r1, _0201A6D0 ; =0x00001D46 + ldreq r1, _027EAEE0 ; =0x00001D46 cmpeq r2, r1 moveq r0, #0 - beq _0201A6C4 - ldr r3, _0201A6CC ; =0x0000B6B8 + beq _027EAED4 + ldr r3, _027EAEDC ; =0x0000B6B8 mov ip, #1 strh ip, [r4, #0xa] - ldr r2, _0201A6D0 ; =0x00001D46 + ldr r2, _027EAEE0 ; =0x00001D46 strh r3, [lr] strh r2, [lr, #2] ldr r1, [r0, #8] - ldr r0, _0201A6D4 ; =0x0380FFF4 + ldr r0, _027EAEE4 ; =0x0380FFF4 strh r3, [r1, #0xc] strh r2, [r1, #0xe] ldr r1, [r0] @@ -12794,66 +12795,66 @@ sub_0201A658: ; 0x0201A658 ldrh r2, [r1, #0xfa] add r2, r2, #1 strh r2, [r1, #0xfa] -_0201A6C4: +_027EAED4: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201A6CC: .word 0x0000B6B8 -_0201A6D0: .word 0x00001D46 -_0201A6D4: .word 0x0380FFF4 - arm_func_end sub_0201A658 +_027EAEDC: .word 0x0000B6B8 +_027EAEE0: .word 0x00001D46 +_027EAEE4: .word 0x0380FFF4 + arm_func_end sub_027EAE68 - arm_func_start sub_0201A6D8 -sub_0201A6D8: ; 0x0201A6D8 - ldr r0, _0201A710 ; =0x04808004 + arm_func_start sub_027EAEE8 +sub_027EAEE8: ; 0x027EAEE8 + ldr r0, _027EAF20 ; =0x04808004 mov r1, #0 strh r1, [r0] mov r2, #0x10 add r1, r0, #0x210 - b _0201A704 -_0201A6F0: + b _027EAF14 +_027EAF00: ldrh r0, [r1] cmp r0, #0 cmpne r0, #9 bxeq lr sub r2, r2, #1 -_0201A704: +_027EAF14: cmp r2, #0 - bne _0201A6F0 + bne _027EAF00 bx lr .align 2, 0 -_0201A710: .word 0x04808004 - arm_func_end sub_0201A6D8 +_027EAF20: .word 0x04808004 + arm_func_end sub_027EAEE8 - arm_func_start sub_0201A714 -sub_0201A714: ; 0x0201A714 + arm_func_start sub_027EAF24 +sub_027EAF24: ; 0x027EAF24 stmdb sp!, {r4, lr} mov r4, r0 ldrh r0, [r4] cmp r0, #0 - beq _0201A754 - bl sub_0201A6D8 + beq _027EAF64 + bl sub_027EAEE8 ldr r1, [r4, #0xc] ldr r0, [r4, #8] sub r1, r1, #0x10 - bl sub_0201F904 - ldr r0, _0201A75C ; =0x0380FFF4 + bl sub_027F0114 + ldr r0, _027EAF6C ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x300 ldrh r1, [r0, #0xfc] add r1, r1, #1 strh r1, [r0, #0xfc] -_0201A754: +_027EAF64: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201A75C: .word 0x0380FFF4 - arm_func_end sub_0201A714 +_027EAF6C: .word 0x0380FFF4 + arm_func_end sub_027EAF24 - arm_func_start sub_0201A760 -sub_0201A760: ; 0x0201A760 + arm_func_start sub_027EAF70 +sub_027EAF70: ; 0x027EAF70 stmdb sp!, {r3, r4, r5, lr} - ldr r0, _0201A854 ; =0x0380FFF4 + ldr r0, _027EB064 ; =0x0380FFF4 ldr r2, [r0] add r0, r2, #0x300 ldrh r1, [r0, #0x50] @@ -12861,59 +12862,59 @@ sub_0201A760: ; 0x0201A760 cmp r1, #1 add r4, r2, #0x344 add r5, r0, #0x400 - beq _0201A798 + beq _027EAFA8 cmp r1, #2 - beq _0201A7CC + beq _027EAFDC cmp r1, #3 - b _0201A808 -_0201A798: + b _027EB018 +_027EAFA8: add r0, r5, #0x78 - bl sub_0201A658 + bl sub_027EAE68 cmp r0, #0 - beq _0201A7B0 - bl sub_0201A6D8 - bl sub_020209F4 -_0201A7B0: + beq _027EAFC0 + bl sub_027EAEE8 + bl sub_027F1204 +_027EAFC0: add r0, r5, #0x28 - bl sub_0201A658 + bl sub_027EAE68 cmp r0, #0 - beq _0201A808 + beq _027EB018 add r0, r5, #0x28 - bl sub_0201A714 - b _0201A808 -_0201A7CC: + bl sub_027EAF24 + b _027EB018 +_027EAFDC: add r0, r5, #0x64 - bl sub_0201A658 + bl sub_027EAE68 add r0, r5, #0x28 - bl sub_0201A658 + bl sub_027EAE68 cmp r0, #0 - beq _0201A808 + beq _027EB018 ldrh r0, [r5, #0x28] cmp r0, #0 - beq _0201A7F4 - bl sub_0201A6D8 -_0201A7F4: + beq _027EB004 + bl sub_027EAEE8 +_027EB004: ldrh r0, [r4, #0x6a] - bl sub_02021740 + bl sub_027F1F50 ldrh r0, [r4, #0xb8] add r0, r0, #1 strh r0, [r4, #0xb8] -_0201A808: +_027EB018: add r0, r5, #0x14 - bl sub_0201A658 + bl sub_027EAE68 cmp r0, #0 - beq _0201A820 + beq _027EB030 add r0, r5, #0x14 - bl sub_0201A714 -_0201A820: + bl sub_027EAF24 +_027EB030: mov r0, r5 - bl sub_0201A658 + bl sub_027EAE68 cmp r0, #0 - beq _0201A838 + beq _027EB048 mov r0, r5 - bl sub_0201A714 -_0201A838: - ldr r1, _0201A858 ; =0x04808004 + bl sub_027EAF24 +_027EB048: + ldr r1, _027EB068 ; =0x04808004 ldrh r0, [r1] cmp r0, #0 moveq r0, #1 @@ -12921,74 +12922,74 @@ _0201A838: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0201A854: .word 0x0380FFF4 -_0201A858: .word 0x04808004 - arm_func_end sub_0201A760 +_027EB064: .word 0x0380FFF4 +_027EB068: .word 0x04808004 + arm_func_end sub_027EAF70 - arm_func_start sub_0201A85C -sub_0201A85C: ; 0x0201A85C + arm_func_start sub_027EB06C +sub_027EB06C: ; 0x027EB06C stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x1000000 - bl sub_0302B118 - ldr r1, _0201A89C ; =0x0380FFF4 + bl sub_037FB928 + ldr r1, _027EB0AC ; =0x0380FFF4 ldr r1, [r1] add r1, r1, #0x300 ldrh r2, [r1, #0xf4] orr r2, r2, r4 strh r2, [r1, #0xf4] - bl sub_0302B0E0 + bl sub_037FB8F0 mov r0, #2 mov r1, #0x15 - bl sub_03027D88 + bl sub_037F8598 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201A89C: .word 0x0380FFF4 - arm_func_end sub_0201A85C +_027EB0AC: .word 0x0380FFF4 + arm_func_end sub_027EB06C - arm_func_start sub_0201A8A0 -sub_0201A8A0: ; 0x0201A8A0 + arm_func_start sub_027EB0B0 +sub_027EB0B0: ; 0x027EB0B0 stmdb sp!, {r3, r4, r5, lr} - ldr r0, _0201A918 ; =0x0380FFF4 + ldr r0, _027EB128 ; =0x0380FFF4 ldr r1, [r0] add r4, r1, #0x344 ldrh r0, [r4, #0xb0] cmp r0, #0 - beq _0201A910 + beq _027EB120 add r0, r1, #0x188 mov r1, #0x12 - bl sub_0302805C + bl sub_037F886C movs r5, r0 - beq _0201A910 - ldr r1, _0201A91C ; =0x00000186 + beq _027EB120 + ldr r1, _027EB12C ; =0x00000186 mov r0, #1 strh r1, [r5, #0xc] strh r0, [r5, #0xe] mov r0, #0x1000000 - bl sub_0302B118 + bl sub_037FB928 ldrh r2, [r4, #0xb0] mov r1, #0 strh r2, [r5, #0x10] strh r1, [r4, #0xb0] - bl sub_0302B0E0 - ldr r0, _0201A918 ; =0x0380FFF4 + bl sub_037FB8F0 + ldr r0, _027EB128 ; =0x0380FFF4 mov r1, r5 ldr r0, [r0] add r0, r0, #0x188 - bl sub_03028548 -_0201A910: + bl sub_037F8D58 +_027EB120: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0201A918: .word 0x0380FFF4 -_0201A91C: .word 0x00000186 - arm_func_end sub_0201A8A0 +_027EB128: .word 0x0380FFF4 +_027EB12C: .word 0x00000186 + arm_func_end sub_027EB0B0 - arm_func_start sub_0201A920 -sub_0201A920: ; 0x0201A920 + arm_func_start sub_027EB130 +sub_027EB130: ; 0x027EB130 stmdb sp!, {r3, r4, r5, lr} - ldr r2, _0201A9B8 ; =0x0380FFF4 + ldr r2, _027EB1C8 ; =0x0380FFF4 ldr r0, [r2] add r0, r0, #0x300 ldrh r1, [r0, #0x3e] @@ -12998,81 +12999,81 @@ sub_0201A920: ; 0x0201A920 add r0, r0, #0x300 ldrh r0, [r0, #0x4c] cmp r0, #0 - beq _0201A98C - bl sub_03028988 - ldr r2, _0201A9B8 ; =0x0380FFF4 + beq _027EB19C + bl sub_037F9198 + ldr r2, _027EB1C8 ; =0x0380FFF4 ldr r0, [r2] add r0, r0, #0x400 ldrh r1, [r0, #4] cmp r1, #0 - beq _0201A988 + beq _027EB198 mov r1, #0 strh r1, [r0, #4] ldr r0, [r2] mov r1, #6 ldr r0, [r0, #0x420] strh r1, [r0, #4] - bl sub_0201D304 -_0201A988: - bl sub_020194E4 -_0201A98C: - ldr r4, _0201A9BC ; =0x0000FFFF + bl sub_027EDB14 +_027EB198: + bl sub_027E9CF4 +_027EB19C: + ldr r4, _027EB1CC ; =0x0000FFFF mov r5, #3 -_0201A994: +_027EB1A4: mov r0, r5 - bl sub_03027E40 + bl sub_037F8650 cmp r0, r4 - bne _0201A994 + bne _027EB1A4 mov r0, #3 mov r1, #0x17 - bl sub_03027D88 + bl sub_037F8598 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0201A9B8: .word 0x0380FFF4 -_0201A9BC: .word 0x0000FFFF - arm_func_end sub_0201A920 +_027EB1C8: .word 0x0380FFF4 +_027EB1CC: .word 0x0000FFFF + arm_func_end sub_027EB130 - arm_func_start sub_0201A9C0 -sub_0201A9C0: ; 0x0201A9C0 + arm_func_start sub_027EB1D0 +sub_027EB1D0: ; 0x027EB1D0 stmdb sp!, {r4, lr} - ldr r0, _0201AA0C ; =0x0380FFF4 + ldr r0, _027EB21C ; =0x0380FFF4 ldr r4, [r0] - bl sub_0201B0D0 - ldr r1, _0201AA0C ; =0x0380FFF4 + bl sub_027EB8E0 + ldr r1, _027EB21C ; =0x0380FFF4 add r0, r4, #0x188 ldr r1, [r1] ldr r1, [r1, #0x318] sub r1, r1, #0xc - bl sub_030280F8 - ldr r1, _0201AA0C ; =0x0380FFF4 + bl sub_037F8908 + ldr r1, _027EB21C ; =0x0380FFF4 add r0, r4, #0x188 ldr r1, [r1] ldr r1, [r1, #0x3e0] sub r1, r1, #0xc - bl sub_030280F8 - bl sub_0302B94C + bl sub_037F8908 + bl sub_037FC15C ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201AA0C: .word 0x0380FFF4 - arm_func_end sub_0201A9C0 +_027EB21C: .word 0x0380FFF4 + arm_func_end sub_027EB1D0 - arm_func_start sub_0201AA10 -sub_0201AA10: ; 0x0201AA10 + arm_func_start sub_027EB220 +sub_027EB220: ; 0x027EB220 stmdb sp!, {r4, r5, r6, lr} mov ip, #0 - ldr r0, _0201ABA4 ; =0x027F7554 - ldr r6, _0201ABA8 ; =0x027F74E4 + ldr r0, _027EB3B4 ; =0x027F7554 + ldr r6, _027EB3B8 ; =0x027F74E4 mov r3, ip mov r1, ip - b _0201AA84 -_0201AA2C: + b _027EB294 +_027EB23C: mov r4, r3, lsl #1 ldrh r5, [r6, r4] mov r2, r1 - b _0201AA78 -_0201AA3C: + b _027EB288 +_027EB24C: mov lr, r2, lsl #2 add r4, r0, r2, lsl #2 ldrh lr, [r0, lr] @@ -13083,23 +13084,23 @@ _0201AA3C: strh r4, [lr] ldrh lr, [lr] cmp lr, r4 - beq _0201AA74 + beq _027EB284 cmp ip, #0x20 add ip, ip, #1 - bhi _0201AB7C -_0201AA74: + bhi _027EB38C +_027EB284: add r2, r2, #1 -_0201AA78: +_027EB288: cmp r2, #0x1b - blo _0201AA3C + blo _027EB24C add r3, r3, #1 -_0201AA84: +_027EB294: cmp r3, #3 - blo _0201AA2C - ldr r4, _0201ABAC ; =0x00001234 - ldr r3, _0201ABA4 ; =0x027F7554 + blo _027EB23C + ldr r4, _027EB3BC ; =0x00001234 + ldr r3, _027EB3B4 ; =0x027F7554 mov r5, #0 -_0201AA98: +_027EB2A8: mov r0, r5, lsl #2 add r1, r3, r5, lsl #2 ldrh r0, [r3, r0] @@ -13114,12 +13115,12 @@ _0201AA98: strh r2, [r0] cmp r5, #0x1b mov r4, r1, lsr #0x10 - blo _0201AA98 - ldr r5, _0201ABAC ; =0x00001234 - ldr r3, _0201ABA4 ; =0x027F7554 + blo _027EB2A8 + ldr r5, _027EB3BC ; =0x00001234 + ldr r3, _027EB3B4 ; =0x027F7554 mov r4, #0 - b _0201AB2C -_0201AAE4: + b _027EB33C +_027EB2F4: mov r0, r4, lsl #2 ldrh r0, [r3, r0] add r1, r3, r4, lsl #2 @@ -13129,24 +13130,24 @@ _0201AAE4: ldrh r2, [r0] and r0, r5, r1 cmp r2, r0 - beq _0201AB18 + beq _027EB328 cmp ip, #0x20 add ip, ip, #1 - bhi _0201AB7C -_0201AB18: + bhi _027EB38C +_027EB328: add r0, r5, #0x234 add r0, r0, #0x1000 mov r0, r0, lsl #0x10 mov r5, r0, lsr #0x10 add r4, r4, #1 -_0201AB2C: +_027EB33C: cmp r4, #0x1b - blo _0201AAE4 + blo _027EB2F4 mov r3, #0 - ldr r2, _0201ABA4 ; =0x027F7554 + ldr r2, _027EB3B4 ; =0x027F7554 mov r1, r3 - b _0201AB74 -_0201AB44: + b _027EB384 +_027EB354: mov r0, r3, lsl #2 ldrh r0, [r2, r0] add r0, r0, #0x4800000 @@ -13154,42 +13155,42 @@ _0201AB44: strh r1, [r0] ldrh r0, [r0] cmp r0, #0 - beq _0201AB70 + beq _027EB380 cmp ip, #0x20 add ip, ip, #1 - bhi _0201AB7C -_0201AB70: + bhi _027EB38C +_027EB380: add r3, r3, #1 -_0201AB74: +_027EB384: cmp r3, #0x1b - blo _0201AB44 -_0201AB7C: + blo _027EB354 +_027EB38C: cmp ip, #0 - beq _0201AB9C - ldr r0, _0201ABB0 ; =0x0380FFF4 + beq _027EB3AC + ldr r0, _027EB3C0 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x300 ldrh r1, [r0, #0x3e] orr r1, r1, #1 strh r1, [r0, #0x3e] -_0201AB9C: +_027EB3AC: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_0201ABA4: .word 0x027F7554 -_0201ABA8: .word 0x027F74E4 -_0201ABAC: .word 0x00001234 -_0201ABB0: .word 0x0380FFF4 - arm_func_end sub_0201AA10 +_027EB3B4: .word 0x027F7554 +_027EB3B8: .word 0x027F74E4 +_027EB3BC: .word 0x00001234 +_027EB3C0: .word 0x0380FFF4 + arm_func_end sub_027EB220 - arm_func_start sub_0201ABB4 -sub_0201ABB4: ; 0x0201ABB4 + arm_func_start sub_027EB3C4 +sub_027EB3C4: ; 0x027EB3C4 stmdb sp!, {r3, lr} - ldr lr, _0201AD2C ; =0x04804000 + ldr lr, _027EB53C ; =0x04804000 mov r0, #0 - ldr r3, _0201AD30 ; =0x0000FFFF + ldr r3, _027EB540 ; =0x0000FFFF mov r2, r0 -_0201ABC8: +_027EB3D8: sub r1, r3, #1 mov ip, r3 mov r1, r1, lsl #0x10 @@ -13197,113 +13198,113 @@ _0201ABC8: cmp r2, #0x2000 mov r3, r1, lsr #0x10 strh ip, [lr], #2 - blo _0201ABC8 - ldr r2, _0201AD2C ; =0x04804000 - ldr r3, _0201AD30 ; =0x0000FFFF + blo _027EB3D8 + ldr r2, _027EB53C ; =0x04804000 + ldr r3, _027EB540 ; =0x0000FFFF mov ip, #0 - b _0201AC24 -_0201ABF8: + b _027EB434 +_027EB408: ldrh r1, [r2] cmp r1, r3 - beq _0201AC10 + beq _027EB420 cmp r0, #0x20 add r0, r0, #1 - bhi _0201AD04 -_0201AC10: + bhi _027EB514 +_027EB420: sub r1, r3, #1 mov r1, r1, lsl #0x10 add ip, ip, #2 add r2, r2, #2 mov r3, r1, lsr #0x10 -_0201AC24: +_027EB434: cmp ip, #0x2000 - blo _0201ABF8 - ldr r2, _0201AD2C ; =0x04804000 - ldr r3, _0201AD34 ; =0x00005A5A + blo _027EB408 + ldr r2, _027EB53C ; =0x04804000 + ldr r3, _027EB544 ; =0x00005A5A mov ip, #0 -_0201AC38: +_027EB448: mvn r1, r3 add ip, ip, #2 mov r1, r1, lsl #0x10 strh r3, [r2], #2 cmp ip, #0x2000 mov r3, r1, lsr #0x10 - blo _0201AC38 - ldr r2, _0201AD2C ; =0x04804000 - ldr r3, _0201AD34 ; =0x00005A5A + blo _027EB448 + ldr r2, _027EB53C ; =0x04804000 + ldr r3, _027EB544 ; =0x00005A5A mov ip, #0 - b _0201AC90 -_0201AC64: + b _027EB4A0 +_027EB474: ldrh r1, [r2] cmp r1, r3 - beq _0201AC7C + beq _027EB48C cmp r0, #0x20 add r0, r0, #1 - bhi _0201AD04 -_0201AC7C: + bhi _027EB514 +_027EB48C: mvn r1, r3 mov r1, r1, lsl #0x10 add ip, ip, #2 add r2, r2, #2 mov r3, r1, lsr #0x10 -_0201AC90: +_027EB4A0: cmp ip, #0x2000 - blo _0201AC64 - ldr r2, _0201AD2C ; =0x04804000 - ldr r3, _0201AD38 ; =0x0000A5A5 + blo _027EB474 + ldr r2, _027EB53C ; =0x04804000 + ldr r3, _027EB548 ; =0x0000A5A5 mov ip, #0 -_0201ACA4: +_027EB4B4: mvn r1, r3 add ip, ip, #2 mov r1, r1, lsl #0x10 strh r3, [r2], #2 cmp ip, #0x2000 mov r3, r1, lsr #0x10 - blo _0201ACA4 - ldr r2, _0201AD2C ; =0x04804000 - ldr r3, _0201AD38 ; =0x0000A5A5 + blo _027EB4B4 + ldr r2, _027EB53C ; =0x04804000 + ldr r3, _027EB548 ; =0x0000A5A5 mov ip, #0 - b _0201ACFC -_0201ACD0: + b _027EB50C +_027EB4E0: ldrh r1, [r2] cmp r1, r3 - beq _0201ACE8 + beq _027EB4F8 cmp r0, #0x20 add r0, r0, #1 - bhi _0201AD04 -_0201ACE8: + bhi _027EB514 +_027EB4F8: mvn r1, r3 mov r1, r1, lsl #0x10 add ip, ip, #2 add r2, r2, #2 mov r3, r1, lsr #0x10 -_0201ACFC: +_027EB50C: cmp ip, #0x2000 - blo _0201ACD0 -_0201AD04: + blo _027EB4E0 +_027EB514: cmp r0, #0 - beq _0201AD24 - ldr r0, _0201AD3C ; =0x0380FFF4 + beq _027EB534 + ldr r0, _027EB54C ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x300 ldrh r1, [r0, #0x3e] orr r1, r1, #2 strh r1, [r0, #0x3e] -_0201AD24: +_027EB534: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201AD2C: .word 0x04804000 -_0201AD30: .word 0x0000FFFF -_0201AD34: .word 0x00005A5A -_0201AD38: .word 0x0000A5A5 -_0201AD3C: .word 0x0380FFF4 - arm_func_end sub_0201ABB4 +_027EB53C: .word 0x04804000 +_027EB540: .word 0x0000FFFF +_027EB544: .word 0x00005A5A +_027EB548: .word 0x0000A5A5 +_027EB54C: .word 0x0380FFF4 + arm_func_end sub_027EB3C4 - arm_func_start sub_0201AD40 -sub_0201AD40: ; 0x0201AD40 + arm_func_start sub_027EB550 +sub_027EB550: ; 0x027EB550 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} - ldr r0, _0201B014 ; =0x0380FFF4 + ldr r0, _027EB824 ; =0x0380FFF4 mov r7, #0 ldr r0, [r0] mov r6, #0 @@ -13311,229 +13312,229 @@ sub_0201AD40: ; 0x0201AD40 ldrh r0, [r0, #0xf8] mov r5, #0xff cmp r0, #5 - ldreq sl, _0201B018 ; =0x027F74EA + ldreq sl, _027EB828 ; =0x027F74EA mvn r4, #0 - ldrne sl, _0201B01C ; =0x027F751C - b _0201AD90 -_0201AD74: + ldrne sl, _027EB82C ; =0x027F751C + b _027EB5A0 +_027EB584: mov r0, r6 mov r1, r5 - bl sub_02019DE0 + bl sub_027EA5F0 cmp r0, r4 moveq r7, #1 - beq _0201AFEC + beq _027EB7FC add r6, r6, #1 -_0201AD90: +_027EB5A0: cmp r6, #0x69 - blo _0201AD74 + blo _027EB584 mov r5, #0 mov r4, r5 - b _0201ADE0 -_0201ADA4: + b _027EB5F0 +_027EB5B4: mov r0, r4, lsl #1 ldrh r0, [sl, r0] cmp r5, r0 addeq r4, r4, #1 - beq _0201ADDC + beq _027EB5EC mov r0, r5 - bl sub_02019DB4 + bl sub_027EA5C4 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #0xff - beq _0201ADDC + beq _027EB5EC cmp r7, #0x20 add r7, r7, #1 - bhi _0201AFEC -_0201ADDC: + bhi _027EB7FC +_027EB5EC: add r5, r5, #1 -_0201ADE0: +_027EB5F0: cmp r5, #0x69 - blo _0201ADA4 + blo _027EB5B4 mov r5, #0 mov r4, r5 -_0201ADF0: +_027EB600: mov r0, r5 mov r1, r4 - bl sub_02019DE0 + bl sub_027EA5F0 add r5, r5, #1 cmp r5, #0x69 - blo _0201ADF0 + blo _027EB600 mov r4, #0 mov r5, r4 - b _0201AE4C -_0201AE14: + b _027EB65C +_027EB624: mov r0, r5, lsl #1 ldrh r0, [sl, r0] cmp r4, r0 addeq r5, r5, #1 - beq _0201AE48 + beq _027EB658 mov r0, r4 - bl sub_02019DB4 + bl sub_027EA5C4 mov r0, r0, lsl #0x10 movs r0, r0, lsr #0x10 - beq _0201AE48 + beq _027EB658 cmp r7, #0x20 add r7, r7, #1 - bhi _0201AFEC -_0201AE48: + bhi _027EB7FC +_027EB658: add r4, r4, #1 -_0201AE4C: +_027EB65C: cmp r4, #0x69 - blo _0201AE14 + blo _027EB624 mov r4, #0x55 mov r5, #0 -_0201AE5C: +_027EB66C: mov r0, r5 mov r1, r4 - bl sub_02019DE0 + bl sub_027EA5F0 mvn r0, r4 add r5, r5, #1 mov r0, r0, lsl #0x10 cmp r5, #0x69 mov r4, r0, lsr #0x10 - blo _0201AE5C + blo _027EB66C mov r4, #0 mov r6, r4 mov r5, #0x55 - b _0201AED4 -_0201AE90: + b _027EB6E4 +_027EB6A0: mov r0, r6, lsl #1 ldrh r0, [sl, r0] cmp r4, r0 addeq r6, r6, #1 - beq _0201AEC8 + beq _027EB6D8 mov r0, r4 - bl sub_02019DB4 + bl sub_027EA5C4 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, r5 - beq _0201AEC8 + beq _027EB6D8 cmp r7, #0x20 add r7, r7, #1 - bhi _0201AFEC -_0201AEC8: + bhi _027EB7FC +_027EB6D8: mvn r0, r5 and r5, r0, #0xff add r4, r4, #1 -_0201AED4: +_027EB6E4: cmp r4, #0x69 - blo _0201AE90 + blo _027EB6A0 mov r5, #0xff mov r4, #0 -_0201AEE4: +_027EB6F4: mov r0, r4 mov r1, r5 - bl sub_02019DE0 + bl sub_027EA5F0 sub r0, r5, #1 add r4, r4, #1 mov r0, r0, lsl #0x10 cmp r4, #0x69 mov r5, r0, lsr #0x10 - blo _0201AEE4 + blo _027EB6F4 mov r4, #0 mov r6, r4 mov r5, #0xff - b _0201AF60 -_0201AF18: + b _027EB770 +_027EB728: mov r0, r6, lsl #1 ldrh r0, [sl, r0] cmp r4, r0 addeq r6, r6, #1 - beq _0201AF50 + beq _027EB760 mov r0, r4 - bl sub_02019DB4 + bl sub_027EA5C4 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, r5 - beq _0201AF50 + beq _027EB760 cmp r7, #0x20 add r7, r7, #1 - bhi _0201AFEC -_0201AF50: + bhi _027EB7FC +_027EB760: sub r0, r5, #1 mov r0, r0, lsl #0x10 add r4, r4, #1 mov r5, r0, lsr #0x10 -_0201AF60: +_027EB770: cmp r4, #0x69 - blo _0201AF18 + blo _027EB728 mov r8, #0 mov sb, r8 mov r4, #1 mov fp, r8 - b _0201AFE4 -_0201AF7C: + b _027EB7F4 +_027EB78C: mov r0, sb, lsl #1 ldrh r0, [sl, r0] cmp r8, r0 addeq sb, sb, #1 - beq _0201AFE0 + beq _027EB7F0 mov r6, r4 mov r5, fp - b _0201AFD8 -_0201AF9C: + b _027EB7E8 +_027EB7AC: mov r0, r8 mov r1, r6 - bl sub_02019DE0 + bl sub_027EA5F0 mov r0, r8 - bl sub_02019DB4 + bl sub_027EA5C4 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, r6 - beq _0201AFCC + beq _027EB7DC cmp r7, #0x20 add r7, r7, #1 - bhi _0201AFEC -_0201AFCC: + bhi _027EB7FC +_027EB7DC: mov r0, r6, lsl #1 and r6, r0, #0xff add r5, r5, #1 -_0201AFD8: +_027EB7E8: cmp r5, #9 - blo _0201AF9C -_0201AFE0: + blo _027EB7AC +_027EB7F0: add r8, r8, #1 -_0201AFE4: +_027EB7F4: cmp r8, #0x69 - blo _0201AF7C -_0201AFEC: + blo _027EB78C +_027EB7FC: cmp r7, #0 - beq _0201B00C - ldr r0, _0201B014 ; =0x0380FFF4 + beq _027EB81C + ldr r0, _027EB824 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x300 ldrh r1, [r0, #0x3e] orr r1, r1, #8 strh r1, [r0, #0x3e] -_0201B00C: +_027EB81C: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_0201B014: .word 0x0380FFF4 -_0201B018: .word 0x027F74EA -_0201B01C: .word 0x027F751C - arm_func_end sub_0201AD40 +_027EB824: .word 0x0380FFF4 +_027EB828: .word 0x027F74EA +_027EB82C: .word 0x027F751C + arm_func_end sub_027EB550 - arm_func_start sub_0201B020 -sub_0201B020: ; 0x0201B020 - ldr r0, _0201B030 ; =0x04808010 + arm_func_start sub_027EB830 +sub_027EB830: ; 0x027EB830 + ldr r0, _027EB840 ; =0x04808010 mov r1, #0x800 strh r1, [r0] bx lr .align 2, 0 -_0201B030: .word 0x04808010 - arm_func_end sub_0201B020 +_027EB840: .word 0x04808010 + arm_func_end sub_027EB830 - arm_func_start sub_0201B034 -sub_0201B034: ; 0x0201B034 + arm_func_start sub_027EB844 +sub_027EB844: ; 0x027EB844 stmdb sp!, {r4, lr} ldrh r1, [r0] mov r4, #0 cmp r1, #2 - bne _0201B074 - ldr r2, _0201B0A4 ; =0x04808094 + bne _027EB884 + ldr r2, _027EB8B4 ; =0x04808094 ldr r3, [r0, #8] - ldr r1, _0201B0A8 ; =0x00003FFF + ldr r1, _027EB8B8 ; =0x00003FFF ldrh r2, [r2] and r1, r3, r1 mov r1, r1, lsr #1 @@ -13542,240 +13543,240 @@ sub_0201B034: ; 0x0201B034 movne r1, #1 strneh r1, [r0] orrne r4, r4, #1 -_0201B074: +_027EB884: ldrh r1, [r0] cmp r1, #1 - bne _0201B098 + bne _027EB8A8 ldr r1, [r0, #8] ldrh r1, [r1] tst r1, #1 - beq _0201B098 - bl sub_020202A8 + beq _027EB8A8 + bl sub_027F0AB8 orr r4, r4, #2 -_0201B098: +_027EB8A8: mov r0, r4 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201B0A4: .word 0x04808094 -_0201B0A8: .word 0x00003FFF - arm_func_end sub_0201B034 +_027EB8B4: .word 0x04808094 +_027EB8B8: .word 0x00003FFF + arm_func_end sub_027EB844 - arm_func_start sub_0201B0AC -sub_0201B0AC: ; 0x0201B0AC + arm_func_start sub_027EB8BC +sub_027EB8BC: ; 0x027EB8BC stmdb sp!, {r3, lr} - ldr r1, _0201B0CC ; =0x037F92DC + ldr r1, _027EB8DC ; =0x037F92DC mov r0, #0x1000000 - bl sub_0302AFAC + bl sub_037FB7BC mov r0, #0x1000000 - bl sub_0302B0E0 + bl sub_037FB8F0 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201B0CC: .word 0x037F92DC - arm_func_end sub_0201B0AC +_027EB8DC: .word 0x037F92DC + arm_func_end sub_027EB8BC - arm_func_start sub_0201B0D0 -sub_0201B0D0: ; 0x0201B0D0 + arm_func_start sub_027EB8E0 +sub_027EB8E0: ; 0x027EB8E0 stmdb sp!, {r3, lr} mov r0, #0x1000000 - bl sub_0302B118 + bl sub_037FB928 mov r0, #0x1000000 mov r1, #0 - bl sub_0302AFAC + bl sub_037FB7BC ldmia sp!, {r3, lr} bx lr - arm_func_end sub_0201B0D0 + arm_func_end sub_027EB8E0 - arm_func_start sub_0201B0F0 -sub_0201B0F0: ; 0x0201B0F0 + arm_func_start sub_027EB900 +sub_027EB900: ; 0x027EB900 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 ldrh r0, [r8] tst r0, #1 movne r0, #0 - bne _0201B18C - ldr r4, _0201B194 ; =0x0380FFF4 + bne _027EB99C + ldr r4, _027EB9A4 ; =0x0380FFF4 ldr r0, [r4] add r1, r0, #0x500 ldrh r1, [r1, #0x2c] cmp r1, #1 - bls _0201B188 + bls _027EB998 ldr r1, [r0, #0x31c] mov r7, #0 add r5, r1, #0x1c mov r6, #1 - b _0201B178 -_0201B134: + b _027EB988 +_027EB944: ldrh r1, [r5] cmp r1, #0 - beq _0201B170 + beq _027EB980 mov r1, r8 add r0, r5, #4 - bl sub_02019C64 + bl sub_027EA474 cmp r0, #0 movne r0, r6 - bne _0201B18C + bne _027EB99C ldr r0, [r4] add r7, r7, #1 add r1, r0, #0x500 ldrh r1, [r1, #0x2c] cmp r7, r1 - bhs _0201B188 -_0201B170: + bhs _027EB998 +_027EB980: add r6, r6, #1 add r5, r5, #0x1c -_0201B178: +_027EB988: add r1, r0, #0x300 ldrh r1, [r1, #0x22] cmp r6, r1 - blo _0201B134 -_0201B188: + blo _027EB944 +_027EB998: mov r0, #0xff -_0201B18C: +_027EB99C: ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_0201B194: .word 0x0380FFF4 - arm_func_end sub_0201B0F0 +_027EB9A4: .word 0x0380FFF4 + arm_func_end sub_027EB900 - arm_func_start sub_0201B198 -sub_0201B198: ; 0x0201B198 + arm_func_start sub_027EB9A8 +sub_027EB9A8: ; 0x027EB9A8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} - ldr r5, _0201B2D4 ; =0x0380FFF4 + ldr r5, _027EBAE4 ; =0x0380FFF4 mov r4, r0 ldr r0, [r5] ldrh r1, [r4] add r6, r0, #0x31c tst r1, #1 movne r0, #0 - bne _0201B2CC + bne _027EBADC add r1, r0, #0x500 ldrh r1, [r1, #0x2c] mov r8, #1 cmp r1, #1 - bls _0201B248 + bls _027EBA58 ldr r1, [r6] mov sl, #0 mov sb, sl add r7, r1, #0x1c - b _0201B234 -_0201B1E4: + b _027EBA44 +_027EB9F4: ldrh r1, [r7] cmp r1, #0 - beq _0201B224 + beq _027EBA34 mov r1, r4 add r0, r7, #4 - bl sub_02019C64 + bl sub_027EA474 cmp r0, #0 movne r0, r8 - bne _0201B2CC + bne _027EBADC ldr r0, [r5] add sb, sb, #1 add r1, r0, #0x500 ldrh r1, [r1, #0x2c] cmp sb, r1 - bhs _0201B240 - b _0201B22C -_0201B224: + bhs _027EBA50 + b _027EBA3C +_027EBA34: cmp sl, #0 moveq sl, r8 -_0201B22C: +_027EBA3C: add r8, r8, #1 add r7, r7, #0x1c -_0201B234: +_027EBA44: ldrh r1, [r6, #6] cmp r8, r1 - blo _0201B1E4 -_0201B240: + blo _027EB9F4 +_027EBA50: cmp sl, #0 movne r8, sl -_0201B248: +_027EBA58: add r0, r0, #0x300 ldrh r0, [r0, #0x22] cmp r8, r0 - blo _0201B2BC + blo _027EBACC ldr r7, [r6] ldrh r5, [r6, #6] mov r3, #0x10000 mov r6, #1 mov r8, #0 mov r0, #0x1c - b _0201B2A8 -_0201B274: + b _027EBAB8 +_027EBA84: mul r2, r6, r0 ldrh r1, [r7, r2] add r2, r7, r2 cmp r1, #0x30 - bhs _0201B2A4 + bhs _027EBAB4 ldrh r1, [r2, #0x16] cmp r1, #0 - bne _0201B2A4 + bne _027EBAB4 ldrh r1, [r2, #0x18] cmp r3, r1 movhi r3, r1 movhi r8, r6 -_0201B2A4: +_027EBAB4: add r6, r6, #1 -_0201B2A8: +_027EBAB8: cmp r6, r5 - blo _0201B274 + blo _027EBA84 cmp r8, #0 moveq r0, #0xff - beq _0201B2CC -_0201B2BC: + beq _027EBADC +_027EBACC: mov r0, r8 mov r1, r4 - bl sub_0201BD88 + bl sub_027EC598 mov r0, r8 -_0201B2CC: +_027EBADC: ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, lr} bx lr .align 2, 0 -_0201B2D4: .word 0x0380FFF4 - arm_func_end sub_0201B198 +_027EBAE4: .word 0x0380FFF4 + arm_func_end sub_027EB9A8 - arm_func_start sub_0201B2D8 -sub_0201B2D8: ; 0x0201B2D8 + arm_func_start sub_027EBAE8 +sub_027EBAE8: ; 0x027EBAE8 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r2, _0201B330 ; =0x0380FFF4 + ldr r2, _027EBB40 ; =0x0380FFF4 mov r7, r0 ldr r2, [r2] mov r0, #0x1000000 add r4, r2, #0x1ac mov r6, r1 - bl sub_0302B118 + bl sub_037FB928 ldrh r1, [r4, #8] mov r5, r0 cmp r1, #0 - bne _0201B310 + bne _027EBB20 mov r0, #0 - bl sub_0201B8FC -_0201B310: + bl sub_027EC10C +_027EBB20: mov r0, r7 mov r1, r4 mov r2, r6 - bl sub_03028178 + bl sub_037F8988 mov r0, r5 - bl sub_0302B0E0 + bl sub_037FB8F0 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_0201B330: .word 0x0380FFF4 - arm_func_end sub_0201B2D8 +_027EBB40: .word 0x0380FFF4 + arm_func_end sub_027EBAE8 - arm_func_start sub_0201B334 -sub_0201B334: ; 0x0201B334 + arm_func_start sub_027EBB44 +sub_027EBB44: ; 0x027EBB44 stmdb sp!, {r4, r5, r6, lr} - ldr r1, _0201B3C0 ; =0x0380FFF4 + ldr r1, _027EBBD0 ; =0x0380FFF4 ldrh r5, [r0, #2] ldr r0, [r1] mov r1, #0x1c ldr r2, [r0, #0x31c] mov r0, #0x1000000 mla r6, r5, r1, r2 - bl sub_0302B118 - ldr r1, _0201B3C0 ; =0x0380FFF4 + bl sub_037FB928 + ldr r1, _027EBBD0 ; =0x0380FFF4 mov r4, r0 ldr r0, [r1] add r0, r0, #0x300 @@ -13783,16 +13784,16 @@ sub_0201B334: ; 0x0201B334 cmp r0, #1 ldreqh r0, [r6, #0x16] cmpeq r0, #0 - bne _0201B384 + bne _027EBB94 mov r0, r5 - bl sub_0201B8FC -_0201B384: + bl sub_027EC10C +_027EBB94: ldrh r1, [r6, #0x16] mov r0, r4 add r1, r1, #1 strh r1, [r6, #0x16] - bl sub_0302B0E0 - ldr r0, _0201B3C0 ; =0x0380FFF4 + bl sub_037FB8F0 + ldr r0, _027EBBD0 ; =0x0380FFF4 mov r1, #1 ldr r0, [r0] add r0, r0, #0x500 @@ -13803,21 +13804,21 @@ _0201B384: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_0201B3C0: .word 0x0380FFF4 - arm_func_end sub_0201B334 +_027EBBD0: .word 0x0380FFF4 + arm_func_end sub_027EBB44 - arm_func_start sub_0201B3C4 -sub_0201B3C4: ; 0x0201B3C4 + arm_func_start sub_027EBBD4 +sub_027EBBD4: ; 0x027EBBD4 stmdb sp!, {r4, r5, r6, lr} - ldr r1, _0201B430 ; =0x0380FFF4 + ldr r1, _027EBC40 ; =0x0380FFF4 ldrh r5, [r0, #2] ldr r0, [r1] mov r1, #0x1c ldr r2, [r0, #0x31c] mov r0, #0x1000000 mla r6, r5, r1, r2 - bl sub_0302B118 - ldr r1, _0201B430 ; =0x0380FFF4 + bl sub_037FB928 + ldr r1, _027EBC40 ; =0x0380FFF4 mov r4, r0 ldr r0, [r1] add r0, r0, #0x300 @@ -13825,32 +13826,32 @@ sub_0201B3C4: ; 0x0201B3C4 cmp r0, #1 ldreqh r0, [r6, #0x16] cmpeq r0, #1 - bne _0201B414 + bne _027EBC24 mov r0, r5 - bl sub_0201B9B8 -_0201B414: + bl sub_027EC1C8 +_027EBC24: ldrh r1, [r6, #0x16] mov r0, r4 sub r1, r1, #1 strh r1, [r6, #0x16] - bl sub_0302B0E0 + bl sub_037FB8F0 ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_0201B430: .word 0x0380FFF4 - arm_func_end sub_0201B3C4 +_027EBC40: .word 0x0380FFF4 + arm_func_end sub_027EBBD4 - arm_func_start sub_0201B434 -sub_0201B434: ; 0x0201B434 + arm_func_start sub_027EBC44 +sub_027EBC44: ; 0x027EBC44 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r0, #0x1000000 mov r5, r1 - bl sub_0302B118 - ldr r3, _0201B518 ; =0x0380FFF4 + bl sub_037FB928 + ldr r3, _027EBD28 ; =0x0380FFF4 mov r4, r0 cmp r5, #0x40 - bhs _0201B4B4 + bhs _027EBCC4 ldr r0, [r3] mov r2, #1 add r0, r0, #0x500 @@ -13866,15 +13867,15 @@ sub_0201B434: ; 0x0201B434 add r0, r0, #0x300 ldrh r0, [r0, #0x50] cmp r0, #1 - bne _0201B4F0 + bne _027EBD00 mov r0, r6 - bl sub_0201B8BC + bl sub_027EC0CC cmp r0, #0 - beq _0201B4F0 + beq _027EBD00 mov r0, r6 - bl sub_0201B750 - b _0201B4F0 -_0201B4B4: + bl sub_027EBF60 + b _027EBD00 +_027EBCC4: ldr r2, [r3] mov r0, #1 mvn r1, r0, lsl r6 @@ -13887,27 +13888,27 @@ _0201B4B4: ldrh r0, [r0, #0x2e] mov r0, r0, asr r6 tst r0, #1 - beq _0201B4F0 + beq _027EBD00 mov r0, r6 - bl sub_0201B598 -_0201B4F0: - ldr r1, _0201B518 ; =0x0380FFF4 + bl sub_027EBDA8 +_027EBD00: + ldr r1, _027EBD28 ; =0x0380FFF4 mov r0, #0x1c ldr r2, [r1] mul r1, r6, r0 ldr r2, [r2, #0x31c] mov r0, r4 strh r5, [r2, r1] - bl sub_0302B0E0 + bl sub_037FB8F0 ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_0201B518: .word 0x0380FFF4 - arm_func_end sub_0201B434 +_027EBD28: .word 0x0380FFF4 + arm_func_end sub_027EBC44 - arm_func_start sub_0201B51C -sub_0201B51C: ; 0x0201B51C - ldr r3, _0201B538 ; =0x0380FFF4 + arm_func_start sub_027EBD2C +sub_027EBD2C: ; 0x027EBD2C + ldr r3, _027EBD48 ; =0x0380FFF4 mov r2, #0x1c ldr r3, [r3] ldr r3, [r3, #0x31c] @@ -13915,12 +13916,12 @@ sub_0201B51C: ; 0x0201B51C strh r1, [r2, #0xa] bx lr .align 2, 0 -_0201B538: .word 0x0380FFF4 - arm_func_end sub_0201B51C +_027EBD48: .word 0x0380FFF4 + arm_func_end sub_027EBD2C - arm_func_start sub_0201B53C -sub_0201B53C: ; 0x0201B53C - ldr r3, _0201B58C ; =0x0380FFF4 + arm_func_start sub_027EBD4C +sub_027EBD4C: ; 0x027EBD4C + ldr r3, _027EBD9C ; =0x0380FFF4 mov r2, #1 ldr ip, [r3] mvn r3, r2, lsl r0 @@ -13934,26 +13935,26 @@ sub_0201B53C: ; 0x0201B53C ldrh r1, [ip, #2] mvn r0, r0 tst r1, r0 - ldrne r0, _0201B590 ; =0x048080AC + ldrne r0, _027EBDA0 ; =0x048080AC mov r1, #8 strneh r1, [r0] - ldreq r0, _0201B594 ; =0x048080AE + ldreq r0, _027EBDA4 ; =0x048080AE streqh r1, [r0] bx lr .align 2, 0 -_0201B58C: .word 0x0380FFF4 -_0201B590: .word 0x048080AC -_0201B594: .word 0x048080AE - arm_func_end sub_0201B53C +_027EBD9C: .word 0x0380FFF4 +_027EBDA0: .word 0x048080AC +_027EBDA4: .word 0x048080AE + arm_func_end sub_027EBD4C - arm_func_start sub_0201B598 -sub_0201B598: ; 0x0201B598 + arm_func_start sub_027EBDA8 +sub_027EBDA8: ; 0x027EBDA8 stmdb sp!, {r4, lr} mov r4, r0 - bl sub_0201B7D0 + bl sub_027EBFE0 cmp r0, #0x40 - bne _0201B5CC - ldr r1, _0201B5D4 ; =0x0380FFF4 + bne _027EBDDC + ldr r1, _027EBDE4 ; =0x0380FFF4 mov r0, #1 ldr r2, [r1] mvn r1, r0, lsl r4 @@ -13961,16 +13962,16 @@ sub_0201B598: ; 0x0201B598 ldrh r2, [r0, #0x30] and r1, r2, r1 strh r1, [r0, #0x30] -_0201B5CC: +_027EBDDC: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201B5D4: .word 0x0380FFF4 - arm_func_end sub_0201B598 +_027EBDE4: .word 0x0380FFF4 + arm_func_end sub_027EBDA8 - arm_func_start sub_0201B5D8 -sub_0201B5D8: ; 0x0201B5D8 - ldr r1, _0201B5F8 ; =0x0380FFF4 + arm_func_start sub_027EBDE8 +sub_027EBDE8: ; 0x027EBDE8 + ldr r1, _027EBE08 ; =0x0380FFF4 mov r2, #1 ldr r1, [r1] add r1, r1, #0x500 @@ -13979,12 +13980,12 @@ sub_0201B5D8: ; 0x0201B5D8 strh r0, [r1, #0x30] bx lr .align 2, 0 -_0201B5F8: .word 0x0380FFF4 - arm_func_end sub_0201B5D8 +_027EBE08: .word 0x0380FFF4 + arm_func_end sub_027EBDE8 - arm_func_start sub_0201B5FC -sub_0201B5FC: ; 0x0201B5FC - ldr r3, _0201B618 ; =0x0380FFF4 + arm_func_start sub_027EBE0C +sub_027EBE0C: ; 0x027EBE0C + ldr r3, _027EBE28 ; =0x0380FFF4 mov r2, #0x1c ldr r3, [r3] ldr r3, [r3, #0x31c] @@ -13992,12 +13993,12 @@ sub_0201B5FC: ; 0x0201B5FC strh r1, [r2, #0xc] bx lr .align 2, 0 -_0201B618: .word 0x0380FFF4 - arm_func_end sub_0201B5FC +_027EBE28: .word 0x0380FFF4 + arm_func_end sub_027EBE0C - arm_func_start sub_0201B61C -sub_0201B61C: ; 0x0201B61C - ldr r3, _0201B638 ; =0x0380FFF4 + arm_func_start sub_027EBE2C +sub_027EBE2C: ; 0x027EBE2C + ldr r3, _027EBE48 ; =0x0380FFF4 mov r2, #0x1c ldr r3, [r3] ldr r3, [r3, #0x31c] @@ -14005,12 +14006,12 @@ sub_0201B61C: ; 0x0201B61C strh r1, [r2, #0x10] bx lr .align 2, 0 -_0201B638: .word 0x0380FFF4 - arm_func_end sub_0201B61C +_027EBE48: .word 0x0380FFF4 + arm_func_end sub_027EBE2C - arm_func_start sub_0201B63C -sub_0201B63C: ; 0x0201B63C - ldr r3, _0201B658 ; =0x0380FFF4 + arm_func_start sub_027EBE4C +sub_027EBE4C: ; 0x027EBE4C + ldr r3, _027EBE68 ; =0x0380FFF4 mov r2, #0x1c ldr r3, [r3] ldr r3, [r3, #0x31c] @@ -14018,12 +14019,12 @@ sub_0201B63C: ; 0x0201B63C strh r1, [r2, #0x14] bx lr .align 2, 0 -_0201B658: .word 0x0380FFF4 - arm_func_end sub_0201B63C +_027EBE68: .word 0x0380FFF4 + arm_func_end sub_027EBE4C - arm_func_start sub_0201B65C -sub_0201B65C: ; 0x0201B65C - ldr r3, _0201B678 ; =0x0380FFF4 + arm_func_start sub_027EBE6C +sub_027EBE6C: ; 0x027EBE6C + ldr r3, _027EBE88 ; =0x0380FFF4 mov r2, #0x1c ldr r3, [r3] ldr r3, [r3, #0x31c] @@ -14031,12 +14032,12 @@ sub_0201B65C: ; 0x0201B65C strh r1, [r2, #0xe] bx lr .align 2, 0 -_0201B678: .word 0x0380FFF4 - arm_func_end sub_0201B65C +_027EBE88: .word 0x0380FFF4 + arm_func_end sub_027EBE6C - arm_func_start sub_0201B67C -sub_0201B67C: ; 0x0201B67C - ldr r2, _0201B69C ; =0x0380FFF4 + arm_func_start sub_027EBE8C +sub_027EBE8C: ; 0x027EBE8C + ldr r2, _027EBEAC ; =0x0380FFF4 mov r1, #0x1c ldr r2, [r2] ldr r2, [r2, #0x31c] @@ -14045,27 +14046,27 @@ sub_0201B67C: ; 0x0201B67C strh r0, [r1, #0x18] bx lr .align 2, 0 -_0201B69C: .word 0x0380FFF4 - arm_func_end sub_0201B67C +_027EBEAC: .word 0x0380FFF4 + arm_func_end sub_027EBE8C - arm_func_start sub_0201B6A0 -sub_0201B6A0: ; 0x0201B6A0 + arm_func_start sub_027EBEB0 +sub_027EBEB0: ; 0x027EBEB0 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r1, _0201B74C ; =0x0380FFF4 + ldr r1, _027EBF5C ; =0x0380FFF4 mov r7, r0 ldr r1, [r1] mov r0, #0x1000000 add r1, r1, #0x12c add r4, r1, #0x400 - bl sub_0302B118 + bl sub_037FB928 mov r6, r0 mov r5, #1 mov r1, #2 - b _0201B730 -_0201B6D0: + b _027EBF40 +_027EBEE0: ldrh r0, [r4, #0xe] tst r0, r1 - bne _0201B728 + bne _027EBF38 orr r0, r0, r1 strh r0, [r4, #0xe] ldrh r0, [r4, #0xc] @@ -14073,47 +14074,47 @@ _0201B6D0: strh r0, [r4, #0xc] ldrh r0, [r4, #0xc] cmp r0, #1 - bne _0201B700 - bl sub_020196D0 -_0201B700: - ldr r0, _0201B74C ; =0x0380FFF4 + bne _027EBF10 + bl sub_027E9EE0 +_027EBF10: + ldr r0, _027EBF5C ; =0x0380FFF4 mov r1, #0x1c ldr r2, [r0] mov r0, r6 ldr r2, [r2, #0x31c] mla r1, r7, r1, r2 strh r5, [r1, #2] - bl sub_0302B0E0 + bl sub_037FB8F0 mov r0, r5 - b _0201B744 -_0201B728: + b _027EBF54 +_027EBF38: add r5, r5, #1 mov r1, r1, lsl #1 -_0201B730: +_027EBF40: cmp r5, #0x10 - blo _0201B6D0 + blo _027EBEE0 mov r0, r6 - bl sub_0302B0E0 + bl sub_037FB8F0 mov r0, #0 -_0201B744: +_027EBF54: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_0201B74C: .word 0x0380FFF4 - arm_func_end sub_0201B6A0 +_027EBF5C: .word 0x0380FFF4 + arm_func_end sub_027EBEB0 - arm_func_start sub_0201B750 -sub_0201B750: ; 0x0201B750 + arm_func_start sub_027EBF60 +sub_027EBF60: ; 0x027EBF60 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0201B7CC ; =0x0380FFF4 + ldr r1, _027EBFDC ; =0x0380FFF4 mov r5, r0 ldr r4, [r1] - bl sub_0201B9B8 + bl sub_027EC1C8 mov r0, r5 - bl sub_0201B8BC + bl sub_027EC0CC cmp r0, #0 - beq _0201B7C4 - ldr r1, _0201B7CC ; =0x0380FFF4 + beq _027EBFD4 + ldr r1, _027EBFDC ; =0x0380FFF4 mov r2, #1 ldr r3, [r1] mov r1, #0x1c @@ -14131,18 +14132,18 @@ sub_0201B750: ; 0x0201B750 strh r0, [r1, #0x38] ldrh r0, [r1, #0x38] cmp r0, #0 - bne _0201B7C4 - bl sub_02019684 -_0201B7C4: + bne _027EBFD4 + bl sub_027E9E94 +_027EBFD4: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0201B7CC: .word 0x0380FFF4 - arm_func_end sub_0201B750 +_027EBFDC: .word 0x0380FFF4 + arm_func_end sub_027EBF60 - arm_func_start sub_0201B7D0 -sub_0201B7D0: ; 0x0201B7D0 - ldr r2, _0201B7EC ; =0x0380FFF4 + arm_func_start sub_027EBFE0 +sub_027EBFE0: ; 0x027EBFE0 + ldr r2, _027EBFFC ; =0x0380FFF4 mov r1, #0x1c ldr r2, [r2] mul r1, r0, r1 @@ -14150,12 +14151,12 @@ sub_0201B7D0: ; 0x0201B7D0 ldrh r0, [r0, r1] bx lr .align 2, 0 -_0201B7EC: .word 0x0380FFF4 - arm_func_end sub_0201B7D0 +_027EBFFC: .word 0x0380FFF4 + arm_func_end sub_027EBFE0 - arm_func_start sub_0201B7F0 -sub_0201B7F0: ; 0x0201B7F0 - ldr r1, _0201B80C ; =0x0380FFF4 + arm_func_start sub_027EC000 +sub_027EC000: ; 0x027EC000 + ldr r1, _027EC01C ; =0x0380FFF4 ldr r1, [r1] add r1, r1, #0x500 ldrh r1, [r1, #0x30] @@ -14163,12 +14164,12 @@ sub_0201B7F0: ; 0x0201B7F0 and r0, r0, #1 bx lr .align 2, 0 -_0201B80C: .word 0x0380FFF4 - arm_func_end sub_0201B7F0 +_027EC01C: .word 0x0380FFF4 + arm_func_end sub_027EC000 - arm_func_start sub_0201B810 -sub_0201B810: ; 0x0201B810 - ldr r1, _0201B82C ; =0x0380FFF4 + arm_func_start sub_027EC020 +sub_027EC020: ; 0x027EC020 + ldr r1, _027EC03C ; =0x0380FFF4 ldr r1, [r1] add r1, r1, #0x500 ldrh r1, [r1, #0x2e] @@ -14176,12 +14177,12 @@ sub_0201B810: ; 0x0201B810 and r0, r0, #1 bx lr .align 2, 0 -_0201B82C: .word 0x0380FFF4 - arm_func_end sub_0201B810 +_027EC03C: .word 0x0380FFF4 + arm_func_end sub_027EC020 - arm_func_start sub_0201B830 -sub_0201B830: ; 0x0201B830 - ldr r2, _0201B84C ; =0x0380FFF4 + arm_func_start sub_027EC040 +sub_027EC040: ; 0x027EC040 + ldr r2, _027EC05C ; =0x0380FFF4 mov r1, #0x1c ldr r2, [r2] ldr r2, [r2, #0x31c] @@ -14189,12 +14190,12 @@ sub_0201B830: ; 0x0201B830 add r0, r1, #4 bx lr .align 2, 0 -_0201B84C: .word 0x0380FFF4 - arm_func_end sub_0201B830 +_027EC05C: .word 0x0380FFF4 + arm_func_end sub_027EC040 - arm_func_start sub_0201B850 -sub_0201B850: ; 0x0201B850 - ldr r2, _0201B86C ; =0x0380FFF4 + arm_func_start sub_027EC060 +sub_027EC060: ; 0x027EC060 + ldr r2, _027EC07C ; =0x0380FFF4 mov r1, #0x1c ldr r2, [r2] ldr r2, [r2, #0x31c] @@ -14202,12 +14203,12 @@ sub_0201B850: ; 0x0201B850 ldrh r0, [r1, #0xe] bx lr .align 2, 0 -_0201B86C: .word 0x0380FFF4 - arm_func_end sub_0201B850 +_027EC07C: .word 0x0380FFF4 + arm_func_end sub_027EC060 - arm_func_start sub_0201B870 -sub_0201B870: ; 0x0201B870 - ldr r2, _0201B88C ; =0x0380FFF4 + arm_func_start sub_027EC080 +sub_027EC080: ; 0x027EC080 + ldr r2, _027EC09C ; =0x0380FFF4 mov r1, #0x1c ldr r2, [r2] ldr r2, [r2, #0x31c] @@ -14215,12 +14216,12 @@ sub_0201B870: ; 0x0201B870 ldrh r0, [r1, #0x14] bx lr .align 2, 0 -_0201B88C: .word 0x0380FFF4 - arm_func_end sub_0201B870 +_027EC09C: .word 0x0380FFF4 + arm_func_end sub_027EC080 - arm_func_start sub_0201B890 -sub_0201B890: ; 0x0201B890 - ldr r2, _0201B8B8 ; =0x0380FFF4 + arm_func_start sub_027EC0A0 +sub_027EC0A0: ; 0x027EC0A0 + ldr r2, _027EC0C8 ; =0x0380FFF4 mov r1, #0x1c ldr r2, [r2] ldr r2, [r2, #0x31c] @@ -14231,12 +14232,12 @@ sub_0201B890: ; 0x0201B890 moveq r0, #0xa bx lr .align 2, 0 -_0201B8B8: .word 0x0380FFF4 - arm_func_end sub_0201B890 +_027EC0C8: .word 0x0380FFF4 + arm_func_end sub_027EC0A0 - arm_func_start sub_0201B8BC -sub_0201B8BC: ; 0x0201B8BC - ldr r2, _0201B8D8 ; =0x0380FFF4 + arm_func_start sub_027EC0CC +sub_027EC0CC: ; 0x027EC0CC + ldr r2, _027EC0E8 ; =0x0380FFF4 mov r1, #0x1c ldr r2, [r2] ldr r2, [r2, #0x31c] @@ -14244,12 +14245,12 @@ sub_0201B8BC: ; 0x0201B8BC ldrh r0, [r1, #2] bx lr .align 2, 0 -_0201B8D8: .word 0x0380FFF4 - arm_func_end sub_0201B8BC +_027EC0E8: .word 0x0380FFF4 + arm_func_end sub_027EC0CC - arm_func_start sub_0201B8DC -sub_0201B8DC: ; 0x0201B8DC - ldr r2, _0201B8F8 ; =0x0380FFF4 + arm_func_start sub_027EC0EC +sub_027EC0EC: ; 0x027EC0EC + ldr r2, _027EC108 ; =0x0380FFF4 mov r1, #0x1c ldr r2, [r2] ldr r2, [r2, #0x31c] @@ -14257,119 +14258,119 @@ sub_0201B8DC: ; 0x0201B8DC ldrh r0, [r1, #0x16] bx lr .align 2, 0 -_0201B8F8: .word 0x0380FFF4 - arm_func_end sub_0201B8DC +_027EC108: .word 0x0380FFF4 + arm_func_end sub_027EC0EC - arm_func_start sub_0201B8FC -sub_0201B8FC: ; 0x0201B8FC + arm_func_start sub_027EC10C +sub_027EC10C: ; 0x027EC10C stmdb sp!, {r4, r5, r6, lr} mov r5, r0 - bl sub_0201B7D0 + bl sub_027EBFE0 cmp r0, #0x40 - bne _0201B9A8 - ldr r0, _0201B9B0 ; =0x0380FFF4 + bne _027EC1B8 + ldr r0, _027EC1C0 ; =0x0380FFF4 mov r1, #1 ldr r2, [r0] add r0, r2, #0x500 ldrh r0, [r0, #0x34] tst r0, r1, lsl r5 - bne _0201B9A8 + bne _027EC1B8 add r0, r2, #0x300 ldrh r2, [r0, #0xd8] - ldr r1, _0201B9B4 ; =0x0480425C + ldr r1, _027EC1C4 ; =0x0480425C mov r0, #0x1000000 add r6, r2, r1 - bl sub_0302B118 + bl sub_037FB928 mov r4, r0 cmp r5, #0 - bne _0201B96C + bne _027EC17C add r0, r6, #4 - bl sub_0201A540 + bl sub_027EAD50 orr r1, r0, #1 add r0, r6, #4 and r1, r1, #0xff - bl sub_0201A514 - b _0201B9A0 -_0201B96C: + bl sub_027EAD24 + b _027EC1B0 +_027EC17C: mov r0, r5 - bl sub_0201B8BC + bl sub_027EC0CC mov r5, r0 add r0, r6, #5 add r6, r0, r5, lsr #3 mov r0, r6 - bl sub_0201A540 + bl sub_027EAD50 and r1, r5, #7 mov r2, #1 orr r1, r0, r2, lsl r1 mov r0, r6 and r1, r1, #0xff - bl sub_0201A514 -_0201B9A0: + bl sub_027EAD24 +_027EC1B0: mov r0, r4 - bl sub_0302B0E0 -_0201B9A8: + bl sub_037FB8F0 +_027EC1B8: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_0201B9B0: .word 0x0380FFF4 -_0201B9B4: .word 0x0480425C - arm_func_end sub_0201B8FC +_027EC1C0: .word 0x0380FFF4 +_027EC1C4: .word 0x0480425C + arm_func_end sub_027EC10C - arm_func_start sub_0201B9B8 -sub_0201B9B8: ; 0x0201B9B8 + arm_func_start sub_027EC1C8 +sub_027EC1C8: ; 0x027EC1C8 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 - bl sub_0201B7D0 + bl sub_027EBFE0 cmp r0, #0x40 - bne _0201BA54 - ldr r0, _0201BA5C ; =0x0380FFF4 - ldr r2, _0201BA60 ; =0x0480425C + bne _027EC264 + ldr r0, _027EC26C ; =0x0380FFF4 + ldr r2, _027EC270 ; =0x0480425C ldr r1, [r0] mov r0, #0x1000000 add r1, r1, #0x300 ldrh r1, [r1, #0xd8] add r6, r1, r2 - bl sub_0302B118 + bl sub_037FB928 mov r4, r0 cmp r5, #0 - bne _0201BA14 + bne _027EC224 add r0, r6, #4 - bl sub_0201A540 + bl sub_027EAD50 and r1, r0, #0xfe add r0, r6, #4 and r1, r1, #0xff - bl sub_0201A514 - b _0201BA4C -_0201BA14: + bl sub_027EAD24 + b _027EC25C +_027EC224: mov r0, r5 - bl sub_0201B8BC + bl sub_027EC0CC mov r5, r0 add r0, r6, #5 add r6, r0, r5, lsr #3 mov r0, r6 - bl sub_0201A540 + bl sub_027EAD50 and r1, r5, #7 mov r2, #1 mvn r1, r2, lsl r1 and r1, r1, r0 mov r0, r6 and r1, r1, #0xff - bl sub_0201A514 -_0201BA4C: + bl sub_027EAD24 +_027EC25C: mov r0, r4 - bl sub_0302B0E0 -_0201BA54: + bl sub_037FB8F0 +_027EC264: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_0201BA5C: .word 0x0380FFF4 -_0201BA60: .word 0x0480425C - arm_func_end sub_0201B9B8 +_027EC26C: .word 0x0380FFF4 +_027EC270: .word 0x0480425C + arm_func_end sub_027EC1C8 - arm_func_start sub_0201BA64 -sub_0201BA64: ; 0x0201BA64 + arm_func_start sub_027EC274 +sub_027EC274: ; 0x027EC274 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} - ldr fp, _0201BC14 ; =0x0380FFF4 + ldr fp, _027EC424 ; =0x0380FFF4 mov sb, #0 ldr r2, [fp] mov r8, #1 @@ -14380,38 +14381,38 @@ sub_0201BA64: ; 0x0201BA64 add r7, r1, #0x1c add r5, r0, #0x400 add r4, r2, #0x300 - b _0201BC00 -_0201BA98: + b _027EC410 +_027EC2A8: ldrh r0, [r7] cmp r0, #0 - beq _0201BBF0 + beq _027EC400 ldrh r1, [r7, #0x18] cmp r1, #0 - ldrne r0, _0201BC18 ; =0x0000FFFF + ldrne r0, _027EC428 ; =0x0000FFFF cmpne r1, r0 - beq _0201BBEC + beq _027EC3FC sub r0, r1, #1 strh r0, [r7, #0x18] ldrh r0, [r7, #0x18] cmp r0, #0 - bne _0201BBEC + bne _027EC3FC ldrh r0, [r7] cmp r0, #0x20 - blo _0201BBD8 + blo _027EC3E8 mov r0, r8 - bl sub_0201B7D0 + bl sub_027EBFE0 mov r6, r0 mov r0, r8, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, #0x20 - bl sub_0201B434 + bl sub_027EBC44 mov r0, r8 - bl sub_02020550 + bl sub_027F0D60 ldrh r0, [r4, #0x50] cmp r0, #1 - bne _0201BB88 + bne _027EC398 cmp r6, #0x20 - bls _0201BBD8 + bls _027EC3E8 ldr r1, [fp] mov r0, r8, lsl #0x10 add r3, r1, #0x500 @@ -14421,7 +14422,7 @@ _0201BA98: strh r2, [r3, #0x34] mov r0, r0, lsr #0x10 mov r1, #0 - bl sub_0201B53C + bl sub_027EBD4C ldr r1, [fp] add r0, r7, #4 add r3, r1, #0x500 @@ -14431,72 +14432,72 @@ _0201BA98: orr r2, r6, r2, lsl r8 strh r2, [r3, #0x30] mov r2, #0 - bl sub_020216AC + bl sub_027F1EBC cmp r0, #0 mov r1, #1 - beq _0201BB7C + beq _027EC38C strh r1, [r0] - bl sub_0202086C + bl sub_027F107C add sb, sb, #1 - b _0201BBF8 -_0201BB7C: + b _027EC408 +_027EC38C: add r0, r7, #4 - bl sub_0201D3D4 - b _0201BBD8 -_0201BB88: + bl sub_027EDBE4 + b _027EC3E8 +_027EC398: ldrh r0, [r4, #0xcc] cmp r8, r0 - bne _0201BBD8 + bne _027EC3E8 add r0, r7, #4 mov r1, #1 mov r2, #0 - bl sub_020216AC + bl sub_027F1EBC cmp r0, #0 - beq _0201BBC0 + beq _027EC3D0 mov r1, #1 strh r1, [r0] - bl sub_0202086C + bl sub_027F107C add sb, sb, #1 - b _0201BBF8 -_0201BBC0: + b _027EC408 +_027EC3D0: mov r0, #0x20 - bl sub_03028A28 - bl sub_0201982C + bl sub_037F9238 + bl sub_027EA03C add r0, r7, #4 mov r1, #1 - bl sub_0201D3D4 -_0201BBD8: + bl sub_027EDBE4 +_027EC3E8: mov r0, #0 strh r0, [r7] ldrh r0, [r5] sub r0, r0, #1 strh r0, [r5] -_0201BBEC: +_027EC3FC: add sb, sb, #1 -_0201BBF0: +_027EC400: cmp sb, sl - bhs _0201BC0C -_0201BBF8: + bhs _027EC41C +_027EC408: add r8, r8, #1 add r7, r7, #0x1c -_0201BC00: +_027EC410: ldrh r0, [r4, #0x22] cmp r8, r0 - blo _0201BA98 -_0201BC0C: + blo _027EC2A8 +_027EC41C: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_0201BC14: .word 0x0380FFF4 -_0201BC18: .word 0x0000FFFF - arm_func_end sub_0201BA64 +_027EC424: .word 0x0380FFF4 +_027EC428: .word 0x0000FFFF + arm_func_end sub_027EC274 - arm_func_start sub_0201BC1C -sub_0201BC1C: ; 0x0201BC1C + arm_func_start sub_027EC42C +sub_027EC42C: ; 0x027EC42C stmdb sp!, {r4, lr} mov r4, r0 - bl sub_02020550 - ldr r2, _0201BC60 ; =0x0380FFF4 + bl sub_027F0D60 + ldr r2, _027EC470 ; =0x0380FFF4 mov r0, #0x1c ldr r1, [r2] mul r0, r4, r0 @@ -14511,13 +14512,13 @@ sub_0201BC1C: ; 0x0201BC1C ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201BC60: .word 0x0380FFF4 - arm_func_end sub_0201BC1C +_027EC470: .word 0x0380FFF4 + arm_func_end sub_027EC42C - arm_func_start sub_0201BC64 -sub_0201BC64: ; 0x0201BC64 + arm_func_start sub_027EC474 +sub_027EC474: ; 0x027EC474 stmdb sp!, {r3, r4, r5, lr} - ldr r0, _0201BCF4 ; =0x0380FFF4 + ldr r0, _027EC504 ; =0x0380FFF4 mov r2, #0x1c ldr r3, [r0] mov r0, #0 @@ -14526,44 +14527,44 @@ sub_0201BC64: ; 0x0201BC64 ldr r4, [r3, #0x31c] mul r2, r5, r2 mov r1, r4 - bl sub_0302D764 - ldr r1, _0201BCF4 ; =0x0380FFF4 + bl sub_037FDF74 + ldr r1, _027EC504 ; =0x0380FFF4 mov r0, #0 ldr r1, [r1] mov r2, #0x10 add r1, r1, #0x12c add r1, r1, #0x400 - bl sub_0302D764 - ldr r2, _0201BCF8 ; =0x0000FFFF + bl sub_037FDF74 + ldr r2, _027EC508 ; =0x0000FFFF mov r3, #1 strh r2, [r4, #0x1a] mov r0, #0x1c - b _0201BCCC -_0201BCC0: + b _027EC4DC +_027EC4D0: mla r1, r3, r0, r4 strh r2, [r1, #0x1a] add r3, r3, #1 -_0201BCCC: +_027EC4DC: cmp r3, r5 - blo _0201BCC0 - ldr r1, _0201BCFC ; =0x027F74A4 + blo _027EC4D0 + ldr r1, _027EC50C ; =0x027F74A4 mov r0, #0 - bl sub_0201BD88 + bl sub_027EC598 mov r0, #0 mov r1, #0x40 - bl sub_0201B434 + bl sub_027EBC44 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0201BCF4: .word 0x0380FFF4 -_0201BCF8: .word 0x0000FFFF -_0201BCFC: .word 0x027F74A4 - arm_func_end sub_0201BC64 +_027EC504: .word 0x0380FFF4 +_027EC508: .word 0x0000FFFF +_027EC50C: .word 0x027F74A4 + arm_func_end sub_027EC474 - arm_func_start sub_0201BD00 -sub_0201BD00: ; 0x0201BD00 + arm_func_start sub_027EC510 +sub_027EC510: ; 0x027EC510 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} - ldr r0, _0201BD80 ; =0x0380FFF4 + ldr r0, _027EC590 ; =0x0380FFF4 mov r6, #1 ldr r2, [r0] mov sl, #0 @@ -14574,21 +14575,21 @@ sub_0201BD00: ; 0x0201BD00 add r5, r0, #0x400 mov sb, #0x1a mov r8, #0x1c - b _0201BD48 -_0201BD34: + b _027EC558 +_027EC544: mla r1, r6, r8, r4 mov r0, sl mov r2, sb - bl sub_0302D764 + bl sub_037FDF74 add r6, r6, #1 -_0201BD48: +_027EC558: cmp r6, r7 - blo _0201BD34 + blo _027EC544 mov r2, #1 strh r2, [r5] mov r1, #0 strh r1, [r5, #2] - ldr r0, _0201BD84 ; =0x0000FFFE + ldr r0, _027EC594 ; =0x0000FFFE strh r2, [r5, #4] strh r0, [r5, #6] strh r1, [r5, #0xc] @@ -14597,14 +14598,14 @@ _0201BD48: ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, lr} bx lr .align 2, 0 -_0201BD80: .word 0x0380FFF4 -_0201BD84: .word 0x0000FFFE - arm_func_end sub_0201BD00 +_027EC590: .word 0x0380FFF4 +_027EC594: .word 0x0000FFFE + arm_func_end sub_027EC510 - arm_func_start sub_0201BD88 -sub_0201BD88: ; 0x0201BD88 + arm_func_start sub_027EC598 +sub_027EC598: ; 0x027EC598 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r2, _0201BE64 ; =0x0380FFF4 + ldr r2, _027EC674 ; =0x0380FFF4 mov r7, r0 ldr r4, [r2] mov r0, #0x1c @@ -14621,8 +14622,8 @@ sub_0201BD88: ; 0x0201BD88 streqh r1, [r0, #0x2c] mov r1, r5 mov r0, #0 - bl sub_0302D764 - ldr r0, _0201BE64 ; =0x0380FFF4 + bl sub_037FDF74 + ldr r0, _027EC674 ; =0x0380FFF4 mov r4, #1 ldr r1, [r0] mov r0, r7, lsl #0x10 @@ -14633,8 +14634,8 @@ sub_0201BD88: ; 0x0201BD88 mov r0, r0, lsr #0x10 mov r1, #0 strh r3, [r2, #0x34] - bl sub_0201B53C - ldr r0, _0201BE64 ; =0x0380FFF4 + bl sub_027EBD4C + ldr r0, _027EC674 ; =0x0380FFF4 mov r1, r6 ldr r2, [r0] add r0, r5, #4 @@ -14642,10 +14643,10 @@ sub_0201BD88: ; 0x0201BD88 ldrh r3, [r2, #0x30] orr r3, r3, r4, lsl r7 strh r3, [r2, #0x30] - bl sub_020198D0 - ldr r2, _0201BE68 ; =0x0000FFFF + bl sub_027EA0E0 + ldr r2, _027EC678 ; =0x0000FFFF mov r0, r7, lsl #0x10 - ldr r1, _0201BE64 ; =0x0380FFF4 + ldr r1, _027EC674 ; =0x0380FFF4 strh r2, [r5, #0x14] ldr r1, [r1] mov r0, r0, lsr #0x10 @@ -14655,66 +14656,66 @@ sub_0201BD88: ; 0x0201BD88 strh r2, [r5, #0x10] ldrh r2, [r5, #0x1a] strh r2, [r5, #0x18] - bl sub_0201B434 + bl sub_027EBC44 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_0201BE64: .word 0x0380FFF4 -_0201BE68: .word 0x0000FFFF - arm_func_end sub_0201BD88 +_027EC674: .word 0x0380FFF4 +_027EC678: .word 0x0000FFFF + arm_func_end sub_027EC598 - arm_func_start sub_0201BE6C -sub_0201BE6C: ; 0x0201BE6C + arm_func_start sub_027EC67C +sub_027EC67C: ; 0x027EC67C mov r0, #3 bx lr - arm_func_end sub_0201BE6C + arm_func_end sub_027EC67C - arm_func_start sub_0201BE74 -sub_0201BE74: ; 0x0201BE74 + arm_func_start sub_027EC684 +sub_027EC684: ; 0x027EC684 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r6, _0201BED0 ; =0x0380FFF4 + ldr r6, _027EC6E0 ; =0x0380FFF4 mov r5, #0 ldr r0, [r6] mvn r4, #0 ldr r7, [r0, #0x1f4] - b _0201BEC0 -_0201BE90: + b _027EC6D0 +_027EC6A0: ldr r0, [r0, #0x304] mov r1, r7 mov r2, r5 - bl sub_0302BEC4 + bl sub_037FC6D4 cmp r0, #0 - beq _0201BEC8 + beq _027EC6D8 ldr r0, [r6] mov r1, r7 add r0, r0, #0x1f4 - bl sub_03027F9C + bl sub_037F87AC ldr r0, [r6] ldr r7, [r0, #0x1f4] -_0201BEC0: +_027EC6D0: cmp r7, r4 - bne _0201BE90 -_0201BEC8: + bne _027EC6A0 +_027EC6D8: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_0201BED0: .word 0x0380FFF4 - arm_func_end sub_0201BE74 +_027EC6E0: .word 0x0380FFF4 + arm_func_end sub_027EC684 - arm_func_start sub_0201BED4 -sub_0201BED4: ; 0x0201BED4 - ldr r0, _0201BEEC ; =0x0380FFF4 + arm_func_start sub_027EC6E4 +sub_027EC6E4: ; 0x027EC6E4 + ldr r0, _027EC6FC ; =0x0380FFF4 mov r1, #0 ldr r0, [r0] add r0, r0, #0x400 strh r1, [r0, #0x28] bx lr .align 2, 0 -_0201BEEC: .word 0x0380FFF4 - arm_func_end sub_0201BED4 +_027EC6FC: .word 0x0380FFF4 + arm_func_end sub_027EC6E4 - arm_func_start sub_0201BEF0 -sub_0201BEF0: ; 0x0201BEF0 + arm_func_start sub_027EC700 +sub_027EC700: ; 0x027EC700 stmdb sp!, {r4, lr} mov r2, #1 strh r2, [r1, #2] @@ -14722,21 +14723,21 @@ sub_0201BEF0: ; 0x0201BEF0 ldrh r0, [r4, #0x10] cmp r0, #1 movhi r0, #5 - bhi _0201BF28 - bl sub_03028988 + bhi _027EC738 + bl sub_037F9198 ldrh r0, [r4, #0x10] cmp r0, #1 - bne _0201BF24 - bl sub_0201996C -_0201BF24: + bne _027EC734 + bl sub_027EA17C +_027EC734: mov r0, #0 -_0201BF28: +_027EC738: ldmia sp!, {r4, lr} bx lr - arm_func_end sub_0201BEF0 + arm_func_end sub_027EC700 - arm_func_start sub_0201BF30 -sub_0201BF30: ; 0x0201BF30 + arm_func_start sub_027EC740 +sub_027EC740: ; 0x027EC740 stmdb sp!, {r4, lr} mov r2, #9 strh r2, [r1, #2] @@ -14744,54 +14745,54 @@ sub_0201BF30: ; 0x0201BF30 ldrh r0, [r4, #0x10] cmp r0, #1 movhi r0, #5 - bhi _0201BFCC + bhi _027EC7DC ldrh r1, [r4, #0x12] cmp r1, #1 movhi r0, #5 - bhi _0201BFCC + bhi _027EC7DC ldrh r1, [r4, #0x14] cmp r1, #1 movhi r0, #5 - bhi _0201BFCC - bl sub_0201943C + bhi _027EC7DC + bl sub_027E9C4C ldrh r0, [r4, #0x10] cmp r0, #1 - bne _0201BFB8 + bne _027EC7C8 ldrh r0, [r4, #0x12] cmp r0, #1 - bne _0201BF98 - ldr r0, _0201BFD4 ; =0x00008001 - bl sub_020194D0 - b _0201BFA0 -_0201BF98: + bne _027EC7A8 + ldr r0, _027EC7E4 ; =0x00008001 + bl sub_027E9CE0 + b _027EC7B0 +_027EC7A8: mov r0, #0 - bl sub_020194D0 -_0201BFA0: - ldr r0, _0201BFD8 ; =0x0380FFF4 + bl sub_027E9CE0 +_027EC7B0: + ldr r0, _027EC7E8 ; =0x0380FFF4 ldrh r1, [r4, #0x14] ldr r0, [r0] add r0, r0, #0x300 strh r1, [r0, #0x58] - b _0201BFC8 -_0201BFB8: + b _027EC7D8 +_027EC7C8: mov r0, #0x8000 - bl sub_020194D0 + bl sub_027E9CE0 mov r0, #2 - bl sub_020194A4 -_0201BFC8: + bl sub_027E9CB4 +_027EC7D8: mov r0, #0 -_0201BFCC: +_027EC7DC: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201BFD4: .word 0x00008001 -_0201BFD8: .word 0x0380FFF4 - arm_func_end sub_0201BF30 +_027EC7E4: .word 0x00008001 +_027EC7E8: .word 0x0380FFF4 + arm_func_end sub_027EC740 - arm_func_start sub_0201BFDC -sub_0201BFDC: ; 0x0201BFDC + arm_func_start sub_027EC7EC +sub_027EC7EC: ; 0x027EC7EC stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r2, _0201C118 ; =0x0380FFF4 + ldr r2, _027EC928 ; =0x0380FFF4 mov r5, r1 ldr r3, [r2] ldrh r2, [r5, #2] @@ -14808,79 +14809,79 @@ sub_0201BFDC: ; 0x0201BFDC cmpne r1, #3 cmpne r1, #2 movne r0, #0xb - bne _0201C110 - ldr r0, _0201C118 ; =0x0380FFF4 + bne _027EC920 + ldr r0, _027EC928 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x300 ldrh r0, [r0, #0x4c] cmp r0, #0x20 movlo r0, #1 - blo _0201C110 + blo _027EC920 ldrh r0, [r6, #0x16] cmp r0, #0x20 movhi r0, #5 - bhi _0201C110 + bhi _027EC920 ldrh r0, [r6, #0x38] cmp r0, #1 movhi r0, #5 - bhi _0201C110 + bhi _027EC920 add r0, r6, #0x3a - bl sub_0201A540 + bl sub_027EAD50 cmp r0, #0 moveq r0, #5 - beq _0201C110 + beq _027EC920 ldrh r0, [r6, #0x4a] cmp r0, #0x3e8 movhi r0, #5 - bhi _0201C110 + bhi _027EC920 cmp r0, #0xa movlo r0, #5 - blo _0201C110 + blo _027EC920 ldrh r0, [r6, #0x4c] cmp r0, #0x10 movhi r0, #5 - bhi _0201C110 + bhi _027EC920 mov r8, #0 add r7, r6, #0x3a - b _0201C0D4 -_0201C0B0: + b _027EC8E4 +_027EC8C0: add r0, r7, r8 - bl sub_0201A540 + bl sub_027EAD50 cmp r0, #0 - beq _0201C0DC - bl sub_02019C94 + beq _027EC8EC + bl sub_027EA4A4 cmp r0, #0 moveq r0, #5 - beq _0201C110 + beq _027EC920 add r8, r8, #1 -_0201C0D4: +_027EC8E4: cmp r8, #0x10 - blo _0201C0B0 -_0201C0DC: + blo _027EC8C0 +_027EC8EC: add r0, r6, #0x10 - bl sub_02018D5C + bl sub_027E956C ldrh r0, [r6, #0x16] add r1, r6, #0x18 - bl sub_02018DC0 + bl sub_027E95D0 str r6, [r4, #0x18] str r5, [r4, #0x1c] mov r2, #0x10 mov r0, #2 mov r1, #0 strh r2, [r4] - bl sub_03027D88 + bl sub_037F8598 mov r0, #0x80 -_0201C110: +_027EC920: ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_0201C118: .word 0x0380FFF4 - arm_func_end sub_0201BFDC +_027EC928: .word 0x0380FFF4 + arm_func_end sub_027EC7EC - arm_func_start sub_0201C11C -sub_0201C11C: ; 0x0201C11C + arm_func_start sub_027EC92C +sub_027EC92C: ; 0x027EC92C stmdb sp!, {r4, r5, r6, lr} - ldr r2, _0201C2CC ; =0x0380FFF4 + ldr r2, _027ECADC ; =0x0380FFF4 mov r5, r1 ldr r3, [r2] mov r1, #5 @@ -14894,111 +14895,111 @@ sub_0201C11C: ; 0x0201C11C cmpne r2, #2 add r4, r1, #0x400 movne r0, #0xb - bne _0201C2C4 + bne _027ECAD4 ldrh r0, [r0, #8] cmp r0, #0x20 movlo r0, #1 - blo _0201C2C4 + blo _027ECAD4 mov r0, #0x20 - bl sub_03028A28 + bl sub_037F9238 ldrh r0, [r6, #0x18] tst r0, #1 movne r0, #5 - bne _0201C2C4 + bne _027ECAD4 ldrh r0, [r6, #0x1e] cmp r0, #0 moveq r0, #5 - beq _0201C2C4 + beq _027ECAD4 cmp r0, #0x20 movhi r0, #5 - bhi _0201C2C4 + bhi _027ECAD4 ldrh r0, [r6, #0x46] cmp r0, #0xa movlo r0, #5 - blo _0201C2C4 + blo _027ECAD4 cmp r0, #0x3e8 movhi r0, #5 - bhi _0201C2C4 + bhi _027ECAD4 ldrh r0, [r6, #0x48] cmp r0, #0xff movhi r0, #5 - bhi _0201C2C4 + bhi _027ECAD4 ldrh r0, [r6, #0x4a] - ldr r1, _0201C2D0 ; =0x0000FFF0 + ldr r1, _027ECAE0 ; =0x0000FFF0 tst r0, r1 movne r0, #5 - bne _0201C2C4 - bl sub_02019C94 + bne _027ECAD4 + bl sub_027EA4A4 cmp r0, #0 moveq r0, #5 - beq _0201C2C4 + beq _027ECAD4 ldrh r2, [r6, #0x42] mov r0, #0x1000 rsb r0, r0, #0 tst r2, r0 movne r0, #5 - bne _0201C2C4 + bne _027ECAD4 ldrh r1, [r6, #0x44] tst r1, r0 movne r0, #5 - bne _0201C2C4 + bne _027ECAD4 cmp r2, #0 moveq r0, #5 - beq _0201C2C4 + beq _027ECAD4 orrs r0, r1, r2 moveq r0, #5 - beq _0201C2C4 + beq _027ECAD4 ldrh r0, [r6, #0x10] cmp r0, #0x7d0 movhi r0, #5 - bhi _0201C2C4 + bhi _027ECAD4 mov r0, #0 - bl sub_0202451C + bl sub_027F4D2C cmp r0, #0 movne r0, #0xe - bne _0201C2C4 + bne _027ECAD4 ldrh r0, [r6, #0x40] tst r0, #0x20 - beq _0201C26C + beq _027ECA7C mov r0, #1 - bl sub_02018A80 - b _0201C274 -_0201C26C: + bl sub_027E9290 + b _027ECA84 +_027ECA7C: mov r0, #0 - bl sub_02018A80 -_0201C274: + bl sub_027E9290 +_027ECA84: add r0, r6, #0x18 - bl sub_02018D5C + bl sub_027E956C ldrh r0, [r6, #0x1e] add r1, r6, #0x20 - bl sub_02018DC0 + bl sub_027E95D0 ldrh r0, [r6, #0x46] - bl sub_02018ED0 + bl sub_027E96E0 ldrh r0, [r6, #0x4a] mov r1, #0 - bl sub_020190F0 + bl sub_027E9900 add r0, r6, #0x42 - bl sub_0201937C + bl sub_027E9B8C str r6, [r4, #0x18] str r5, [r4, #0x1c] mov r2, #0x20 mov r0, #2 mov r1, #1 strh r2, [r4] - bl sub_03027D88 + bl sub_037F8598 mov r0, #0x80 -_0201C2C4: +_027ECAD4: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_0201C2CC: .word 0x0380FFF4 -_0201C2D0: .word 0x0000FFF0 - arm_func_end sub_0201C11C +_027ECADC: .word 0x0380FFF4 +_027ECAE0: .word 0x0000FFF0 + arm_func_end sub_027EC92C - arm_func_start sub_0201C2D4 -sub_0201C2D4: ; 0x0201C2D4 + arm_func_start sub_027ECAE4 +sub_027ECAE4: ; 0x027ECAE4 stmdb sp!, {r4, r5, r6, lr} - ldr r2, _0201C3A4 ; =0x0380FFF4 + ldr r2, _027ECBB4 ; =0x0380FFF4 mov r5, r1 ldr r3, [r2] mov r1, #6 @@ -15012,28 +15013,28 @@ sub_0201C2D4: ; 0x0201C2D4 cmpne r2, #2 add r4, r1, #0x400 movne r0, #0xb - bne _0201C39C + bne _027ECBAC ldrh r0, [r0, #8] cmp r0, #0x20 movlo r0, #1 - blo _0201C39C + blo _027ECBAC ldrh r0, [r6, #0x10] tst r0, #1 movne r0, #5 - bne _0201C39C + bne _027ECBAC ldrh r0, [r6, #0x16] cmp r0, #1 movhi r0, #5 - bhi _0201C39C + bhi _027ECBAC ldrh r0, [r6, #0x18] cmp r0, #0x7d0 movhi r0, #5 - bhi _0201C39C + bhi _027ECBAC cmp r0, #0xa movlo r0, #5 - blo _0201C39C + blo _027ECBAC mov r0, #0x20 - bl sub_03028A28 + bl sub_037F9238 str r6, [r4, #0x18] str r5, [r4, #0x1c] mov r0, #0x30 @@ -15044,20 +15045,20 @@ sub_0201C2D4: ; 0x0201C2D4 strh r1, [r5, #0xe] ldr r1, [r4, #0x18] add r1, r1, #0x10 - bl sub_020198D0 - bl sub_0201CD34 + bl sub_027EA0E0 + bl sub_027ED544 mov r0, #0x80 -_0201C39C: +_027ECBAC: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_0201C3A4: .word 0x0380FFF4 - arm_func_end sub_0201C2D4 +_027ECBB4: .word 0x0380FFF4 + arm_func_end sub_027ECAE4 - arm_func_start sub_0201C3A8 -sub_0201C3A8: ; 0x0201C3A8 + arm_func_start sub_027ECBB8 +sub_027ECBB8: ; 0x027ECBB8 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r3, _0201C4D8 ; =0x0380FFF4 + ldr r3, _027ECCE8 ; =0x0380FFF4 mov r6, r1 ldr r2, [r3] mov r1, #4 @@ -15072,33 +15073,33 @@ sub_0201C3A8: ; 0x0201C3A8 cmpne r2, #1 add r5, r1, #0x400 movne r0, #0xb - bne _0201C4D0 + bne _027ECCE0 add r0, r3, #0x300 ldrh r0, [r0, #0x4c] cmp r0, #0x30 movlo r0, #1 - blo _0201C4D0 + blo _027ECCE0 add r0, r2, #0xfe add r0, r0, #0xff00 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #1 - bhi _0201C428 + bhi _027ECC38 ldrh r0, [r7, #0x10] tst r0, #1 movne r0, #5 - bne _0201C4D0 -_0201C428: + bne _027ECCE0 +_027ECC38: add r0, r6, #6 add r1, r7, #0x10 - bl sub_020198D0 + bl sub_027EA0E0 ldrh r1, [r7, #0x16] add r0, r6, #6 mov r2, #0 - bl sub_020216AC + bl sub_027F1EBC movs r4, r0 moveq r0, #8 - beq _0201C4D0 + beq _027ECCE0 str r7, [r5, #0x18] str r6, [r5, #0x1c] str r4, [r5, #4] @@ -15106,44 +15107,44 @@ _0201C428: strh r0, [r5] ldrh r0, [r7, #0x10] tst r0, #1 - beq _0201C4BC - ldr r2, _0201C4D8 ; =0x0380FFF4 + beq _027ECCCC + ldr r2, _027ECCE8 ; =0x0380FFF4 sub r1, r4, #0x10 ldr r0, [r2] ldr r0, [r0, #0x3ec] strh r0, [r4, #4] ldr r0, [r2] add r0, r0, #0x188 - bl sub_0201B2D8 - ldr r0, _0201C4D8 ; =0x0380FFF4 + bl sub_027EBAE8 + ldr r0, _027ECCE8 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x500 ldrh r1, [r0, #0x32] ldrh r2, [r0, #0x2e] mvn r0, r1 tst r2, r0 - bne _0201C4CC + bne _027ECCDC mov r0, #2 - bl sub_0201F6E4 - b _0201C4CC -_0201C4BC: + bl sub_027EFEF4 + b _027ECCDC +_027ECCCC: add r0, r7, #0x10 - bl sub_02020648 + bl sub_027F0E58 mov r0, r4 - bl sub_0202086C -_0201C4CC: + bl sub_027F107C +_027ECCDC: mov r0, #0x80 -_0201C4D0: +_027ECCE0: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_0201C4D8: .word 0x0380FFF4 - arm_func_end sub_0201C3A8 +_027ECCE8: .word 0x0380FFF4 + arm_func_end sub_027ECBB8 - arm_func_start sub_0201C4DC -sub_0201C4DC: ; 0x0201C4DC + arm_func_start sub_027ECCEC +sub_027ECCEC: ; 0x027ECCEC stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r2, _0201C5B0 ; =0x0380FFF4 + ldr r2, _027ECDC0 ; =0x0380FFF4 mov r6, r1 ldr r3, [r2] mov r1, #3 @@ -15157,32 +15158,32 @@ sub_0201C4DC: ; 0x0201C4DC add r4, r3, #0x344 add r5, r1, #0x400 movne r0, #0xb - bne _0201C5A8 + bne _027ECDB8 ldrh r0, [r4, #8] cmp r0, #0x30 movlo r0, #1 - blo _0201C5A8 + blo _027ECDB8 ldrh r0, [r7, #0x10] tst r0, #1 movne r0, #5 - bne _0201C5A8 + bne _027ECDB8 ldrh r0, [r7, #0x16] cmp r0, #0 moveq r0, #5 - beq _0201C5A8 + beq _027ECDB8 cmp r0, #0xff movhi r0, #5 - bhi _0201C5A8 + bhi _027ECDB8 ldrh r0, [r7, #0x18] cmp r0, #0x7d0 movhi r0, #5 - bhi _0201C5A8 + bhi _027ECDB8 cmp r0, #0xa movlo r0, #5 - blo _0201C5A8 + blo _027ECDB8 mov r0, #0x30 - bl sub_03028A28 - bl sub_0201982C + bl sub_037F9238 + bl sub_027EA03C ldrh r1, [r7, #0x16] mov r0, #0x50 strh r1, [r4, #0x70] @@ -15191,19 +15192,19 @@ sub_0201C4DC: ; 0x0201C4DC str r7, [r5, #0x18] str r6, [r5, #0x1c] strh r0, [r5] - bl sub_0201CE58 + bl sub_027ED668 mov r0, #0x80 -_0201C5A8: +_027ECDB8: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_0201C5B0: .word 0x0380FFF4 - arm_func_end sub_0201C4DC +_027ECDC0: .word 0x0380FFF4 + arm_func_end sub_027ECCEC - arm_func_start sub_0201C5B4 -sub_0201C5B4: ; 0x0201C5B4 + arm_func_start sub_027ECDC4 +sub_027ECDC4: ; 0x027ECDC4 stmdb sp!, {r3, lr} - ldr r3, _0201C670 ; =0x0380FFF4 + ldr r3, _027ECE80 ; =0x0380FFF4 mov r2, #3 ldr ip, [r3] strh r2, [r1, #2] @@ -15215,29 +15216,29 @@ sub_0201C5B4: ; 0x0201C5B4 add ip, ip, #0x344 add lr, r2, #0x400 movne r0, #0xb - bne _0201C668 + bne _027ECE78 ldrh r2, [ip, #8] cmp r2, #0x30 movlo r0, #1 - blo _0201C668 + blo _027ECE78 ldrh r2, [r0, #0x10] tst r2, #1 movne r0, #5 - bne _0201C668 + bne _027ECE78 ldrh r3, [r0, #0x16] cmp r3, #1 movlo r0, #5 - blo _0201C668 + blo _027ECE78 cmp r3, #0xff movhi r0, #5 - bhi _0201C668 + bhi _027ECE78 ldrh r2, [r0, #0x18] cmp r2, #0x7d0 movhi r0, #5 - bhi _0201C668 + bhi _027ECE78 cmp r2, #0xa movlo r0, #5 - blo _0201C668 + blo _027ECE78 strh r3, [ip, #0x70] ldrh r3, [r0, #0x16] mov r2, #0x60 @@ -15245,19 +15246,19 @@ sub_0201C5B4: ; 0x0201C5B4 str r0, [lr, #0x18] str r1, [lr, #0x1c] strh r2, [lr] - bl sub_0201CF54 + bl sub_027ED764 mov r0, #0x80 -_0201C668: +_027ECE78: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201C670: .word 0x0380FFF4 - arm_func_end sub_0201C5B4 +_027ECE80: .word 0x0380FFF4 + arm_func_end sub_027ECDC4 - arm_func_start sub_0201C674 -sub_0201C674: ; 0x0201C674 + arm_func_start sub_027ECE84 +sub_027ECE84: ; 0x027ECE84 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r3, _0201C77C ; =0x0380FFF4 + ldr r3, _027ECF8C ; =0x0380FFF4 mov r6, r1 ldr r2, [r3] mov r1, #1 @@ -15270,25 +15271,25 @@ sub_0201C674: ; 0x0201C674 cmp r2, #0 add r5, r1, #0x400 moveq r0, #0xb - beq _0201C774 + beq _027ECF84 cmp r2, #1 - beq _0201C6C8 + beq _027ECED8 ldrh r0, [r7, #0x10] tst r0, #1 movne r0, #5 - bne _0201C774 -_0201C6C8: + bne _027ECF84 +_027ECED8: add r0, r3, #0x300 ldrh r0, [r0, #0x4c] cmp r0, #0x40 movne r0, #1 - bne _0201C774 + bne _027ECF84 ldrh r1, [r7, #0x16] add r0, r7, #0x10 - bl sub_02020E94 + bl sub_027F16A4 movs r4, r0 moveq r0, #8 - beq _0201C774 + beq _027ECF84 str r7, [r5, #0x18] str r6, [r5, #0x1c] str r4, [r5, #4] @@ -15296,44 +15297,44 @@ _0201C6C8: strh r0, [r5] ldrh r0, [r7, #0x10] tst r0, #1 - beq _0201C760 - ldr r2, _0201C77C ; =0x0380FFF4 + beq _027ECF70 + ldr r2, _027ECF8C ; =0x0380FFF4 sub r1, r4, #0x10 ldr r0, [r2] ldr r0, [r0, #0x3ec] strh r0, [r4, #4] ldr r0, [r2] add r0, r0, #0x188 - bl sub_0201B2D8 - ldr r0, _0201C77C ; =0x0380FFF4 + bl sub_027EBAE8 + ldr r0, _027ECF8C ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x500 ldrh r1, [r0, #0x32] ldrh r2, [r0, #0x2e] mvn r0, r1 tst r2, r0 - bne _0201C770 + bne _027ECF80 mov r0, #2 - bl sub_0201F6E4 - b _0201C770 -_0201C760: + bl sub_027EFEF4 + b _027ECF80 +_027ECF70: add r0, r7, #0x10 - bl sub_02020648 + bl sub_027F0E58 mov r0, r4 - bl sub_0202086C -_0201C770: + bl sub_027F107C +_027ECF80: mov r0, #0x80 -_0201C774: +_027ECF84: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_0201C77C: .word 0x0380FFF4 - arm_func_end sub_0201C674 +_027ECF8C: .word 0x0380FFF4 + arm_func_end sub_027ECE84 - arm_func_start sub_0201C780 -sub_0201C780: ; 0x0201C780 + arm_func_start sub_027ECF90 +sub_027ECF90: ; 0x027ECF90 stmdb sp!, {r4, r5, r6, lr} - ldr r3, _0201C914 ; =0x0380FFF4 + ldr r3, _027ED124 ; =0x0380FFF4 mov r2, #1 ldr r3, [r3] mov r6, r0 @@ -15344,108 +15345,108 @@ sub_0201C780: ; 0x0201C780 cmp r0, #1 cmpne r0, #0 movne r0, #0xb - bne _0201C90C + bne _027ED11C ldrh r0, [r4, #8] cmp r0, #0x20 movne r0, #1 - bne _0201C90C + bne _027ED11C ldrh r0, [r6, #0x10] cmp r0, #0x20 movhi r0, #5 - bhi _0201C90C + bhi _027ED11C cmp r0, #0 moveq r0, #5 - beq _0201C90C + beq _027ED11C ldrh r0, [r6, #0x32] cmp r0, #0xa movlo r0, #5 - blo _0201C90C + blo _027ED11C cmp r0, #0x3e8 movhi r0, #5 - bhi _0201C90C + bhi _027ED11C ldrh r0, [r6, #0x34] cmp r0, #0 moveq r0, #5 - beq _0201C90C + beq _027ED11C cmp r0, #0xff movhi r0, #5 - bhi _0201C90C + bhi _027ED11C ldrh r0, [r6, #0x36] - ldr r1, _0201C918 ; =0x0000FFF0 + ldr r1, _027ED128 ; =0x0000FFF0 tst r0, r1 movne r0, #5 - bne _0201C90C - bl sub_02019C94 + bne _027ED11C + bl sub_027EA4A4 cmp r0, #0 moveq r0, #5 - beq _0201C90C + beq _027ED11C ldrh r1, [r6, #0x38] cmp r1, #0 moveq r0, #5 - beq _0201C90C + beq _027ED11C mov r0, #0x1000 rsb r0, r0, #0 tst r1, r0 movne r0, #5 - bne _0201C90C + bne _027ED11C ldrh r1, [r6, #0x3a] cmp r1, #0 moveq r0, #5 - beq _0201C90C + beq _027ED11C tst r1, r0 movne r0, #5 - bne _0201C90C + bne _027ED11C ldrh r0, [r6, #0x3c] cmp r0, #0x80 movhi r0, #5 - bhi _0201C90C + bhi _027ED11C mov r0, #0 - bl sub_0202451C + bl sub_027F4D2C cmp r0, #0 movne r0, #0xe - bne _0201C90C + bne _027ED11C ldrh r0, [r5, #0x12] cmp r0, #0 - bne _0201C8B8 - ldr r0, _0201C91C ; =0x027F74A4 - bl sub_02018D5C - b _0201C8C0 -_0201C8B8: + bne _027ED0C8 + ldr r0, _027ED12C ; =0x027F74A4 + bl sub_027E956C + b _027ED0D0 +_027ED0C8: add r0, r5, #8 - bl sub_02018D5C -_0201C8C0: + bl sub_027E956C +_027ED0D0: ldrh r0, [r6, #0x10] add r1, r6, #0x12 - bl sub_02018DC0 + bl sub_027E95D0 ldrh r0, [r6, #0x32] - bl sub_02018ED0 + bl sub_027E96E0 ldrh r0, [r6, #0x34] - bl sub_02018F28 + bl sub_027E9738 ldrh r0, [r6, #0x36] mov r1, #0 - bl sub_020190F0 + bl sub_027E9900 add r0, r6, #0x38 - bl sub_0201937C + bl sub_027E9B8C ldrh r0, [r6, #0x3c] add r1, r6, #0x3e - bl sub_02019700 + bl sub_027E9F10 mov r0, #0 strh r0, [r4, #0xa4] - bl sub_030285D0 + bl sub_037F8DE0 mov r0, #0 -_0201C90C: +_027ED11C: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_0201C914: .word 0x0380FFF4 -_0201C918: .word 0x0000FFF0 -_0201C91C: .word 0x027F74A4 - arm_func_end sub_0201C780 +_027ED124: .word 0x0380FFF4 +_027ED128: .word 0x0000FFF0 +_027ED12C: .word 0x027F74A4 + arm_func_end sub_027ECF90 - arm_func_start sub_0201C920 -sub_0201C920: ; 0x0201C920 + arm_func_start sub_027ED130 +sub_027ED130: ; 0x027ED130 stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r2, _0201CA00 ; =0x0380FFF4 + ldr r2, _027ED210 ; =0x0380FFF4 mov r5, r1 ldr r3, [r2] mov r1, #0x12 @@ -15458,60 +15459,60 @@ sub_0201C920: ; 0x0201C920 cmp r2, #0x20 add r4, r1, #0x400 movne r0, #1 - bne _0201C9F8 + bne _027ED208 ldrh r0, [r6, #0x12] cmp r0, #3 movhi r0, #5 - bhi _0201C9F8 + bhi _027ED208 ldrh r0, [r6, #0x14] cmp r0, #0x3f movhi r0, #5 - bhi _0201C9F8 + bhi _027ED208 ldrh r0, [r6, #0x16] cmp r0, #0 moveq r0, #5 - beq _0201C9F8 + beq _027ED208 cmp r0, #0x3e8 movhi r0, #5 - bhi _0201C9F8 + bhi _027ED208 mov r8, #0 add r7, r6, #0x18 - b _0201C9C8 -_0201C9A4: + b _027ED1D8 +_027ED1B4: add r0, r7, r8 - bl sub_0201A540 + bl sub_027EAD50 cmp r0, #0 - beq _0201C9D0 - bl sub_02019C94 + beq _027ED1E0 + bl sub_027EA4A4 cmp r0, #0 moveq r0, #5 - beq _0201C9F8 + beq _027ED208 add r8, r8, #1 -_0201C9C8: +_027ED1D8: cmp r8, #0x10 - blo _0201C9A4 -_0201C9D0: + blo _027ED1B4 +_027ED1E0: cmp r8, #0 moveq r0, #5 - beq _0201C9F8 + beq _027ED208 str r6, [r4, #0x18] str r5, [r4, #0x1c] mov r0, #0x80 strh r0, [r4] strh r0, [r5, #4] - bl sub_0201D048 + bl sub_027ED858 mov r0, #0x80 -_0201C9F8: +_027ED208: ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_0201CA00: .word 0x0380FFF4 - arm_func_end sub_0201C920 +_027ED210: .word 0x0380FFF4 + arm_func_end sub_027ED130 - arm_func_start sub_0201CA04 -sub_0201CA04: ; 0x0201CA04 + arm_func_start sub_027ED214 +sub_027ED214: ; 0x027ED214 stmdb sp!, {r4, r5, r6, lr} - ldr r0, _0201CBEC ; =0x0380FFF4 + ldr r0, _027ED3FC ; =0x0380FFF4 mov r6, #0 ldr r2, [r0] add r0, r2, #0x400 @@ -15522,17 +15523,17 @@ sub_0201CA04: ; 0x0201CA04 add r4, r0, #0x400 add r5, r2, #0x344 addls pc, pc, r1, lsl #2 - b _0201CBD0 -_0201CA38: ; jump table - b _0201CA50 ; case 0 - b _0201CAC8 ; case 1 - b _0201CB58 ; case 2 - b _0201CB58 ; case 3 - b _0201CBD0 ; case 4 - b _0201CBB0 ; case 5 -_0201CA50: + b _027ED3E0 +_027ED248: ; jump table + b _027ED260 ; case 0 + b _027ED2D8 ; case 1 + b _027ED368 ; case 2 + b _027ED368 ; case 3 + b _027ED3E0 ; case 4 + b _027ED3C0 ; case 5 +_027ED260: mov r0, #0x20 - bl sub_03028A28 + bl sub_037F9238 mov r0, #2 strh r0, [r5, #0xc] ldr r0, [r4, #0x1c] @@ -15546,7 +15547,7 @@ _0201CA50: ldrh r0, [r1, #0x38] cmp r0, #0 ldrh r0, [r1, #0x4a] - bne _0201CAB8 + bne _027ED2C8 add r1, r0, #3 mov r0, r1, asr #1 add r0, r1, r0, lsr #30 @@ -15556,104 +15557,104 @@ _0201CA50: cmp r0, #0xa movlo r0, #0xa strloh r0, [r4, #0xc] - b _0201CABC -_0201CAB8: + b _027ED2CC +_027ED2C8: strh r0, [r4, #0xc] -_0201CABC: +_027ED2CC: ldr r0, [r4, #0x1c] mov r1, #0 strh r1, [r0, #4] -_0201CAC8: +_027ED2D8: ldr r1, [r4, #0x18] ldrh r0, [r4, #6] add r1, r1, #0x3a add r0, r1, r0 - bl sub_0201A540 + bl sub_027EAD50 movs r5, r0 moveq r0, #0x15 streqh r0, [r4] moveq r6, #1 - beq _0201CBD0 + beq _027ED3E0 ldrh r1, [r4, #6] mov r0, #0 add r1, r1, #1 strh r1, [r4, #6] strh r0, [r4, #0xa] - bl sub_0202451C + bl sub_027F4D2C cmp r0, #0 - beq _0201CB2C + beq _027ED33C ldr r0, [r4, #0x1c] mov r1, #0xe strh r1, [r0, #4] mov r0, #0x15 strh r0, [r4] mov r6, #1 - b _0201CBD0 -_0201CB2C: + b _027ED3E0 +_027ED33C: ldrh r0, [r4] mov r1, #0 cmp r0, #0x10 mov r0, r5 - bne _0201CB4C - bl sub_020190F0 - bl sub_030285D0 - b _0201CB50 -_0201CB4C: - bl sub_020190F0 -_0201CB50: + bne _027ED35C + bl sub_027E9900 + bl sub_037F8DE0 + b _027ED360 +_027ED35C: + bl sub_027E9900 +_027ED360: mov r0, #0x12 strh r0, [r4] -_0201CB58: +_027ED368: mov r0, #0x13 strh r0, [r4] ldr r1, [r4, #0x18] ldrh r0, [r1, #0x38] cmp r0, #0 - bne _0201CBA0 + bne _027ED3B0 add r0, r1, #0x10 - bl sub_02021340 + bl sub_027F1B50 cmp r0, #0 - bne _0201CB9C + bne _027ED3AC ldr r0, [r4, #0x1c] mov r1, #8 strh r1, [r0, #4] mov r0, #0x15 strh r0, [r4] mov r6, #1 - b _0201CBD0 -_0201CB9C: - bl sub_0202086C -_0201CBA0: + b _027ED3E0 +_027ED3AC: + bl sub_027F107C +_027ED3B0: ldrh r0, [r4, #0xc] - ldr r1, _0201CBF0 ; =0x027ED404 - bl sub_0201A2DC - b _0201CBD0 -_0201CBB0: + ldr r1, _027ED400 ; =0x027ED404 + bl sub_027EAAEC + b _027ED3E0 +_027ED3C0: strh r6, [r4] - bl sub_03028988 - ldr r0, _0201CBEC ; =0x0380FFF4 + bl sub_037F9198 + ldr r0, _027ED3FC ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x300 ldrh r0, [r0, #0x2e] strh r0, [r5, #0xc] - bl sub_0201D304 -_0201CBD0: + bl sub_027EDB14 +_027ED3E0: cmp r6, #0 - beq _0201CBE4 + beq _027ED3F4 mov r0, #2 mov r1, #0 - bl sub_03027D88 -_0201CBE4: + bl sub_037F8598 +_027ED3F4: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_0201CBEC: .word 0x0380FFF4 -_0201CBF0: .word 0x027ED404 - arm_func_end sub_0201CA04 +_027ED3FC: .word 0x0380FFF4 +_027ED400: .word 0x027ED404 + arm_func_end sub_027ED214 - arm_func_start sub_0201CBF4 -sub_0201CBF4: ; 0x0201CBF4 - ldr r0, _0201CC50 ; =0x0380FFF4 + arm_func_start sub_027ED404 +sub_027ED404: ; 0x027ED404 + ldr r0, _027ED460 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #4 add r2, r0, #0x400 @@ -15665,50 +15666,50 @@ sub_0201CBF4: ; 0x0201CBF4 ldrh r1, [r2, #0xa] ldrh r0, [r0, #0x4a] cmp r1, r0 - blo _0201CC40 + blo _027ED450 ldrh r0, [r2, #6] cmp r0, #0x10 movlo r0, #0x11 strloh r0, [r2] movhs r0, #0x15 strhsh r0, [r2] -_0201CC40: - ldr ip, _0201CC54 ; =sub_037F8598 +_027ED450: + ldr ip, _027ED464 ; =sub_037F8598 mov r0, #2 mov r1, #0 bx ip .align 2, 0 -_0201CC50: .word 0x0380FFF4 -_0201CC54: .word sub_037F8598 - arm_func_end sub_0201CBF4 +_027ED460: .word 0x0380FFF4 +_027ED464: .word sub_037F8598 + arm_func_end sub_027ED404 - arm_func_start sub_0201CC58 -sub_0201CC58: ; 0x0201CC58 + arm_func_start sub_027ED468 +sub_027ED468: ; 0x027ED468 stmdb sp!, {r4, lr} - ldr r0, _0201CCF0 ; =0x0380FFF4 + ldr r0, _027ED500 ; =0x0380FFF4 ldr r2, [r0] add r0, r2, #0x400 ldrh r1, [r0, #4] add r0, r2, #4 cmp r1, #0x20 add r4, r0, #0x400 - beq _0201CC88 + beq _027ED498 cmp r1, #0x25 - beq _0201CCB4 - b _0201CCE8 -_0201CC88: - bl sub_030285D0 + beq _027ED4C4 + b _027ED4F8 +_027ED498: + bl sub_037F8DE0 mov r0, #0 strh r0, [r4, #4] strh r0, [r4, #6] mov r0, #0x21 strh r0, [r4] ldr r0, [r4, #0x18] - ldr r1, _0201CCF4 ; =0x027ED508 + ldr r1, _027ED504 ; =0x027ED508 ldrh r0, [r0, #0x10] - bl sub_0201A2DC - b _0201CCE8 -_0201CCB4: + bl sub_027EAAEC + b _027ED4F8 +_027ED4C4: ldrh r1, [r4, #4] ldr r0, [r4, #0x1c] strh r1, [r0, #4] @@ -15717,24 +15718,24 @@ _0201CCB4: strh r1, [r0, #6] ldrh r0, [r4, #4] cmp r0, #0 - beq _0201CCDC - bl sub_03028988 -_0201CCDC: + beq _027ED4EC + bl sub_037F9198 +_027ED4EC: mov r0, #0 strh r0, [r4] - bl sub_0201D304 -_0201CCE8: + bl sub_027EDB14 +_027ED4F8: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201CCF0: .word 0x0380FFF4 -_0201CCF4: .word 0x027ED508 - arm_func_end sub_0201CC58 +_027ED500: .word 0x0380FFF4 +_027ED504: .word 0x027ED508 + arm_func_end sub_027ED468 - arm_func_start sub_0201CCF8 -sub_0201CCF8: ; 0x0201CCF8 - ldr r0, _0201CD2C ; =0x0380FFF4 - ldr ip, _0201CD30 ; =sub_037F8598 + arm_func_start sub_027ED508 +sub_027ED508: ; 0x027ED508 + ldr r0, _027ED53C ; =0x0380FFF4 + ldr ip, _027ED540 ; =sub_037F8598 ldr r2, [r0] mov r1, #7 add r0, r2, #4 @@ -15747,32 +15748,32 @@ sub_0201CCF8: ; 0x0201CCF8 strh r3, [r2, #4] bx ip .align 2, 0 -_0201CD2C: .word 0x0380FFF4 -_0201CD30: .word sub_037F8598 - arm_func_end sub_0201CCF8 +_027ED53C: .word 0x0380FFF4 +_027ED540: .word sub_037F8598 + arm_func_end sub_027ED508 - arm_func_start sub_0201CD34 -sub_0201CD34: ; 0x0201CD34 + arm_func_start sub_027ED544 +sub_027ED544: ; 0x027ED544 stmdb sp!, {r4, lr} - ldr r0, _0201CE10 ; =0x0380FFF4 + ldr r0, _027ED620 ; =0x0380FFF4 ldr r2, [r0] add r0, r2, #0x400 ldrh r1, [r0, #4] add r0, r2, #4 cmp r1, #0x30 add r4, r0, #0x400 - beq _0201CD64 + beq _027ED574 cmp r1, #0x35 - beq _0201CDE0 - b _0201CE08 -_0201CD64: + beq _027ED5F0 + b _027ED618 +_027ED574: ldr r0, [r4, #0x18] mov r1, #0 mov r2, r1 add r0, r0, #0x10 - bl sub_020215EC + bl sub_027F1DFC cmp r0, #0 - bne _0201CDA4 + bne _027ED5B4 ldr r1, [r4, #0x1c] mov r2, #8 mov r0, #2 @@ -15780,9 +15781,9 @@ _0201CD64: mov r2, #0x35 mov r1, r0 strh r2, [r4] - bl sub_03027D88 - b _0201CE08 -_0201CDA4: + bl sub_037F8598 + b _027ED618 +_027ED5B4: ldr r1, [r4, #0x18] mov r2, #1 ldrh r3, [r1, #0x16] @@ -15792,35 +15793,35 @@ _0201CDA4: strh r1, [r0, #0x30] mov r1, #0x31 strh r1, [r4] - bl sub_0202086C + bl sub_027F107C ldr r0, [r4, #0x18] - ldr r1, _0201CE14 ; =0x027ED628 + ldr r1, _027ED624 ; =0x027ED628 ldrh r0, [r0, #0x18] - bl sub_0201A2DC - b _0201CE08 -_0201CDE0: + bl sub_027EAAEC + b _027ED618 +_027ED5F0: mov r0, #1 - bl sub_020204C4 + bl sub_027F0CD4 mov r0, #1 - bl sub_02020460 + bl sub_027F0C70 mov r0, #1 mov r1, #0 - bl sub_020207E0 + bl sub_027F0FF0 mov r0, #0 strh r0, [r4] - bl sub_0201D304 -_0201CE08: + bl sub_027EDB14 +_027ED618: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201CE10: .word 0x0380FFF4 -_0201CE14: .word 0x027ED628 - arm_func_end sub_0201CD34 +_027ED620: .word 0x0380FFF4 +_027ED624: .word 0x027ED628 + arm_func_end sub_027ED544 - arm_func_start sub_0201CE18 -sub_0201CE18: ; 0x0201CE18 + arm_func_start sub_027ED628 +sub_027ED628: ; 0x027ED628 stmdb sp!, {r3, lr} - ldr r1, _0201CE54 ; =0x0380FFF4 + ldr r1, _027ED664 ; =0x0380FFF4 mov r0, #2 ldr ip, [r1] mov r3, #7 @@ -15831,33 +15832,33 @@ sub_0201CE18: ; 0x0201CE18 add r2, ip, #0x400 mov r3, #0x35 strh r3, [r2, #4] - bl sub_03027D88 + bl sub_037F8598 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201CE54: .word 0x0380FFF4 - arm_func_end sub_0201CE18 +_027ED664: .word 0x0380FFF4 + arm_func_end sub_027ED628 - arm_func_start sub_0201CE58 -sub_0201CE58: ; 0x0201CE58 + arm_func_start sub_027ED668 +sub_027ED668: ; 0x027ED668 stmdb sp!, {r4, lr} - ldr r0, _0201CF10 ; =0x0380FFF4 + ldr r0, _027ED720 ; =0x0380FFF4 ldr r2, [r0] add r0, r2, #0x400 ldrh r1, [r0, #4] add r0, r2, #4 cmp r1, #0x50 add r4, r0, #0x400 - beq _0201CE88 + beq _027ED698 cmp r1, #0x53 - beq _0201CEE0 - b _0201CF08 -_0201CE88: + beq _027ED6F0 + b _027ED718 +_027ED698: ldr r0, [r4, #0x18] add r0, r0, #0x10 - bl sub_02020F10 + bl sub_027F1720 cmp r0, #0 - bne _0201CEC0 + bne _027ED6D0 ldr r0, [r4, #0x1c] mov r1, #8 strh r1, [r0, #4] @@ -15865,40 +15866,40 @@ _0201CE88: mov r0, #2 mov r1, #3 strh r2, [r4] - bl sub_03027D88 - b _0201CF08 -_0201CEC0: + bl sub_037F8598 + b _027ED718 +_027ED6D0: mov r1, #0x51 strh r1, [r4] - bl sub_0202086C + bl sub_027F107C ldr r0, [r4, #0x18] - ldr r1, _0201CF14 ; =0x027ED728 + ldr r1, _027ED724 ; =0x027ED728 ldrh r0, [r0, #0x18] - bl sub_0201A2DC - b _0201CF08 -_0201CEE0: + bl sub_027EAAEC + b _027ED718 +_027ED6F0: mov r0, #1 - bl sub_020204C4 + bl sub_027F0CD4 mov r0, #1 - bl sub_02020460 + bl sub_027F0C70 mov r0, #1 mov r1, #0 - bl sub_020207E0 + bl sub_027F0FF0 mov r0, #0 strh r0, [r4] - bl sub_0201D304 -_0201CF08: + bl sub_027EDB14 +_027ED718: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201CF10: .word 0x0380FFF4 -_0201CF14: .word 0x027ED728 - arm_func_end sub_0201CE58 +_027ED720: .word 0x0380FFF4 +_027ED724: .word 0x027ED728 + arm_func_end sub_027ED668 - arm_func_start sub_0201CF18 -sub_0201CF18: ; 0x0201CF18 - ldr r0, _0201CF4C ; =0x0380FFF4 - ldr ip, _0201CF50 ; =sub_037F8598 + arm_func_start sub_027ED728 +sub_027ED728: ; 0x027ED728 + ldr r0, _027ED75C ; =0x0380FFF4 + ldr ip, _027ED760 ; =sub_037F8598 ldr r2, [r0] mov r1, #7 add r0, r2, #4 @@ -15911,30 +15912,30 @@ sub_0201CF18: ; 0x0201CF18 strh r3, [r2, #4] bx ip .align 2, 0 -_0201CF4C: .word 0x0380FFF4 -_0201CF50: .word sub_037F8598 - arm_func_end sub_0201CF18 +_027ED75C: .word 0x0380FFF4 +_027ED760: .word sub_037F8598 + arm_func_end sub_027ED728 - arm_func_start sub_0201CF54 -sub_0201CF54: ; 0x0201CF54 + arm_func_start sub_027ED764 +sub_027ED764: ; 0x027ED764 stmdb sp!, {r4, lr} - ldr r0, _0201D004 ; =0x0380FFF4 + ldr r0, _027ED814 ; =0x0380FFF4 ldr r2, [r0] add r0, r2, #0x400 ldrh r1, [r0, #4] add r0, r2, #4 cmp r1, #0x60 add r4, r0, #0x400 - beq _0201CF84 + beq _027ED794 cmp r1, #0x63 - beq _0201CFDC - b _0201CFFC -_0201CF84: + beq _027ED7EC + b _027ED80C +_027ED794: ldr r0, [r4, #0x18] add r0, r0, #0x10 - bl sub_02020FB8 + bl sub_027F17C8 cmp r0, #0 - bne _0201CFBC + bne _027ED7CC ldr r0, [r4, #0x1c] mov r1, #8 strh r1, [r0, #4] @@ -15942,38 +15943,38 @@ _0201CF84: mov r0, #2 mov r1, #4 strh r2, [r4] - bl sub_03027D88 - b _0201CFFC -_0201CFBC: + bl sub_037F8598 + b _027ED80C +_027ED7CC: mov r1, #0x61 strh r1, [r4] - bl sub_0202086C + bl sub_027F107C ldr r0, [r4, #0x18] - ldr r1, _0201D008 ; =0x027ED81C + ldr r1, _027ED818 ; =0x027ED81C ldrh r0, [r0, #0x18] - bl sub_0201A2DC - b _0201CFFC -_0201CFDC: + bl sub_027EAAEC + b _027ED80C +_027ED7EC: mov r0, #1 - bl sub_02020460 + bl sub_027F0C70 mov r0, #1 mov r1, #0 - bl sub_020207E0 + bl sub_027F0FF0 mov r0, #0 strh r0, [r4] - bl sub_0201D304 -_0201CFFC: + bl sub_027EDB14 +_027ED80C: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201D004: .word 0x0380FFF4 -_0201D008: .word 0x027ED81C - arm_func_end sub_0201CF54 +_027ED814: .word 0x0380FFF4 +_027ED818: .word 0x027ED81C + arm_func_end sub_027ED764 - arm_func_start sub_0201D00C -sub_0201D00C: ; 0x0201D00C - ldr r0, _0201D040 ; =0x0380FFF4 - ldr ip, _0201D044 ; =sub_037F8598 + arm_func_start sub_027ED81C +sub_027ED81C: ; 0x027ED81C + ldr r0, _027ED850 ; =0x0380FFF4 + ldr ip, _027ED854 ; =sub_037F8598 ldr r2, [r0] mov r1, #7 add r0, r2, #4 @@ -15986,14 +15987,14 @@ sub_0201D00C: ; 0x0201D00C strh r3, [r2, #4] bx ip .align 2, 0 -_0201D040: .word 0x0380FFF4 -_0201D044: .word sub_037F8598 - arm_func_end sub_0201D00C +_027ED850: .word 0x0380FFF4 +_027ED854: .word sub_037F8598 + arm_func_end sub_027ED81C - arm_func_start sub_0201D048 -sub_0201D048: ; 0x0201D048 + arm_func_start sub_027ED858 +sub_027ED858: ; 0x027ED858 stmdb sp!, {r3, r4, r5, lr} - ldr r0, _0201D2A8 ; =0x0380FFF4 + ldr r0, _027EDAB8 ; =0x0380FFF4 ldr r2, [r0] add r0, r2, #0x400 ldrh r1, [r0, #4] @@ -16003,31 +16004,31 @@ sub_0201D048: ; 0x0201D048 add r4, r2, #0x344 add r5, r0, #0x400 addls pc, pc, r1, lsl #2 - b _0201D288 -_0201D078: ; jump table - b _0201D08C ; case 0 - b _0201D0CC ; case 1 - b _0201D180 ; case 2 - b _0201D1A8 ; case 3 - b _0201D214 ; case 4 -_0201D08C: + b _027EDA98 +_027ED888: ; jump table + b _027ED89C ; case 0 + b _027ED8DC ; case 1 + b _027ED990 ; case 2 + b _027ED9B8 ; case 3 + b _027EDA24 ; case 4 +_027ED89C: mov r0, #0 strh r0, [r5, #0x14] mov r0, #0x13 - bl sub_02019DB4 + bl sub_027EA5C4 strh r0, [r5, #0xe] mov r0, #0x35 - bl sub_02019DB4 + bl sub_027EA5C4 strh r0, [r5, #0x10] ldr r1, [r5, #0x18] ldrh r0, [r1, #0x12] ldrh r1, [r1, #0x14] - bl sub_02018B4C + bl sub_027E935C mov r0, #4 strh r0, [r4, #0xc] mov r0, #0 strh r0, [r5, #0x16] -_0201D0CC: +_027ED8DC: mov r0, #0 str r0, [r5, #4] str r0, [r5, #8] @@ -16035,51 +16036,51 @@ _0201D0CC: ldrh r0, [r5, #0x14] add r1, r1, #0x18 add r0, r1, r0 - bl sub_0201A540 + bl sub_027EAD50 movs r4, r0 - beq _0201D100 + beq _027ED910 ldrh r0, [r5, #0x14] cmp r0, #0x10 - blo _0201D10C -_0201D100: + blo _027ED91C +_027ED910: mov r0, #0x84 strh r0, [r5] - b _0201D288 -_0201D10C: + b _027EDA98 +_027ED91C: mov r0, #0 - bl sub_0202451C + bl sub_027F4D2C cmp r0, #0 movne r0, #0xe strneh r0, [r5, #0x16] movne r0, #0x84 strneh r0, [r5] - bne _0201D288 + bne _027EDA98 ldrh r0, [r5] mov r1, #0 cmp r0, #0x80 mov r0, r4, lsl #0x10 mov r0, r0, lsr #0x10 - bne _0201D164 - bl sub_020190F0 - bl sub_030285D0 - ldr r1, _0201D2AC ; =0x04808040 + bne _027ED974 + bl sub_027E9900 + bl sub_037F8DE0 + ldr r1, _027EDABC ; =0x04808040 mov r0, #0x8000 ldrh r1, [r1] strh r1, [r5, #0xc] - bl sub_020194D0 - b _0201D168 -_0201D164: - bl sub_020190F0 -_0201D168: + bl sub_027E9CE0 + b _027ED978 +_027ED974: + bl sub_027E9900 +_027ED978: mov r0, #0x82 strh r0, [r5] ldr r0, [r5, #0x18] - ldr r1, _0201D2B0 ; =0x027EDAC8 + ldr r1, _027EDAC0 ; =0x027EDAC8 ldrh r0, [r0, #0x16] - bl sub_0201A2DC -_0201D180: + bl sub_027EAAEC +_027ED990: ldr r1, [r5, #4] - ldr r0, _0201D2B4 ; =0x0480819C + ldr r0, _027EDAC4 ; =0x0480819C add r1, r1, #1 str r1, [r5, #4] ldrh r0, [r0] @@ -16087,25 +16088,25 @@ _0201D180: ldrne r0, [r5, #8] addne r0, r0, #0x64 strne r0, [r5, #8] - b _0201D288 -_0201D1A8: + b _027EDA98 +_027ED9B8: ldr r1, [r5, #0x18] ldrh r0, [r5, #0x14] add r1, r1, #0x18 add r0, r1, r0 - bl sub_0201A540 + bl sub_027EAD50 ldr r1, [r5, #4] mov r4, r0 cmp r1, #0 ldrne r0, [r5, #8] mov r2, #0 cmpne r0, #0 - beq _0201D1E8 - bl sub_030365C4 + beq _027ED9F8 + bl sub_03806DD4 add r2, r0, #1 cmp r2, #0x64 movhi r2, #0x64 -_0201D1E8: +_027ED9F8: ldr r1, [r5, #0x1c] ldrh r0, [r5, #0x14] orr r2, r4, r2, lsl #8 @@ -16116,22 +16117,22 @@ _0201D1E8: add r1, r1, #1 strh r1, [r5, #0x14] strh r0, [r5] - b _0201D288 -_0201D214: - bl sub_03028988 - ldr r1, _0201D2A8 ; =0x0380FFF4 + b _027EDA98 +_027EDA24: + bl sub_037F9198 + ldr r1, _027EDAB8 ; =0x0380FFF4 mov r0, #0x13 ldr r1, [r1] add r1, r1, #0x300 ldrh r1, [r1, #0x2e] strh r1, [r4, #0xc] ldrh r1, [r5, #0xe] - bl sub_02019DE0 + bl sub_027EA5F0 ldrh r1, [r5, #0x10] mov r0, #0x35 - bl sub_02019DE0 + bl sub_027EA5F0 ldrh r0, [r5, #0xc] - bl sub_020194D0 + bl sub_027E9CE0 ldrh r2, [r5, #0x16] ldr r1, [r5, #0x1c] mov r0, #0 @@ -16139,37 +16140,37 @@ _0201D214: strh r0, [r5] ldrh r2, [r5, #0x14] mov r1, r0 - b _0201D27C -_0201D26C: + b _027EDA8C +_027EDA7C: ldr r0, [r5, #0x1c] add r0, r0, r2, lsl #1 strh r1, [r0, #8] add r2, r2, #1 -_0201D27C: +_027EDA8C: cmp r2, #0x10 - blo _0201D26C - bl sub_0201D304 -_0201D288: + blo _027EDA7C + bl sub_027EDB14 +_027EDA98: ldrh r0, [r5] cmp r0, #0 - beq _0201D2A0 + beq _027EDAB0 mov r0, #2 mov r1, #5 - bl sub_03027D88 -_0201D2A0: + bl sub_037F8598 +_027EDAB0: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0201D2A8: .word 0x0380FFF4 -_0201D2AC: .word 0x04808040 -_0201D2B0: .word 0x027EDAC8 -_0201D2B4: .word 0x0480819C - arm_func_end sub_0201D048 +_027EDAB8: .word 0x0380FFF4 +_027EDABC: .word 0x04808040 +_027EDAC0: .word 0x027EDAC8 +_027EDAC4: .word 0x0480819C + arm_func_end sub_027ED858 - arm_func_start sub_0201D2B8 -sub_0201D2B8: ; 0x0201D2B8 - ldr r0, _0201D2DC ; =0x0380FFF4 - ldr ip, _0201D2E0 ; =sub_037F8598 + arm_func_start sub_027EDAC8 +sub_027EDAC8: ; 0x027EDAC8 + ldr r0, _027EDAEC ; =0x0380FFF4 + ldr ip, _027EDAF0 ; =sub_037F8598 ldr r1, [r0] mov r3, #0x83 add r2, r1, #0x400 @@ -16178,27 +16179,27 @@ sub_0201D2B8: ; 0x0201D2B8 strh r3, [r2, #4] bx ip .align 2, 0 -_0201D2DC: .word 0x0380FFF4 -_0201D2E0: .word sub_037F8598 - arm_func_end sub_0201D2B8 +_027EDAEC: .word 0x0380FFF4 +_027EDAF0: .word sub_037F8598 + arm_func_end sub_027EDAC8 - arm_func_start sub_0201D2E4 -sub_0201D2E4: ; 0x0201D2E4 - ldr r0, _0201D2FC ; =0x0380FFF4 - ldr ip, _0201D300 ; =sub_027EDEC0 + arm_func_start sub_027EDAF4 +sub_027EDAF4: ; 0x027EDAF4 + ldr r0, _027EDB0C ; =0x0380FFF4 + ldr ip, _027EDB10 ; =sub_027EDEC0 ldr r0, [r0] add r0, r0, #0xc6 add r0, r0, #0x300 bx ip .align 2, 0 -_0201D2FC: .word 0x0380FFF4 -_0201D300: .word sub_027EDEC0 - arm_func_end sub_0201D2E4 +_027EDB0C: .word 0x0380FFF4 +_027EDB10: .word sub_027EDEC0 + arm_func_end sub_027EDAF4 - arm_func_start sub_0201D304 -sub_0201D304: ; 0x0201D304 + arm_func_start sub_027EDB14 +sub_027EDB14: ; 0x027EDB14 stmdb sp!, {r4, lr} - ldr r0, _0201D354 ; =0x0380FFF4 + ldr r0, _027EDB64 ; =0x0380FFF4 ldr r2, [r0] add r0, r2, #0x24 add r1, r0, #0x400 @@ -16208,350 +16209,350 @@ sub_0201D304: ; 0x0201D304 strh r0, [r1, #4] ldr r1, [r2, #0x424] add r0, r4, #0x84 - bl sub_03028548 + bl sub_037F8D58 ldrh r0, [r4, #0x8c] cmp r0, #0 - beq _0201D34C + beq _027EDB5C mov r0, #2 mov r1, #0xb - bl sub_03027D88 -_0201D34C: + bl sub_037F8598 +_027EDB5C: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201D354: .word 0x0380FFF4 - arm_func_end sub_0201D304 +_027EDB64: .word 0x0380FFF4 + arm_func_end sub_027EDB14 - arm_func_start sub_0201D358 -sub_0201D358: ; 0x0201D358 + arm_func_start sub_027EDB68 +sub_027EDB68: ; 0x027EDB68 stmdb sp!, {r4, r5, r6, lr} - ldr r2, _0201D3D0 ; =0x0380FFF4 + ldr r2, _027EDBE0 ; =0x0380FFF4 mov r5, r1 ldr r1, [r2] mov r6, r0 add r0, r1, #0x188 mov r1, #0x18 - bl sub_0302805C + bl sub_037F886C movs r4, r0 - bne _0201D390 + bne _027EDBA0 mov r0, #1 - bl sub_0201A85C + bl sub_027EB06C mov r0, #0 - b _0201D3C8 -_0201D390: + b _027EDBD8 +_027EDBA0: mov r0, #0x84 strh r0, [r4, #0xc] mov r2, #4 mov r1, r6 add r0, r4, #0x10 strh r2, [r4, #0xe] - bl sub_020198D0 - ldr r0, _0201D3D0 ; =0x0380FFF4 + bl sub_027EA0E0 + ldr r0, _027EDBE0 ; =0x0380FFF4 strh r5, [r4, #0x16] ldr r0, [r0] mov r1, r4 add r0, r0, #0x188 - bl sub_03028548 + bl sub_037F8D58 mov r0, #1 -_0201D3C8: +_027EDBD8: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_0201D3D0: .word 0x0380FFF4 - arm_func_end sub_0201D358 +_027EDBE0: .word 0x0380FFF4 + arm_func_end sub_027EDB68 - arm_func_start sub_0201D3D4 -sub_0201D3D4: ; 0x0201D3D4 + arm_func_start sub_027EDBE4 +sub_027EDBE4: ; 0x027EDBE4 stmdb sp!, {r4, r5, r6, lr} - ldr r2, _0201D44C ; =0x0380FFF4 + ldr r2, _027EDC5C ; =0x0380FFF4 mov r5, r1 ldr r1, [r2] mov r6, r0 add r0, r1, #0x188 mov r1, #0x18 - bl sub_0302805C + bl sub_037F886C movs r4, r0 - bne _0201D40C + bne _027EDC1C mov r0, #1 - bl sub_0201A85C + bl sub_027EB06C mov r0, #0 - b _0201D444 -_0201D40C: + b _027EDC54 +_027EDC1C: mov r0, #0x85 strh r0, [r4, #0xc] mov r2, #4 mov r1, r6 add r0, r4, #0x10 strh r2, [r4, #0xe] - bl sub_020198D0 - ldr r0, _0201D44C ; =0x0380FFF4 + bl sub_027EA0E0 + ldr r0, _027EDC5C ; =0x0380FFF4 strh r5, [r4, #0x16] ldr r0, [r0] mov r1, r4 add r0, r0, #0x188 - bl sub_03028548 + bl sub_037F8D58 mov r0, #1 -_0201D444: +_027EDC54: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_0201D44C: .word 0x0380FFF4 - arm_func_end sub_0201D3D4 +_027EDC5C: .word 0x0380FFF4 + arm_func_end sub_027EDBE4 - arm_func_start sub_0201D450 -sub_0201D450: ; 0x0201D450 + arm_func_start sub_027EDC60 +sub_027EDC60: ; 0x027EDC60 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r3, _0201D540 ; =0x0380FFF4 + ldr r3, _027EDD50 ; =0x0380FFF4 mov r5, r1 ldr r1, [r3] mov r7, r0 add r0, r1, #0x188 mov r1, #0x3a mov r6, r2 - bl sub_0302805C + bl sub_037F886C movs r4, r0 - bne _0201D48C + bne _027EDC9C mov r0, #1 - bl sub_0201A85C + bl sub_027EB06C mov r0, #0 - b _0201D538 -_0201D48C: + b _027EDD48 +_027EDC9C: mov r0, #0x86 strh r0, [r4, #0xc] mov r2, #0x15 mov r1, r7 add r0, r4, #0x10 strh r2, [r4, #0xe] - bl sub_020198D0 - ldr r1, _0201D544 ; =0x00000FFF + bl sub_027EA0E0 + ldr r1, _027EDD54 ; =0x00000FFF add r0, r6, #1 and r1, r5, r1 strh r1, [r4, #0x16] - bl sub_0201A540 + bl sub_027EAD50 add r7, r6, #2 strh r0, [r4, #0x18] mov r5, #0 add r6, r4, #0x1a - b _0201D4F0 -_0201D4D0: + b _027EDD00 +_027EDCE0: cmp r5, #0x20 - bhs _0201D4FC + bhs _027EDD0C add r0, r7, r5 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 add r0, r6, r5 - bl sub_0201A514 + bl sub_027EAD24 add r5, r5, #1 -_0201D4F0: +_027EDD00: ldrh r0, [r4, #0x18] cmp r5, r0 - blo _0201D4D0 -_0201D4FC: + blo _027EDCE0 +_027EDD0C: add r7, r4, #0x1a mov r6, #0 - b _0201D518 -_0201D508: + b _027EDD28 +_027EDD18: mov r1, r6 add r0, r7, r5 - bl sub_0201A514 + bl sub_027EAD24 add r5, r5, #1 -_0201D518: +_027EDD28: cmp r5, #0x20 - blo _0201D508 - ldr r0, _0201D540 ; =0x0380FFF4 + blo _027EDD18 + ldr r0, _027EDD50 ; =0x0380FFF4 mov r1, r4 ldr r0, [r0] add r0, r0, #0x188 - bl sub_03028548 + bl sub_037F8D58 mov r0, #1 -_0201D538: +_027EDD48: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_0201D540: .word 0x0380FFF4 -_0201D544: .word 0x00000FFF - arm_func_end sub_0201D450 +_027EDD50: .word 0x0380FFF4 +_027EDD54: .word 0x00000FFF + arm_func_end sub_027EDC60 - arm_func_start sub_0201D548 -sub_0201D548: ; 0x0201D548 + arm_func_start sub_027EDD58 +sub_027EDD58: ; 0x027EDD58 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r3, _0201D630 ; =0x0380FFF4 + ldr r3, _027EDE40 ; =0x0380FFF4 mov r6, r1 ldr r1, [r3] mov r7, r0 add r0, r1, #0x188 mov r1, #0x3a mov r5, r2 - bl sub_0302805C + bl sub_037F886C movs r4, r0 - bne _0201D584 + bne _027EDD94 mov r0, #1 - bl sub_0201A85C + bl sub_027EB06C mov r0, #0 - b _0201D628 -_0201D584: + b _027EDE38 +_027EDD94: mov r0, #0x87 strh r0, [r4, #0xc] mov r0, #0x15 strh r0, [r4, #0xe] mov r1, r7 add r0, r4, #0x10 - bl sub_020198D0 + bl sub_027EA0E0 strh r6, [r4, #0x16] add r0, r5, #1 - bl sub_0201A540 + bl sub_027EAD50 add r6, r5, #2 strh r0, [r4, #0x18] mov r7, #0 add r5, r4, #0x1a - b _0201D5E0 -_0201D5C0: + b _027EDDF0 +_027EDDD0: cmp r7, #0x20 - bhs _0201D5EC + bhs _027EDDFC add r0, r6, r7 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 add r0, r5, r7 - bl sub_0201A514 + bl sub_027EAD24 add r7, r7, #1 -_0201D5E0: +_027EDDF0: ldrh r0, [r4, #0x18] cmp r7, r0 - blo _0201D5C0 -_0201D5EC: + blo _027EDDD0 +_027EDDFC: add r6, r4, #0x1a mov r5, #0 - b _0201D608 -_0201D5F8: + b _027EDE18 +_027EDE08: mov r1, r5 add r0, r6, r7 - bl sub_0201A514 + bl sub_027EAD24 add r7, r7, #1 -_0201D608: +_027EDE18: cmp r7, #0x20 - blo _0201D5F8 - ldr r0, _0201D630 ; =0x0380FFF4 + blo _027EDE08 + ldr r0, _027EDE40 ; =0x0380FFF4 mov r1, r4 ldr r0, [r0] add r0, r0, #0x188 - bl sub_03028548 + bl sub_037F8D58 mov r0, #1 -_0201D628: +_027EDE38: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_0201D630: .word 0x0380FFF4 - arm_func_end sub_0201D548 +_027EDE40: .word 0x0380FFF4 + arm_func_end sub_027EDD58 - arm_func_start sub_0201D634 -sub_0201D634: ; 0x0201D634 + arm_func_start sub_027EDE44 +sub_027EDE44: ; 0x027EDE44 stmdb sp!, {r4, r5, r6, lr} - ldr r2, _0201D6AC ; =0x0380FFF4 + ldr r2, _027EDEBC ; =0x0380FFF4 mov r5, r1 ldr r1, [r2] mov r6, r0 add r0, r1, #0x188 mov r1, #0x18 - bl sub_0302805C + bl sub_037F886C movs r4, r0 - bne _0201D66C + bne _027EDE7C mov r0, #1 - bl sub_0201A85C + bl sub_027EB06C mov r0, #0 - b _0201D6A4 -_0201D66C: + b _027EDEB4 +_027EDE7C: mov r0, #0x88 strh r0, [r4, #0xc] mov r2, #4 mov r1, r6 add r0, r4, #0x10 strh r2, [r4, #0xe] - bl sub_020198D0 - ldr r0, _0201D6AC ; =0x0380FFF4 + bl sub_027EA0E0 + ldr r0, _027EDEBC ; =0x0380FFF4 strh r5, [r4, #0x16] ldr r0, [r0] mov r1, r4 add r0, r0, #0x188 - bl sub_03028548 + bl sub_037F8D58 mov r0, #1 -_0201D6A4: +_027EDEB4: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_0201D6AC: .word 0x0380FFF4 - arm_func_end sub_0201D634 +_027EDEBC: .word 0x0380FFF4 + arm_func_end sub_027EDE44 - arm_func_start sub_0201D6B0 -sub_0201D6B0: ; 0x0201D6B0 + arm_func_start sub_027EDEC0 +sub_027EDEC0: ; 0x027EDEC0 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0201D720 ; =0x0380FFF4 + ldr r1, _027EDF30 ; =0x0380FFF4 mov r5, r0 ldr r0, [r1] mov r1, #0x16 add r0, r0, #0x188 - bl sub_0302805C + bl sub_037F886C movs r4, r0 - bne _0201D6E4 + bne _027EDEF4 mov r0, #1 - bl sub_0201A85C + bl sub_027EB06C mov r0, #0 - b _0201D718 -_0201D6E4: + b _027EDF28 +_027EDEF4: mov r0, #0x8b strh r0, [r4, #0xc] mov r2, #3 mov r1, r5 add r0, r4, #0x10 strh r2, [r4, #0xe] - bl sub_020198D0 - ldr r0, _0201D720 ; =0x0380FFF4 + bl sub_027EA0E0 + ldr r0, _027EDF30 ; =0x0380FFF4 mov r1, r4 ldr r0, [r0] add r0, r0, #0x188 - bl sub_03028548 + bl sub_037F8D58 mov r0, #1 -_0201D718: +_027EDF28: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0201D720: .word 0x0380FFF4 - arm_func_end sub_0201D6B0 +_027EDF30: .word 0x0380FFF4 + arm_func_end sub_027EDEC0 - arm_func_start sub_0201D724 -sub_0201D724: ; 0x0201D724 + arm_func_start sub_027EDF34 +sub_027EDF34: ; 0x027EDF34 stmdb sp!, {r3, lr} - ldr r0, _0201D780 ; =0x0380FFF4 + ldr r0, _027EDF90 ; =0x0380FFF4 mov r1, #0x10 ldr r0, [r0] add r0, r0, #0x188 - bl sub_0302805C + bl sub_037F886C movs r1, r0 - bne _0201D754 + bne _027EDF64 mov r0, #1 - bl sub_0201A85C + bl sub_027EB06C mov r0, #0 - b _0201D778 -_0201D754: + b _027EDF88 +_027EDF64: mov r0, #0x8c strh r0, [r1, #0xc] mov r2, #0 - ldr r0, _0201D780 ; =0x0380FFF4 + ldr r0, _027EDF90 ; =0x0380FFF4 strh r2, [r1, #0xe] ldr r0, [r0] add r0, r0, #0x188 - bl sub_03028548 + bl sub_037F8D58 mov r0, #1 -_0201D778: +_027EDF88: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201D780: .word 0x0380FFF4 - arm_func_end sub_0201D724 +_027EDF90: .word 0x0380FFF4 + arm_func_end sub_027EDF34 - arm_func_start sub_0201D784 -sub_0201D784: ; 0x0201D784 + arm_func_start sub_027EDF94 +sub_027EDF94: ; 0x027EDF94 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r1, _0201D89C ; =0x0380FFF4 + ldr r1, _027EE0AC ; =0x0380FFF4 mov r6, r0 ldr r2, [r1] add r0, r2, #0x300 @@ -16559,14 +16560,14 @@ sub_0201D784: ; 0x0201D784 add r0, r2, #0x188 add r1, r1, #0x3e add r4, r2, #0x344 - bl sub_0302805C + bl sub_037F886C movs r5, r0 - bne _0201D7C4 + bne _027EDFD4 mov r0, #1 - bl sub_0201A85C + bl sub_027EB06C mov r0, #0 - b _0201D894 -_0201D7C4: + b _027EE0A4 +_027EDFD4: mov r0, #0x8d strh r0, [r5, #0xc] ldrh r1, [r4, #0xa0] @@ -16578,62 +16579,62 @@ _0201D7C4: strh r1, [r5, #0xe] ldrh r1, [r6, #0x12] and r1, r1, #0xff - bl sub_0201A514 + bl sub_027EAD24 ldrh r1, [r6, #0xe] add r0, r5, #0x1e and r1, r1, #0xff - bl sub_0201A514 + bl sub_027EAD24 add r0, r5, #0x2e add r1, r6, #0x1e - bl sub_020198D0 + bl sub_027EA0E0 ldrh r2, [r4, #0xa0] strh r2, [r5, #0x16] cmp r2, #0 - beq _0201D87C + beq _027EE08C ldrh r0, [r4, #0xa2] tst r0, #1 ldr r0, [r4, #0x9c] - beq _0201D870 + beq _027EE080 add r7, r5, #0x3c add r6, r0, #1 mov r4, #0 - b _0201D860 -_0201D840: + b _027EE070 +_027EE050: mov r0, r6 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 mov r0, r7 - bl sub_0201A514 + bl sub_027EAD24 add r6, r6, #1 add r7, r7, #1 add r4, r4, #1 -_0201D860: +_027EE070: ldrh r0, [r5, #0x16] cmp r4, r0 - blo _0201D840 - b _0201D87C -_0201D870: + blo _027EE050 + b _027EE08C +_027EE080: add r1, r5, #0x3c add r2, r2, #1 - bl sub_0302D78C -_0201D87C: - ldr r0, _0201D89C ; =0x0380FFF4 + bl sub_037FDF9C +_027EE08C: + ldr r0, _027EE0AC ; =0x0380FFF4 mov r1, r5 ldr r0, [r0] add r0, r0, #0x188 - bl sub_03028548 + bl sub_037F8D58 mov r0, #1 -_0201D894: +_027EE0A4: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_0201D89C: .word 0x0380FFF4 - arm_func_end sub_0201D784 +_027EE0AC: .word 0x0380FFF4 + arm_func_end sub_027EDF94 - arm_func_start sub_0201D8A0 -sub_0201D8A0: ; 0x0201D8A0 - ldr r1, _0201D8C0 ; =0x0380FFF4 - ldr ip, _0201D8C4 ; =sub_037FDF74 + arm_func_start sub_027EE0B0 +sub_027EE0B0: ; 0x027EE0B0 + ldr r1, _027EE0D0 ; =0x0380FFF4 + ldr ip, _027EE0D4 ; =sub_037FDF74 ldr r1, [r1] mov r0, #0 add r1, r1, #4 @@ -16641,14 +16642,14 @@ sub_0201D8A0: ; 0x0201D8A0 add r1, r1, #0x400 bx ip .align 2, 0 -_0201D8C0: .word 0x0380FFF4 -_0201D8C4: .word sub_037FDF74 - arm_func_end sub_0201D8A0 +_027EE0D0: .word 0x0380FFF4 +_027EE0D4: .word sub_037FDF74 + arm_func_end sub_027EE0B0 - arm_func_start sub_0201D8C8 -sub_0201D8C8: ; 0x0201D8C8 + arm_func_start sub_027EE0D8 +sub_027EE0D8: ; 0x027EE0D8 stmdb sp!, {r3, r4, r5, lr} - ldr r2, _0201D9B0 ; =0x0380FFF4 + ldr r2, _027EE1C0 ; =0x0380FFF4 mov r5, r0 mov r0, #1 strh r0, [r1, #2] @@ -16656,119 +16657,119 @@ sub_0201D8C8: ; 0x0201D8C8 add r1, r1, #0x300 ldrh r1, [r1, #0x4c] cmp r1, #0x10 - bne _0201D9A8 + bne _027EE1B8 add r0, r5, #0x10 - bl sub_0201864C + bl sub_027E8E5C mov r4, r0 ldrh r0, [r5, #0x16] - bl sub_020186AC + bl sub_027E8EBC orr r4, r4, r0 ldrh r0, [r5, #0x18] - bl sub_020186E0 + bl sub_027E8EF0 orr r4, r4, r0 ldrh r0, [r5, #0x1c] - bl sub_02018720 + bl sub_027E8F30 orr r4, r4, r0 ldrh r0, [r5, #0x1e] - bl sub_020187A0 + bl sub_027E8FB0 orr r4, r4, r0 ldrh r0, [r5, #0x20] - bl sub_020187D4 + bl sub_027E8FE4 orr r4, r4, r0 ldrh r0, [r5, #0x22] - bl sub_02018874 + bl sub_027E9084 orr r4, r4, r0 add r0, r5, #0x24 - bl sub_02018898 + bl sub_027E90A8 orr r4, r4, r0 ldrh r0, [r5, #0x74] - bl sub_020188F8 + bl sub_027E9108 orr r4, r4, r0 ldrh r0, [r5, #0x76] - bl sub_02018930 + bl sub_027E9140 orr r4, r4, r0 ldrh r0, [r5, #0x78] - bl sub_02018968 + bl sub_027E9178 orr r4, r4, r0 ldrh r0, [r5, #0x7a] mov r1, #0 - bl sub_020189A0 + bl sub_027E91B0 orr r4, r4, r0 add r0, r5, #0x7c - bl sub_02018A50 + bl sub_027E9260 orr r4, r4, r0 ldrh r0, [r5, #0x9c] - bl sub_02018A80 + bl sub_027E9290 orr r4, r4, r0 ldrh r0, [r5, #0x9e] - bl sub_02018B28 + bl sub_027E9338 orr r0, r4, r0 -_0201D9A8: +_027EE1B8: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0201D9B0: .word 0x0380FFF4 - arm_func_end sub_0201D8C8 +_027EE1C0: .word 0x0380FFF4 + arm_func_end sub_027EE0D8 - arm_func_start sub_0201D9B4 -sub_0201D9B4: ; 0x0201D9B4 + arm_func_start sub_027EE1C4 +sub_027EE1C4: ; 0x027EE1C4 stmdb sp!, {r3, lr} - ldr r2, _0201D9F0 ; =0x0380FFF4 + ldr r2, _027EE200 ; =0x0380FFF4 mov r3, #1 strh r3, [r1, #2] ldr r1, [r2] add r1, r1, #0x300 ldrh r1, [r1, #0x4c] cmp r1, #0x10 - bne _0201D9E4 + bne _027EE1F4 add r0, r0, #0x10 - bl sub_0201864C + bl sub_027E8E5C mov r3, r0 -_0201D9E4: +_027EE1F4: mov r0, r3 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201D9F0: .word 0x0380FFF4 - arm_func_end sub_0201D9B4 +_027EE200: .word 0x0380FFF4 + arm_func_end sub_027EE1C4 - arm_func_start sub_0201D9F4 -sub_0201D9F4: ; 0x0201D9F4 + arm_func_start sub_027EE204 +sub_027EE204: ; 0x027EE204 mov r2, #1 strh r2, [r1, #2] - ldr ip, _0201DA08 ; =sub_027E8EBC + ldr ip, _027EE218 ; =sub_027E8EBC ldrh r0, [r0, #0x10] bx ip .align 2, 0 -_0201DA08: .word sub_027E8EBC - arm_func_end sub_0201D9F4 +_027EE218: .word sub_027E8EBC + arm_func_end sub_027EE204 - arm_func_start sub_0201DA0C -sub_0201DA0C: ; 0x0201DA0C + arm_func_start sub_027EE21C +sub_027EE21C: ; 0x027EE21C stmdb sp!, {r3, lr} - ldr r2, _0201DA48 ; =0x0380FFF4 + ldr r2, _027EE258 ; =0x0380FFF4 mov r3, #1 strh r3, [r1, #2] ldr r1, [r2] add r1, r1, #0x300 ldrh r1, [r1, #0x4c] cmp r1, #0x10 - bne _0201DA3C + bne _027EE24C ldrh r0, [r0, #0x10] - bl sub_020186E0 + bl sub_027E8EF0 mov r3, r0 -_0201DA3C: +_027EE24C: mov r0, r3 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201DA48: .word 0x0380FFF4 - arm_func_end sub_0201DA0C +_027EE258: .word 0x0380FFF4 + arm_func_end sub_027EE21C - arm_func_start sub_0201DA4C -sub_0201DA4C: ; 0x0201DA4C + arm_func_start sub_027EE25C +sub_027EE25C: ; 0x027EE25C stmdb sp!, {r3, lr} - ldr r2, _0201DA98 ; =0x0380FFF4 + ldr r2, _027EE2A8 ; =0x0380FFF4 mov r3, #1 strh r3, [r1, #2] ldr r1, [r2] @@ -16776,157 +16777,157 @@ sub_0201DA4C: ; 0x0201DA4C ldrh r2, [r1, #0x4c] cmp r2, #0x20 movhi r0, r3 - bhi _0201DA90 - bne _0201DA88 + bhi _027EE2A0 + bne _027EE298 ldrh r1, [r1, #0x56] cmp r1, #0 movne r0, r3 - bne _0201DA90 -_0201DA88: + bne _027EE2A0 +_027EE298: ldrh r0, [r0, #0x10] - bl sub_02018720 -_0201DA90: + bl sub_027E8F30 +_027EE2A0: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201DA98: .word 0x0380FFF4 - arm_func_end sub_0201DA4C +_027EE2A8: .word 0x0380FFF4 + arm_func_end sub_027EE25C - arm_func_start sub_0201DA9C -sub_0201DA9C: ; 0x0201DA9C + arm_func_start sub_027EE2AC +sub_027EE2AC: ; 0x027EE2AC mov r2, #1 strh r2, [r1, #2] - ldr ip, _0201DAB0 ; =sub_027E8FB0 + ldr ip, _027EE2C0 ; =sub_027E8FB0 ldrh r0, [r0, #0x10] bx ip .align 2, 0 -_0201DAB0: .word sub_027E8FB0 - arm_func_end sub_0201DA9C +_027EE2C0: .word sub_027E8FB0 + arm_func_end sub_027EE2AC - arm_func_start sub_0201DAB4 -sub_0201DAB4: ; 0x0201DAB4 + arm_func_start sub_027EE2C4 +sub_027EE2C4: ; 0x027EE2C4 mov r2, #1 strh r2, [r1, #2] - ldr ip, _0201DAC8 ; =sub_027E8FE4 + ldr ip, _027EE2D8 ; =sub_027E8FE4 ldrh r0, [r0, #0x10] bx ip .align 2, 0 -_0201DAC8: .word sub_027E8FE4 - arm_func_end sub_0201DAB4 +_027EE2D8: .word sub_027E8FE4 + arm_func_end sub_027EE2C4 - arm_func_start sub_0201DACC -sub_0201DACC: ; 0x0201DACC + arm_func_start sub_027EE2DC +sub_027EE2DC: ; 0x027EE2DC mov r2, #1 strh r2, [r1, #2] - ldr ip, _0201DAE0 ; =sub_027E9084 + ldr ip, _027EE2F0 ; =sub_027E9084 ldrh r0, [r0, #0x10] bx ip .align 2, 0 -_0201DAE0: .word sub_027E9084 - arm_func_end sub_0201DACC +_027EE2F0: .word sub_027E9084 + arm_func_end sub_027EE2DC - arm_func_start sub_0201DAE4 -sub_0201DAE4: ; 0x0201DAE4 - ldr ip, _0201DAF8 ; =sub_027E90A8 + arm_func_start sub_027EE2F4 +sub_027EE2F4: ; 0x027EE2F4 + ldr ip, _027EE308 ; =sub_027E90A8 mov r2, #1 add r0, r0, #0x10 strh r2, [r1, #2] bx ip .align 2, 0 -_0201DAF8: .word sub_027E90A8 - arm_func_end sub_0201DAE4 +_027EE308: .word sub_027E90A8 + arm_func_end sub_027EE2F4 - arm_func_start sub_0201DAFC -sub_0201DAFC: ; 0x0201DAFC + arm_func_start sub_027EE30C +sub_027EE30C: ; 0x027EE30C stmdb sp!, {r3, lr} - ldr r2, _0201DB38 ; =0x0380FFF4 + ldr r2, _027EE348 ; =0x0380FFF4 mov r3, #1 strh r3, [r1, #2] ldr r1, [r2] add r1, r1, #0x300 ldrh r1, [r1, #0x4c] cmp r1, #0x20 - bhi _0201DB2C + bhi _027EE33C ldrh r0, [r0, #0x10] - bl sub_020188F8 + bl sub_027E9108 mov r3, r0 -_0201DB2C: +_027EE33C: mov r0, r3 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201DB38: .word 0x0380FFF4 - arm_func_end sub_0201DAFC +_027EE348: .word 0x0380FFF4 + arm_func_end sub_027EE30C - arm_func_start sub_0201DB3C -sub_0201DB3C: ; 0x0201DB3C + arm_func_start sub_027EE34C +sub_027EE34C: ; 0x027EE34C mov r2, #1 strh r2, [r1, #2] - ldr ip, _0201DB50 ; =sub_027E9140 + ldr ip, _027EE360 ; =sub_027E9140 ldrh r0, [r0, #0x10] bx ip .align 2, 0 -_0201DB50: .word sub_027E9140 - arm_func_end sub_0201DB3C +_027EE360: .word sub_027E9140 + arm_func_end sub_027EE34C - arm_func_start sub_0201DB54 -sub_0201DB54: ; 0x0201DB54 + arm_func_start sub_027EE364 +sub_027EE364: ; 0x027EE364 mov r2, #1 strh r2, [r1, #2] - ldr ip, _0201DB68 ; =sub_027E9178 + ldr ip, _027EE378 ; =sub_027E9178 ldrh r0, [r0, #0x10] bx ip .align 2, 0 -_0201DB68: .word sub_027E9178 - arm_func_end sub_0201DB54 +_027EE378: .word sub_027E9178 + arm_func_end sub_027EE364 - arm_func_start sub_0201DB6C -sub_0201DB6C: ; 0x0201DB6C + arm_func_start sub_027EE37C +sub_027EE37C: ; 0x027EE37C mov r2, #1 strh r2, [r1, #2] - ldr ip, _0201DB84 ; =sub_027E91B0 + ldr ip, _027EE394 ; =sub_027E91B0 ldrh r0, [r0, #0x10] mov r1, #0 bx ip .align 2, 0 -_0201DB84: .word sub_027E91B0 - arm_func_end sub_0201DB6C +_027EE394: .word sub_027E91B0 + arm_func_end sub_027EE37C - arm_func_start sub_0201DB88 -sub_0201DB88: ; 0x0201DB88 - ldr ip, _0201DB9C ; =sub_027E9260 + arm_func_start sub_027EE398 +sub_027EE398: ; 0x027EE398 + ldr ip, _027EE3AC ; =sub_027E9260 mov r2, #1 add r0, r0, #0x10 strh r2, [r1, #2] bx ip .align 2, 0 -_0201DB9C: .word sub_027E9260 - arm_func_end sub_0201DB88 +_027EE3AC: .word sub_027E9260 + arm_func_end sub_027EE398 - arm_func_start sub_0201DBA0 -sub_0201DBA0: ; 0x0201DBA0 + arm_func_start sub_027EE3B0 +sub_027EE3B0: ; 0x027EE3B0 mov r2, #1 strh r2, [r1, #2] - ldr ip, _0201DBB4 ; =sub_027E9290 + ldr ip, _027EE3C4 ; =sub_027E9290 ldrh r0, [r0, #0x10] bx ip .align 2, 0 -_0201DBB4: .word sub_027E9290 - arm_func_end sub_0201DBA0 +_027EE3C4: .word sub_027E9290 + arm_func_end sub_027EE3B0 - arm_func_start sub_0201DBB8 -sub_0201DBB8: ; 0x0201DBB8 + arm_func_start sub_027EE3C8 +sub_027EE3C8: ; 0x027EE3C8 mov r2, #1 strh r2, [r1, #2] - ldr ip, _0201DBCC ; =sub_027E9338 + ldr ip, _027EE3DC ; =sub_027E9338 ldrh r0, [r0, #0x10] bx ip .align 2, 0 -_0201DBCC: .word sub_027E9338 - arm_func_end sub_0201DBB8 +_027EE3DC: .word sub_027E9338 + arm_func_end sub_027EE3C8 - arm_func_start sub_0201DBD0 -sub_0201DBD0: ; 0x0201DBD0 + arm_func_start sub_027EE3E0 +sub_027EE3E0: ; 0x027EE3E0 stmdb sp!, {r3, r4, r5, lr} mov r2, #1 strh r2, [r1, #2] @@ -16934,26 +16935,26 @@ sub_0201DBD0: ; 0x0201DBD0 ldrh r0, [r5, #0x14] cmp r0, #0x3f movhi r0, #5 - bhi _0201DC14 + bhi _027EE424 ldrh r0, [r5, #0x10] ldrh r1, [r5, #0x12] - bl sub_02018B4C + bl sub_027E935C movs r4, r0 - bne _0201DC10 + bne _027EE420 ldrh r1, [r5, #0x14] mov r0, #0x2e - bl sub_02019DE0 -_0201DC10: + bl sub_027EA5F0 +_027EE420: mov r0, r4 -_0201DC14: +_027EE424: ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_0201DBD0 + arm_func_end sub_027EE3E0 - arm_func_start sub_0201DC1C -sub_0201DC1C: ; 0x0201DC1C + arm_func_start sub_027EE42C +sub_027EE42C: ; 0x027EE42C stmdb sp!, {r4, lr} - ldr ip, _0201DD1C ; =0x0380FFF4 + ldr ip, _027EE52C ; =0x0380FFF4 mov r3, #1 ldr r2, [ip] ldr r2, [r2, #0x31c] @@ -16963,28 +16964,28 @@ sub_0201DC1C: ; 0x0201DC1C add r1, r1, #0x300 ldrh r1, [r1, #0x22] cmp r4, r1 - blo _0201DC5C + blo _027EE46C rsb r1, r3, #0x10000 cmp r4, r1 movne r0, #5 - bne _0201DD14 -_0201DC5C: + bne _027EE524 +_027EE46C: ldrh r3, [r0, #0x14] cmp r3, #0x3f - bls _0201DC78 - ldr r1, _0201DD20 ; =0x0000FFFF + bls _027EE488 + ldr r1, _027EE530 ; =0x0000FFFF cmp r3, r1 movne r0, #5 - bne _0201DD14 -_0201DC78: - ldr r1, _0201DD20 ; =0x0000FFFF + bne _027EE524 +_027EE488: + ldr r1, _027EE530 ; =0x0000FFFF cmp r4, r1 - bne _0201DCCC - ldr ip, _0201DD1C ; =0x0380FFF4 + bne _027EE4DC + ldr ip, _027EE52C ; =0x0380FFF4 mov r4, #1 mov r3, #0x1c - b _0201DCB4 -_0201DC94: + b _027EE4C4 +_027EE4A4: mla lr, r4, r3, r2 ldrh r1, [r0, #0x12] add r4, r4, #1 @@ -16993,16 +16994,16 @@ _0201DC94: cmp r1, #0 ldrneh r1, [r0, #0x12] strneh r1, [lr, #0x18] -_0201DCB4: +_027EE4C4: ldr r1, [ip] add r1, r1, #0x300 ldrh r1, [r1, #0x22] cmp r4, r1 - blo _0201DC94 - b _0201DD00 -_0201DCCC: + blo _027EE4A4 + b _027EE510 +_027EE4DC: cmp r4, #0 - beq _0201DD00 + beq _027EE510 mov r1, #0x1c mla r3, r4, r1, r2 ldrh lr, [r0, #0x12] @@ -17014,24 +17015,24 @@ _0201DCCC: cmp r1, #0 ldrneh r1, [r0, #0x12] strneh r1, [ip, r3] -_0201DD00: +_027EE510: ldrh r0, [r0, #0x14] cmp r0, #0 - beq _0201DD10 - bl sub_02019620 -_0201DD10: + beq _027EE520 + bl sub_027E9E30 +_027EE520: mov r0, #0 -_0201DD14: +_027EE524: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201DD1C: .word 0x0380FFF4 -_0201DD20: .word 0x0000FFFF - arm_func_end sub_0201DC1C +_027EE52C: .word 0x0380FFF4 +_027EE530: .word 0x0000FFFF + arm_func_end sub_027EE42C - arm_func_start sub_0201DD24 -sub_0201DD24: ; 0x0201DD24 - ldr r2, _0201DD78 ; =0x0380FFF4 + arm_func_start sub_027EE534 +sub_027EE534: ; 0x027EE534 + ldr r2, _027EE588 ; =0x0380FFF4 mov r3, #1 strh r3, [r1, #2] ldr r1, [r2] @@ -17053,35 +17054,35 @@ sub_0201DD24: ; 0x0201DD24 movls r0, #0 bx lr .align 2, 0 -_0201DD78: .word 0x0380FFF4 - arm_func_end sub_0201DD24 +_027EE588: .word 0x0380FFF4 + arm_func_end sub_027EE534 - arm_func_start sub_0201DD7C -sub_0201DD7C: ; 0x0201DD7C + arm_func_start sub_027EE58C +sub_027EE58C: ; 0x027EE58C stmdb sp!, {r3, lr} - ldr r2, _0201DDB8 ; =0x0380FFF4 + ldr r2, _027EE5C8 ; =0x0380FFF4 mov r3, #1 strh r3, [r1, #2] ldr r1, [r2] add r1, r1, #0x300 ldrh r1, [r1, #0x4c] cmp r1, #0x10 - blo _0201DDAC + blo _027EE5BC ldrh r0, [r0, #0x10] - bl sub_02018B90 + bl sub_027E93A0 mov r3, r0 -_0201DDAC: +_027EE5BC: mov r0, r3 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201DDB8: .word 0x0380FFF4 - arm_func_end sub_0201DD7C +_027EE5C8: .word 0x0380FFF4 + arm_func_end sub_027EE58C - arm_func_start sub_0201DDBC -sub_0201DDBC: ; 0x0201DDBC + arm_func_start sub_027EE5CC +sub_027EE5CC: ; 0x027EE5CC stmdb sp!, {r3, lr} - ldr r2, _0201DDF8 ; =0x0380FFF4 + ldr r2, _027EE608 ; =0x0380FFF4 mov r3, r0 mov r0, #1 strh r0, [r1, #2] @@ -17089,89 +17090,89 @@ sub_0201DDBC: ; 0x0201DDBC add r1, r1, #0x300 ldrh r1, [r1, #0x4c] cmp r1, #0x10 - blo _0201DDF0 + blo _027EE600 ldrh r0, [r3, #0x10] ldrh r1, [r3, #0x12] - bl sub_02018BF8 -_0201DDF0: + bl sub_027E9408 +_027EE600: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201DDF8: .word 0x0380FFF4 - arm_func_end sub_0201DDBC +_027EE608: .word 0x0380FFF4 + arm_func_end sub_027EE5CC - arm_func_start sub_0201DDFC -sub_0201DDFC: ; 0x0201DDFC + arm_func_start sub_027EE60C +sub_027EE60C: ; 0x027EE60C stmdb sp!, {r3, lr} - ldr r2, _0201DE38 ; =0x0380FFF4 + ldr r2, _027EE648 ; =0x0380FFF4 mov r3, #1 strh r3, [r1, #2] ldr r1, [r2] add r1, r1, #0x300 ldrh r1, [r1, #0x4c] cmp r1, #0x10 - blo _0201DE2C + blo _027EE63C ldrh r0, [r0, #0x10] - bl sub_02018CCC + bl sub_027E94DC mov r3, r0 -_0201DE2C: +_027EE63C: mov r0, r3 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201DE38: .word 0x0380FFF4 - arm_func_end sub_0201DDFC +_027EE648: .word 0x0380FFF4 + arm_func_end sub_027EE60C - arm_func_start sub_0201DE3C -sub_0201DE3C: ; 0x0201DE3C + arm_func_start sub_027EE64C +sub_027EE64C: ; 0x027EE64C stmdb sp!, {r3, lr} - ldr r2, _0201DE78 ; =0x0380FFF4 + ldr r2, _027EE688 ; =0x0380FFF4 mov r3, #1 strh r3, [r1, #2] ldr r1, [r2] add r1, r1, #0x300 ldrh r1, [r1, #0x4c] cmp r1, #0x10 - blo _0201DE6C + blo _027EE67C ldrh r0, [r0, #0x10] - bl sub_02018D0C + bl sub_027E951C mov r3, r0 -_0201DE6C: +_027EE67C: mov r0, r3 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201DE78: .word 0x0380FFF4 - arm_func_end sub_0201DE3C +_027EE688: .word 0x0380FFF4 + arm_func_end sub_027EE64C - arm_func_start sub_0201DE7C -sub_0201DE7C: ; 0x0201DE7C - ldr ip, _0201DE90 ; =sub_027E956C + arm_func_start sub_027EE68C +sub_027EE68C: ; 0x027EE68C + ldr ip, _027EE6A0 ; =sub_027E956C mov r2, #1 add r0, r0, #0x10 strh r2, [r1, #2] bx ip .align 2, 0 -_0201DE90: .word sub_027E956C - arm_func_end sub_0201DE7C +_027EE6A0: .word sub_027E956C + arm_func_end sub_027EE68C - arm_func_start sub_0201DE94 -sub_0201DE94: ; 0x0201DE94 + arm_func_start sub_027EE6A4 +sub_027EE6A4: ; 0x027EE6A4 mov r2, #1 strh r2, [r1, #2] mov r1, r0 ldrh r0, [r1, #0x10] - ldr ip, _0201DEB0 ; =sub_027E95D0 + ldr ip, _027EE6C0 ; =sub_027E95D0 add r1, r1, #0x12 bx ip .align 2, 0 -_0201DEB0: .word sub_027E95D0 - arm_func_end sub_0201DE94 +_027EE6C0: .word sub_027E95D0 + arm_func_end sub_027EE6A4 - arm_func_start sub_0201DEB4 -sub_0201DEB4: ; 0x0201DEB4 + arm_func_start sub_027EE6C4 +sub_027EE6C4: ; 0x027EE6C4 stmdb sp!, {r3, lr} - ldr r2, _0201DEEC ; =0x0380FFF4 + ldr r2, _027EE6FC ; =0x0380FFF4 mov r3, #1 strh r3, [r1, #2] ldr r1, [r2] @@ -17179,20 +17180,20 @@ sub_0201DEB4: ; 0x0201DEB4 ldrh r1, [r1, #0x2e] cmp r1, #1 movne r0, #0xb - bne _0201DEE4 + bne _027EE6F4 ldrh r0, [r0, #0x10] - bl sub_02018ED0 -_0201DEE4: + bl sub_027E96E0 +_027EE6F4: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201DEEC: .word 0x0380FFF4 - arm_func_end sub_0201DEB4 +_027EE6FC: .word 0x0380FFF4 + arm_func_end sub_027EE6C4 - arm_func_start sub_0201DEF0 -sub_0201DEF0: ; 0x0201DEF0 + arm_func_start sub_027EE700 +sub_027EE700: ; 0x027EE700 stmdb sp!, {r3, lr} - ldr r2, _0201DF28 ; =0x0380FFF4 + ldr r2, _027EE738 ; =0x0380FFF4 mov r3, #1 strh r3, [r1, #2] ldr r1, [r2] @@ -17200,20 +17201,20 @@ sub_0201DEF0: ; 0x0201DEF0 ldrh r1, [r1, #0x2e] cmp r1, #1 movne r0, #0xb - bne _0201DF20 + bne _027EE730 ldrh r0, [r0, #0x10] - bl sub_02018F28 -_0201DF20: + bl sub_027E9738 +_027EE730: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201DF28: .word 0x0380FFF4 - arm_func_end sub_0201DEF0 +_027EE738: .word 0x0380FFF4 + arm_func_end sub_027EE700 - arm_func_start sub_0201DF2C -sub_0201DF2C: ; 0x0201DF2C + arm_func_start sub_027EE73C +sub_027EE73C: ; 0x027EE73C stmdb sp!, {r3, lr} - ldr r2, _0201DF68 ; =0x0380FFF4 + ldr r2, _027EE778 ; =0x0380FFF4 mov r3, #1 strh r3, [r1, #2] ldr r1, [r2] @@ -17222,20 +17223,20 @@ sub_0201DF2C: ; 0x0201DF2C cmp r1, #2 cmpne r1, #3 movne r0, #0xb - bne _0201DF60 + bne _027EE770 ldrh r0, [r0, #0x10] - bl sub_02018F6C -_0201DF60: + bl sub_027E977C +_027EE770: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201DF68: .word 0x0380FFF4 - arm_func_end sub_0201DF2C +_027EE778: .word 0x0380FFF4 + arm_func_end sub_027EE73C - arm_func_start sub_0201DF6C -sub_0201DF6C: ; 0x0201DF6C + arm_func_start sub_027EE77C +sub_027EE77C: ; 0x027EE77C stmdb sp!, {r3, lr} - ldr r2, _0201DFCC ; =0x0380FFF4 + ldr r2, _027EE7DC ; =0x0380FFF4 mov r3, #1 strh r3, [r1, #2] ldr r1, [r2] @@ -17244,7 +17245,7 @@ sub_0201DF6C: ; 0x0201DF6C ldrh r0, [r0, #0x2e] cmp r0, #1 movne r0, #0xb - bne _0201DFC4 + bne _027EE7D4 ldrh r0, [r3, #0x10] ldrh r2, [r3, #0xe] add r1, r0, #1 @@ -17253,28 +17254,28 @@ sub_0201DF6C: ; 0x0201DF6C add r1, r1, #1 cmp r2, r1 movlt r0, #4 - blt _0201DFC4 + blt _027EE7D4 add r1, r3, #0x12 - bl sub_02019744 -_0201DFC4: + bl sub_027E9F54 +_027EE7D4: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201DFCC: .word 0x0380FFF4 - arm_func_end sub_0201DF6C +_027EE7DC: .word 0x0380FFF4 + arm_func_end sub_027EE77C - arm_func_start sub_0201DFD0 -sub_0201DFD0: ; 0x0201DFD0 + arm_func_start sub_027EE7E0 +sub_027EE7E0: ; 0x027EE7E0 stmdb sp!, {r4, lr} - ldr r0, _0201E104 ; =0x0380FFF4 + ldr r0, _027EE914 ; =0x0380FFF4 mov r4, r1 mov r1, #0x21 strh r1, [r4, #2] ldr r1, [r0] add r0, r4, #6 add r1, r1, #0x324 - bl sub_020198D0 - ldr r0, _0201E104 ; =0x0380FFF4 + bl sub_027EA0E0 + ldr r0, _027EE914 ; =0x0380FFF4 add r1, r4, #0x22 ldr r3, [r0] mov r2, #0x20 @@ -17327,8 +17328,8 @@ sub_0201DFD0: ; 0x0201DFD0 strh r3, [r4, #0x20] ldr r0, [r0] add r0, r0, #0x384 - bl sub_0302D78C - ldr r2, _0201E104 ; =0x0380FFF4 + bl sub_037FDF9C + ldr r2, _027EE914 ; =0x0380FFF4 mov r0, #0 ldr r1, [r2] add r1, r1, #0x300 @@ -17343,29 +17344,29 @@ sub_0201DFD0: ; 0x0201DFD0 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201E104: .word 0x0380FFF4 - arm_func_end sub_0201DFD0 +_027EE914: .word 0x0380FFF4 + arm_func_end sub_027EE7E0 - arm_func_start sub_0201E108 -sub_0201E108: ; 0x0201E108 + arm_func_start sub_027EE918 +sub_027EE918: ; 0x027EE918 stmdb sp!, {r3, lr} - ldr r0, _0201E134 ; =0x0380FFF4 + ldr r0, _027EE944 ; =0x0380FFF4 mov r2, #4 strh r2, [r1, #2] ldr r2, [r0] add r0, r1, #6 add r1, r2, #0x324 - bl sub_020198D0 + bl sub_027EA0E0 mov r0, #0 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201E134: .word 0x0380FFF4 - arm_func_end sub_0201E108 +_027EE944: .word 0x0380FFF4 + arm_func_end sub_027EE918 - arm_func_start sub_0201E138 -sub_0201E138: ; 0x0201E138 - ldr r0, _0201E15C ; =0x0380FFF4 + arm_func_start sub_027EE948 +sub_027EE948: ; 0x027EE948 + ldr r0, _027EE96C ; =0x0380FFF4 mov r2, #2 strh r2, [r1, #2] ldr r2, [r0] @@ -17375,12 +17376,12 @@ sub_0201E138: ; 0x0201E138 strh r2, [r1, #6] bx lr .align 2, 0 -_0201E15C: .word 0x0380FFF4 - arm_func_end sub_0201E138 +_027EE96C: .word 0x0380FFF4 + arm_func_end sub_027EE948 - arm_func_start sub_0201E160 -sub_0201E160: ; 0x0201E160 - ldr r3, _0201E194 ; =0x0380FFF4 + arm_func_start sub_027EE970 +sub_027EE970: ; 0x027EE970 + ldr r3, _027EE9A4 ; =0x0380FFF4 mov r0, #3 strh r0, [r1, #2] ldr r2, [r3] @@ -17394,12 +17395,12 @@ sub_0201E160: ; 0x0201E160 strh r2, [r1, #8] bx lr .align 2, 0 -_0201E194: .word 0x0380FFF4 - arm_func_end sub_0201E160 +_027EE9A4: .word 0x0380FFF4 + arm_func_end sub_027EE970 - arm_func_start sub_0201E198 -sub_0201E198: ; 0x0201E198 - ldr r0, _0201E1BC ; =0x0380FFF4 + arm_func_start sub_027EE9A8 +sub_027EE9A8: ; 0x027EE9A8 + ldr r0, _027EE9CC ; =0x0380FFF4 mov r2, #2 strh r2, [r1, #2] ldr r2, [r0] @@ -17409,12 +17410,12 @@ sub_0201E198: ; 0x0201E198 strh r2, [r1, #6] bx lr .align 2, 0 -_0201E1BC: .word 0x0380FFF4 - arm_func_end sub_0201E198 +_027EE9CC: .word 0x0380FFF4 + arm_func_end sub_027EE9A8 - arm_func_start sub_0201E1C0 -sub_0201E1C0: ; 0x0201E1C0 - ldr r0, _0201E1E4 ; =0x0380FFF4 + arm_func_start sub_027EE9D0 +sub_027EE9D0: ; 0x027EE9D0 + ldr r0, _027EE9F4 ; =0x0380FFF4 mov r2, #2 strh r2, [r1, #2] ldr r2, [r0] @@ -17424,12 +17425,12 @@ sub_0201E1C0: ; 0x0201E1C0 strh r2, [r1, #6] bx lr .align 2, 0 -_0201E1E4: .word 0x0380FFF4 - arm_func_end sub_0201E1C0 +_027EE9F4: .word 0x0380FFF4 + arm_func_end sub_027EE9D0 - arm_func_start sub_0201E1E8 -sub_0201E1E8: ; 0x0201E1E8 - ldr r0, _0201E20C ; =0x0380FFF4 + arm_func_start sub_027EE9F8 +sub_027EE9F8: ; 0x027EE9F8 + ldr r0, _027EEA1C ; =0x0380FFF4 mov r2, #2 strh r2, [r1, #2] ldr r2, [r0] @@ -17439,12 +17440,12 @@ sub_0201E1E8: ; 0x0201E1E8 strh r2, [r1, #6] bx lr .align 2, 0 -_0201E20C: .word 0x0380FFF4 - arm_func_end sub_0201E1E8 +_027EEA1C: .word 0x0380FFF4 + arm_func_end sub_027EE9F8 - arm_func_start sub_0201E210 -sub_0201E210: ; 0x0201E210 - ldr r0, _0201E234 ; =0x0380FFF4 + arm_func_start sub_027EEA20 +sub_027EEA20: ; 0x027EEA20 + ldr r0, _027EEA44 ; =0x0380FFF4 mov r2, #2 strh r2, [r1, #2] ldr r2, [r0] @@ -17454,12 +17455,12 @@ sub_0201E210: ; 0x0201E210 strh r2, [r1, #6] bx lr .align 2, 0 -_0201E234: .word 0x0380FFF4 - arm_func_end sub_0201E210 +_027EEA44: .word 0x0380FFF4 + arm_func_end sub_027EEA20 - arm_func_start sub_0201E238 -sub_0201E238: ; 0x0201E238 - ldr r0, _0201E264 ; =0x0380FFF4 + arm_func_start sub_027EEA48 +sub_027EEA48: ; 0x027EEA48 + ldr r0, _027EEA74 ; =0x0380FFF4 mov r2, #2 strh r2, [r1, #2] ldr r2, [r0] @@ -17471,12 +17472,12 @@ sub_0201E238: ; 0x0201E238 strh r2, [r1, #6] bx lr .align 2, 0 -_0201E264: .word 0x0380FFF4 - arm_func_end sub_0201E238 +_027EEA74: .word 0x0380FFF4 + arm_func_end sub_027EEA48 - arm_func_start sub_0201E268 -sub_0201E268: ; 0x0201E268 - ldr r0, _0201E294 ; =0x0380FFF4 + arm_func_start sub_027EEA78 +sub_027EEA78: ; 0x027EEA78 + ldr r0, _027EEAA4 ; =0x0380FFF4 mov r2, #2 strh r2, [r1, #2] ldr r2, [r0] @@ -17488,12 +17489,12 @@ sub_0201E268: ; 0x0201E268 strh r2, [r1, #6] bx lr .align 2, 0 -_0201E294: .word 0x0380FFF4 - arm_func_end sub_0201E268 +_027EEAA4: .word 0x0380FFF4 + arm_func_end sub_027EEA78 - arm_func_start sub_0201E298 -sub_0201E298: ; 0x0201E298 - ldr r0, _0201E2BC ; =0x0380FFF4 + arm_func_start sub_027EEAA8 +sub_027EEAA8: ; 0x027EEAA8 + ldr r0, _027EEACC ; =0x0380FFF4 mov r2, #2 strh r2, [r1, #2] ldr r2, [r0] @@ -17503,12 +17504,12 @@ sub_0201E298: ; 0x0201E298 strh r2, [r1, #6] bx lr .align 2, 0 -_0201E2BC: .word 0x0380FFF4 - arm_func_end sub_0201E298 +_027EEACC: .word 0x0380FFF4 + arm_func_end sub_027EEAA8 - arm_func_start sub_0201E2C0 -sub_0201E2C0: ; 0x0201E2C0 - ldr r0, _0201E2E4 ; =0x0380FFF4 + arm_func_start sub_027EEAD0 +sub_027EEAD0: ; 0x027EEAD0 + ldr r0, _027EEAF4 ; =0x0380FFF4 mov r2, #2 strh r2, [r1, #2] ldr r2, [r0] @@ -17518,33 +17519,33 @@ sub_0201E2C0: ; 0x0201E2C0 strh r2, [r1, #6] bx lr .align 2, 0 -_0201E2E4: .word 0x0380FFF4 - arm_func_end sub_0201E2C0 +_027EEAF4: .word 0x0380FFF4 + arm_func_end sub_027EEAD0 - arm_func_start sub_0201E2E8 -sub_0201E2E8: ; 0x0201E2E8 - ldr r0, _0201E320 ; =0x0380FFF4 + arm_func_start sub_027EEAF8 +sub_027EEAF8: ; 0x027EEAF8 + ldr r0, _027EEB30 ; =0x0380FFF4 mov r2, #0x11 strh r2, [r1, #2] ldr r0, [r0] add r3, r1, #6 add r2, r0, #0x384 mov r1, #0 -_0201E304: +_027EEB14: ldrh r0, [r2], #2 add r1, r1, #1 cmp r1, #0x10 strh r0, [r3], #2 - blo _0201E304 + blo _027EEB14 mov r0, #0 bx lr .align 2, 0 -_0201E320: .word 0x0380FFF4 - arm_func_end sub_0201E2E8 +_027EEB30: .word 0x0380FFF4 + arm_func_end sub_027EEAF8 - arm_func_start sub_0201E324 -sub_0201E324: ; 0x0201E324 - ldr r0, _0201E350 ; =0x0380FFF4 + arm_func_start sub_027EEB34 +sub_027EEB34: ; 0x027EEB34 + ldr r0, _027EEB60 ; =0x0380FFF4 mov r2, #2 strh r2, [r1, #2] ldr r2, [r0] @@ -17556,12 +17557,12 @@ sub_0201E324: ; 0x0201E324 strh r2, [r1, #6] bx lr .align 2, 0 -_0201E350: .word 0x0380FFF4 - arm_func_end sub_0201E324 +_027EEB60: .word 0x0380FFF4 + arm_func_end sub_027EEB34 - arm_func_start sub_0201E354 -sub_0201E354: ; 0x0201E354 - ldr r0, _0201E378 ; =0x0380FFF4 + arm_func_start sub_027EEB64 +sub_027EEB64: ; 0x027EEB64 + ldr r0, _027EEB88 ; =0x0380FFF4 mov r2, #2 strh r2, [r1, #2] ldr r2, [r0] @@ -17571,32 +17572,32 @@ sub_0201E354: ; 0x0201E354 strh r2, [r1, #6] bx lr .align 2, 0 -_0201E378: .word 0x0380FFF4 - arm_func_end sub_0201E354 +_027EEB88: .word 0x0380FFF4 + arm_func_end sub_027EEB64 - arm_func_start sub_0201E37C -sub_0201E37C: ; 0x0201E37C + arm_func_start sub_027EEB8C +sub_027EEB8C: ; 0x027EEB8C stmdb sp!, {r4, lr} mov r4, r1 mov r0, #4 strh r0, [r4, #2] mov r0, #0x13 - bl sub_02019DB4 + bl sub_027EA5C4 strh r0, [r4, #6] mov r0, #0x35 - bl sub_02019DB4 + bl sub_027EA5C4 strh r0, [r4, #8] mov r0, #0x2e - bl sub_02019DB4 + bl sub_027EA5C4 strh r0, [r4, #0xa] mov r0, #0 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_0201E37C + arm_func_end sub_027EEB8C - arm_func_start sub_0201E3BC -sub_0201E3BC: ; 0x0201E3BC - ldr r0, _0201E3E4 ; =0x0380FFF4 + arm_func_start sub_027EEBCC +sub_027EEBCC: ; 0x027EEBCC + ldr r0, _027EEBF4 ; =0x0380FFF4 mov r2, #2 strh r2, [r1, #2] ldr r2, [r0] @@ -17607,12 +17608,12 @@ sub_0201E3BC: ; 0x0201E3BC strh r2, [r1, #6] bx lr .align 2, 0 -_0201E3E4: .word 0x0380FFF4 - arm_func_end sub_0201E3BC +_027EEBF4: .word 0x0380FFF4 + arm_func_end sub_027EEBCC - arm_func_start sub_0201E3E8 -sub_0201E3E8: ; 0x0201E3E8 - ldr r0, _0201E420 ; =0x0380FFF4 + arm_func_start sub_027EEBF8 +sub_027EEBF8: ; 0x027EEBF8 + ldr r0, _027EEC30 ; =0x0380FFF4 mov r2, #2 strh r2, [r1, #2] ldr r0, [r0] @@ -17627,12 +17628,12 @@ sub_0201E3E8: ; 0x0201E3E8 strhsh r2, [r1, #6] bx lr .align 2, 0 -_0201E420: .word 0x0380FFF4 - arm_func_end sub_0201E3E8 +_027EEC30: .word 0x0380FFF4 + arm_func_end sub_027EEBF8 - arm_func_start sub_0201E424 -sub_0201E424: ; 0x0201E424 - ldr r3, _0201E480 ; =0x0380FFF4 + arm_func_start sub_027EEC34 +sub_027EEC34: ; 0x027EEC34 + ldr r3, _027EEC90 ; =0x0380FFF4 mov r0, #3 strh r0, [r1, #2] ldr r0, [r3] @@ -17656,12 +17657,12 @@ sub_0201E424: ; 0x0201E424 strh r2, [r1, #8] bx lr .align 2, 0 -_0201E480: .word 0x0380FFF4 - arm_func_end sub_0201E424 +_027EEC90: .word 0x0380FFF4 + arm_func_end sub_027EEC34 - arm_func_start sub_0201E484 -sub_0201E484: ; 0x0201E484 - ldr r0, _0201E4BC ; =0x0380FFF4 + arm_func_start sub_027EEC94 +sub_027EEC94: ; 0x027EEC94 + ldr r0, _027EECCC ; =0x0380FFF4 mov r2, #2 strh r2, [r1, #2] ldr r0, [r0] @@ -17676,12 +17677,12 @@ sub_0201E484: ; 0x0201E484 strhsh r2, [r1, #6] bx lr .align 2, 0 -_0201E4BC: .word 0x0380FFF4 - arm_func_end sub_0201E484 +_027EECCC: .word 0x0380FFF4 + arm_func_end sub_027EEC94 - arm_func_start sub_0201E4C0 -sub_0201E4C0: ; 0x0201E4C0 - ldr r0, _0201E4F8 ; =0x0380FFF4 + arm_func_start sub_027EECD0 +sub_027EECD0: ; 0x027EECD0 + ldr r0, _027EED08 ; =0x0380FFF4 mov r2, #2 strh r2, [r1, #2] ldr r0, [r0] @@ -17696,29 +17697,29 @@ sub_0201E4C0: ; 0x0201E4C0 strhsh r2, [r1, #6] bx lr .align 2, 0 -_0201E4F8: .word 0x0380FFF4 - arm_func_end sub_0201E4C0 +_027EED08: .word 0x0380FFF4 + arm_func_end sub_027EECD0 - arm_func_start sub_0201E4FC -sub_0201E4FC: ; 0x0201E4FC + arm_func_start sub_027EED0C +sub_027EED0C: ; 0x027EED0C stmdb sp!, {r3, lr} - ldr r0, _0201E528 ; =0x0380FFF4 + ldr r0, _027EED38 ; =0x0380FFF4 mov r2, #4 strh r2, [r1, #2] ldr r2, [r0] add r0, r1, #6 add r1, r2, #0x3a8 - bl sub_020198D0 + bl sub_027EA0E0 mov r0, #0 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201E528: .word 0x0380FFF4 - arm_func_end sub_0201E4FC +_027EED38: .word 0x0380FFF4 + arm_func_end sub_027EED0C - arm_func_start sub_0201E52C -sub_0201E52C: ; 0x0201E52C - ldr r2, _0201E574 ; =0x0380FFF4 + arm_func_start sub_027EED3C +sub_027EED3C: ; 0x027EED3C + ldr r2, _027EED84 ; =0x0380FFF4 mov r0, #0x12 strh r0, [r1, #2] ldr r0, [r2] @@ -17729,21 +17730,21 @@ sub_0201E52C: ; 0x0201E52C strh r0, [r1, #6] ldr r0, [r2] add r1, r0, #0x364 -_0201E558: +_027EED68: ldrh r0, [r1], #2 add r3, r3, #2 cmp r3, #0x20 strh r0, [ip], #2 - blo _0201E558 + blo _027EED68 mov r0, #0 bx lr .align 2, 0 -_0201E574: .word 0x0380FFF4 - arm_func_end sub_0201E52C +_027EED84: .word 0x0380FFF4 + arm_func_end sub_027EED3C - arm_func_start sub_0201E578 -sub_0201E578: ; 0x0201E578 - ldr r0, _0201E59C ; =0x0380FFF4 + arm_func_start sub_027EED88 +sub_027EED88: ; 0x027EED88 + ldr r0, _027EEDAC ; =0x0380FFF4 mov r2, #2 strh r2, [r1, #2] ldr r2, [r0] @@ -17753,12 +17754,12 @@ sub_0201E578: ; 0x0201E578 strh r2, [r1, #6] bx lr .align 2, 0 -_0201E59C: .word 0x0380FFF4 - arm_func_end sub_0201E578 +_027EEDAC: .word 0x0380FFF4 + arm_func_end sub_027EED88 - arm_func_start sub_0201E5A0 -sub_0201E5A0: ; 0x0201E5A0 - ldr r0, _0201E5C4 ; =0x0380FFF4 + arm_func_start sub_027EEDB0 +sub_027EEDB0: ; 0x027EEDB0 + ldr r0, _027EEDD4 ; =0x0380FFF4 mov r2, #2 strh r2, [r1, #2] ldr r2, [r0] @@ -17768,12 +17769,12 @@ sub_0201E5A0: ; 0x0201E5A0 strh r2, [r1, #6] bx lr .align 2, 0 -_0201E5C4: .word 0x0380FFF4 - arm_func_end sub_0201E5A0 +_027EEDD4: .word 0x0380FFF4 + arm_func_end sub_027EEDB0 - arm_func_start sub_0201E5C8 -sub_0201E5C8: ; 0x0201E5C8 - ldr r0, _0201E5EC ; =0x0380FFF4 + arm_func_start sub_027EEDD8 +sub_027EEDD8: ; 0x027EEDD8 + ldr r0, _027EEDFC ; =0x0380FFF4 mov r2, #2 strh r2, [r1, #2] ldr r2, [r0] @@ -17783,17 +17784,17 @@ sub_0201E5C8: ; 0x0201E5C8 strh r2, [r1, #6] bx lr .align 2, 0 -_0201E5EC: .word 0x0380FFF4 - arm_func_end sub_0201E5C8 +_027EEDFC: .word 0x0380FFF4 + arm_func_end sub_027EEDD8 - arm_func_start sub_0201E5F0 -sub_0201E5F0: ; 0x0201E5F0 + arm_func_start sub_027EEE00 +sub_027EEE00: ; 0x027EEE00 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r1 ldrh r0, [r4, #2] - ldr r1, _0201E6C4 ; =0x0380FFF4 + ldr r1, _027EEED4 ; =0x0380FFF4 cmp r0, #1 - ldrhi r0, _0201E6C4 ; =0x0380FFF4 + ldrhi r0, _027EEED4 ; =0x0380FFF4 ldrhi r0, [r0] addhi r0, r0, #0x300 ldrhih r0, [r0, #0xe4] @@ -17805,37 +17806,37 @@ sub_0201E5F0: ; 0x0201E5F0 ldrh r2, [r0, #0xe4] cmp r2, r1, lsl #1 movgt r0, #4 - bgt _0201E6BC + bgt _027EEECC ldrh r2, [r4, #6] cmp r2, #0 - beq _0201E6A0 + beq _027EEEB0 ldrh r0, [r0, #0xe6] tst r0, #1 ldr r0, [r3, #0x3e0] - beq _0201E694 + beq _027EEEA4 add r6, r4, #8 add r5, r0, #1 mov r7, #0 - b _0201E684 -_0201E664: + b _027EEE94 +_027EEE74: mov r0, r5 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 mov r0, r6 - bl sub_0201A514 + bl sub_027EAD24 add r6, r6, #1 add r5, r5, #1 add r7, r7, #1 -_0201E684: +_027EEE94: ldrh r0, [r4, #6] cmp r7, r0 - blo _0201E664 - b _0201E6A0 -_0201E694: + blo _027EEE74 + b _027EEEB0 +_027EEEA4: add r1, r4, #8 add r2, r2, #1 - bl sub_0302D78C -_0201E6A0: + bl sub_037FDF9C +_027EEEB0: ldrh r1, [r4, #6] mov r0, #0 add r1, r1, #1 @@ -17843,17 +17844,17 @@ _0201E6A0: mov r1, r1, asr #1 add r1, r1, #2 strh r1, [r4, #2] -_0201E6BC: +_027EEECC: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_0201E6C4: .word 0x0380FFF4 - arm_func_end sub_0201E5F0 +_027EEED4: .word 0x0380FFF4 + arm_func_end sub_027EEE00 - arm_func_start sub_0201E6C8 -sub_0201E6C8: ; 0x0201E6C8 + arm_func_start sub_027EEED8 +sub_027EEED8: ; 0x027EEED8 stmdb sp!, {r3, lr} - ldr r2, _0201E704 ; =0x0380FFF4 + ldr r2, _027EEF14 ; =0x0380FFF4 mov r0, #1 strh r0, [r1, #2] ldr r1, [r2] @@ -17861,128 +17862,128 @@ sub_0201E6C8: ; 0x0201E6C8 ldrh r1, [r1, #0x4c] cmp r1, #0 cmpne r1, #0x10 - bne _0201E6FC + bne _027EEF0C mov r0, #0 - bl sub_03028A28 + bl sub_037F9238 mov r0, #0 -_0201E6FC: +_027EEF0C: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201E704: .word 0x0380FFF4 - arm_func_end sub_0201E6C8 +_027EEF14: .word 0x0380FFF4 + arm_func_end sub_027EEED8 - arm_func_start sub_0201E708 -sub_0201E708: ; 0x0201E708 + arm_func_start sub_027EEF18 +sub_027EEF18: ; 0x027EEF18 stmdb sp!, {r3, lr} - ldr r2, _0201E760 ; =0x0380FFF4 + ldr r2, _027EEF70 ; =0x0380FFF4 mov r0, #1 strh r0, [r1, #2] ldr r1, [r2] add r1, r1, #0x300 ldrh r2, [r1, #0x4c] cmp r2, #0x20 - bhi _0201E758 + bhi _027EEF68 ldrh r1, [r1, #0x56] cmp r1, #0 - bne _0201E758 + bne _027EEF68 mov r0, #0 - bl sub_0202451C + bl sub_027F4D2C cmp r0, #0 movne r0, #0xe - bne _0201E758 + bne _027EEF68 mov r0, #0x10 - bl sub_03028A28 + bl sub_037F9238 mov r0, #0 -_0201E758: +_027EEF68: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201E760: .word 0x0380FFF4 - arm_func_end sub_0201E708 +_027EEF70: .word 0x0380FFF4 + arm_func_end sub_027EEF18 - arm_func_start sub_0201E764 -sub_0201E764: ; 0x0201E764 + arm_func_start sub_027EEF74 +sub_027EEF74: ; 0x027EEF74 stmdb sp!, {r3, lr} - ldr r0, _0201E7B4 ; =0x0380FFF4 + ldr r0, _027EEFC4 ; =0x0380FFF4 mov r2, #1 strh r2, [r1, #2] ldr r0, [r0] add r0, r0, #0x300 ldrh r1, [r0, #0x4c] cmp r1, #0x10 - beq _0201E798 + beq _027EEFA8 cmp r1, #0x20 ldreqh r0, [r0, #0x56] cmpeq r0, #0 - bne _0201E7A8 -_0201E798: + bne _027EEFB8 +_027EEFA8: mov r0, #0x20 - bl sub_03028A28 + bl sub_037F9238 mov r0, #0 - b _0201E7AC -_0201E7A8: + b _027EEFBC +_027EEFB8: mov r0, #1 -_0201E7AC: +_027EEFBC: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201E7B4: .word 0x0380FFF4 - arm_func_end sub_0201E764 +_027EEFC4: .word 0x0380FFF4 + arm_func_end sub_027EEF74 - arm_func_start sub_0201E7B8 -sub_0201E7B8: ; 0x0201E7B8 + arm_func_start sub_027EEFC8 +sub_027EEFC8: ; 0x027EEFC8 stmdb sp!, {r3, lr} - ldr r0, _0201E7F0 ; =0x0380FFF4 + ldr r0, _027EF000 ; =0x0380FFF4 mov r2, #1 strh r2, [r1, #2] ldr r0, [r0] add r0, r0, #0x300 ldrh r0, [r0, #0x4c] cmp r0, #0x20 - blo _0201E7E0 - bl sub_03028988 -_0201E7E0: - bl sub_02018184 + blo _027EEFF0 + bl sub_037F9198 +_027EEFF0: + bl sub_027E8994 mov r0, #0 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201E7F0: .word 0x0380FFF4 - arm_func_end sub_0201E7B8 +_027EF000: .word 0x0380FFF4 + arm_func_end sub_027EEFC8 - arm_func_start sub_0201E7F4 -sub_0201E7F4: ; 0x0201E7F4 + arm_func_start sub_027EF004 +sub_027EF004: ; 0x027EF004 stmdb sp!, {r3, lr} - ldr r0, _0201E828 ; =0x0380FFF4 + ldr r0, _027EF038 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x300 ldrh r0, [r0, #0x4c] cmp r0, #0 mov r0, #1 - beq _0201E820 + beq _027EF030 strh r0, [r1, #2] - bl sub_0201996C + bl sub_027EA17C mov r0, #0 -_0201E820: +_027EF030: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0201E828: .word 0x0380FFF4 - arm_func_end sub_0201E7F4 +_027EF038: .word 0x0380FFF4 + arm_func_end sub_027EF004 - arm_func_start sub_0201E82C -sub_0201E82C: ; 0x0201E82C + arm_func_start sub_027EF03C +sub_027EF03C: ; 0x027EF03C stmdb sp!, {r4, lr} - ldr r0, _0201E8C0 ; =0x027F7868 + ldr r0, _027EF0D0 ; =0x027F7868 mov r4, r1 mov r3, #9 add r1, r4, #6 mov r2, #8 strh r3, [r4, #2] - bl sub_0302D78C - ldr r1, _0201E8C4 ; =0x04808000 - ldr r0, _0201E8C8 ; =0x0380FFF4 + bl sub_037FDF9C + ldr r1, _027EF0D4 ; =0x04808000 + ldr r0, _027EF0D8 ; =0x0380FFF4 ldrh r1, [r1] strh r1, [r4, #0xe] ldr r0, [r0] @@ -17990,16 +17991,16 @@ sub_0201E82C: ; 0x0201E82C ldrh r0, [r0, #0x90] tst r0, #0x8000 moveq r1, #0x6d - ldreq r0, _0201E8CC ; =0x0000933D + ldreq r0, _027EF0DC ; =0x0000933D streqh r1, [r4, #0x10] - beq _0201E88C + beq _027EF09C mov r0, #0 - bl sub_02019DB4 + bl sub_027EA5C4 strh r0, [r4, #0x10] - bl sub_02019E30 -_0201E88C: + bl sub_027EA640 +_027EF09C: strh r0, [r4, #0x12] - ldr r0, _0201E8C8 ; =0x0380FFF4 + ldr r0, _027EF0D8 ; =0x0380FFF4 ldr r1, [r0] add r0, r1, #0x600 ldrh r0, [r0, #0x90] @@ -18012,44 +18013,44 @@ _0201E88C: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201E8C0: .word 0x027F7868 -_0201E8C4: .word 0x04808000 -_0201E8C8: .word 0x0380FFF4 -_0201E8CC: .word 0x0000933D - arm_func_end sub_0201E82C +_027EF0D0: .word 0x027F7868 +_027EF0D4: .word 0x04808000 +_027EF0D8: .word 0x0380FFF4 +_027EF0DC: .word 0x0000933D + arm_func_end sub_027EF03C - arm_func_start sub_0201E8D0 -sub_0201E8D0: ; 0x0201E8D0 + arm_func_start sub_027EF0E0 +sub_027EF0E0: ; 0x027EF0E0 stmdb sp!, {r4, lr} - ldr r0, _0201E928 ; =0x0380FFF4 + ldr r0, _027EF138 ; =0x0380FFF4 mov r4, r1 ldr r0, [r0] add r0, r0, #0x300 ldrh r0, [r0, #0x4c] cmp r0, #0 moveq r0, #1 - beq _0201E920 + beq _027EF130 mov r0, #0x5c strh r0, [r4, #2] - bl sub_0201999C - ldr r0, _0201E928 ; =0x0380FFF4 + bl sub_027EA1AC + ldr r0, _027EF138 ; =0x0380FFF4 add r1, r4, #8 ldr r0, [r0] mov r2, #0xb4 add r0, r0, #0x13c add r0, r0, #0x400 - bl sub_0302D7DC + bl sub_037FDFEC mov r0, #0 -_0201E920: +_027EF130: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201E928: .word 0x0380FFF4 - arm_func_end sub_0201E8D0 +_027EF138: .word 0x0380FFF4 + arm_func_end sub_027EF0E0 - arm_func_start sub_0201E92C -sub_0201E92C: ; 0x0201E92C - ldr r0, _0201E950 ; =0x0380FFF4 + arm_func_start sub_027EF13C +sub_027EF13C: ; 0x027EF13C + ldr r0, _027EF160 ; =0x0380FFF4 mov r2, #2 strh r2, [r1, #2] ldr r2, [r0] @@ -18059,14 +18060,14 @@ sub_0201E92C: ; 0x0201E92C strh r2, [r1, #6] bx lr .align 2, 0 -_0201E950: .word 0x0380FFF4 - arm_func_end sub_0201E92C +_027EF160: .word 0x0380FFF4 + arm_func_end sub_027EF13C - arm_func_start sub_0201E954 -sub_0201E954: ; 0x0201E954 + arm_func_start sub_027EF164 +sub_027EF164: ; 0x027EF164 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 - ldr r2, _0201EC7C ; =0x0380FFF4 + ldr r2, _027EF48C ; =0x0380FFF4 mov r5, r0 ldr r2, [r2] mov r0, #1 @@ -18075,79 +18076,79 @@ sub_0201E954: ; 0x0201E954 ldrh r1, [r4, #8] and r1, r1, #0xf0 cmp r1, #0x10 - bne _0201EC70 + bne _027EF480 ldrh r0, [r5, #0x10] cmp r0, #1 movhi r0, #5 - bhi _0201EC70 + bhi _027EF480 ldrh r0, [r5, #0x14] cmp r0, #0xa cmpne r0, #0x14 movne r0, #5 - bne _0201EC70 + bne _027EF480 ldrh r0, [r5, #0x12] cmp r0, #4 movhi r0, #5 - bhi _0201EC70 + bhi _027EF480 mov r0, #0 - bl sub_0202451C + bl sub_027F4D2C cmp r0, #0 movne r0, #0xe - bne _0201EC70 + bne _027EF480 ldrh r0, [r5, #0x10] cmp r0, #0 - beq _0201EBE4 + beq _027EF3F4 cmp r0, #1 - bne _0201EC6C + bne _027EF47C ldrh r0, [r4, #8] cmp r0, #0x10 movne r0, #1 - bne _0201EC70 + bne _027EF480 mov r0, #0 str r0, [sp] add r2, sp, #0 mov r0, #0x65 mov r1, #1 - bl sub_02024660 + bl sub_027F4E70 ldr r6, [sp] mov r0, #1 - bl sub_02019DB4 + bl sub_027EA5C4 cmp r6, r0 - beq _0201EA30 + beq _027EF240 mov r1, r6 mov r0, #1 - bl sub_02019DE0 - ldr r0, _0201EC80 ; =0x00001388 - bl sub_0201A198 -_0201EA30: + bl sub_027EA5F0 + ldr r0, _027EF490 ; =0x00001388 + bl sub_027EA9A8 +_027EF240: ldrh r0, [r5, #0x12] cmp r0, #4 addls pc, pc, r0, lsl #2 - b _0201EC6C -_0201EA40: ; jump table - b _0201EA54 ; case 0 - b _0201EA54 ; case 1 - b _0201EA54 ; case 2 - b _0201EAEC ; case 3 - b _0201EAEC ; case 4 -_0201EA54: + b _027EF47C +_027EF250: ; jump table + b _027EF264 ; case 0 + b _027EF264 ; case 1 + b _027EF264 ; case 2 + b _027EF2FC ; case 3 + b _027EF2FC ; case 4 +_027EF264: mov r0, #0x11 strh r0, [r4, #8] ldrh r0, [r5, #0x16] mov r1, #1 - bl sub_020190F0 - ldr r1, _0201EC84 ; =0x04808040 + bl sub_027E9900 + ldr r1, _027EF494 ; =0x04808040 mov r2, #0x8000 - ldr r0, _0201EC88 ; =0x000005DC + ldr r0, _027EF498 ; =0x000005DC strh r2, [r1] - bl sub_0201A198 + bl sub_027EA9A8 ldrh r1, [r5, #0x14] mov r0, #2 strh r1, [r4, #0x16] - bl sub_02019DB4 + bl sub_027EA5C4 str r0, [sp] ldrh r1, [r5, #0x12] - ldr r2, _0201EC8C ; =0x048081A4 + ldr r2, _027EF49C ; =0x048081A4 cmp r1, #1 orrls r0, r0, #0x10 strls r0, [sp] @@ -18156,57 +18157,57 @@ _0201EA54: ldrh r0, [r5, #0x12] cmp r0, #1 strneh r0, [r2, #-2] - bne _0201EAD0 + bne _027EF2E0 ldr r1, [sp] mov r0, #3 orr r1, r1, #0x20 str r1, [sp] strh r0, [r2, #-2] -_0201EAD0: +_027EF2E0: ldr r1, [sp] mov r0, #2 - bl sub_02019DE0 - ldr r1, _0201EC90 ; =0x00000823 - ldr r0, _0201EC94 ; =0x048081A0 + bl sub_027EA5F0 + ldr r1, _027EF4A0 ; =0x00000823 + ldr r0, _027EF4A4 ; =0x048081A0 strh r1, [r0] - b _0201EC6C -_0201EAEC: - ldr r0, _0201EC7C ; =0x0380FFF4 + b _027EF47C +_027EF2FC: + ldr r0, _027EF48C ; =0x0380FFF4 ldr r0, [r0] add r4, r0, #0x344 - bl sub_030285D0 - bl sub_03028988 + bl sub_037F8DE0 + bl sub_037F9198 mov r0, #6 - bl sub_02019DB4 + bl sub_027EA5C4 strh r0, [r4, #0xac] ldrh r0, [r5, #0x12] cmp r0, #4 - bne _0201EB24 + bne _027EF334 mov r0, #6 mov r1, #0 - bl sub_02019DE0 -_0201EB24: - ldr r1, _0201EC98 ; =0x04804000 + bl sub_027EA5F0 +_027EF334: + ldr r1, _027EF4A8 ; =0x04804000 mov r0, #0 mov r2, #0xc - bl sub_0302D764 - ldr r1, _0201EC98 ; =0x04804000 + bl sub_037FDF74 + ldr r1, _027EF4A8 ; =0x04804000 mov r0, #0x14 strh r0, [r1, #8] mov r0, #0x7d0 strh r0, [r1, #0xa] add r3, r1, #0xc - ldr r1, _0201EC9C ; =0x00005555 - ldr r0, _0201ECA0 ; =0x000007EC + ldr r1, _027EF4AC ; =0x00005555 + ldr r0, _027EF4B0 ; =0x000007EC mov r2, #0 -_0201EB58: +_027EF368: add r2, r2, #2 cmp r2, r0 strh r1, [r3], #2 - blo _0201EB58 - ldr r1, _0201EC98 ; =0x04804000 + blo _027EF368 + ldr r1, _027EF4A8 ; =0x04804000 mov r2, #8 - ldr r0, _0201ECA4 ; =0x04808194 + ldr r0, _027EF4B4 ; =0x04808194 strh r2, [r1, #0xc] mov r1, #6 strh r1, [r0] @@ -18215,18 +18216,18 @@ _0201EB58: mov r1, #1 strh r1, [r4, #0x18] ldrh r0, [r5, #0x16] - bl sub_020190F0 - ldr r1, _0201EC84 ; =0x04808040 + bl sub_027E9900 + ldr r1, _027EF494 ; =0x04808040 mov r2, #0x8000 - ldr r0, _0201EC88 ; =0x000005DC + ldr r0, _027EF498 ; =0x000005DC strh r2, [r1] - bl sub_0201A198 + bl sub_027EA9A8 mov r2, #1 - ldr r3, _0201ECA8 ; =0x04808012 + ldr r3, _027EF4B8 ; =0x04808012 mov r0, #2 strh r0, [r3] strh r2, [r3, #-0xe] - ldr r1, _0201EC98 ; =0x04804000 + ldr r1, _027EF4A8 ; =0x04804000 rsb r0, r2, #0x4000 and r0, r1, r0 mov r0, r0, lsl #0xf @@ -18234,13 +18235,13 @@ _0201EB58: strh r2, [r3, #0x9c] orr r0, r0, #0x8000 strh r0, [r3, #0x8e] - b _0201EC6C -_0201EBE4: + b _027EF47C +_027EF3F4: ldrh r0, [r4, #8] cmp r0, #0x11 - bne _0201EC2C - bl sub_0201A23C - ldr r1, _0201EC94 ; =0x048081A0 + bne _027EF43C + bl sub_027EAA4C + ldr r1, _027EF4A4 ; =0x048081A0 mov r2, #0 strh r2, [r1] mov r0, #1 @@ -18248,73 +18249,73 @@ _0201EBE4: sub r0, r1, #0x160 strh r2, [r0] mov r0, #2 - bl sub_02019DB4 + bl sub_027EA5C4 bic r1, r0, #0x30 mov r0, #2 str r1, [sp] - bl sub_02019DE0 - b _0201EC64 -_0201EC2C: + bl sub_027EA5F0 + b _027EF474 +_027EF43C: cmp r0, #0x12 - bne _0201EC5C - ldr r1, _0201ECAC ; =0x04808004 + bne _027EF46C + ldr r1, _027EF4BC ; =0x04808004 mov r0, #0 strh r0, [r4, #0x18] -_0201EC40: +_027EF450: ldrh r0, [r1] cmp r0, #0 - bne _0201EC40 + bne _027EF450 ldrh r1, [r4, #0xac] mov r0, #6 - bl sub_02019DE0 - b _0201EC64 -_0201EC5C: + bl sub_027EA5F0 + b _027EF474 +_027EF46C: mov r0, #1 - b _0201EC70 -_0201EC64: + b _027EF480 +_027EF474: mov r0, #0x10 strh r0, [r4, #8] -_0201EC6C: +_027EF47C: mov r0, #0 -_0201EC70: +_027EF480: add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, lr} bx lr .align 2, 0 -_0201EC7C: .word 0x0380FFF4 -_0201EC80: .word 0x00001388 -_0201EC84: .word 0x04808040 -_0201EC88: .word 0x000005DC -_0201EC8C: .word 0x048081A4 -_0201EC90: .word 0x00000823 -_0201EC94: .word 0x048081A0 -_0201EC98: .word 0x04804000 -_0201EC9C: .word 0x00005555 -_0201ECA0: .word 0x000007EC -_0201ECA4: .word 0x04808194 -_0201ECA8: .word 0x04808012 -_0201ECAC: .word 0x04808004 - arm_func_end sub_0201E954 +_027EF48C: .word 0x0380FFF4 +_027EF490: .word 0x00001388 +_027EF494: .word 0x04808040 +_027EF498: .word 0x000005DC +_027EF49C: .word 0x048081A4 +_027EF4A0: .word 0x00000823 +_027EF4A4: .word 0x048081A0 +_027EF4A8: .word 0x04804000 +_027EF4AC: .word 0x00005555 +_027EF4B0: .word 0x000007EC +_027EF4B4: .word 0x04808194 +_027EF4B8: .word 0x04808012 +_027EF4BC: .word 0x04808004 + arm_func_end sub_027EF164 - arm_func_start sub_0201ECB0 -sub_0201ECB0: ; 0x0201ECB0 - ldr r0, _0201ED1C ; =0x0380FFF4 + arm_func_start sub_027EF4C0 +sub_027EF4C0: ; 0x027EF4C0 + ldr r0, _027EF52C ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x300 ldrh r0, [r0, #0x5c] cmp r0, #0 - beq _0201ECEC - ldr r0, _0201ED20 ; =0x04804000 + beq _027EF4FC + ldr r0, _027EF530 ; =0x04804000 mov r2, #0 strh r2, [r0] - ldr r1, _0201ED24 ; =0x048080A0 + ldr r1, _027EF534 ; =0x048080A0 strh r2, [r0, #4] ldrh r0, [r1] orr r0, r0, #0x8000 strh r0, [r1] bx lr -_0201ECEC: - ldr r2, _0201ED28 ; =0x048080AC +_027EF4FC: + ldr r2, _027EF538 ; =0x048080AC mov r3, #1 strh r3, [r2] mov r1, #0 @@ -18327,16 +18328,16 @@ _0201ECEC: strh r1, [r2, #-0x6c] bx lr .align 2, 0 -_0201ED1C: .word 0x0380FFF4 -_0201ED20: .word 0x04804000 -_0201ED24: .word 0x048080A0 -_0201ED28: .word 0x048080AC - arm_func_end sub_0201ECB0 +_027EF52C: .word 0x0380FFF4 +_027EF530: .word 0x04804000 +_027EF534: .word 0x048080A0 +_027EF538: .word 0x048080AC + arm_func_end sub_027EF4C0 - arm_func_start sub_0201ED2C -sub_0201ED2C: ; 0x0201ED2C + arm_func_start sub_027EF53C +sub_027EF53C: ; 0x027EF53C stmdb sp!, {r4, lr} - ldr r2, _0201EDD8 ; =0x0380FFF4 + ldr r2, _027EF5E8 ; =0x0380FFF4 mov r3, #1 ldr r2, [r2] strh r3, [r1, #2] @@ -18345,79 +18346,79 @@ sub_0201ED2C: ; 0x0201ED2C and r1, r2, #0xf0 cmp r1, #0x10 movne r0, r3 - bne _0201EDD0 + bne _027EF5E0 ldrh r1, [r0, #0x10] cmp r1, #0 - beq _0201EDA4 + beq _027EF5B4 cmp r1, #1 - bne _0201EDCC + bne _027EF5DC cmp r2, #0x10 movne r0, r3 - bne _0201EDD0 + bne _027EF5E0 ldrh r0, [r0, #0x12] mov r1, r3 - bl sub_020190F0 + bl sub_027E9900 mov r0, #0 strh r0, [r4, #0xc] - bl sub_030285D0 + bl sub_037F8DE0 mov r0, #0x8000 - bl sub_020194D0 + bl sub_027E9CE0 mov r0, #0x11 strh r0, [r4, #8] - b _0201EDCC -_0201EDA4: + b _027EF5DC +_027EF5B4: cmp r2, #0x11 - bne _0201EDBC + bne _027EF5CC mov r0, #0 - bl sub_020194D0 - bl sub_03028988 - b _0201EDC4 -_0201EDBC: + bl sub_027E9CE0 + bl sub_037F9198 + b _027EF5D4 +_027EF5CC: mov r0, r3 - b _0201EDD0 -_0201EDC4: + b _027EF5E0 +_027EF5D4: mov r0, #0x10 strh r0, [r4, #8] -_0201EDCC: +_027EF5DC: mov r0, #0 -_0201EDD0: +_027EF5E0: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201EDD8: .word 0x0380FFF4 - arm_func_end sub_0201ED2C +_027EF5E8: .word 0x0380FFF4 + arm_func_end sub_027EF53C - arm_func_start sub_0201EDDC -sub_0201EDDC: ; 0x0201EDDC + arm_func_start sub_027EF5EC +sub_027EF5EC: ; 0x027EF5EC stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r1, _0201EFA0 ; =0x0380FFF4 + ldr r1, _027EF7B0 ; =0x0380FFF4 mov r8, r0 ldr r4, [r1] ldrh r1, [r8, #0x16] - ldr r0, _0201EFA4 ; =0x000005E4 + ldr r0, _027EF7B4 ; =0x000005E4 add r5, r4, #0x344 cmp r1, r0 add r6, r4, #0x31c movhi r0, #5 - bhi _0201EF98 + bhi _027EF7A8 ldrh r0, [r6, #0x12] cmp r0, #1 - bne _0201EE3C + bne _027EF64C add r0, r8, #0x28 - bl sub_0201B0F0 + bl sub_027EB900 mov r7, r0 cmp r7, #0xff - beq _0201EE34 - bl sub_0201B7D0 + beq _027EF644 + bl sub_027EBFE0 cmp r0, #0x40 - beq _0201EE40 -_0201EE34: + beq _027EF650 +_027EF644: mov r0, #0xa - b _0201EF98 -_0201EE3C: + b _027EF7A8 +_027EF64C: ldrh r7, [r5, #0x88] -_0201EE40: - ldr r0, _0201EFA0 ; =0x0380FFF4 +_027EF650: + ldr r0, _027EF7B0 ; =0x0380FFF4 strh r7, [r8, #0x12] ldr r0, [r0] ldr r0, [r0, #0x3ec] @@ -18427,22 +18428,22 @@ _0201EE40: strneh r0, [r8, #0x20] movne r0, #0 strneh r0, [r8, #0x1e] - bne _0201EE78 + bne _027EF688 mov r0, r7 - bl sub_0201B890 + bl sub_027EC0A0 strh r0, [r8, #0x20] -_0201EE78: +_027EF688: ldrh r0, [r8, #0x16] cmp r0, #0 - bne _0201EEA0 + bne _027EF6B0 ldrh r1, [r5, #0x8a] mov r0, #0x1c orr r1, r1, #0x40 bic r1, r1, #0x4000 strh r1, [r8, #0x24] strh r0, [r8, #0x22] - b _0201EEC4 -_0201EEA0: + b _027EF6D4 +_027EF6B0: ldrh r0, [r5, #0x8a] strh r0, [r8, #0x24] ldrh r0, [r6, #0x18] @@ -18452,76 +18453,76 @@ _0201EEA0: streqh r0, [r8, #0x22] addne r0, r0, #0x24 strneh r0, [r8, #0x22] -_0201EEC4: +_027EF6D4: ldrh r0, [r6, #0x12] cmp r0, #1 - beq _0201EEE0 + beq _027EF6F0 cmp r0, #2 cmpne r0, #3 - beq _0201EF5C - b _0201EF94 -_0201EEE0: + beq _027EF76C + b _027EF7A4 +_027EF6F0: add r0, r8, #0x34 add r1, r8, #0x2e - bl sub_020198D0 + bl sub_027EA0E0 add r0, r8, #0x2e add r1, r5, #0x64 - bl sub_020198D0 + bl sub_027EA0E0 cmp r7, #0 - bne _0201EF38 + bne _027EF748 mov r1, r8 add r0, r4, #0x200 - bl sub_0201B2D8 - ldr r0, _0201EFA0 ; =0x0380FFF4 + bl sub_027EBAE8 + ldr r0, _027EF7B0 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x500 ldrh r1, [r0, #0x32] ldrh r2, [r0, #0x2e] mvn r0, r1 tst r2, r0 - bne _0201EF94 + bne _027EF7A4 mov r0, #2 - bl sub_0201F6E4 - b _0201EF94 -_0201EF38: + bl sub_027EFEF4 + b _027EF7A4 +_027EF748: add r0, r8, #0x10 - bl sub_0201B334 + bl sub_027EBB44 mov r2, r8 add r0, r4, #0x200 add r1, r4, #0x194 - bl sub_03028178 + bl sub_037F8988 mov r0, #0 - bl sub_0201F6E4 - b _0201EF94 -_0201EF5C: + bl sub_027EFEF4 + b _027EF7A4 +_027EF76C: add r0, r8, #0x34 add r1, r8, #0x28 - bl sub_020198D0 + bl sub_027EA0E0 add r0, r8, #0x28 add r1, r5, #0x64 - bl sub_020198D0 + bl sub_027EA0E0 add r0, r8, #0x10 - bl sub_0201B334 + bl sub_027EBB44 mov r2, r8 add r0, r4, #0x200 add r1, r4, #0x194 - bl sub_03028178 + bl sub_037F8988 mov r0, #0 - bl sub_0201F6E4 -_0201EF94: + bl sub_027EFEF4 +_027EF7A4: mov r0, #0x81 -_0201EF98: +_027EF7A8: ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_0201EFA0: .word 0x0380FFF4 -_0201EFA4: .word 0x000005E4 - arm_func_end sub_0201EDDC +_027EF7B0: .word 0x0380FFF4 +_027EF7B4: .word 0x000005E4 + arm_func_end sub_027EF5EC - arm_func_start sub_0201EFA8 -sub_0201EFA8: ; 0x0201EFA8 + arm_func_start sub_027EF7B8 +sub_027EF7B8: ; 0x027EF7B8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} - ldr r2, _0201F134 ; =0x0380FFF4 + ldr r2, _027EF944 ; =0x0380FFF4 mov sl, r0 ldr r2, [r2] mov sb, #1 @@ -18534,11 +18535,11 @@ sub_0201EFA8: ; 0x0201EFA8 add r5, r0, #0x400 cmp r1, #2 movne r0, #0xb - bne _0201F12C + bne _027EF93C ldrh r0, [sl, #0x10] cmp r0, #0x204 movhi r0, #5 - bhi _0201F12C + bhi _027EF93C ldrh r0, [r5, #0x50] add fp, r5, #0x50 cmp r0, #0 @@ -18548,12 +18549,12 @@ sub_0201EFA8: ; 0x0201EFA8 ldrh r1, [fp, r8] cmp r1, #0 movne r0, #8 - bne _0201F12C - ldr r1, _0201F138 ; =0x04808094 + bne _027EF93C + ldr r1, _027EF948 ; =0x04808094 ldrh r1, [r1] tst r1, #0x8000 movne r0, #8 - bne _0201F12C + bne _027EF93C add r1, r5, r8 ldr r7, [r1, #0x58] mov r1, #0 @@ -18561,7 +18562,7 @@ sub_0201EFA8: ; 0x0201EFA8 strh r1, [r7, #4] strh r0, [r7, #8] ldrh r0, [sl, #0x10] - ldr r3, _0201F13C ; =0x027F74AC + ldr r3, _027EF94C ; =0x027F74AC add r0, r0, #0x1e strh r0, [r7, #0xa] mov r0, #0x118 @@ -18569,45 +18570,45 @@ sub_0201EFA8: ; 0x0201EFA8 add r0, r7, #0x10 add r1, r2, #0x3a8 add r2, r4, #8 - bl sub_02019920 + bl sub_027EA130 ldrh r0, [sl, #0x12] strh r0, [r7, #0x24] ldrh r0, [sl, #0x10] cmp r0, #0 - beq _0201F0A0 + beq _027EF8B0 cmp sb, #0 - bne _0201F090 - bl sub_0201999C -_0201F090: + bne _027EF8A0 + bl sub_027EA1AC +_027EF8A0: ldr r1, [sl, #0x14] ldrh r2, [sl, #0x10] add r0, r7, #0x26 - bl sub_0201A46C -_0201F0A0: + bl sub_027EAC7C +_027EF8B0: tst r6, #4 - beq _0201F0D0 + beq _027EF8E0 ldrh r0, [sl, #0x10] add r1, r7, #0x24 add r0, r0, #2 add r0, r1, r0 add r0, r0, #3 - ldr r1, _0201F140 ; =0x0000B6B8 + ldr r1, _027EF950 ; =0x0000B6B8 bic r2, r0, #3 - ldr r0, _0201F144 ; =0x00001D46 + ldr r0, _027EF954 ; =0x00001D46 strh r1, [r2] strh r0, [r2, #2] -_0201F0D0: +_027EF8E0: mov r0, #0x1000000 - bl sub_0302B118 + bl sub_037FB928 mov r2, #2 - ldr r1, _0201F148 ; =0x00003FFF + ldr r1, _027EF958 ; =0x00003FFF strh r2, [fp, r8] add r5, r5, #0x52 ldrh r2, [r5, r8] and r1, r7, r1 add r3, r2, #1 mov r2, r1, lsr #1 - ldr r1, _0201F138 ; =0x04808094 + ldr r1, _027EF948 ; =0x04808094 strh r3, [r5, r8] orr r2, r2, #0x8000 strh r2, [r1] @@ -18615,29 +18616,29 @@ _0201F0D0: mov r4, r0 mov r0, r1, lsl #0x18 movs r0, r0, lsr #0x1f - bne _0201F120 - bl sub_02019888 -_0201F120: + bne _027EF930 + bl sub_027EA098 +_027EF930: mov r0, r4 - bl sub_0302B0E0 + bl sub_037FB8F0 mov r0, #0 -_0201F12C: +_027EF93C: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_0201F134: .word 0x0380FFF4 -_0201F138: .word 0x04808094 -_0201F13C: .word 0x027F74AC -_0201F140: .word 0x0000B6B8 -_0201F144: .word 0x00001D46 -_0201F148: .word 0x00003FFF - arm_func_end sub_0201EFA8 +_027EF944: .word 0x0380FFF4 +_027EF948: .word 0x04808094 +_027EF94C: .word 0x027F74AC +_027EF950: .word 0x0000B6B8 +_027EF954: .word 0x00001D46 +_027EF958: .word 0x00003FFF + arm_func_end sub_027EF7B8 - arm_func_start sub_0201F14C -sub_0201F14C: ; 0x0201F14C + arm_func_start sub_027EF95C +sub_027EF95C: ; 0x027EF95C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 - ldr r2, _0201F5D8 ; =0x0380FFF4 + ldr r2, _027EFDE8 ; =0x0380FFF4 mov sl, r0 ldr r4, [r2] mov sb, #1 @@ -18651,15 +18652,15 @@ sub_0201F14C: ; 0x0201F14C add r6, r0, #0x400 cmp r1, #1 movne r0, #0xb - bne _0201F5CC + bne _027EFDDC ldrh r0, [r6, #0x3c] cmp r0, #0 movne r0, #8 - bne _0201F5CC + bne _027EFDDC ldrh r0, [sl, #0x10] ldr r5, [r6, #0x44] tst r0, #0x8000 - beq _0201F1F0 + beq _027EFA00 tst r0, #2 ldreqh r0, [r6, #0x94] streqh r0, [sl, #0x14] @@ -18676,29 +18677,29 @@ sub_0201F14C: ; 0x0201F14C ldreqh r0, [r6, #0x9c] moveq sb, #0 streqh r0, [sl, #0x1c] -_0201F1F0: +_027EFA00: ldrh r0, [sl, #0x1c] cmp r0, #0x204 movhi r0, #5 - bhi _0201F5CC + bhi _027EFDDC mov r1, #2 mov r8, #0 - b _0201F220 -_0201F20C: + b _027EFA30 +_027EFA1C: ldrh r0, [sl, #0x16] tst r0, r1 mov r0, r1, lsl #0x11 addne r8, r8, #1 mov r1, r0, lsr #0x10 -_0201F220: +_027EFA30: cmp r1, #0 - bne _0201F20C + bne _027EFA1C ldrh r0, [sl, #0x14] strh r0, [r6, #0x94] ldrh r0, [sl, #0x14] tst r0, #0x8000 - beq _0201F26C - ldr r1, _0201F5DC ; =0x00007FFF + beq _027EFA7C + ldr r1, _027EFDEC ; =0x00007FFF mov r2, #0xea and r0, r0, r1 strh r0, [sl, #0x14] @@ -18707,10 +18708,10 @@ _0201F220: mov r0, r0, lsr #2 strh r2, [r5, #0xe] cmp r0, #0x10000 - bls _0201F2BC + bls _027EFACC mov r0, #5 - b _0201F5CC -_0201F26C: + b _027EFDDC +_027EFA7C: ldr r1, [sp, #4] tst r1, #2 movne fp, #1 @@ -18724,14 +18725,14 @@ _0201F26C: moveq r2, fp cmp r0, r3 movhi r0, #5 - bhi _0201F5CC + bhi _027EFDDC mov r3, r0, lsl #2 add r3, r3, #0xd0 add r1, r1, r3 strh r1, [sl, #0x14] add r1, r2, #0xea strh r1, [r5, #0xe] -_0201F2BC: +_027EFACC: add r0, r0, #9 bic fp, r0, #1 mul r0, fp, r8 @@ -18739,11 +18740,11 @@ _0201F2BC: ldr r1, [sp] add r0, r4, #0x188 add r1, r1, #0x1a - bl sub_0302805C + bl sub_037F886C str r0, [r6, #0x90] cmp r0, #0 moveq r0, #8 - beq _0201F5CC + beq _027EFDDC mov r0, #1 strh r0, [r6, #0x3c] ldrh r0, [r6, #0x3e] @@ -18765,7 +18766,7 @@ _0201F2BC: strh r1, [r6, #0x9e] strh r2, [r5] ldrh r7, [sl, #0x16] - ldr r1, _0201F5E0 ; =0x027F74BC + ldr r1, _027EFDF0 ; =0x027F74BC strh r7, [r5, #2] strh r2, [r5, #4] strh ip, [r5, #8] @@ -18779,13 +18780,13 @@ _0201F2BC: add ip, ip, #0xa mla r7, ip, r8, r7 strh r7, [r5, #0xe] - bl sub_02019920 + bl sub_027EA130 ldrh r0, [sl, #0x10] tst r0, #0x8000 ldrneh r1, [r5, #0x22] - ldrne r0, _0201F5E4 ; =0x0000FFFF + ldrne r0, _027EFDF4 ; =0x0000FFFF cmpne r1, r0 - ldreq r0, _0201F5E4 ; =0x0000FFFF + ldreq r0, _027EFDF4 ; =0x0000FFFF movne r7, #0x4000 streqh r0, [r5, #0x22] ldrh r0, [sl, #0x14] @@ -18798,27 +18799,27 @@ _0201F2BC: strh r0, [r5, #0x28] ldrneh r0, [sl, #0x1c] cmpne r0, #0 - beq _0201F3DC - bl sub_0201999C + beq _027EFBEC + bl sub_027EA1AC ldr r1, [sl, #0x20] ldrh r2, [sl, #0x1c] add r0, r5, #0x2a - bl sub_0201A46C -_0201F3DC: + bl sub_027EAC7C +_027EFBEC: ldr r0, [sp, #4] tst r0, #4 - beq _0201F410 + beq _027EFC20 ldrh r0, [sl, #0x1c] add r1, r5, #0x28 add r0, r0, #2 add r0, r1, r0 add r0, r0, #3 - ldr r1, _0201F5E8 ; =0x0000B6B8 + ldr r1, _027EFDF8 ; =0x0000B6B8 bic r2, r0, #3 - ldr r0, _0201F5EC ; =0x00001D46 + ldr r0, _027EFDFC ; =0x00001D46 strh r1, [r2] strh r0, [r2, #2] -_0201F410: +_027EFC20: ldr r0, [r6, #0x90] mov r1, #0x184 strh r1, [r0, #0xc] @@ -18832,7 +18833,7 @@ _0201F410: mov r3, #0 strh r1, [r0, #0x10] ldr r0, [r6, #0x90] - ldr sb, _0201F5E4 ; =0x0000FFFF + ldr sb, _027EFDF4 ; =0x0000FFFF strh r8, [r0, #0x14] ldr r0, [r6, #0x90] mov r1, #1 @@ -18842,8 +18843,8 @@ _0201F410: strh r3, [r0, #0x18] ldr r0, [r6, #0x90] add r0, r0, #0x1a - b _0201F498 -_0201F470: + b _027EFCA8 +_027EFC80: ldrh ip, [sl, #0x16] tst ip, r2 strneh sb, [r0] @@ -18854,11 +18855,11 @@ _0201F470: addne r0, r0, fp mov r2, r2, lsr #0x10 add r1, r1, #1 -_0201F498: +_027EFCA8: cmp r2, #0 - bne _0201F470 + bne _027EFC80 ldrh r0, [sl, #0x14] - ldr r2, _0201F5F0 ; =0x048080C4 + ldr r2, _027EFE00 ; =0x048080C4 strh r0, [r2] ldrh r0, [r5, #0xe] strh r0, [r2, #-4] @@ -18866,7 +18867,7 @@ _0201F498: ldrh r0, [sl, #0x18] rsb sb, r1, #0x10000 cmp r0, #0 - bne _0201F530 + bne _027EFD40 ldrh r0, [r2, #-0xc4] ldrh r1, [sl, #0x1c] cmp r0, #0x1440 @@ -18880,35 +18881,35 @@ _0201F498: add r0, r3, r0 mov r1, #0xa add r0, r0, #0x32 - bl sub_030365C4 + bl sub_03806DD4 mov r4, r0 - bl sub_0302D4F0 - ldr r1, _0201F5F4 ; =0x00003FFF - ldr r2, _0201F5F8 ; =0x04808118 + bl sub_037FDD00 + ldr r1, _027EFE04 ; =0x00003FFF + ldr r2, _027EFE08 ; =0x04808118 and r1, r5, r1 mov r1, r1, lsr #1 orr r1, r1, #0x8000 strh r4, [r2] orr r1, r1, r7 strh r1, [r2, #-0x88] - bl sub_0302D504 - b _0201F5C8 -_0201F530: - bl sub_0302D4F0 - ldr r1, _0201F5FC ; =0x048080F8 + bl sub_037FDD14 + b _027EFDD8 +_027EFD40: + bl sub_037FDD00 + ldr r1, _027EFE0C ; =0x048080F8 mov r8, r0 ldrh r0, [r1] mov r1, #0xa add r0, sb, r0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_030365C4 + bl sub_03806DD4 ldrh r3, [sl, #0x18] add r1, r0, #3 cmp r1, r3 - bhs _0201F598 - ldr r1, _0201F5F4 ; =0x00003FFF - ldr r2, _0201F5F8 ; =0x04808118 + bhs _027EFDA8 + ldr r1, _027EFE04 ; =0x00003FFF + ldr r2, _027EFE08 ; =0x04808118 sub r3, r3, r0 and r0, r5, r1 sub r1, r3, #1 @@ -18918,42 +18919,42 @@ _0201F530: orr r1, r0, r7 mov r0, r8 strh r1, [r2, #-0x88] - bl sub_0302D504 - b _0201F5C8 -_0201F598: + bl sub_037FDD14 + b _027EFDD8 +_027EFDA8: mov r0, r8 - bl sub_0302D504 + bl sub_037FDD14 ldr r1, [r6, #0x90] add r0, r4, #0x188 - bl sub_030280F8 + bl sub_037F8908 mov r0, #0 strh r0, [r6, #0x3c] ldrh r1, [r6, #0x3e] mov r0, #5 sub r1, r1, #1 strh r1, [r6, #0x3e] - b _0201F5CC -_0201F5C8: + b _027EFDDC +_027EFDD8: mov r0, #0 -_0201F5CC: +_027EFDDC: add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_0201F5D8: .word 0x0380FFF4 -_0201F5DC: .word 0x00007FFF -_0201F5E0: .word 0x027F74BC -_0201F5E4: .word 0x0000FFFF -_0201F5E8: .word 0x0000B6B8 -_0201F5EC: .word 0x00001D46 -_0201F5F0: .word 0x048080C4 -_0201F5F4: .word 0x00003FFF -_0201F5F8: .word 0x04808118 -_0201F5FC: .word 0x048080F8 - arm_func_end sub_0201F14C +_027EFDE8: .word 0x0380FFF4 +_027EFDEC: .word 0x00007FFF +_027EFDF0: .word 0x027F74BC +_027EFDF4: .word 0x0000FFFF +_027EFDF8: .word 0x0000B6B8 +_027EFDFC: .word 0x00001D46 +_027EFE00: .word 0x048080C4 +_027EFE04: .word 0x00003FFF +_027EFE08: .word 0x04808118 +_027EFE0C: .word 0x048080F8 + arm_func_end sub_027EF95C - arm_func_start sub_0201F600 -sub_0201F600: ; 0x0201F600 + arm_func_start sub_027EFE10 +sub_027EFE10: ; 0x027EFE10 stmdb sp!, {r4, lr} mov r2, #1 strh r2, [r1, #2] @@ -18965,50 +18966,50 @@ sub_0201F600: ; 0x0201F600 ldrh r1, [r4, #0x16] add r0, r4, #0x10 strh r1, [r4, #0x22] - bl sub_0201B334 - ldr r0, _0201F65C ; =0x0380FFF4 + bl sub_027EBB44 + ldr r0, _027EFE6C ; =0x0380FFF4 mov r2, r4 ldr r1, [r0] add r0, r1, #0x200 add r1, r1, #0x194 - bl sub_03028178 + bl sub_037F8988 mov r0, #0 - bl sub_0201F6E4 + bl sub_027EFEF4 mov r0, #0 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0201F65C: .word 0x0380FFF4 - arm_func_end sub_0201F600 +_027EFE6C: .word 0x0380FFF4 + arm_func_end sub_027EFE10 - arm_func_start sub_0201F660 -sub_0201F660: ; 0x0201F660 + arm_func_start sub_027EFE70 +sub_027EFE70: ; 0x027EFE70 stmdb sp!, {r4, lr} mov r2, #1 strh r2, [r1, #2] mov r4, r0 ldrh r0, [r4, #0x10] tst r0, #1 - beq _0201F680 - bl sub_020202F0 -_0201F680: + beq _027EFE90 + bl sub_027F0B00 +_027EFE90: ldrh r0, [r4, #0x10] tst r0, #2 - beq _0201F690 - bl sub_02020364 -_0201F690: + beq _027EFEA0 + bl sub_027F0B74 +_027EFEA0: ldrh r0, [r4, #0x10] tst r0, #4 - beq _0201F6A0 - bl sub_020203B8 -_0201F6A0: + beq _027EFEB0 + bl sub_027F0BC8 +_027EFEB0: mov r0, #0 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_0201F660 + arm_func_end sub_027EFE70 - arm_func_start sub_0201F6AC -sub_0201F6AC: ; 0x0201F6AC + arm_func_start sub_027EFEBC +sub_027EFEBC: ; 0x027EFEBC stmdb sp!, {r3, lr} ldrh r2, [r1, #0xe] mov r3, #2 @@ -19020,16 +19021,16 @@ sub_0201F6AC: ; 0x0201F6AC strh r2, [lr, #0x14] ldrh r2, [r1, #0x18] strh r2, [lr, #0x16] - bl sub_03028548 + bl sub_037F8D58 ldmia sp!, {r3, lr} bx lr - arm_func_end sub_0201F6AC + arm_func_end sub_027EFEBC - arm_func_start sub_0201F6E4 -sub_0201F6E4: ; 0x0201F6E4 + arm_func_start sub_027EFEF4 +sub_027EFEF4: ; 0x027EFEF4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc - ldr r1, _0201F8F8 ; =0x0380FFF4 + ldr r1, _027F0108 ; =0x0380FFF4 mov sl, r0 ldr r2, [r1] mov r0, #0xc @@ -19042,38 +19043,38 @@ sub_0201F6E4: ; 0x0201F6E4 mla r6, sl, r0, r5 cmp r1, #0 add r4, r2, #0x344 - beq _0201F8EC + beq _027F00FC mov r0, #0x1000000 - bl sub_0302B118 + bl sub_037FB928 ldrh r1, [r6] str r0, [sp] cmp r1, #0 - beq _0201F744 - bl sub_0302B0E0 - b _0201F8EC -_0201F744: + beq _027EFF54 + bl sub_037FB8F0 + b _027F00FC +_027EFF54: ldr r7, [fp] mvn r0, #0 str r0, [sp, #8] -_0201F750: +_027EFF60: ldr r0, [sp, #8] cmp r7, r0 - bne _0201F768 + bne _027EFF78 ldr r0, [sp] - bl sub_0302B0E0 - b _0201F8EC -_0201F768: + bl sub_037FB8F0 + b _027F00FC +_027EFF78: mov r0, r7 str r7, [sp, #4] - bl sub_03028270 + bl sub_037F8A80 mov r1, r7 add r8, r1, #0x10 mov r7, r0 ldrh sb, [r8, #2] mov r0, r8 - bl sub_0201FA6C + bl sub_027F027C cmp r0, #0 - beq _0201F7CC + beq _027EFFDC ldrh r1, [r5, #0xae] mov r0, r8 add r1, r1, #1 @@ -19087,35 +19088,35 @@ _0201F768: ldr r2, [r6, #0x10] mov lr, pc bx r2 -_0201F7C8: - b _0201F750 -_0201F7CC: +_027EFFD8: + b _027EFF60 +_027EFFDC: cmp sl, #0 - beq _0201F7EC + beq _027EFFFC cmp sl, #1 - bne _0201F82C + bne _027F003C mov r0, sb - bl sub_0201B7D0 + bl sub_027EBFE0 cmp r0, #0x40 - bne _0201F82C -_0201F7EC: + bne _027F003C +_027EFFFC: mov r0, sb - bl sub_0201B7F0 + bl sub_027EC000 cmp r0, #0 - beq _0201F750 + beq _027EFF60 mov r0, sb - bl sub_0201B7D0 + bl sub_027EBFE0 cmp r0, #0x40 - beq _0201F82C + beq _027F003C mov r2, #2 mov r0, fp sub r1, r8, #0x10 strh r2, [r8, #8] - bl sub_0201F6AC + bl sub_027EFEBC mov r0, r8 - bl sub_0201B3C4 - b _0201F750 -_0201F82C: + bl sub_027EBBD4 + b _027EFF60 +_027F003C: mov r0, #1 strh r0, [r6] ldrh r0, [r6, #2] @@ -19125,25 +19126,25 @@ _0201F82C: ldrh r0, [r4, #0x10] ldr r5, [r6, #8] cmp r0, #0 - bne _0201F85C + bne _027F006C mov r0, #2 - bl sub_020194A4 -_0201F85C: + bl sub_027E9CB4 +_027F006C: ldr r1, [sp, #4] mov r0, r5 - bl sub_0201F904 + bl sub_027F0114 ldrh r0, [r4, #0xc] cmp r0, #1 - bne _0201F88C + bne _027F009C mov r0, sb - bl sub_0201B8DC + bl sub_027EC0EC cmp r0, #1 ldrhih r0, [r5, #0xc] orrhi r0, r0, #0x2000 strhih r0, [r5, #0xc] -_0201F88C: - ldr r1, _0201F8FC ; =0x00003FFF - ldr r0, _0201F900 ; =0x048080A0 +_027F009C: + ldr r1, _027F010C ; =0x00003FFF + ldr r0, _027F0110 ; =0x048080A0 ldrh r4, [r8, #0x14] and r2, r5, r1 and r1, r4, #0xc @@ -19154,7 +19155,7 @@ _0201F88C: moveq r0, r0, lsr #0x10 orreq r0, r0, #0xa000 streqh r0, [r3] - beq _0201F8E4 + beq _027F00F4 and r0, r4, #0xfc cmp r0, #0x50 mov r0, r1, lsl #0x10 @@ -19164,54 +19165,54 @@ _0201F88C: movne r0, r0, lsr #0x10 orrne r0, r0, #0x8000 strneh r0, [r3] -_0201F8E4: +_027F00F4: ldr r0, [sp] - bl sub_0302B0E0 -_0201F8EC: + bl sub_037FB8F0 +_027F00FC: add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_0201F8F8: .word 0x0380FFF4 -_0201F8FC: .word 0x00003FFF -_0201F900: .word 0x048080A0 - arm_func_end sub_0201F6E4 +_027F0108: .word 0x0380FFF4 +_027F010C: .word 0x00003FFF +_027F0110: .word 0x048080A0 + arm_func_end sub_027EFEF4 - arm_func_start sub_0201F904 -sub_0201F904: ; 0x0201F904 + arm_func_start sub_027F0114 +sub_027F0114: ; 0x027F0114 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 ldrh r1, [r4, #0x24] mov r5, r0 tst r1, #0x4000 - beq _0201F9E0 - ldr r0, _0201FA58 ; =0x0380FFF4 + beq _027F01F0 + ldr r0, _027F0268 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x300 ldrh r0, [r0, #0x50] cmp r0, #3 - bne _0201F938 - bl sub_0201999C -_0201F938: + bne _027F0148 + bl sub_027EA1AC +_027F0148: ldrh r1, [r4, #0xc] - ldr r0, _0201FA5C ; =0x0000FFFF + ldr r0, _027F026C ; =0x0000FFFF cmp r1, r0 - bne _0201F960 + bne _027F0170 ldrh r3, [r4, #0x16] mov r0, r5 add r1, r4, #0x18 add r2, r4, #0x3c - bl sub_0201A4D0 - b _0201F974 -_0201F960: + bl sub_027EACE0 + b _027F0184 +_027F0170: ldr r2, [r4, #0x3c] ldrh r3, [r4, #0x16] mov r0, r5 add r1, r4, #0x18 - bl sub_0201A4D0 -_0201F974: - ldr r3, _0201FA60 ; =0x04808044 - ldr r1, _0201FA58 ; =0x0380FFF4 + bl sub_027EACE0 +_027F0184: + ldr r3, _027F0270 ; =0x04808044 + ldr r1, _027F0268 ; =0x0380FFF4 ldrh r2, [r3] ldrh r0, [r3] add r0, r2, r0, lsl #8 @@ -19227,7 +19228,7 @@ _0201F974: add r0, r0, #0x600 ldrh r0, [r0, #0x90] tst r0, #8 - beq _0201FA14 + beq _027F0224 ldrh r0, [r4, #0x22] add r1, r5, #0xc add r0, r1, r0 @@ -19236,52 +19237,52 @@ _0201F974: mov r0, #0 strh r0, [r1] strh r0, [r1, #2] - b _0201FA14 -_0201F9E0: + b _027F0224 +_027F01F0: ldrh r2, [r4, #0xc] - ldr r1, _0201FA5C ; =0x0000FFFF + ldr r1, _027F026C ; =0x0000FFFF cmp r2, r1 - bne _0201FA04 + bne _027F0214 ldrh r2, [r4, #0x16] add r1, r4, #0x18 add r2, r2, #0x24 - bl sub_0201A46C - b _0201FA14 -_0201FA04: + bl sub_027EAC7C + b _027F0224 +_027F0214: ldr r2, [r4, #0x3c] ldrh r3, [r4, #0x16] add r1, r4, #0x18 - bl sub_0201A48C -_0201FA14: - ldr r0, _0201FA58 ; =0x0380FFF4 + bl sub_027EAC9C +_027F0224: + ldr r0, _027F0268 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x600 ldrh r0, [r0, #0x90] tst r0, #4 - beq _0201FA50 + beq _027F0260 ldrh r0, [r4, #0x22] add r1, r5, #0xc add r0, r1, r0 sub r0, r0, #1 - ldr r1, _0201FA64 ; =0x0000B6B8 + ldr r1, _027F0274 ; =0x0000B6B8 bic r2, r0, #3 - ldr r0, _0201FA68 ; =0x00001D46 + ldr r0, _027F0278 ; =0x00001D46 strh r1, [r2] strh r0, [r2, #2] -_0201FA50: +_027F0260: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0201FA58: .word 0x0380FFF4 -_0201FA5C: .word 0x0000FFFF -_0201FA60: .word 0x04808044 -_0201FA64: .word 0x0000B6B8 -_0201FA68: .word 0x00001D46 - arm_func_end sub_0201F904 +_027F0268: .word 0x0380FFF4 +_027F026C: .word 0x0000FFFF +_027F0270: .word 0x04808044 +_027F0274: .word 0x0000B6B8 +_027F0278: .word 0x00001D46 + arm_func_end sub_027F0114 - arm_func_start sub_0201FA6C -sub_0201FA6C: ; 0x0201FA6C - ldr r1, _0201FAE8 ; =0x0380FFF4 + arm_func_start sub_027F027C +sub_027F027C: ; 0x027F027C + ldr r1, _027F02F8 ; =0x0380FFF4 ldrh r2, [r0, #0x14] ldr r3, [r1] mov r1, r2, lsl #0x1c @@ -19290,10 +19291,10 @@ sub_0201FA6C: ; 0x0201FA6C movs r1, r1, lsr #0x1e mov r1, r3, lsl #0x13 mov r3, r1, lsr #0x10 - bne _0201FAC0 + bne _027F02D0 ldrh r1, [ip, #0xc] cmp r1, #1 - bne _0201FAC8 + bne _027F02D8 mov r1, r2, lsl #0x18 mov r1, r1, lsr #0x1c cmp r1, #1 @@ -19301,11 +19302,11 @@ sub_0201FA6C: ; 0x0201FA6C cmpne r1, #0xb moveq r1, r3, lsl #0xd moveq r3, r1, lsr #0x10 - b _0201FAC8 -_0201FAC0: + b _027F02D8 +_027F02D0: mov r1, r3, lsl #0xd mov r3, r1, lsr #0x10 -_0201FAC8: +_027F02D8: ldr r1, [ip, #0xa8] ldrh r0, [r0, #4] sub r0, r1, r0 @@ -19315,30 +19316,30 @@ _0201FAC8: movhs r0, #0 bx lr .align 2, 0 -_0201FAE8: .word 0x0380FFF4 - arm_func_end sub_0201FA6C +_027F02F8: .word 0x0380FFF4 + arm_func_end sub_027F027C - arm_func_start sub_0201FAEC -sub_0201FAEC: ; 0x0201FAEC + arm_func_start sub_027F02FC +sub_027F02FC: ; 0x027F02FC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} - ldr r2, _0201FC64 ; =0x0380FFF4 + ldr r2, _027F0474 ; =0x0380FFF4 mov sb, r0 ldr r4, [r2] mov r8, r1 add r5, r4, #0x194 add r6, r4, #0x344 sub r7, sb, #0x10 - bl sub_0201B3C4 + bl sub_027EBBD4 ldrh r0, [sb, #8] tst r0, #2 - bne _0201FB80 + bne _027F0390 ldr r0, [r4, #0x53c] add r0, r0, #1 str r0, [r4, #0x53c] ldrh r0, [sb, #0x14] mov r0, r0, lsl #0x17 movs r0, r0, lsr #0x1f - beq _0201FB5C + beq _027F036C ldrh r0, [sb, #0x24] tst r0, #1 ldrne r0, [r4, #0x550] @@ -19347,8 +19348,8 @@ sub_0201FAEC: ; 0x0201FAEC ldreq r0, [r4, #0x54c] addeq r0, r0, #1 streq r0, [r4, #0x54c] - b _0201FB8C -_0201FB5C: + b _027F039C +_027F036C: ldrh r0, [sb, #0x18] tst r0, #1 ldrne r0, [r4, #0x550] @@ -19357,12 +19358,12 @@ _0201FB5C: ldreq r0, [r4, #0x54c] addeq r0, r0, #1 streq r0, [r4, #0x54c] - b _0201FB8C -_0201FB80: + b _027F039C +_027F0390: ldr r0, [r4, #0x540] add r0, r0, #1 str r0, [r4, #0x540] -_0201FB8C: +_027F039C: ldrh r0, [sb, #0x14] mov r1, r7 mov r0, r0, lsl #0x11 @@ -19371,63 +19372,63 @@ _0201FB8C: addne r0, r0, #1 strne r0, [r4, #0x554] mov r0, r5 - bl sub_0201F6AC - ldr r0, _0201FC64 ; =0x0380FFF4 + bl sub_027EFEBC + ldr r0, _027F0474 ; =0x0380FFF4 mov r1, #0 ldr r0, [r0] add r0, r0, #0x400 strh r1, [r0, #0x2c] ldrh r0, [sb, #2] - bl sub_0201B810 + bl sub_027EC020 cmp r0, #0 - beq _0201FBE8 + beq _027F03F8 ldrh r0, [sb, #0x14] tst r0, #0x2000 - bne _0201FBE8 + bne _027F03F8 ldrh r0, [sb, #2] - bl sub_0201B598 -_0201FBE8: + bl sub_027EBDA8 +_027F03F8: cmp r8, #0 - beq _0201FC5C + beq _027F046C ldrh r0, [r5, #8] cmp r0, #0 - beq _0201FC08 + beq _027F0418 mov r0, #0 - bl sub_0201F6E4 - b _0201FC5C -_0201FC08: + bl sub_027EFEF4 + b _027F046C +_027F0418: ldrh r0, [r6, #0xc] add r0, r0, #0xfe add r0, r0, #0xff00 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #1 - bhi _0201FC5C + bhi _027F046C ldrh r0, [r6, #8] cmp r0, #0x40 - bne _0201FC5C + bne _027F046C ldrh r0, [r6, #0xe] cmp r0, #0 - beq _0201FC5C + beq _027F046C ldrh r0, [r6, #0x88] - bl sub_0201B8DC + bl sub_027EC0EC cmp r0, #0 ldreqh r0, [r6, #0x8e] cmpeq r0, #0 - bne _0201FC5C + bne _027F046C mov r0, #1 - bl sub_020194A4 -_0201FC5C: + bl sub_027E9CB4 +_027F046C: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, lr} bx lr .align 2, 0 -_0201FC64: .word 0x0380FFF4 - arm_func_end sub_0201FAEC +_027F0474: .word 0x0380FFF4 + arm_func_end sub_027F02FC - arm_func_start sub_0201FC68 -sub_0201FC68: ; 0x0201FC68 + arm_func_start sub_027F0478 +sub_027F0478: ; 0x027F0478 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} - ldr r2, _02020130 ; =0x0380FFF4 + ldr r2, _027F0940 ; =0x0380FFF4 mov sl, r0 ldr r4, [r2] ldrh r2, [sl, #8] @@ -19438,7 +19439,7 @@ sub_0201FC68: ; 0x0201FC68 add r8, r4, #0x344 add r5, r0, #0x400 add r6, r4, #0x1a0 - bne _0201FCF0 + bne _027F0500 ldr r0, [r4, #0x53c] add r0, r0, #1 str r0, [r4, #0x53c] @@ -19451,20 +19452,20 @@ sub_0201FC68: ; 0x0201FC68 addeq r0, r0, #1 streq r0, [r4, #0x54c] mov r0, r7 - bl sub_0201B810 + bl sub_027EC020 cmp r0, #0 - beq _0201FCFC + beq _027F050C ldrh r0, [sl, #0x14] tst r0, #0x2000 - bne _0201FCFC + bne _027F050C mov r0, r7 - bl sub_0201B598 - b _0201FCFC -_0201FCF0: + bl sub_027EBDA8 + b _027F050C +_027F0500: ldr r0, [r4, #0x540] add r0, r0, #1 str r0, [r4, #0x540] -_0201FCFC: +_027F050C: ldrh r0, [sl, #0x14] mov r0, r0, lsl #0x11 movs r0, r0, lsr #0x1f @@ -19479,168 +19480,168 @@ _0201FCFC: ldrh r0, [sl, #0x14] and r4, r0, #0xfc cmp r4, #0xa0 - bhi _0201FD58 - bhs _0201FEC0 + bhi _027F0568 + bhs _027F06D0 cmp r4, #0x10 - bhi _0201FD4C - beq _0201FDFC - b _020200E8 -_0201FD4C: + bhi _027F055C + beq _027F060C + b _027F08F8 +_027F055C: cmp r4, #0x30 - beq _0201FDFC - b _020200E8 -_0201FD58: + beq _027F060C + b _027F08F8 +_027F0568: cmp r4, #0xb0 - bhi _0201FD68 - beq _0201FD74 - b _020200E8 -_0201FD68: + bhi _027F0578 + beq _027F0584 + b _027F08F8 +_027F0578: cmp r4, #0xc0 - beq _0201FFA4 - b _020200E8 -_0201FD74: + beq _027F07B4 + b _027F08F8 +_027F0584: cmp r7, #0 - beq _020200E8 + beq _027F08F8 ldrh r0, [sl, #8] tst r0, #2 - bne _020200E8 + bne _027F08F8 ldrh r1, [sl, #0x2c] cmp r1, #0 ldreqh r0, [sl, #0x2e] cmpeq r0, #2 ldreqh r0, [sl, #0x30] cmpeq r0, #0 - bne _0201FDC4 + bne _027F05D4 mov r0, r7, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, #0x30 - bl sub_0201B434 + bl sub_027EBC44 ldrh r1, [sl, #0x2c] add r0, sl, #0x18 - bl sub_0201D358 - b _020200E8 -_0201FDC4: + bl sub_027EDB68 + b _027F08F8 +_027F05D4: cmp r1, #1 ldreqh r0, [sl, #0x2e] cmpeq r0, #4 ldreqh r0, [sl, #0x30] cmpeq r0, #0 - bne _020200E8 + bne _027F08F8 mov r0, r7, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, #0x30 - bl sub_0201B434 + bl sub_027EBC44 ldrh r1, [sl, #0x2c] add r0, sl, #0x18 - bl sub_0201D358 - b _020200E8 -_0201FDFC: + bl sub_027EDB68 + b _027F08F8 +_027F060C: cmp r7, #0 - beq _020200E8 + beq _027F08F8 ldrh r0, [sl, #8] tst r0, #2 - bne _0201FE74 + bne _027F0684 ldrh r0, [sl, #0x2e] cmp r0, #0 - bne _020200E8 + bne _027F08F8 mov r0, r7 - bl sub_0201B7D0 + bl sub_027EBFE0 cmp r0, #0x30 - bne _020200E8 + bne _027F08F8 mov r0, r7, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, #0x40 - bl sub_0201B434 + bl sub_027EBC44 ldrh r2, [sl, #0x12] cmp r4, #0x10 add r3, sl, #0x14 - bne _0201FE60 + bne _027F0670 ldrh r1, [sl, #0x30] add r0, sl, #0x18 add r2, r3, r2 - bl sub_0201D450 - b _020200E8 -_0201FE60: + bl sub_027EDC60 + b _027F08F8 +_027F0670: ldrh r1, [sl, #0x30] add r0, sl, #0x18 add r2, r3, r2 - bl sub_0201D548 - b _020200E8 -_0201FE74: + bl sub_027EDD58 + b _027F08F8 +_027F0684: mov r0, r7, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_0201B750 + bl sub_027EBF60 add r0, sl, #0x18 mov r1, #1 mov r2, #0 - bl sub_020216AC + bl sub_027F1EBC cmp r0, #0 - beq _020200E8 + beq _027F08F8 mov r1, #2 strh r1, [r0] cmp sb, #0 - beq _0201FEB8 - bl sub_02020884 + beq _027F06C8 + bl sub_027F1094 mov r0, #1 - bl sub_0201F6E4 - b _020200E8 -_0201FEB8: - bl sub_02020884 - b _020200E8 -_0201FEC0: + bl sub_027EFEF4 + b _027F08F8 +_027F06C8: + bl sub_027F1094 + b _027F08F8 +_027F06D0: ldrh r0, [r8, #0xc] cmp r0, #1 - bne _0201FF50 + bne _027F0760 cmp r7, #0 - beq _0201FEF8 + beq _027F0708 mov r0, r7 - bl sub_0201B7D0 + bl sub_027EBFE0 cmp r0, #0x30 - bls _0201FF68 + bls _027F0778 mov r0, r7, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, #0x30 - bl sub_0201B434 - b _0201FF68 -_0201FEF8: + bl sub_027EBC44 + b _027F0778 +_027F0708: ldrh r0, [sl, #0x18] tst r0, #1 - beq _0201FF68 - ldr r4, _02020130 ; =0x0380FFF4 + beq _027F0778 + ldr r4, _027F0940 ; =0x0380FFF4 mov r8, #1 mov r7, #0x30 - b _0201FF38 -_0201FF14: + b _027F0748 +_027F0724: mov r0, r8 - bl sub_0201B7D0 + bl sub_027EBFE0 cmp r0, #0x30 - bls _0201FF34 + bls _027F0744 mov r0, r8, lsl #0x10 mov r1, r7 mov r0, r0, lsr #0x10 - bl sub_0201B434 -_0201FF34: + bl sub_027EBC44 +_027F0744: add r8, r8, #1 -_0201FF38: +_027F0748: ldr r0, [r4] add r0, r0, #0x300 ldrh r0, [r0, #0x22] cmp r8, r0 - blo _0201FF14 - b _0201FF68 -_0201FF50: + blo _027F0724 + b _027F0778 +_027F0760: ldrh r0, [r8, #8] cmp r0, #0x30 - bls _0201FF68 + bls _027F0778 mov r0, #0x30 - bl sub_03028A28 - bl sub_0201982C -_0201FF68: + bl sub_037F9238 + bl sub_027EA03C +_027F0778: ldrh r0, [r5] cmp r0, #0x71 ldreq r0, [r5, #4] cmpeq sl, r0 - bne _020200E8 + bne _027F08F8 ldrh r0, [sl, #8] tst r0, #2 ldr r0, [r5, #0x1c] @@ -19649,62 +19650,62 @@ _0201FF68: strh r1, [r0, #4] mov r0, #0 strh r0, [r5] - bl sub_0201D304 - b _020200E8 -_0201FFA4: + bl sub_027EDB14 + b _027F08F8 +_027F07B4: ldrh r0, [r8, #0xc] cmp r0, #1 - bne _02020034 + bne _027F0844 cmp r7, #0 - beq _0201FFDC + beq _027F07EC mov r0, r7 - bl sub_0201B7D0 + bl sub_027EBFE0 cmp r0, #0x20 - bls _0202004C + bls _027F085C mov r0, r7, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, #0x20 - bl sub_0201B434 - b _0202004C -_0201FFDC: + bl sub_027EBC44 + b _027F085C +_027F07EC: ldrh r0, [sl, #0x18] tst r0, #1 - beq _0202004C - ldr r4, _02020130 ; =0x0380FFF4 + beq _027F085C + ldr r4, _027F0940 ; =0x0380FFF4 mov r8, #1 mov fp, #0x20 - b _0202001C -_0201FFF8: + b _027F082C +_027F0808: mov r0, r8 - bl sub_0201B7D0 + bl sub_027EBFE0 cmp r0, #0x20 - bls _02020018 + bls _027F0828 mov r0, r8, lsl #0x10 mov r1, fp mov r0, r0, lsr #0x10 - bl sub_0201B434 -_02020018: + bl sub_027EBC44 +_027F0828: add r8, r8, #1 -_0202001C: +_027F082C: ldr r0, [r4] add r0, r0, #0x300 ldrh r0, [r0, #0x22] cmp r8, r0 - blo _0201FFF8 - b _0202004C -_02020034: + blo _027F0808 + b _027F085C +_027F0844: ldrh r0, [r8, #8] cmp r0, #0x20 - bls _0202004C + bls _027F085C mov r0, #0x20 - bl sub_03028A28 - bl sub_0201982C -_0202004C: + bl sub_037F9238 + bl sub_027EA03C +_027F085C: ldrh r0, [r5] cmp r0, #0x41 ldreq r0, [r5, #4] cmpeq sl, r0 - bne _02020084 + bne _027F0894 ldrh r0, [sl, #8] tst r0, #2 ldr r0, [r5, #0x1c] @@ -19713,14 +19714,14 @@ _0202004C: strh r1, [r0, #4] mov r0, #0 strh r0, [r5] - bl sub_0201D304 -_02020084: + bl sub_027EDB14 +_027F0894: ldrh r0, [sl] cmp r0, #1 - bne _020200D4 + bne _027F08E4 cmp r7, #0 - beq _020200C4 - ldr r0, _02020130 ; =0x0380FFF4 + beq _027F08D4 + ldr r0, _027F0940 ; =0x0380FFF4 mov r2, #1 ldr r1, [r0] mov r0, r7, lsl #0x10 @@ -19730,25 +19731,25 @@ _02020084: and r2, r3, r2 mov r0, r0, lsr #0x10 strh r2, [r1, #0x34] - bl sub_0201BC1C -_020200C4: + bl sub_027EC42C +_027F08D4: add r0, sl, #0x18 mov r1, #1 - bl sub_0201D3D4 - b _020200E8 -_020200D4: + bl sub_027EDBE4 + b _027F08F8 +_027F08E4: cmp r0, #2 - bne _020200E8 + bne _027F08F8 ldrh r1, [sl, #0x2c] add r0, sl, #0x18 - bl sub_0201D3D4 -_020200E8: + bl sub_027EDBE4 +_027F08F8: mov r0, sl - bl sub_0201B3C4 + bl sub_027EBBD4 mov r0, r6 sub r1, sl, #0x10 - bl sub_030280F8 - ldr r0, _02020130 ; =0x0380FFF4 + bl sub_037F8908 + ldr r0, _027F0940 ; =0x0380FFF4 mov r1, #0 ldr r0, [r0] cmp sb, #0 @@ -19756,19 +19757,19 @@ _020200E8: strh r1, [r0, #0x40] ldrneh r0, [r6, #8] cmpne r0, #0 - beq _02020128 + beq _027F0938 mov r0, #1 - bl sub_0201F6E4 -_02020128: + bl sub_027EFEF4 +_027F0938: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_02020130: .word 0x0380FFF4 - arm_func_end sub_0201FC68 +_027F0940: .word 0x0380FFF4 + arm_func_end sub_027F0478 - arm_func_start sub_02020134 -sub_02020134: ; 0x02020134 - ldr r2, _02020198 ; =0x0380FFF4 + arm_func_start sub_027F0944 +sub_027F0944: ; 0x027F0944 + ldr r2, _027F09A8 ; =0x0380FFF4 ldrh r1, [r0, #4] ldr r3, [r2] and r1, r1, #0xff @@ -19780,28 +19781,28 @@ sub_02020134: ; 0x02020134 ldrne r0, [r3, #0x540] addne r0, r0, #1 strne r0, [r3, #0x540] - bne _02020180 + bne _027F0990 ldr r0, [r3, #0x53c] add r0, r0, #1 str r0, [r3, #0x53c] ldr r0, [r3, #0x54c] add r0, r0, #1 str r0, [r3, #0x54c] -_02020180: - ldr r0, _02020198 ; =0x0380FFF4 +_027F0990: + ldr r0, _027F09A8 ; =0x0380FFF4 mov r1, #0 ldr r0, [r0] add r0, r0, #0x400 strh r1, [r0, #0x54] bx lr .align 2, 0 -_02020198: .word 0x0380FFF4 - arm_func_end sub_02020134 +_027F09A8: .word 0x0380FFF4 + arm_func_end sub_027F0944 - arm_func_start sub_0202019C -sub_0202019C: ; 0x0202019C + arm_func_start sub_027F09AC +sub_027F09AC: ; 0x027F09AC stmdb sp!, {r4, r5, r6, lr} - ldr r2, _020202A0 ; =0x0380FFF4 + ldr r2, _027F0AB0 ; =0x0380FFF4 mov r6, r0 ldr r2, [r2] mov r5, r1 @@ -19812,22 +19813,22 @@ sub_0202019C: ; 0x0202019C ldrh r1, [r6, #0x14] mov r1, r1, lsl #0x1c movs r1, r1, lsr #0x1e - bne _020201F4 - bl sub_0201B334 + bne _027F0A04 + bl sub_027EBB44 add r0, r4, #0x30 add r1, r4, #0x24 sub r2, r6, #0x10 - bl sub_03028178 + bl sub_037F8988 mov r0, r6 mov r1, #0 - bl sub_0201FC68 - b _02020200 -_020201F4: + bl sub_027F0478 + b _027F0A10 +_027F0A04: add r0, r4, #0x30 sub r1, r6, #0x10 - bl sub_0201F6AC -_02020200: - ldr r1, _020202A0 ; =0x0380FFF4 + bl sub_027EFEBC +_027F0A10: + ldr r1, _027F0AB0 ; =0x0380FFF4 mov r2, #0 ldr r0, [r1] add r0, r0, #0x400 @@ -19837,49 +19838,49 @@ _02020200: ldrh r0, [r0, #0xc] mov r0, r0, lsl #0x12 movs r0, r0, lsr #0x1f - bne _02020270 - ldr r1, _020202A4 ; =0x048080AC + bne _027F0A80 + ldr r1, _027F0AB4 ; =0x048080AC mov r0, #8 strh r0, [r1] mov r0, #5 strh r0, [r1, #2] cmp r5, #0 - beq _02020270 + beq _027F0A80 ldrh r0, [r4, #0x2c] cmp r0, #0 - beq _0202025C + beq _027F0A6C mov r0, #1 - bl sub_0201F6E4 -_0202025C: + bl sub_027EFEF4 +_027F0A6C: ldrh r0, [r4, #0x20] cmp r0, #0 - beq _02020270 + beq _027F0A80 mov r0, #0 - bl sub_0201F6E4 -_02020270: + bl sub_027EFEF4 +_027F0A80: ldrh r0, [r4, #0x38] cmp r0, #0 - beq _02020290 + beq _027F0AA0 cmp r5, #0 - beq _02020298 + beq _027F0AA8 mov r0, #2 - bl sub_0201F6E4 - b _02020298 -_02020290: + bl sub_027EFEF4 + b _027F0AA8 +_027F0AA0: mov r0, #0 - bl sub_0201B9B8 -_02020298: + bl sub_027EC1C8 +_027F0AA8: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_020202A0: .word 0x0380FFF4 -_020202A4: .word 0x048080AC - arm_func_end sub_0202019C +_027F0AB0: .word 0x0380FFF4 +_027F0AB4: .word 0x048080AC + arm_func_end sub_027F09AC - arm_func_start sub_020202A8 -sub_020202A8: ; 0x020202A8 + arm_func_start sub_027F0AB8 +sub_027F0AB8: ; 0x027F0AB8 ldr r2, [r0, #8] - ldr r1, _020202EC ; =0x0380FFF4 + ldr r1, _027F0AFC ; =0x0380FFF4 ldrh r3, [r2, #4] ldr r2, [r1] ands r3, r3, #0xff @@ -19896,126 +19897,126 @@ sub_020202A8: ; 0x020202A8 strh r1, [r0] bx lr .align 2, 0 -_020202EC: .word 0x0380FFF4 - arm_func_end sub_020202A8 +_027F0AFC: .word 0x0380FFF4 + arm_func_end sub_027F0AB8 - arm_func_start sub_020202F0 -sub_020202F0: ; 0x020202F0 + arm_func_start sub_027F0B00 +sub_027F0B00: ; 0x027F0B00 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0202035C ; =0x0380FFF4 + ldr r1, _027F0B6C ; =0x0380FFF4 mov r0, #0x1000000 ldr r1, [r1] add r1, r1, #0x2c add r4, r1, #0x400 - bl sub_0302B118 - ldr r1, _0202035C ; =0x0380FFF4 + bl sub_037FB928 + ldr r1, _027F0B6C ; =0x0380FFF4 mov r5, r0 ldr r0, [r1] add r0, r0, #0x300 ldrh r0, [r0, #0x3a] mov r0, r0, lsl #0x18 movs r0, r0, lsr #0x1f - bne _02020334 + bne _027F0B44 mov r0, #0 - bl sub_020198AC -_02020334: - ldr r0, _02020360 ; =0x048080B4 + bl sub_027EA0BC +_027F0B44: + ldr r0, _027F0B70 ; =0x048080B4 mov r1, #0xc0 strh r1, [r0] mov r1, #0 strh r1, [r4, #0x50] mov r0, r5 strh r1, [r4, #0x64] - bl sub_0302B0E0 + bl sub_037FB8F0 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0202035C: .word 0x0380FFF4 -_02020360: .word 0x048080B4 - arm_func_end sub_020202F0 +_027F0B6C: .word 0x0380FFF4 +_027F0B70: .word 0x048080B4 + arm_func_end sub_027F0B00 - arm_func_start sub_02020364 -sub_02020364: ; 0x02020364 + arm_func_start sub_027F0B74 +sub_027F0B74: ; 0x027F0B74 stmdb sp!, {r4, lr} - ldr r1, _020203B0 ; =0x0380FFF4 + ldr r1, _027F0BC0 ; =0x0380FFF4 mov r0, #0x1000000 ldr r1, [r1] add r1, r1, #0x2c add r4, r1, #0x400 - bl sub_0302B118 - ldr r1, _020203B4 ; =0x048080B4 + bl sub_037FB928 + ldr r1, _027F0BC4 ; =0x048080B4 mov r2, #2 strh r2, [r1] ldrh r1, [r4, #0x3c] mov r4, r0 cmp r1, #0 - beq _020203A0 - bl sub_0302A4A4 -_020203A0: + beq _027F0BB0 + bl sub_037FACB4 +_027F0BB0: mov r0, r4 - bl sub_0302B0E0 + bl sub_037FB8F0 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_020203B0: .word 0x0380FFF4 -_020203B4: .word 0x048080B4 - arm_func_end sub_02020364 +_027F0BC0: .word 0x0380FFF4 +_027F0BC4: .word 0x048080B4 + arm_func_end sub_027F0B74 - arm_func_start sub_020203B8 -sub_020203B8: ; 0x020203B8 + arm_func_start sub_027F0BC8 +sub_027F0BC8: ; 0x027F0BC8 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _02020458 ; =0x0380FFF4 + ldr r1, _027F0C68 ; =0x0380FFF4 mov r0, #0x1000000 ldr r1, [r1] add r1, r1, #0x2c add r4, r1, #0x400 - bl sub_0302B118 - ldr r1, _02020458 ; =0x0380FFF4 + bl sub_037FB928 + ldr r1, _027F0C68 ; =0x0380FFF4 mov r5, r0 ldr r0, [r1] add r0, r0, #0x300 ldrh r0, [r0, #0x50] cmp r0, #1 - ldr r0, _0202045C ; =0x048080B4 - bne _02020420 + ldr r0, _027F0C6C ; =0x048080B4 + bne _027F0C30 mov r1, #9 strh r1, [r0] ldrh r0, [r4, #0x28] cmp r0, #0 - beq _02020410 + beq _027F0C20 mov r0, #2 - bl sub_02020460 -_02020410: + bl sub_027F0C70 +_027F0C20: mov r0, #2 mov r1, #1 - bl sub_020207E0 - b _02020428 -_02020420: + bl sub_027F0FF0 + b _027F0C38 +_027F0C30: mov r1, #1 strh r1, [r0] -_02020428: +_027F0C38: ldrh r0, [r4] cmp r0, #0 - beq _0202043C + beq _027F0C4C mov r0, #0 - bl sub_02020460 -_0202043C: + bl sub_027F0C70 +_027F0C4C: mov r0, #0 mov r1, #1 - bl sub_020207E0 + bl sub_027F0FF0 mov r0, r5 - bl sub_0302B0E0 + bl sub_037FB8F0 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02020458: .word 0x0380FFF4 -_0202045C: .word 0x048080B4 - arm_func_end sub_020203B8 +_027F0C68: .word 0x0380FFF4 +_027F0C6C: .word 0x048080B4 + arm_func_end sub_027F0BC8 - arm_func_start sub_02020460 -sub_02020460: ; 0x02020460 + arm_func_start sub_027F0C70 +sub_027F0C70: ; 0x027F0C70 stmdb sp!, {r3, lr} - ldr r2, _020204C0 ; =0x0380FFF4 + ldr r2, _027F0CD0 ; =0x0380FFF4 mov r1, #0x14 ldr r2, [r2] mul r1, r0, r1 @@ -20024,7 +20025,7 @@ sub_02020460: ; 0x02020460 ldrh r0, [r2, r1] add r2, r2, r1 cmp r0, #0 - beq _020204B8 + beq _027F0CC8 ldr r0, [r2, #8] ldrh r1, [r0] ldr r0, [r2, #0xc] @@ -20036,17 +20037,17 @@ sub_02020460: ; 0x02020460 mov r1, #0 mov lr, pc bx r2 -_020204B8: +_027F0CC8: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_020204C0: .word 0x0380FFF4 - arm_func_end sub_02020460 +_027F0CD0: .word 0x0380FFF4 + arm_func_end sub_027F0C70 - arm_func_start sub_020204C4 -sub_020204C4: ; 0x020204C4 + arm_func_start sub_027F0CD4 +sub_027F0CD4: ; 0x027F0CD4 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r1, _02020544 ; =0x0380FFF4 + ldr r1, _027F0D54 ; =0x0380FFF4 mov r7, r0 mov r0, #0x14 ldr r1, [r1] @@ -20055,15 +20056,15 @@ sub_020204C4: ; 0x020204C4 add r5, r0, #0x400 mov r0, #0x1000000 add r6, r5, r4 - bl sub_0302B118 - ldr r1, _02020548 ; =0x027F7870 + bl sub_037FB928 + ldr r1, _027F0D58 ; =0x027F7870 mov r2, r7, lsl #1 ldrh r2, [r1, r2] - ldr r1, _0202054C ; =0x048080B4 + ldr r1, _027F0D5C ; =0x048080B4 strh r2, [r1] ldrh r1, [r5, r4] cmp r1, #0 - beq _02020538 + beq _027F0D48 ldr r2, [r6, #0xc] ldrh r1, [r2, #0x14] tst r1, #0x4000 @@ -20074,27 +20075,27 @@ sub_020204C4: ; 0x020204C4 ldr r1, [r6, #0xc] ldrh r2, [r2, #0x22] strh r2, [r1, #0x2a] -_02020538: - bl sub_0302B0E0 +_027F0D48: + bl sub_037FB8F0 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02020544: .word 0x0380FFF4 -_02020548: .word 0x027F7870 -_0202054C: .word 0x048080B4 - arm_func_end sub_020204C4 +_027F0D54: .word 0x0380FFF4 +_027F0D58: .word 0x027F7870 +_027F0D5C: .word 0x048080B4 + arm_func_end sub_027F0CD4 - arm_func_start sub_02020550 -sub_02020550: ; 0x02020550 + arm_func_start sub_027F0D60 +sub_027F0D60: ; 0x027F0D60 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov fp, r0 mov r7, #0 - bl sub_0201B8DC + bl sub_027EC0EC cmp r0, #0 - beq _0202063C + beq _027F0E4C mov r8, r7 -_0202056C: - ldr r0, _02020644 ; =0x0380FFF4 +_027F0D7C: + ldr r0, _027F0E54 ; =0x0380FFF4 mov r1, #0xc ldr r2, [r0] mul sl, r8, r1 @@ -20102,186 +20103,186 @@ _0202056C: add r1, r2, sl ldr r5, [r1, #0x194] cmp r5, r0 - beq _02020630 + beq _027F0E40 mov r0, #0x14 mul sb, r8, r0 mvn r4, #0 -_0202059C: +_027F0DAC: mov r0, r5 - bl sub_03028270 + bl sub_037F8A80 add r6, r5, #0x10 ldrh r1, [r6, #2] str r0, [sp] cmp r1, fp - bne _02020620 + bne _027F0E30 cmp r8, #1 - ldrne r0, _02020644 ; =0x0380FFF4 + ldrne r0, _027F0E54 ; =0x0380FFF4 ldrne r0, [r0] addne r0, sb, r0 ldrne r0, [r0, #0x438] cmpne r6, r0 - bne _020205F0 + bne _027F0E00 mov r0, r6 - bl sub_0201B3C4 + bl sub_027EBBD4 mov r1, #0 mov r0, r6 strh r1, [r6, #2] - bl sub_0201B334 - b _02020620 -_020205F0: + bl sub_027EBB44 + b _027F0E30 +_027F0E00: mov r0, #2 strh r0, [r6, #8] mov r0, r6 - bl sub_0201B3C4 - ldr r0, _02020644 ; =0x0380FFF4 + bl sub_027EBBD4 + ldr r0, _027F0E54 ; =0x0380FFF4 mov r1, r5 ldr r0, [r0] add r0, r0, #0x194 add r0, r0, sl - bl sub_0201F6AC + bl sub_027EFEBC cmp r7, #0 moveq r7, #1 -_02020620: +_027F0E30: ldr r5, [sp] mov r0, r5 cmp r0, r4 - bne _0202059C -_02020630: + bne _027F0DAC +_027F0E40: add r8, r8, #1 cmp r8, #3 - blo _0202056C -_0202063C: + blo _027F0D7C +_027F0E4C: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_02020644: .word 0x0380FFF4 - arm_func_end sub_02020550 +_027F0E54: .word 0x0380FFF4 + arm_func_end sub_027F0D60 - arm_func_start sub_02020648 -sub_02020648: ; 0x02020648 + arm_func_start sub_027F0E58 +sub_027F0E58: ; 0x027F0E58 stmdb sp!, {r3, r4, r5, lr} - ldr r4, _020206F4 ; =0x0380FFF4 + ldr r4, _027F0F04 ; =0x0380FFF4 ldrh r1, [r0] ldr r2, [r4] tst r1, #1 - beq _0202069C + beq _027F0EAC add r0, r2, #0x300 ldrh r0, [r0, #0x22] mov r5, #1 cmp r0, #1 - bls _020206EC - b _02020684 -_02020678: + bls _027F0EFC + b _027F0E94 +_027F0E88: mov r0, r5 - bl sub_02020550 + bl sub_027F0D60 add r5, r5, #1 -_02020684: +_027F0E94: ldr r0, [r4] add r0, r0, #0x300 ldrh r0, [r0, #0x22] cmp r5, r0 - blo _02020678 - b _020206EC -_0202069C: - bl sub_0201B0F0 + blo _027F0E88 + b _027F0EFC +_027F0EAC: + bl sub_027EB900 mov r4, r0 cmp r4, #0xff - beq _020206B0 - bl sub_02020550 -_020206B0: - ldr r0, _020206F4 ; =0x0380FFF4 + beq _027F0EC0 + bl sub_027F0D60 +_027F0EC0: + ldr r0, _027F0F04 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x300 ldrh r0, [r0, #0x2e] cmp r0, #1 - bne _020206EC + bne _027F0EFC mov r0, r4 - bl sub_0201B7D0 + bl sub_027EBFE0 cmp r0, #0x40 - bne _020206EC + bne _027F0EFC mov r0, r4, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, #0x20 - bl sub_0201B434 - bl sub_020202F0 -_020206EC: + bl sub_027EBC44 + bl sub_027F0B00 +_027F0EFC: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_020206F4: .word 0x0380FFF4 - arm_func_end sub_02020648 +_027F0F04: .word 0x0380FFF4 + arm_func_end sub_027F0E58 - arm_func_start sub_020206F8 -sub_020206F8: ; 0x020206F8 + arm_func_start sub_027F0F08 +sub_027F0F08: ; 0x027F0F08 stmdb sp!, {r4, lr} - ldr r0, _020207DC ; =0x0380FFF4 + ldr r0, _027F0FEC ; =0x0380FFF4 ldr r2, [r0] add r0, r2, #0x300 ldrh r1, [r0, #0x50] add r0, r2, #0x2c cmp r1, #1 add r4, r0, #0x400 - beq _0202072C + beq _027F0F3C cmp r1, #2 cmpne r1, #3 - beq _02020788 - b _020207B0 -_0202072C: + beq _027F0F98 + b _027F0FC0 +_027F0F3C: mov r0, #0 mov r1, #1 - bl sub_020207E0 + bl sub_027F0FF0 mov r0, #1 mov r1, #0 - bl sub_020207E0 + bl sub_027F0FF0 mov r0, #2 mov r1, #1 - bl sub_020207E0 + bl sub_027F0FF0 ldrh r0, [r4, #0x3c] cmp r0, #0 - beq _020207D4 + beq _027F0FE4 mov r0, #0 strh r0, [r4, #0x3c] ldrh r1, [r4, #0x3e] - ldr r0, _020207DC ; =0x0380FFF4 + ldr r0, _027F0FEC ; =0x0380FFF4 sub r1, r1, #1 strh r1, [r4, #0x3e] ldr r0, [r0] ldr r1, [r4, #0x90] add r0, r0, #0x188 - bl sub_030280F8 - b _020207D4 -_02020788: + bl sub_037F8908 + b _027F0FE4 +_027F0F98: mov r0, #0 mov r1, #1 - bl sub_020207E0 + bl sub_027F0FF0 mov r0, #1 mov r1, #0 - bl sub_020207E0 + bl sub_027F0FF0 mov r0, #2 mov r1, #0 - bl sub_020207E0 - b _020207D4 -_020207B0: + bl sub_027F0FF0 + b _027F0FE4 +_027F0FC0: mov r0, #0 mov r1, r0 - bl sub_020207E0 + bl sub_027F0FF0 mov r0, #1 mov r1, #0 - bl sub_020207E0 + bl sub_027F0FF0 mov r0, #2 mov r1, #0 - bl sub_020207E0 -_020207D4: + bl sub_027F0FF0 +_027F0FE4: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_020207DC: .word 0x0380FFF4 - arm_func_end sub_020206F8 +_027F0FEC: .word 0x0380FFF4 + arm_func_end sub_027F0F08 - arm_func_start sub_020207E0 -sub_020207E0: ; 0x020207E0 + arm_func_start sub_027F0FF0 +sub_027F0FF0: ; 0x027F0FF0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} - ldr r5, _02020868 ; =0x0380FFF4 + ldr r5, _027F1078 ; =0x0380FFF4 mov r2, #0xc mov sl, r0 mul r8, sl, r2 @@ -20291,59 +20292,59 @@ sub_020207E0: ; 0x020207E0 ldr r6, [r2, #0x194] mov sb, r1 cmp r6, r0 - beq _02020860 + beq _027F1070 mov fp, #2 mvn r4, #0 -_02020818: +_027F1028: mov r0, r6 - bl sub_03028270 + bl sub_037F8A80 mov r7, r0 cmp sl, #2 - beq _02020834 + beq _027F1044 add r0, r6, #0x10 - bl sub_0201B3C4 -_02020834: + bl sub_027EBBD4 +_027F1044: strh fp, [r6, #0x18] cmp sb, #0 - beq _02020854 + beq _027F1064 ldr r0, [r5] mov r1, r6 add r0, r0, #0x194 add r0, r0, r8 - bl sub_0201F6AC -_02020854: + bl sub_027EFEBC +_027F1064: mov r6, r7 cmp r7, r4 - bne _02020818 -_02020860: + bne _027F1028 +_027F1070: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_02020868: .word 0x0380FFF4 - arm_func_end sub_020207E0 +_027F1078: .word 0x0380FFF4 + arm_func_end sub_027F0FF0 - arm_func_start sub_0202086C -sub_0202086C: ; 0x0202086C + arm_func_start sub_027F107C +sub_027F107C: ; 0x027F107C stmdb sp!, {r3, lr} - bl sub_02020884 + bl sub_027F1094 mov r0, #1 - bl sub_0201F6E4 + bl sub_027EFEF4 ldmia sp!, {r3, lr} bx lr - arm_func_end sub_0202086C + arm_func_end sub_027F107C - arm_func_start sub_02020884 -sub_02020884: ; 0x02020884 + arm_func_start sub_027F1094 +sub_027F1094: ; 0x027F1094 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x18 - bl sub_0201B0F0 + bl sub_027EB900 strh r0, [r4, #2] ldrh r0, [r4, #2] cmp r0, #0xff moveq r0, #0 streqh r0, [r4, #2] - ldr r0, _020208F4 ; =0x0380FFF4 + ldr r0, _027F1104 ; =0x0380FFF4 ldr r0, [r0] ldr r0, [r0, #0x3ec] strh r0, [r4, #4] @@ -20353,23 +20354,23 @@ sub_02020884: ; 0x02020884 addne r0, r0, #8 strneh r0, [r4, #0x12] mov r0, r4 - bl sub_0201B334 - ldr r0, _020208F4 ; =0x0380FFF4 + bl sub_027EBB44 + ldr r0, _027F1104 ; =0x0380FFF4 sub r2, r4, #0x10 ldr r1, [r0] add r0, r1, #0x188 add r1, r1, #0x1a0 - bl sub_03028178 + bl sub_037F8988 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_020208F4: .word 0x0380FFF4 - arm_func_end sub_02020884 +_027F1104: .word 0x0380FFF4 + arm_func_end sub_027F1094 - arm_func_start sub_020208F8 -sub_020208F8: ; 0x020208F8 + arm_func_start sub_027F1108 +sub_027F1108: ; 0x027F1108 stmdb sp!, {r4, lr} - ldr r0, _02020980 ; =0x0380FFF4 + ldr r0, _027F1190 ; =0x0380FFF4 ldr r2, [r0] add r0, r2, #0x54 add r4, r0, #0x400 @@ -20382,36 +20383,36 @@ sub_020208F8: ; 0x020208F8 cmp r0, #0 ldrne r0, [r4, #8] strneh r1, [r0, #4] - bne _02020978 + bne _027F1188 mov r0, #1 strh r0, [r4] ldr r0, [r4, #8] strh r1, [r0] ldr r0, [r4, #8] strh r1, [r0, #4] - bl sub_02019D68 + bl sub_027EA578 ldr r2, [r4, #8] - ldr r1, _02020984 ; =0x00003FFF + ldr r1, _027F1194 ; =0x00003FFF strh r0, [r2, #8] ldr r0, [r4, #8] - ldr r2, _02020988 ; =0x048080A8 + ldr r2, _027F1198 ; =0x048080A8 and r0, r0, r1 mov r0, r0, lsl #0xf mov r0, r0, lsr #0x10 orr r0, r0, #0x8000 strh r0, [r2] -_02020978: +_027F1188: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02020980: .word 0x0380FFF4 -_02020984: .word 0x00003FFF -_02020988: .word 0x048080A8 - arm_func_end sub_020208F8 +_027F1190: .word 0x0380FFF4 +_027F1194: .word 0x00003FFF +_027F1198: .word 0x048080A8 + arm_func_end sub_027F1108 - arm_func_start sub_0202098C -sub_0202098C: ; 0x0202098C - ldr r0, _020209C4 ; =0x0380FFF4 + arm_func_start sub_027F119C +sub_027F119C: ; 0x027F119C + ldr r0, _027F11D4 ; =0x0380FFF4 mov r2, #1 ldr r3, [r0] rsb r1, r2, #0x4000 @@ -20419,21 +20420,21 @@ sub_0202098C: ; 0x0202098C strh r2, [r0, #0xa4] add r0, r3, #0xa4 ldr r2, [r0, #0x408] - ldr r0, _020209C8 ; =0x04808080 + ldr r0, _027F11D8 ; =0x04808080 and r1, r2, r1 mov r1, r1, lsr #1 orr r1, r1, #0x8000 strh r1, [r0] bx lr .align 2, 0 -_020209C4: .word 0x0380FFF4 -_020209C8: .word 0x04808080 - arm_func_end sub_0202098C +_027F11D4: .word 0x0380FFF4 +_027F11D8: .word 0x04808080 + arm_func_end sub_027F119C - arm_func_start sub_020209CC -sub_020209CC: ; 0x020209CC - ldr r1, _020209EC ; =0x0380FFF4 - ldr r0, _020209F0 ; =0x04808080 + arm_func_start sub_027F11DC +sub_027F11DC: ; 0x027F11DC + ldr r1, _027F11FC ; =0x0380FFF4 + ldr r0, _027F1200 ; =0x04808080 ldr r2, [r1] mov r1, #0 strh r1, [r0] @@ -20441,14 +20442,14 @@ sub_020209CC: ; 0x020209CC strh r1, [r0, #0xa4] bx lr .align 2, 0 -_020209EC: .word 0x0380FFF4 -_020209F0: .word 0x04808080 - arm_func_end sub_020209CC +_027F11FC: .word 0x0380FFF4 +_027F1200: .word 0x04808080 + arm_func_end sub_027F11DC - arm_func_start sub_020209F4 -sub_020209F4: ; 0x020209F4 + arm_func_start sub_027F1204 +sub_027F1204: ; 0x027F1204 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} - ldr r1, _02020D50 ; =0x0380FFF4 + ldr r1, _027F1560 ; =0x0380FFF4 mov r0, #0 ldr r1, [r1] ldr r8, [r1, #0x4ac] @@ -20458,17 +20459,17 @@ sub_020209F4: ; 0x020209F4 strh r0, [r8, #4] strh r0, [r8, #6] add r6, r1, #0x344 - bl sub_02019D68 + bl sub_027EA578 strh r0, [r8, #8] mov r0, #0x80 strh r0, [r8, #0xc] mov r0, #0 add r2, r5, #8 strh r0, [r8, #0xe] - ldr r1, _02020D54 ; =0x027F74A4 + ldr r1, _027F1564 ; =0x027F74A4 add r0, r8, #0x10 mov r3, r2 - bl sub_02019920 + bl sub_027EA130 mov r1, #0 strh r1, [r8, #0x22] add sl, r8, #0x24 @@ -20482,81 +20483,81 @@ sub_020209F4: ; 0x020209F4 ldrh r0, [r5, #0x1e] mov r0, r0, lsl #0x1f movs r0, r0, lsr #0x1f - bne _02020AF4 + bne _027F1304 sub r0, sb, sl strh r0, [r6, #0x92] mov r0, sb - bl sub_0201A514 + bl sub_027EAD24 ldrh r1, [r6, #0x1e] add r0, sb, #1 and r1, r1, #0xff add sb, sb, #2 - bl sub_0201A514 + bl sub_027EAD24 mov r7, #0 add r4, r6, #0x20 - b _02020AD0 -_02020AB4: + b _027F12E0 +_027F12C4: add r0, r4, r7 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 mov r0, sb - bl sub_0201A514 + bl sub_027EAD24 add sb, sb, #1 add r7, r7, #1 -_02020AD0: +_027F12E0: ldrh r0, [r6, #0x1e] cmp r7, r0 - blo _02020AB4 + blo _027F12C4 mvn r0, #0 sub r0, r0, r7 add r0, sb, r0 and r1, r7, #0xff - bl sub_0201A514 - b _02020AF8 -_02020AF4: + bl sub_027EAD24 + b _027F1308 +_027F1304: strh r1, [r6, #0x92] -_02020AF8: +_027F1308: mov r0, sb - bl sub_020218C0 + bl sub_027F20D0 add sb, sb, r0 mov r0, sb mov r1, #3 - bl sub_0201A514 + bl sub_027EAD24 add r0, sb, #1 mov r1, #1 - bl sub_0201A514 + bl sub_027EAD24 ldrh r1, [r6, #0x7a] add r0, sb, #2 and r1, r1, #0xff - bl sub_0201A514 + bl sub_027EAD24 add r0, sb, #3 sub r1, r0, sl strh r1, [r6, #0x94] ldrh r2, [r6, #0x94] - ldr r1, _02020D58 ; =0x04808084 + ldr r1, _027F1568 ; =0x04808084 add r2, r2, #2 strh r2, [r1] mov r1, #5 - bl sub_0201A514 + bl sub_027EAD24 add r0, sb, #4 mov r1, #5 - bl sub_0201A514 + bl sub_027EAD24 add r0, sb, #5 mov r1, #0 - bl sub_0201A514 + bl sub_027EAD24 add r0, sb, #6 ldrh r1, [r6, #0x74] and r1, r1, #0xff - bl sub_0201A514 + bl sub_027EAD24 add r0, sb, #7 mov r1, #0 - bl sub_0201A514 + bl sub_027EAD24 add r0, sb, #8 mov r1, #0 - bl sub_0201A514 + bl sub_027EAD24 add r0, sb, #9 mov r1, #0 - bl sub_0201A514 + bl sub_027EAD24 add r0, sb, #0xa sub r1, r0, sl strh r1, [r6, #0x96] @@ -20564,109 +20565,109 @@ _02020AF8: mov r1, #0xdd and r2, r2, #1 strh r2, [r6, #0xa2] - bl sub_0201A514 + bl sub_027EAD24 add r0, sb, #0xb ldrh r1, [r6, #0xa0] add r1, r1, #8 and r1, r1, #0xff - bl sub_0201A514 + bl sub_027EAD24 add r0, sb, #0xc mov r1, #0 - bl sub_0201A514 + bl sub_027EAD24 add r0, sb, #0xd mov r1, #9 - bl sub_0201A514 + bl sub_027EAD24 add r0, sb, #0xe mov r1, #0xbf - bl sub_0201A514 + bl sub_027EAD24 add r0, sb, #0xf mov r1, #0 - bl sub_0201A514 + bl sub_027EAD24 ldrh r0, [r6, #0xe] cmp r0, #1 - bne _02020C38 + bne _027F1448 ldrh r1, [r5, #0x20] add r0, sb, #0x10 and r1, r1, #0xff - bl sub_0201A514 + bl sub_027EAD24 ldrh r1, [r5, #0x20] add r0, sb, #0x11 mov r1, r1, asr #8 and r1, r1, #0xff add sb, sb, #0x12 - bl sub_0201A514 - b _02020C54 -_02020C38: + bl sub_027EAD24 + b _027F1464 +_027F1448: add r0, sb, #0x10 mov r1, #0xff - bl sub_0201A514 + bl sub_027EAD24 add r0, sb, #0x11 mov r1, #0xff add sb, sb, #0x12 - bl sub_0201A514 -_02020C54: - ldr r1, _02020D5C ; =0x0380FFF0 + bl sub_027EAD24 +_027F1464: + ldr r1, _027F156C ; =0x0380FFF0 mov r0, sb ldrh r4, [r1] and r1, r4, #0xff - bl sub_0201A514 + bl sub_027EAD24 mov r1, r4, lsr #8 add r0, sb, #1 and r1, r1, #0xff add sb, sb, #2 - bl sub_0201A514 + bl sub_027EAD24 ldr r4, [r6, #0x9c] mov r5, #0 - b _02020CA8 -_02020C88: + b _027F14B8 +_027F1498: mov r0, r4 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 mov r0, sb - bl sub_0201A514 + bl sub_027EAD24 add sb, sb, #1 add r4, r4, #1 add r5, r5, #1 -_02020CA8: +_027F14B8: ldrh r1, [r6, #0xa0] cmp r5, r1 - blo _02020C88 + blo _027F1498 ldrh r0, [r6, #0xa2] cmp r0, #0 - beq _02020D04 + beq _027F1514 ldr r0, [r6, #0x9c] cmp r1, #0 add r0, r0, r1 sub r5, r0, #1 mov r4, #0 - bls _02020D04 - b _02020CF8 -_02020CDC: + bls _027F1514 + b _027F1508 +_027F14EC: mov r0, r5 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 add r0, r5, #1 - bl sub_0201A514 + bl sub_027EAD24 add r4, r4, #1 sub r5, r5, #1 -_02020CF8: +_027F1508: ldrh r0, [r6, #0xa0] cmp r4, r0 - blo _02020CDC -_02020D04: - ldr r0, _02020D50 ; =0x0380FFF4 + blo _027F14EC +_027F1514: + ldr r0, _027F1560 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x600 ldrh r0, [r0, #0x90] tst r0, #4 - beq _02020D34 - ldr r1, _02020D60 ; =0x0000B6B8 + beq _027F1544 + ldr r1, _027F1570 ; =0x0000B6B8 add r0, sb, #3 bic r2, r0, #3 - ldr r0, _02020D64 ; =0x00001D46 + ldr r0, _027F1574 ; =0x00001D46 strh r1, [r2] strh r0, [r2, #2] -_02020D34: +_027F1544: mov r1, #0 add r0, sb, #0x1c strh r1, [r6, #0xa4] @@ -20675,18 +20676,18 @@ _02020D34: ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, lr} bx lr .align 2, 0 -_02020D50: .word 0x0380FFF4 -_02020D54: .word 0x027F74A4 -_02020D58: .word 0x04808084 -_02020D5C: .word 0x0380FFF0 -_02020D60: .word 0x0000B6B8 -_02020D64: .word 0x00001D46 - arm_func_end sub_020209F4 +_027F1560: .word 0x0380FFF4 +_027F1564: .word 0x027F74A4 +_027F1568: .word 0x04808084 +_027F156C: .word 0x0380FFF0 +_027F1570: .word 0x0000B6B8 +_027F1574: .word 0x00001D46 + arm_func_end sub_027F1204 - arm_func_start sub_02020D68 -sub_02020D68: ; 0x02020D68 + arm_func_start sub_027F1578 +sub_027F1578: ; 0x027F1578 stmdb sp!, {r3, r4, r5, lr} - ldr r0, _02020E54 ; =0x0380FFF4 + ldr r0, _027F1664 ; =0x0380FFF4 ldr r0, [r0] add r4, r0, #0x344 ldr r1, [r0, #0x4ac] @@ -20695,27 +20696,27 @@ sub_02020D68: ; 0x02020D68 add r1, r1, #0x24 cmp r2, #0 add r5, r1, r0 - beq _02020DD8 + beq _027F15E8 ldrh r0, [r4, #0xa2] ldr r1, [r4, #0x9c] tst r0, #1 add r0, r5, #0xa - beq _02020DD0 + beq _027F15E0 sub r0, r0, #1 add r2, r2, #2 - bl sub_0201A46C - ldr r1, _02020E58 ; =0x0380FFF0 + bl sub_027EAC7C + ldr r1, _027F1668 ; =0x0380FFF0 add r0, r5, #9 ldrh r1, [r1] mov r1, r1, asr #8 and r1, r1, #0xff - bl sub_0201A514 - b _02020DD8 -_02020DD0: + bl sub_027EAD24 + b _027F15E8 +_027F15E0: add r2, r2, #1 - bl sub_0201A46C -_02020DD8: - ldr r0, _02020E54 ; =0x0380FFF4 + bl sub_027EAC7C +_027F15E8: + ldr r0, _027F1664 ; =0x0380FFF4 ldrh r2, [r4, #0x96] ldr r0, [r0] ldrh r1, [r4, #0xa0] @@ -20727,36 +20728,36 @@ _02020DD8: add r0, r5, #1 add r1, r1, #8 and r1, r1, #0xff - bl sub_0201A514 - ldr r0, _02020E54 ; =0x0380FFF4 + bl sub_027EAD24 + ldr r0, _027F1664 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x600 ldrh r0, [r0, #0x90] tst r0, #4 - beq _02020E44 + beq _027F1654 ldrh r0, [r4, #0xa0] add r1, r5, #0xd add r0, r1, r0 - ldr r1, _02020E5C ; =0x0000B6B8 + ldr r1, _027F166C ; =0x0000B6B8 bic r2, r0, #3 - ldr r0, _02020E60 ; =0x00001D46 + ldr r0, _027F1670 ; =0x00001D46 strh r1, [r2] strh r0, [r2, #2] -_02020E44: +_027F1654: mov r0, #0 strh r0, [r4, #0xa4] ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02020E54: .word 0x0380FFF4 -_02020E58: .word 0x0380FFF0 -_02020E5C: .word 0x0000B6B8 -_02020E60: .word 0x00001D46 - arm_func_end sub_02020D68 +_027F1664: .word 0x0380FFF4 +_027F1668: .word 0x0380FFF0 +_027F166C: .word 0x0000B6B8 +_027F1670: .word 0x00001D46 + arm_func_end sub_027F1578 - arm_func_start sub_02020E64 -sub_02020E64: ; 0x02020E64 - ldr r0, _02020E90 ; =0x0380FFF4 + arm_func_start sub_027F1674 +sub_027F1674: ; 0x027F1674 + ldr r0, _027F16A0 ; =0x0380FFF4 ldr r0, [r0] add r1, r0, #0x500 add r0, r0, #0x100 @@ -20768,31 +20769,31 @@ sub_02020E64: ; 0x02020E64 movge r0, #0 bx lr .align 2, 0 -_02020E90: .word 0x0380FFF4 - arm_func_end sub_02020E64 +_027F16A0: .word 0x0380FFF4 + arm_func_end sub_027F1674 - arm_func_start sub_02020E94 -sub_02020E94: ; 0x02020E94 + arm_func_start sub_027F16A4 +sub_027F16A4: ; 0x027F16A4 stmdb sp!, {r4, r5, r6, lr} - ldr r2, _02020F08 ; =0x0380FFF4 + ldr r2, _027F1718 ; =0x0380FFF4 mov r5, r1 ldr r1, [r2] mov r6, r0 add r0, r1, #0x188 mov r1, #0x36 - bl sub_0302805C + bl sub_037F886C movs r4, r0 - bne _02020ECC + bne _027F16DC mov r0, #2 - bl sub_0201A85C + bl sub_027EB06C mov r0, r4 - b _02020F00 -_02020ECC: - ldr r0, _02020F0C ; =0x0000FFFF + b _027F1710 +_027F16DC: + ldr r0, _027F171C ; =0x0000FFFF mov r1, r6 strh r0, [r4, #0xc] add r0, r4, #0x10 - bl sub_02021798 + bl sub_027F1FA8 strh r5, [r4, #0x3c] mov r0, #2 strh r0, [r4, #0x16] @@ -20801,46 +20802,46 @@ _02020ECC: mov r0, #0xa0 strh r0, [r4, #0x24] add r0, r4, #0x10 -_02020F00: +_027F1710: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_02020F08: .word 0x0380FFF4 -_02020F0C: .word 0x0000FFFF - arm_func_end sub_02020E94 +_027F1718: .word 0x0380FFF4 +_027F171C: .word 0x0000FFFF + arm_func_end sub_027F16A4 - arm_func_start sub_02020F10 -sub_02020F10: ; 0x02020F10 + arm_func_start sub_027F1720 +sub_027F1720: ; 0x027F1720 stmdb sp!, {r4, r5, r6, lr} - ldr r1, _02020FB0 ; =0x0380FFF4 + ldr r1, _027F17C0 ; =0x0380FFF4 mov r6, r0 ldr r2, [r1] mov r1, #0x5e add r0, r2, #0x188 add r5, r2, #0x344 - bl sub_0302805C + bl sub_037F886C movs r4, r0 - bne _02020F48 + bne _027F1758 mov r0, #2 - bl sub_0201A85C + bl sub_027EB06C mov r0, r4 - b _02020FA8 -_02020F48: - ldr r0, _02020FB4 ; =0x0000FFFF + b _027F17B8 +_027F1758: + ldr r0, _027F17C4 ; =0x0000FFFF mov r1, r6 strh r0, [r4, #0xc] add r0, r4, #0x10 - bl sub_02021798 + bl sub_027F1FA8 ldrh r1, [r5, #0x7c] add r0, r4, #0x40 strh r1, [r4, #0x3c] ldrh r1, [r5, #0x70] strh r1, [r4, #0x3e] - bl sub_0202184C + bl sub_027F205C mov r5, r0 add r0, r4, #0x40 add r0, r0, r5 - bl sub_020218C0 + bl sub_027F20D0 add r0, r5, r0 add r0, r0, #4 strh r0, [r4, #0x16] @@ -20850,49 +20851,49 @@ _02020F48: strh r1, [r4, #0x22] strh r0, [r4, #0x24] add r0, r4, #0x10 -_02020FA8: +_027F17B8: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_02020FB0: .word 0x0380FFF4 -_02020FB4: .word 0x0000FFFF - arm_func_end sub_02020F10 +_027F17C0: .word 0x0380FFF4 +_027F17C4: .word 0x0000FFFF + arm_func_end sub_027F1720 - arm_func_start sub_02020FB8 -sub_02020FB8: ; 0x02020FB8 + arm_func_start sub_027F17C8 +sub_027F17C8: ; 0x027F17C8 stmdb sp!, {r4, r5, r6, lr} - ldr r1, _02021064 ; =0x0380FFF4 + ldr r1, _027F1874 ; =0x0380FFF4 mov r6, r0 ldr r2, [r1] mov r1, #0x64 add r0, r2, #0x188 add r5, r2, #0x344 - bl sub_0302805C + bl sub_037F886C movs r4, r0 - bne _02020FF0 + bne _027F1800 mov r0, #2 - bl sub_0201A85C + bl sub_027EB06C mov r0, r4 - b _0202105C -_02020FF0: - ldr r0, _02021068 ; =0x0000FFFF + b _027F186C +_027F1800: + ldr r0, _027F1878 ; =0x0000FFFF mov r1, r6 strh r0, [r4, #0xc] add r0, r4, #0x10 - bl sub_02021798 + bl sub_027F1FA8 ldrh r1, [r5, #0x7c] add r0, r4, #0x40 strh r1, [r4, #0x3c] ldrh r2, [r5, #0x70] add r1, r5, #0x82 strh r2, [r4, #0x3e] - bl sub_020198D0 + bl sub_027EA0E0 add r0, r4, #0x46 - bl sub_0202184C + bl sub_027F205C mov r5, r0 add r0, r4, #0x46 add r0, r0, r5 - bl sub_020218C0 + bl sub_027F20D0 add r0, r5, r0 add r0, r0, #0xa strh r0, [r4, #0x16] @@ -20902,50 +20903,50 @@ _02020FF0: strh r1, [r4, #0x22] strh r0, [r4, #0x24] add r0, r4, #0x10 -_0202105C: +_027F186C: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_02021064: .word 0x0380FFF4 -_02021068: .word 0x0000FFFF - arm_func_end sub_02020FB8 +_027F1874: .word 0x0380FFF4 +_027F1878: .word 0x0000FFFF + arm_func_end sub_027F17C8 - arm_func_start sub_0202106C -sub_0202106C: ; 0x0202106C + arm_func_start sub_027F187C +sub_027F187C: ; 0x027F187C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} - ldr r3, _020211D8 ; =0x0380FFF4 + ldr r3, _027F19E8 ; =0x0380FFF4 mov r7, r1 ldr r1, [r3] mov r8, r0 add r0, r1, #0x188 mov r1, #0x60 mov r6, r2 - bl sub_0302805C + bl sub_037F886C movs r4, r0 - bne _020210A8 + bne _027F18B8 mov r0, #2 - bl sub_0201A85C + bl sub_027EB06C mov r0, r4 - b _020211D0 -_020210A8: - ldr r0, _020211DC ; =0x0000FFFF + b _027F19E0 +_027F18B8: + ldr r0, _027F19EC ; =0x0000FFFF cmp r7, #0 strh r0, [r4, #0xc] - bne _020210CC + bne _027F18DC mov r0, r8 - bl sub_0201B6A0 + bl sub_027EBEB0 movs r5, r0 moveq r7, #0x13 - b _020210D0 -_020210CC: + b _027F18E0 +_027F18DC: mov r5, #0 -_020210D0: +_027F18E0: mov r0, r8 - bl sub_0201B830 + bl sub_027EC040 mov r1, r0 add r0, r4, #0x10 - bl sub_02021798 - ldr r0, _020211D8 ; =0x0380FFF4 + bl sub_027F1FA8 + ldr r0, _027F19E8 ; =0x0380FFF4 cmp r5, #0 ldr r0, [r0] add r0, r0, #0x300 @@ -20957,7 +20958,7 @@ _020210D0: orrne r0, r0, #0xc000 strneh r0, [r4, #0x40] add r0, r4, #0x42 - bl sub_020218C0 + bl sub_027F20D0 add r0, r0, #6 strh r0, [r4, #0x16] ldrh r1, [r4, #0x16] @@ -20969,89 +20970,89 @@ _020210D0: add r1, r4, #0x24 cmp r6, #0 add r8, r1, r0 - beq _020211B4 + beq _027F19C4 add r0, r6, #1 - bl sub_0201A540 + bl sub_027EAD50 mov sb, r0 mov r0, r6 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 mov r0, r8 - bl sub_0201A514 + bl sub_027EAD24 add r0, r8, #1 and r1, sb, #0xff add r8, r8, #2 - bl sub_0201A514 + bl sub_027EAD24 cmp sb, #0 mov r7, #0 - bls _020211CC + bls _027F19DC add r5, r6, #2 - b _020211A8 -_0202118C: + b _027F19B8 +_027F199C: add r0, r5, r7 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 mov r0, r8 - bl sub_0201A514 + bl sub_027EAD24 add r7, r7, #1 add r8, r8, #1 -_020211A8: +_027F19B8: cmp r7, sb - blo _0202118C - b _020211CC -_020211B4: + blo _027F199C + b _027F19DC +_027F19C4: mov r0, r8 mov r1, #0 - bl sub_0201A514 + bl sub_027EAD24 add r0, r8, #1 mov r1, #0 - bl sub_0201A514 -_020211CC: + bl sub_027EAD24 +_027F19DC: add r0, r4, #0x10 -_020211D0: +_027F19E0: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, lr} bx lr .align 2, 0 -_020211D8: .word 0x0380FFF4 -_020211DC: .word 0x0000FFFF - arm_func_end sub_0202106C +_027F19E8: .word 0x0380FFF4 +_027F19EC: .word 0x0000FFFF + arm_func_end sub_027F187C - arm_func_start sub_020211E0 -sub_020211E0: ; 0x020211E0 + arm_func_start sub_027F19F0 +sub_027F19F0: ; 0x027F19F0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r3, _02021338 ; =0x0380FFF4 + ldr r3, _027F1B48 ; =0x0380FFF4 mov r6, r1 ldr r1, [r3] mov r8, r0 add r0, r1, #0x188 mov r1, #0x60 mov r5, r2 - bl sub_0302805C + bl sub_037F886C movs r4, r0 - bne _0202121C + bne _027F1A2C mov r0, #2 - bl sub_0201A85C + bl sub_027EB06C mov r0, r4 - b _02021330 -_0202121C: - ldr r0, _0202133C ; =0x0000FFFF + b _027F1B40 +_027F1A2C: + ldr r0, _027F1B4C ; =0x0000FFFF cmp r6, #0 strh r0, [r4, #0xc] - bne _02021240 + bne _027F1A50 mov r0, r8 - bl sub_0201B6A0 + bl sub_027EBEB0 movs r7, r0 moveq r6, #0x13 - b _02021244 -_02021240: + b _027F1A54 +_027F1A50: mov r7, #0 -_02021244: +_027F1A54: mov r0, r8 - bl sub_0201B830 + bl sub_027EC040 mov r1, r0 add r0, r4, #0x10 - bl sub_02021798 - ldr r0, _02021338 ; =0x0380FFF4 + bl sub_027F1FA8 + ldr r0, _027F1B48 ; =0x0380FFF4 orr r2, r7, #0xc000 ldr r1, [r0] add r0, r4, #0x42 @@ -21060,7 +21061,7 @@ _02021244: strh r1, [r4, #0x3c] strh r6, [r4, #0x3e] strh r2, [r4, #0x40] - bl sub_020218C0 + bl sub_027F20D0 add r0, r0, #6 strh r0, [r4, #0x16] ldrh r1, [r4, #0x16] @@ -21072,78 +21073,78 @@ _02021244: add r1, r4, #0x24 cmp r5, #0 add r7, r1, r0 - beq _02021314 + beq _027F1B24 add r0, r5, #1 - bl sub_0201A540 + bl sub_027EAD50 mov r8, r0 mov r0, r5 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 mov r0, r7 - bl sub_0201A514 + bl sub_027EAD24 add r0, r7, #1 and r1, r8, #0xff - bl sub_0201A514 + bl sub_027EAD24 add r7, r7, #2 mov r6, #0 add r5, r5, #2 - b _02021308 -_020212EC: + b _027F1B18 +_027F1AFC: add r0, r5, r6 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 mov r0, r7 - bl sub_0201A514 + bl sub_027EAD24 add r7, r7, #1 add r6, r6, #1 -_02021308: +_027F1B18: cmp r6, r8 - blo _020212EC - b _0202132C -_02021314: + blo _027F1AFC + b _027F1B3C +_027F1B24: mov r0, r7 mov r1, #0 - bl sub_0201A514 + bl sub_027EAD24 add r0, r7, #1 mov r1, #0 - bl sub_0201A514 -_0202132C: + bl sub_027EAD24 +_027F1B3C: add r0, r4, #0x10 -_02021330: +_027F1B40: ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_02021338: .word 0x0380FFF4 -_0202133C: .word 0x0000FFFF - arm_func_end sub_020211E0 +_027F1B48: .word 0x0380FFF4 +_027F1B4C: .word 0x0000FFFF + arm_func_end sub_027F19F0 - arm_func_start sub_02021340 -sub_02021340: ; 0x02021340 + arm_func_start sub_027F1B50 +sub_027F1B50: ; 0x027F1B50 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _020213C4 ; =0x0380FFF4 + ldr r1, _027F1BD4 ; =0x0380FFF4 mov r4, r0 ldr r0, [r1] mov r1, #0x5a add r0, r0, #0x188 - bl sub_0302805C + bl sub_037F886C movs r5, r0 - bne _02021374 + bne _027F1B84 mov r0, #2 - bl sub_0201A85C + bl sub_027EB06C mov r0, r5 - b _020213BC -_02021374: - ldr r2, _020213C8 ; =0x0000FFFF + b _027F1BCC +_027F1B84: + ldr r2, _027F1BD8 ; =0x0000FFFF mov r1, r4 add r0, r5, #0x10 strh r2, [r5, #0xc] - bl sub_02021798 + bl sub_027F1FA8 add r0, r5, #0x3c - bl sub_0202184C + bl sub_027F205C mov r4, r0 add r0, r5, #0x3c add r0, r0, r4 - bl sub_020218C0 + bl sub_027F20D0 add r0, r4, r0 strh r0, [r5, #0x16] add r0, r0, #0x1c @@ -21151,70 +21152,70 @@ _02021374: mov r0, #0x40 strh r0, [r5, #0x24] add r0, r5, #0x10 -_020213BC: +_027F1BCC: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_020213C4: .word 0x0380FFF4 -_020213C8: .word 0x0000FFFF - arm_func_end sub_02021340 +_027F1BD4: .word 0x0380FFF4 +_027F1BD8: .word 0x0000FFFF + arm_func_end sub_027F1B50 - arm_func_start sub_020213CC -sub_020213CC: ; 0x020213CC + arm_func_start sub_027F1BDC +sub_027F1BDC: ; 0x027F1BDC stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} - ldr r1, _020215E0 ; =0x0380FFF4 + ldr r1, _027F1DF0 ; =0x0380FFF4 mov r5, r0 ldr r0, [r1] add r4, r0, #0x344 - bl sub_02020E64 + bl sub_027F1674 cmp r0, #0 moveq r0, #0 - beq _020215D8 - ldr r1, _020215E0 ; =0x0380FFF4 + beq _027F1DE8 + ldr r1, _027F1DF0 ; =0x0380FFF4 ldrh r0, [r4, #0xa0] ldr r2, [r1] add r1, r0, #0x78 add r0, r2, #0x188 - bl sub_0302805C + bl sub_037F886C movs r6, r0 - bne _02021420 + bne _027F1C30 mov r0, #2 - bl sub_0201A85C + bl sub_027EB06C mov r0, r6 - b _020215D8 -_02021420: - ldr r0, _020215E4 ; =0x0000FFFF + b _027F1DE8 +_027F1C30: + ldr r0, _027F1DF4 ; =0x0000FFFF mov r1, r5 strh r0, [r6, #0xc] add r0, r6, #0x10 - bl sub_02021798 + bl sub_027F1FA8 ldrh r1, [r4, #0x6e] add r0, r6, #0x48 strh r1, [r6, #0x44] ldrh r1, [r4, #0x7c] strh r1, [r6, #0x46] - bl sub_0202184C + bl sub_027F205C mov r4, r0 add r0, r6, #0x48 add r0, r0, r4 - bl sub_020218C0 + bl sub_027F20D0 add r7, r4, r0 add r0, r6, #0x48 add r4, r0, r7 mov r0, r4 mov r1, #3 - bl sub_0201A514 + bl sub_027EAD24 add r0, r4, #1 mov r1, #1 - bl sub_0201A514 - ldr r1, _020215E0 ; =0x0380FFF4 + bl sub_027EAD24 + ldr r1, _027F1DF0 ; =0x0380FFF4 add r0, r4, #2 ldr r1, [r1] add r1, r1, #0x300 ldrh r1, [r1, #0xbe] and r1, r1, #0xff - bl sub_0201A514 - ldr r0, _020215E0 ; =0x0380FFF4 + bl sub_027EAD24 + ldr r0, _027F1DF0 ; =0x0380FFF4 add r7, r7, #3 ldr r1, [r0] add r0, r6, #0x48 @@ -21224,69 +21225,69 @@ _02021420: mov r0, r5 mov r1, #0xdd mov sl, #0 - bl sub_0201A514 - ldr r1, _020215E0 ; =0x0380FFF4 + bl sub_027EAD24 + ldr r1, _027F1DF0 ; =0x0380FFF4 add r0, r5, #1 ldr r1, [r1] add r1, r1, #0x300 ldrh r1, [r1, #0xe4] add r1, r1, #8 and r1, r1, #0xff - bl sub_0201A514 + bl sub_027EAD24 add r0, r5, #2 mov r1, sl - bl sub_0201A514 + bl sub_027EAD24 add r0, r5, #3 mov r1, #9 - bl sub_0201A514 + bl sub_027EAD24 add r0, r5, #4 mov r1, #0xbf - bl sub_0201A514 + bl sub_027EAD24 add r0, r5, #5 mov r1, sl - bl sub_0201A514 + bl sub_027EAD24 ldrh r1, [r8, #0x20] add r0, r5, #6 and r1, r1, #0xff - bl sub_0201A514 + bl sub_027EAD24 ldrh r1, [r8, #0x20] add r0, r5, #7 mov r1, r1, asr #8 and r1, r1, #0xff - bl sub_0201A514 - ldr r1, _020215E8 ; =0x0380FFF0 + bl sub_027EAD24 + ldr r1, _027F1DF8 ; =0x0380FFF0 add r0, r5, #8 ldrh r8, [r1] and r1, r8, #0xff - bl sub_0201A514 + bl sub_027EAD24 mov r1, r8, lsr #8 add r0, r5, #9 and r1, r1, #0xff - bl sub_0201A514 + bl sub_027EAD24 ldrh r0, [r4, #0xa0] add sl, sl, #0xa cmp r0, #0 - beq _020215B4 + beq _027F1DC4 ldrh r0, [r4, #0xa2] ldr r8, [r4, #0x9c] tst r0, #1 addne r8, r8, #1 mov sb, #0 - b _020215A8 -_02021588: + b _027F1DB8 +_027F1D98: mov r0, r8 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 add r0, r5, sl - bl sub_0201A514 + bl sub_027EAD24 add sl, sl, #1 add r8, r8, #1 add sb, sb, #1 -_020215A8: +_027F1DB8: ldrh r0, [r4, #0xa0] cmp sb, r0 - blo _02021588 -_020215B4: + blo _027F1D98 +_027F1DC4: add r0, r7, sl add r0, r0, #0xc strh r0, [r6, #0x16] @@ -21296,56 +21297,56 @@ _020215B4: strh r1, [r6, #0x22] strh r0, [r6, #0x24] add r0, r6, #0x10 -_020215D8: +_027F1DE8: ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, lr} bx lr .align 2, 0 -_020215E0: .word 0x0380FFF4 -_020215E4: .word 0x0000FFFF -_020215E8: .word 0x0380FFF0 - arm_func_end sub_020213CC +_027F1DF0: .word 0x0380FFF4 +_027F1DF4: .word 0x0000FFFF +_027F1DF8: .word 0x0380FFF0 + arm_func_end sub_027F1BDC - arm_func_start sub_020215EC -sub_020215EC: ; 0x020215EC + arm_func_start sub_027F1DFC +sub_027F1DFC: ; 0x027F1DFC stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 cmp r2, #0 - beq _02021610 - bl sub_02020E64 + beq _027F1E20 + bl sub_027F1674 cmp r0, #0 moveq r0, #0 - beq _0202169C -_02021610: - ldr r0, _020216A4 ; =0x0380FFF4 + beq _027F1EAC +_027F1E20: + ldr r0, _027F1EB4 ; =0x0380FFF4 add r1, r5, #0x3d ldr r0, [r0] add r0, r0, #0x188 - bl sub_0302805C + bl sub_037F886C movs r4, r0 - bne _0202163C + bne _027F1E4C mov r0, #2 - bl sub_0201A85C + bl sub_027EB06C mov r0, r4 - b _0202169C -_0202163C: - ldr r2, _020216A8 ; =0x0000FFFF + b _027F1EAC +_027F1E4C: + ldr r2, _027F1EB8 ; =0x0000FFFF mov r1, r6 add r0, r4, #0x10 strh r2, [r4, #0xc] - bl sub_02021798 + bl sub_027F1FA8 cmp r5, #0 - beq _0202167C + beq _027F1E8C add r0, r4, #0x42 mov r1, #0x10 - bl sub_0201A514 + bl sub_027EAD24 add r0, r4, #0x43 and r1, r5, #0xff - bl sub_0201A514 + bl sub_027EAD24 add r0, r5, #2 mov r0, r0, lsl #0x10 mov r5, r0, lsr #0x10 -_0202167C: +_027F1E8C: add r0, r5, #6 strh r0, [r4, #0x16] ldrh r1, [r4, #0x16] @@ -21354,43 +21355,43 @@ _0202167C: strh r1, [r4, #0x22] strh r0, [r4, #0x24] add r0, r4, #0x10 -_0202169C: +_027F1EAC: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_020216A4: .word 0x0380FFF4 -_020216A8: .word 0x0000FFFF - arm_func_end sub_020215EC +_027F1EB4: .word 0x0380FFF4 +_027F1EB8: .word 0x0000FFFF + arm_func_end sub_027F1DFC - arm_func_start sub_020216AC -sub_020216AC: ; 0x020216AC + arm_func_start sub_027F1EBC +sub_027F1EBC: ; 0x027F1EBC stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 cmp r2, #0 - beq _020216D0 - bl sub_02020E64 + beq _027F1EE0 + bl sub_027F1674 cmp r0, #0 moveq r0, #0 - beq _02021730 -_020216D0: - ldr r0, _02021738 ; =0x0380FFF4 + beq _027F1F40 +_027F1EE0: + ldr r0, _027F1F48 ; =0x0380FFF4 mov r1, #0x36 ldr r0, [r0] add r0, r0, #0x188 - bl sub_0302805C + bl sub_037F886C movs r4, r0 - bne _020216FC + bne _027F1F0C mov r0, #2 - bl sub_0201A85C + bl sub_027EB06C mov r0, r4 - b _02021730 -_020216FC: - ldr r0, _0202173C ; =0x0000FFFF + b _027F1F40 +_027F1F0C: + ldr r0, _027F1F4C ; =0x0000FFFF mov r1, r6 strh r0, [r4, #0xc] add r0, r4, #0x10 - bl sub_02021798 + bl sub_027F1FA8 strh r5, [r4, #0x3c] mov r0, #2 strh r0, [r4, #0x16] @@ -21399,18 +21400,18 @@ _020216FC: mov r0, #0xc0 strh r0, [r4, #0x24] add r0, r4, #0x10 -_02021730: +_027F1F40: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_02021738: .word 0x0380FFF4 -_0202173C: .word 0x0000FFFF - arm_func_end sub_020216AC +_027F1F48: .word 0x0380FFF4 +_027F1F4C: .word 0x0000FFFF + arm_func_end sub_027F1EBC - arm_func_start sub_02021740 -sub_02021740: ; 0x02021740 + arm_func_start sub_027F1F50 +sub_027F1F50: ; 0x027F1F50 stmdb sp!, {r3, lr} - ldr ip, _02021794 ; =0x0380FFF4 + ldr ip, _027F1FA4 ; =0x0380FFF4 mov r2, #0 ldr r3, [ip] mov r1, #0x14 @@ -21427,186 +21428,186 @@ sub_02021740: ; 0x02021740 add r0, r3, #0x10 add r1, r2, #0x3a8 add r2, r2, #0x324 - bl sub_020198EC + bl sub_027EA0FC ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02021794: .word 0x0380FFF4 - arm_func_end sub_02021740 +_027F1FA4: .word 0x0380FFF4 + arm_func_end sub_027F1F50 - arm_func_start sub_02021798 -sub_02021798: ; 0x02021798 + arm_func_start sub_027F1FA8 +sub_027F1FA8: ; 0x027F1FA8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r1, r5 mov r0, #0 mov r2, #0x2c - bl sub_0302D764 - bl sub_02019D68 + bl sub_037FDF74 + bl sub_027EA578 strh r0, [r5, #0x10] - ldr r0, _020217E0 ; =0x0380FFF4 + ldr r0, _027F1FF0 ; =0x0380FFF4 mov r1, r4 ldr r3, [r0] add r0, r5, #0x18 add r2, r3, #0x324 add r3, r3, #0x3a8 - bl sub_02019920 + bl sub_027EA130 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_020217E0: .word 0x0380FFF4 - arm_func_end sub_02021798 +_027F1FF0: .word 0x0380FFF4 + arm_func_end sub_027F1FA8 - arm_func_start sub_020217E4 -sub_020217E4: ; 0x020217E4 + arm_func_start sub_027F1FF4 +sub_027F1FF4: ; 0x027F1FF4 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r2, _02021848 ; =0x0380FFF4 + ldr r2, _027F2058 ; =0x0380FFF4 mov r7, r0 ldr r0, [r2] mov r6, r1 ldr r5, [r0, #0x1a0] mvn r4, #0 - b _02021834 -_02021804: + b _027F2044 +_027F2014: ldrh r0, [r5, #0x24] cmp r0, r6 - bne _02021828 + bne _027F2038 mov r1, r7 add r0, r5, #0x28 - bl sub_02019C64 + bl sub_027EA474 cmp r0, #0 movne r0, #1 - bne _02021840 -_02021828: + bne _027F2050 +_027F2038: mov r0, r5 - bl sub_03028270 + bl sub_037F8A80 mov r5, r0 -_02021834: +_027F2044: cmp r5, r4 - bne _02021804 + bne _027F2014 mov r0, #0 -_02021840: +_027F2050: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02021848: .word 0x0380FFF4 - arm_func_end sub_020217E4 +_027F2058: .word 0x0380FFF4 + arm_func_end sub_027F1FF4 - arm_func_start sub_0202184C -sub_0202184C: ; 0x0202184C + arm_func_start sub_027F205C +sub_027F205C: ; 0x027F205C stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r1, _020218BC ; =0x0380FFF4 + ldr r1, _027F20CC ; =0x0380FFF4 mov r5, #0 ldr r1, [r1] mov r8, r0 add r4, r1, #0x344 ldrh r6, [r4, #0x1e] mov r1, r5 - bl sub_0201A514 + bl sub_027EAD24 add r0, r8, #1 and r1, r6, #0xff - bl sub_0201A514 + bl sub_027EAD24 add r5, r5, #2 mov r7, #0 add r4, r4, #0x20 - b _020218A8 -_0202188C: + b _027F20B8 +_027F209C: add r0, r4, r7 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 add r0, r8, r5 - bl sub_0201A514 + bl sub_027EAD24 add r5, r5, #1 add r7, r7, #1 -_020218A8: +_027F20B8: cmp r7, r6 - blo _0202188C + blo _027F209C mov r0, r5 ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_020218BC: .word 0x0380FFF4 - arm_func_end sub_0202184C +_027F20CC: .word 0x0380FFF4 + arm_func_end sub_027F205C - arm_func_start sub_020218C0 -sub_020218C0: ; 0x020218C0 + arm_func_start sub_027F20D0 +sub_027F20D0: ; 0x027F20D0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} - ldr r2, _0202195C ; =0x0380FFF4 + ldr r2, _027F216C ; =0x0380FFF4 mov r1, #1 ldr r2, [r2] mov sb, r0 add r6, r2, #0x344 mov r7, #0 - bl sub_0201A514 - ldr r4, _02021960 ; =0x027F74C4 + bl sub_027EAD24 + ldr r4, _027F2170 ; =0x027F74C4 add r7, r7, #2 mov r8, #0 mov r5, #1 -_020218F0: +_027F2100: ldrh r0, [r6, #0x62] tst r0, r5, lsl r8 - beq _02021934 + beq _027F2144 ldrh r0, [r6, #0x60] tst r0, r5, lsl r8 mov r0, r8, lsl #1 ldrh r1, [r4, r0] - beq _02021924 + beq _027F2134 orr r1, r1, #0x80 add r0, sb, r7 and r1, r1, #0xff - bl sub_0201A514 - b _02021930 -_02021924: + bl sub_027EAD24 + b _027F2140 +_027F2134: add r0, sb, r7 and r1, r1, #0xff - bl sub_0201A514 -_02021930: + bl sub_027EAD24 +_027F2140: add r7, r7, #1 -_02021934: +_027F2144: add r8, r8, #1 cmp r8, #0x10 - blo _020218F0 + blo _027F2100 sub r1, r7, #2 add r0, sb, #1 and r1, r1, #0xff - bl sub_0201A514 + bl sub_027EAD24 mov r0, r7 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, lr} bx lr .align 2, 0 -_0202195C: .word 0x0380FFF4 -_02021960: .word 0x027F74C4 - arm_func_end sub_020218C0 +_027F216C: .word 0x0380FFF4 +_027F2170: .word 0x027F74C4 + arm_func_end sub_027F20D0 - arm_func_start sub_02021964 -sub_02021964: ; 0x02021964 + arm_func_start sub_027F2174 +sub_027F2174: ; 0x027F2174 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} - ldr r1, _02021C30 ; =0x0380FFF4 + ldr r1, _027F2440 ; =0x0380FFF4 mvn r0, #0 ldr r4, [r1] add r7, r4, #0x17c ldr r5, [r7, #0x48] add r6, r4, #0x344 cmp r5, r0 - beq _02021C28 + beq _027F2438 ldrh r0, [r6, #8] cmp r0, #0x40 - beq _020219A4 + beq _027F21B4 mov r1, r5 add r0, r7, #0x48 - bl sub_030280F8 - b _02021C28 -_020219A4: + bl sub_037F8908 + b _027F2438 +_027F21B4: ldrh r0, [r5, #0x24] mov r0, r0, lsl #0x17 movs r0, r0, lsr #0x1f - beq _020219BC + beq _027F21CC ldrh r0, [r5, #0x34] - b _020219C0 -_020219BC: + b _027F21D0 +_027F21CC: ldrh r0, [r5, #0x28] -_020219C0: +_027F21D0: tst r0, #1 ldrne r0, [r4, #0x568] mov sb, #1 @@ -21626,128 +21627,128 @@ _020219C0: str r0, [r4, #0x560] ldrh r2, [r6, #0xc] cmp r2, #1 - beq _02021A20 + beq _027F2230 cmp r2, #2 cmpne r2, #3 - beq _02021AFC - b _02021B9C -_02021A20: + beq _027F230C + b _027F23AC +_027F2230: ldrh r0, [r5, #0x24] tst r0, #1 - bne _02021B9C + bne _027F23AC add r0, r5, #0x2e - bl sub_0201B0F0 + bl sub_027EB900 mov r8, r0 cmp r8, #0xff - beq _02021A4C - bl sub_0201B7D0 + beq _027F225C + bl sub_027EBFE0 cmp r0, #0x40 - beq _02021AB0 -_02021A4C: + beq _027F22C0 +_027F225C: mov r0, r8 - bl sub_0201B7D0 + bl sub_027EBFE0 cmp r0, #0x30 add r0, r5, #0x2e - bne _02021A80 + bne _027F2290 mov r1, #0xa0 - bl sub_020217E4 + bl sub_027F1FF4 cmp r0, #0 - bne _02021B9C + bne _027F23AC add r0, r5, #0x2e mov r1, #7 - bl sub_02020E94 - b _02021AA0 -_02021A80: + bl sub_027F16A4 + b _027F22B0 +_027F2290: mov r1, #0xc0 - bl sub_020217E4 + bl sub_027F1FF4 cmp r0, #0 - bne _02021B9C + bne _027F23AC add r0, r5, #0x2e mov r1, #7 mov r2, #1 - bl sub_020216AC -_02021AA0: + bl sub_027F1EBC +_027F22B0: cmp r0, #0 - beq _02021B9C - bl sub_0202086C - b _02021B9C -_02021AB0: + beq _027F23AC + bl sub_027F107C + b _027F23AC +_027F22C0: ldrh r1, [r5, #0x24] mov r0, r8, lsl #0x10 mov r1, r1, lsl #0x13 mov r0, r0, lsr #0x10 mov r1, r1, lsr #0x1f - bl sub_0201B53C + bl sub_027EBD4C mov r0, r8 - bl sub_0201B870 + bl sub_027EC080 ldrh r1, [r5, #0x3a] cmp r1, r0 ldreq r0, [r4, #0x578] addeq r0, r0, #1 streq r0, [r4, #0x578] - beq _02021B9C + beq _027F23AC add r0, r5, #0x28 add r1, r5, #0x34 - bl sub_020198D0 + bl sub_027EA0E0 mov sb, #0 - b _02021B9C -_02021AFC: + b _027F23AC +_027F230C: ldrh r1, [r5, #0x24] tst r1, #1 - bne _02021B9C + bne _027F23AC ldrh r0, [r6, #0xe] cmp r0, #0 - beq _02021B68 + beq _027F2378 tst r1, #0x2000 - bne _02021B68 + bne _027F2378 ldrh r0, [r5, #0x28] tst r0, #1 ldrneh r0, [r6, #0x8e] bicne r0, r0, #1 strneh r0, [r6, #0x8e] - bne _02021B44 + bne _027F2354 cmp r2, #3 ldrneh r0, [r6, #0x8e] bicne r0, r0, #2 strneh r0, [r6, #0x8e] -_02021B44: +_027F2354: ldrh r0, [r6, #0x8e] cmp r0, #0 ldreqh r0, [r7, #0x20] cmpeq r0, #0 ldreqh r0, [r7, #0x2c] cmpeq r0, #0 - bne _02021B68 + bne _027F2378 mov r0, #1 - bl sub_020194A4 -_02021B68: + bl sub_027E9CB4 +_027F2378: ldrh r8, [r6, #0x88] mov r0, r8 - bl sub_0201B870 + bl sub_027EC080 ldrh r1, [r5, #0x3a] cmp r1, r0 ldreq r0, [r4, #0x578] addeq r0, r0, #1 streq r0, [r4, #0x578] - beq _02021B9C + beq _027F23AC add r0, r5, #0x2e add r1, r5, #0x34 - bl sub_020198D0 + bl sub_027EA0E0 mov sb, #0 -_02021B9C: +_027F23AC: cmp sb, #0 - bne _02021C04 + bne _027F2414 mov r0, r8, lsl #0x10 mov r0, r0, lsr #0x10 strh r0, [r5, #0x12] ldrh r1, [r5, #0x22] and r1, r1, #0xff - bl sub_0201B51C + bl sub_027EBD2C ldrh r1, [r5, #0x3a] mov r0, r8 - bl sub_0201B63C + bl sub_027EBE4C mov r0, r8 - bl sub_0201B67C + bl sub_027EBE8C ldrh r1, [r5, #0x20] mov r0, #0x180 sub r1, r1, #0x18 @@ -21759,30 +21760,30 @@ _02021B9C: mov r2, r0, lsr #1 add r0, r7, #0x48 strh r2, [r5, #0xe] - bl sub_03028548 - b _02021C10 -_02021C04: + bl sub_037F8D58 + b _027F2420 +_027F2414: mov r1, r5 add r0, r7, #0x48 - bl sub_030280F8 -_02021C10: + bl sub_037F8908 +_027F2420: ldrh r0, [r7, #0x50] cmp r0, #0 - beq _02021C28 + beq _027F2438 mov r0, #2 mov r1, #6 - bl sub_03027D88 -_02021C28: + bl sub_037F8598 +_027F2438: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, lr} bx lr .align 2, 0 -_02021C30: .word 0x0380FFF4 - arm_func_end sub_02021964 +_027F2440: .word 0x0380FFF4 + arm_func_end sub_027F2174 - arm_func_start sub_02021C34 -sub_02021C34: ; 0x02021C34 + arm_func_start sub_027F2444 +sub_027F2444: ; 0x027F2444 stmdb sp!, {r4, r5, r6, lr} - ldr r1, _02021DA0 ; =0x0380FFF4 + ldr r1, _027F25B0 ; =0x0380FFF4 mov r6, r0 ldr r0, [r1] add r4, r0, #0x344 @@ -21791,21 +21792,21 @@ sub_02021C34: ; 0x02021C34 cmp r1, #0x40 add r5, r0, #0x400 movne r0, #1 - bne _02021D98 + bne _027F25A8 add r0, r6, #0x1e add r1, r4, #0x64 - bl sub_02019C64 + bl sub_027EA474 cmp r0, #0 - beq _02021C88 + beq _027F2498 add r0, r6, #0x24 add r1, r4, #0x82 - bl sub_02019C64 + bl sub_027EA474 cmp r0, #0 - bne _02021C90 -_02021C88: + bne _027F24A0 +_027F2498: mov r0, #1 - b _02021D98 -_02021C90: + b _027F25A8 +_027F24A0: ldrh r0, [r4, #0x6a] mov r1, #1 mov r0, r1, lsl r0 @@ -21815,10 +21816,10 @@ _02021C90: moveq r0, #0 movne r0, #0x2000 strh r0, [r5, #6] - ldr r0, _02021DA4 ; =0x04808098 + ldr r0, _027F25B4 ; =0x04808098 ldrh r0, [r0] tst r0, #0x8000 - beq _02021CE8 + beq _027F24F8 mov r0, r0, lsl #0x11 mov r0, r0, lsr #0x10 add r0, r0, #0x4800000 @@ -21828,11 +21829,11 @@ _02021C90: ldrneh r0, [r5, #6] orrne r0, r0, #0x4000 strneh r0, [r5, #6] -_02021CE8: +_027F24F8: ldrh r0, [r4, #0x88] - bl sub_0201B67C + bl sub_027EBE8C ldrh r1, [r6, #0x10] - ldr r0, _02021DA8 ; =0x00000182 + ldr r0, _027F25B8 ; =0x00000182 sub r1, r1, #0x1c strh r1, [r6, #6] sub r1, r6, #0x10 @@ -21843,16 +21844,16 @@ _02021CE8: mov r2, r2, lsr #1 strh r2, [r1, #0xe] ldrh r2, [r1, #0x3e] - b _02021D34 -_02021D24: + b _027F2544 +_027F2534: tst r2, #1 mov r2, r2, lsl #0xf addne r0, r0, #1 mov r2, r2, lsr #0x10 -_02021D34: +_027F2544: cmp r2, #0 - bne _02021D24 - ldr r2, _02021DAC ; =0x04808094 + bne _027F2534 + ldr r2, _027F25BC ; =0x04808094 ldrh r3, [r5, #6] ldrh r4, [r2] ldrh r2, [r2, #4] @@ -21869,26 +21870,26 @@ _02021D34: mul r2, r0, r2 add r0, r2, #0xfc add r2, r3, r0, lsr #4 - ldr r0, _02021DA0 ; =0x0380FFF4 + ldr r0, _027F25B0 ; =0x0380FFF4 strh r2, [r1, #0x1a] ldr r0, [r0] add r0, r0, #0x188 - bl sub_03028548 + bl sub_037F8D58 mov r0, #0 -_02021D98: +_027F25A8: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_02021DA0: .word 0x0380FFF4 -_02021DA4: .word 0x04808098 -_02021DA8: .word 0x00000182 -_02021DAC: .word 0x04808094 - arm_func_end sub_02021C34 +_027F25B0: .word 0x0380FFF4 +_027F25B4: .word 0x04808098 +_027F25B8: .word 0x00000182 +_027F25BC: .word 0x04808094 + arm_func_end sub_027F2444 - arm_func_start sub_02021DB0 -sub_02021DB0: ; 0x02021DB0 + arm_func_start sub_027F25C0 +sub_027F25C0: ; 0x027F25C0 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r1, _02021F58 ; =0x0380FFF4 + ldr r1, _027F2768 ; =0x0380FFF4 mov r7, r0 ldr r1, [r1] add r0, r1, #0x2c @@ -21896,67 +21897,67 @@ sub_02021DB0: ; 0x02021DB0 ldrh r0, [r5, #0x3c] ldr r4, [r5, #0x90] cmp r0, #0 - beq _02021F50 + beq _027F2760 add r0, r7, #0x18 add r1, r1, #0x3a8 - bl sub_02019C64 + bl sub_027EA474 cmp r0, #0 - beq _02021F50 + beq _027F2760 ldrh r1, [r7, #0x10] ldrh r0, [r4, #0x16] sub r1, r1, #0x18 sub r0, r0, #8 cmp r1, r0 - bgt _02021F50 + bgt _027F2760 add r0, r7, #0x1e - bl sub_0201B0F0 + bl sub_027EB900 mov r6, r0 cmp r6, #0xff - beq _02021E2C + beq _027F263C cmp r6, #0 - beq _02021E68 - bl sub_0201B7D0 + beq _027F2678 + bl sub_027EBFE0 cmp r0, #0x40 - beq _02021E68 -_02021E2C: + beq _027F2678 +_027F263C: add r0, r7, #0x1e mov r1, #0xc0 - bl sub_020217E4 + bl sub_027F1FF4 cmp r0, #0 - bne _02021F50 + bne _027F2760 add r0, r7, #0x1e mov r1, #7 mov r2, #0 - bl sub_020216AC + bl sub_027F1EBC cmp r0, #0 - beq _02021F50 + beq _027F2760 mov r1, #2 strh r1, [r0] - bl sub_0202086C - b _02021F50 -_02021E68: + bl sub_027F107C + b _027F2760 +_027F2678: cmp r6, #0 - beq _02021F50 + beq _027F2760 ldrh r1, [r7, #0x14] mov r0, r6, lsl #0x10 mov r1, r1, lsl #0x13 mov r0, r0, lsr #0x10 mov r1, r1, lsr #0x1f - bl sub_0201B53C + bl sub_027EBD4C mov r0, r6 - bl sub_0201B67C + bl sub_027EBE8C mov r0, r6 - bl sub_0201B8BC + bl sub_027EC0CC mov r1, #1 mov r0, r1, lsl r0 mov r0, r0, lsl #0x10 ldrh r1, [r5, #0x9a] mov r2, r0, lsr #0x10 tst r2, r1 - bne _02021F50 + bne _027F2760 ldrh r0, [r5, #0x98] tst r2, r0 - beq _02021F50 + beq _027F2760 orr r0, r1, r2 strh r0, [r5, #0x9a] ldrh r1, [r4, #0x10] @@ -21966,46 +21967,46 @@ _02021E68: strh r1, [r4, #0x10] add r6, r4, #0x1a mov r1, r0, lsr #0x10 - b _02021F00 -_02021EE8: + b _027F2710 +_027F26F8: ldrh r0, [r5, #0x98] tst r1, r0 ldrneh r0, [r4, #0x16] addne r6, r6, r0 mov r0, r1, lsl #0xf mov r1, r0, lsr #0x10 -_02021F00: +_027F2710: cmp r1, #1 - bne _02021EE8 + bne _027F26F8 ldrh r1, [r7, #0x10] add r0, r6, #3 sub r1, r1, #0x18 strh r1, [r6] ldrh r1, [r7, #0x12] and r1, r1, #0xff - bl sub_0201A514 + bl sub_027EAD24 ldrh r1, [r7, #0xe] add r0, r6, #2 and r1, r1, #0xff - bl sub_0201A514 + bl sub_027EAD24 ldrh r2, [r6] cmp r2, #0 - beq _02021F50 + beq _027F2760 add r0, r7, #0x2c add r1, r6, #8 add r2, r2, #1 - bl sub_0302D78C -_02021F50: + bl sub_037FDF9C +_027F2760: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02021F58: .word 0x0380FFF4 - arm_func_end sub_02021DB0 +_027F2768: .word 0x0380FFF4 + arm_func_end sub_027F25C0 - arm_func_start sub_02021F5C -sub_02021F5C: ; 0x02021F5C + arm_func_start sub_027F276C +sub_027F276C: ; 0x027F276C stmdb sp!, {r3, r4, r5, lr} - ldr r1, _02022024 ; =0x0380FFF4 + ldr r1, _027F2834 ; =0x0380FFF4 mov r4, r0 ldr r1, [r1] add r0, r1, #0x300 @@ -22013,31 +22014,31 @@ sub_02021F5C: ; 0x02021F5C add r5, r1, #0x344 cmp r0, #0x40 movne r0, #1 - bne _0202201C + bne _027F282C add r0, r4, #0x1e add r1, r5, #0x64 - bl sub_02019C64 + bl sub_027EA474 cmp r0, #0 - beq _02021FAC + beq _027F27BC add r0, r4, #0x24 add r1, r5, #0x82 - bl sub_02019C64 + bl sub_027EA474 cmp r0, #0 - bne _02021FB4 -_02021FAC: + bne _027F27C4 +_027F27BC: mov r0, #1 - b _0202201C -_02021FB4: + b _027F282C +_027F27C4: ldrh r1, [r4, #0x10] - ldr r0, _02022028 ; =0x00000185 + ldr r0, _027F2838 ; =0x00000185 sub r1, r1, #0x1c strh r1, [r4, #6] sub r1, r4, #0x10 strh r0, [r1, #0xc] mov r0, #0x18 strh r0, [r1, #0xe] - ldr r4, _02022024 ; =0x0380FFF4 - ldr r2, _0202202C ; =0x04808094 + ldr r4, _027F2834 ; =0x0380FFF4 + ldr r2, _027F283C ; =0x04808094 ldr r0, [r4] ldrh ip, [r2] add r0, r0, #0x400 @@ -22052,22 +22053,22 @@ _02021FB4: strh r0, [r1, #0x18] ldr r0, [r4] add r0, r0, #0x188 - bl sub_03028548 + bl sub_037F8D58 mov r0, #0 -_0202201C: +_027F282C: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02022024: .word 0x0380FFF4 -_02022028: .word 0x00000185 -_0202202C: .word 0x04808094 - arm_func_end sub_02021F5C +_027F2834: .word 0x0380FFF4 +_027F2838: .word 0x00000185 +_027F283C: .word 0x04808094 + arm_func_end sub_027F276C - arm_func_start sub_02022030 -sub_02022030: ; 0x02022030 + arm_func_start sub_027F2840 +sub_027F2840: ; 0x027F2840 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x44 - ldr r1, _02022658 ; =0x0380FFF4 + ldr r1, _027F2E68 ; =0x0380FFF4 mov sl, r0 ldr r3, [r1] add r0, sl, #0x1e @@ -22079,22 +22080,22 @@ sub_02022030: ; 0x02022030 add r5, r1, #0x400 add r6, r3, #0x31c add r7, r3, #0x17c - bl sub_0201B198 + bl sub_027EB9A8 mov r8, r0 mov r0, r8, lsl #0x10 mov r0, r0, lsr #0x10 strh r0, [sl, #2] cmp r8, #0xff - beq _0202264C + beq _027F2E5C ldrh r1, [sl, #0x12] - bl sub_0201B51C + bl sub_027EBD2C ldrh sb, [sl, #6] cmp sb, #0xc - bls _0202264C + bls _027F2E5C add r1, sp, #0x18 mov r0, #0 mov r2, #0x2c - bl sub_0302D7C0 + bl sub_037FDFD0 add r2, sl, #0x38 sub r1, sb, #0xc mov r0, #2 @@ -22113,43 +22114,43 @@ sub_02022030: ; 0x02022030 strh r1, [sp, #0x1c] ldrh r1, [sl, #0x36] strh r1, [sp, #0x1e] - bl sub_02023400 + bl sub_027F3C10 ldr sb, [sp, #0x38] cmp sb, #0 - beq _0202212C + beq _027F293C ldrh r0, [sl, #0x16] tst r0, #0x8000 - beq _0202212C + beq _027F293C add r0, sb, #6 - bl sub_0201A540 + bl sub_027EAD50 mov fp, r0 add r0, sb, #7 - bl sub_0201A540 - ldr r1, _0202265C ; =0x0480810C + bl sub_027EAD50 + ldr r1, _027F2E6C ; =0x0480810C add r0, fp, r0, lsl #8 strh r0, [r1] -_0202212C: +_027F293C: ldrh r1, [r5] cmp r1, #0x13 ldreq r0, [r5, #0x18] ldreqh r0, [r0, #0x38] cmpeq r0, #1 - bne _02022164 + bne _027F2974 ldrh r0, [sp, #0x22] and r0, r0, #9 cmp r0, #9 - bne _02022634 + bne _027F2E44 add r1, sp, #0x18 mov r0, sl - bl sub_020229E0 - b _02022634 -_02022164: + bl sub_027F31F0 + b _027F2E44 +_027F2974: ldrh r0, [sp, #0x22] tst r0, #8 - beq _02022634 + beq _027F2E44 cmp r1, #0x21 - bne _020222EC - bl sub_0201A3D0 + bne _027F2AFC + bl sub_027EABE0 ldrh r0, [sp, #0x22] and r0, r0, #0x30 cmp r0, #0x30 @@ -22157,155 +22158,155 @@ _02022164: strneh r0, [r5, #4] movne r0, #0xa strneh r0, [r5, #6] - bne _020222C8 + bne _027F2AD8 ldrh r0, [sl, #0x34] cmp r0, #0x3e8 movhi r0, #0xc strhih r0, [r5, #4] movhi r0, #1 strhih r0, [r5, #6] - bhi _020222C8 + bhi _027F2AD8 mov r1, #0 strh r1, [r5, #4] ldrh r0, [sp, #0x24] tst r0, #2 - beq _020221E0 + beq _027F29F0 ldrh r0, [sp, #0x22] tst r0, #2 - bne _020221E0 + bne _027F29F0 ldrh r0, [sp, #0x2a] - bl sub_020190F0 -_020221E0: + bl sub_027E9900 +_027F29F0: ldrh r1, [sp, #0x2e] mov r0, r8 - bl sub_0201B61C + bl sub_027EBE2C ldrh r0, [r4, #0xc] cmp r0, #2 - bne _02022270 + bne _027F2A80 ldr sb, [sp, #0x40] cmp sb, #0 - beq _02022258 + beq _027F2A68 add r0, sb, #6 - bl sub_0201A540 + bl sub_027EAD50 mov fp, r0 add r0, sb, #7 - bl sub_0201A540 + bl sub_027EAD50 add r0, fp, r0, lsl #8 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, #1 - bl sub_020189A0 + bl sub_027E91B0 ldr r0, [sp, #0x40] add r0, r0, #8 - bl sub_0201A540 + bl sub_027EAD50 ldr r1, [sp, #0x40] mov sb, r0 add r0, r1, #9 - bl sub_0201A540 + bl sub_027EAD50 add r1, sb, r0, lsl #8 - ldr r0, _02022660 ; =0x0380FFF0 + ldr r0, _027F2E70 ; =0x0380FFF0 strh r1, [r0] - b _02022270 -_02022258: - ldr r0, _02022664 ; =0x0000FFFF + b _027F2A80 +_027F2A68: + ldr r0, _027F2E74 ; =0x0000FFFF mov r1, #1 - bl sub_020189A0 - ldr r0, _02022660 ; =0x0380FFF0 + bl sub_027E91B0 + ldr r0, _027F2E70 ; =0x0380FFF0 mov r1, #0 strh r1, [r0] -_02022270: +_027F2A80: ldr r0, [sp, #0x3c] add r0, r0, #3 - bl sub_0201A540 - bl sub_02018F28 + bl sub_027EAD50 + bl sub_027E9738 ldr r0, [sp, #0x3c] add r0, r0, #2 - bl sub_0201A540 + bl sub_027EAD50 strh r0, [r4, #0x76] ldrh r0, [sl, #0x34] - bl sub_02018ED0 + bl sub_027E96E0 mov r0, #1 strh r0, [r4, #0x12] strh r0, [r4, #0x1a] ldrh r0, [r4, #0xc] cmp r0, #2 - ldreq r0, _02022668 ; =0x04808048 + ldreq r0, _027F2E78 ; =0x04808048 moveq r1, #3 streqh r1, [r0] - ldr r1, _0202266C ; =0x04808038 + ldr r1, _027F2E7C ; =0x04808038 ldrh r0, [r1] orr r0, r0, #1 strh r0, [r1] -_020222C8: +_027F2AD8: ldr r0, [r5, #0x1c] add r1, sl, #0x1e add r0, r0, #8 - bl sub_020198D0 + bl sub_027EA0E0 mov r2, #0x25 mov r0, #2 mov r1, #1 strh r2, [r5] - bl sub_03027D88 -_020222EC: + bl sub_037F8598 +_027F2AFC: ldrh r0, [r4, #0xc] cmp r0, #2 - beq _02022304 + beq _027F2B14 cmp r0, #3 - beq _020223BC - b _0202261C -_02022304: + beq _027F2BCC + b _027F2E2C +_027F2B14: ldr sb, [sp, #0x40] cmp sb, #0 - beq _020223BC + beq _027F2BCC add r0, sb, #6 - bl sub_0201A540 + bl sub_027EAD50 mov r5, r0 add r0, sb, #7 - bl sub_0201A540 + bl sub_027EAD50 add r0, r5, r0, lsl #8 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, #0 - bl sub_020189A0 + bl sub_027E91B0 ldr r0, [sp, #0x40] add r0, r0, #8 - bl sub_0201A540 + bl sub_027EAD50 ldr r1, [sp, #0x40] mov r5, r0 add r0, r1, #9 - bl sub_0201A540 - ldr r1, _02022660 ; =0x0380FFF0 + bl sub_027EAD50 + ldr r1, _027F2E70 ; =0x0380FFF0 add r0, r5, r0, lsl #8 strh r0, [r1] ldr r0, [sp, #0x40] add r0, r0, #1 - bl sub_0201A540 + bl sub_027EAD50 sub r0, r0, #8 strh r0, [r4, #0xa0] ldrh r2, [r4, #0xa0] cmp r2, #0 - beq _020223BC + beq _027F2BCC ldr r0, [sp, #0x40] ldr r1, [r4, #0x9c] tst r0, #1 - beq _020223A8 + beq _027F2BB8 add r0, r0, #9 add r2, r2, #2 - bl sub_0302D78C + bl sub_037FDF9C mov r0, #1 strh r0, [r4, #0xa2] - b _020223BC -_020223A8: + b _027F2BCC +_027F2BB8: add r0, r0, #0xa add r2, r2, #1 - bl sub_0302D78C + bl sub_037FDF9C mov r0, #0 strh r0, [r4, #0xa2] -_020223BC: +_027F2BCC: mov r1, #0 mov r0, r8 strh r1, [r4, #0x80] - bl sub_0201B67C + bl sub_027EBE8C add r1, sl, #0x2c add r0, sp, #0x10 ldmia r1, {r2, r3} @@ -22317,7 +22318,7 @@ _020223BC: ldr r1, [sp, #0x14] mov r2, r8 mov r3, r5 - bl sub_03036370 + bl sub_03806B80 adds fp, r0, #1 umull r3, r0, fp, r8 adc sb, r1, #0 @@ -22325,7 +22326,7 @@ _020223BC: mla r0, sb, r8, r0 add r2, sp, #0x10 str r0, [sp, #0x14] - ldr r1, _02022670 ; =0x048080F6 + ldr r1, _027F2E80 ; =0x048080F6 ldrh r0, [r2, #6] str r3, [sp, #0x10] strh r0, [r1] @@ -22338,18 +22339,18 @@ _020223BC: strh r0, [r1, #-6] ldrh r0, [r4, #0xc] cmp r0, #2 - bne _02022524 + bne _027F2D34 ldrh r0, [r4, #0x1a] cmp r0, #0 - beq _02022524 + beq _027F2D34 ldr r1, [sp, #0x10] ldr r0, [sp, #0x14] subs r1, r1, r8 sbc r0, r0, r5 str r1, [sp, #0x10] str r0, [sp, #0x14] - bl sub_0302D4F0 - ldr r1, _02022674 ; =0x048080F8 + bl sub_037FDD00 + ldr r1, _027F2E84 ; =0x048080F8 ldrh ip, [r1] ldrh fp, [r1, #2] ldrh sb, [r1, #4] @@ -22366,351 +22367,351 @@ _020223BC: strh r3, [sp, #2] strh r2, [sp, #4] strh r1, [sp, #6] - bl sub_0302D504 + bl sub_037FDD14 ldrh r1, [sp, #8] ldrh r0, [sp] cmp r1, r0 - bhs _020224E8 + bhs _027F2CF8 ldr r2, [sp, #8] ldr r0, [sp, #0x10] ldr r1, [sp, #0xc] subs r2, r2, r0 ldr r0, [sp, #0x14] - b _020224FC -_020224E8: + b _027F2D0C +_027F2CF8: ldr r2, [sp] ldr r0, [sp, #0x10] ldr r1, [sp, #4] subs r2, r2, r0 ldr r0, [sp, #0x14] -_020224FC: +_027F2D0C: sbc r0, r1, r0 mov r2, r2, lsr #0xa orr r2, r2, r0, lsl #22 ldrh r1, [r6, #0x20] - ldr r0, _02022678 ; =0x04808134 + ldr r0, _027F2E88 ; =0x04808134 cmp r2, r1 sublo r1, r1, r2 strloh r1, [r0] movhs r1, #0 strhsh r1, [r0] -_02022524: +_027F2D34: ldrh r0, [r4, #8] cmp r0, #0x40 - bne _0202261C + bne _027F2E2C ldr r1, [sp, #0x3c] cmp r1, #0 - beq _0202261C + beq _027F2E2C ldrh r0, [r4, #0xe] cmp r0, #1 - bne _0202261C + bne _027F2E2C add r0, r1, #2 - bl sub_0201A540 + bl sub_027EAD50 ldrh r1, [r4, #0x76] cmp r1, r0 strneh r0, [r4, #0x76] mov r1, #0 strh r1, [r4, #0x8e] cmp r0, #0 - bne _02022588 + bne _027F2D98 ldr r0, [sp, #0x3c] add r0, r0, #4 - bl sub_0201A540 + bl sub_027EAD50 tst r0, #1 ldrneh r0, [r4, #0x8e] orrne r0, r0, #1 strneh r0, [r4, #0x8e] -_02022588: +_027F2D98: ldr r0, [sp, #0x3c] add r0, r0, #4 - bl sub_0201A540 + bl sub_027EAD50 ldr r1, [sp, #0x3c] and r8, r0, #0xfe add r0, r1, #1 mov r5, r8, lsl #3 - bl sub_0201A540 + bl sub_027EAD50 ldrh r1, [r4, #0x6a] add r0, r8, r0 cmp r1, r8, lsl #3 sub r0, r0, #3 - blo _020225F8 + blo _027F2E08 cmp r1, r0, lsl #3 - bhi _020225F8 + bhi _027F2E08 ldr r0, [sp, #0x3c] sub r5, r1, r5 add r0, r0, #5 add r0, r0, r5, lsr #3 - bl sub_0201A540 + bl sub_027EAD50 and r1, r5, #7 mov r2, #1 tst r0, r2, lsl r1 - beq _020225F8 + beq _027F2E08 ldrh r0, [r4, #0x8e] orr r0, r0, #2 strh r0, [r4, #0x8e] - bl sub_020208F8 -_020225F8: + bl sub_027F1108 +_027F2E08: ldrh r0, [r7, #0x20] cmp r0, #0 ldreqh r0, [r7, #0x2c] cmpeq r0, #0 ldreqh r0, [r4, #0x8e] cmpeq r0, #0 - bne _0202261C + bne _027F2E2C mov r0, #1 - bl sub_020194A4 -_0202261C: + bl sub_027E9CB4 +_027F2E2C: ldrh r0, [r6, #0x1e] mov r0, r0, lsl #0x19 movs r0, r0, lsr #0x1f - beq _02022634 + beq _027F2E44 mov r0, sl - bl sub_0201D784 -_02022634: + bl sub_027EDF94 +_027F2E44: ldr r2, [sp, #0x34] cmp r2, #0 - beq _0202264C + beq _027F2E5C ldrh r0, [sp, #0x2a] mov r1, sl - bl sub_0202436C -_0202264C: + bl sub_027F4B7C +_027F2E5C: add sp, sp, #0x44 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_02022658: .word 0x0380FFF4 -_0202265C: .word 0x0480810C -_02022660: .word 0x0380FFF0 -_02022664: .word 0x0000FFFF -_02022668: .word 0x04808048 -_0202266C: .word 0x04808038 -_02022670: .word 0x048080F6 -_02022674: .word 0x048080F8 -_02022678: .word 0x04808134 - arm_func_end sub_02022030 +_027F2E68: .word 0x0380FFF4 +_027F2E6C: .word 0x0480810C +_027F2E70: .word 0x0380FFF0 +_027F2E74: .word 0x0000FFFF +_027F2E78: .word 0x04808048 +_027F2E7C: .word 0x04808038 +_027F2E80: .word 0x048080F6 +_027F2E84: .word 0x048080F8 +_027F2E88: .word 0x04808134 + arm_func_end sub_027F2840 - arm_func_start sub_0202267C -sub_0202267C: ; 0x0202267C + arm_func_start sub_027F2E8C +sub_027F2E8C: ; 0x027F2E8C stmdb sp!, {r3, r4, r5, lr} - ldr r1, _02022758 ; =0x0380FFF4 + ldr r1, _027F2F68 ; =0x0380FFF4 mov r4, r0 ldr r0, [r1] ldrh r5, [r4, #2] add r1, r0, #0x344 ldrh r0, [r1, #0xc] cmp r0, #1 - beq _020226B0 + beq _027F2EC0 cmp r0, #2 cmpne r0, #3 - beq _02022718 - b _02022750 -_020226B0: + beq _027F2F28 + b _027F2F60 +_027F2EC0: mov r0, r5 - bl sub_0201B7D0 + bl sub_027EBFE0 cmp r0, #0x40 - bne _020226E8 + bne _027F2EF8 mov r0, r5, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, #0x30 - bl sub_0201B434 + bl sub_027EBC44 ldrh r1, [r4, #0x2c] add r0, r4, #0x1e - bl sub_0201D634 + bl sub_027EDE44 mov r0, r5 - bl sub_02020550 - b _02022750 -_020226E8: + bl sub_027F0D60 + b _027F2F60 +_027F2EF8: cmp r0, #0x30 add r0, r4, #0x1e mov r1, #7 - bne _02022700 - bl sub_02020E94 - b _02022708 -_02022700: + bne _027F2F10 + bl sub_027F16A4 + b _027F2F18 +_027F2F10: mov r2, #1 - bl sub_020216AC -_02022708: + bl sub_027F1EBC +_027F2F18: cmp r0, #0 - beq _02022750 - bl sub_0202086C - b _02022750 -_02022718: + beq _027F2F60 + bl sub_027F107C + b _027F2F60 +_027F2F28: ldrh r0, [r1, #8] cmp r0, #0x40 - bne _02022750 + bne _027F2F60 add r0, r4, #0x1e add r1, r1, #0x82 - bl sub_02019C64 + bl sub_027EA474 cmp r0, #0 - beq _02022750 + beq _027F2F60 mov r0, #0x30 - bl sub_03028A28 - bl sub_0201982C + bl sub_037F9238 + bl sub_027EA03C ldrh r1, [r4, #0x2c] add r0, r4, #0x1e - bl sub_0201D634 -_02022750: + bl sub_027EDE44 +_027F2F60: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02022758: .word 0x0380FFF4 - arm_func_end sub_0202267C +_027F2F68: .word 0x0380FFF4 + arm_func_end sub_027F2E8C - arm_func_start sub_0202275C -sub_0202275C: ; 0x0202275C + arm_func_start sub_027F2F6C +sub_027F2F6C: ; 0x027F2F6C stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x2c - ldr r1, _02022924 ; =0x0380FFF4 + ldr r1, _027F3134 ; =0x0380FFF4 mov r7, r0 ldr r0, [r1] ldrh r5, [r7, #6] add r4, r0, #0x31c cmp r5, #4 - bls _02022918 + bls _027F3128 add r0, r0, #0x300 ldrh r0, [r0, #0x50] cmp r0, #1 - bne _02022918 + bne _027F3128 add r0, r7, #0x1e mov r1, #0x10 - bl sub_020217E4 + bl sub_027F1FF4 cmp r0, #0 - bne _02022918 + bne _027F3128 ldrh r6, [r7, #2] cmp r6, #0 - beq _020227C0 + beq _027F2FD0 mov r0, r6 - bl sub_0201B7D0 + bl sub_027EBFE0 cmp r0, #0x30 - bhs _020227F4 -_020227C0: + bhs _027F3004 +_027F2FD0: add r0, r7, #0x1e mov r1, #0xc0 - bl sub_020217E4 + bl sub_027F1FF4 cmp r0, #0 - bne _02022918 + bne _027F3128 add r0, r7, #0x1e mov r1, #6 mov r2, #1 - bl sub_020216AC + bl sub_027F1EBC cmp r0, #0 - beq _02022918 - bl sub_0202086C - b _02022918 -_020227F4: + beq _027F3128 + bl sub_027F107C + b _027F3128 +_027F3004: mov r0, r6 - bl sub_0201B7D0 + bl sub_027EBFE0 cmp r0, #0x40 mov r0, r6 - bne _02022820 + bne _027F3030 mov r1, #0x30 - bl sub_0201B434 + bl sub_027EBC44 add r0, r7, #0x1e mov r1, #1 - bl sub_0201D634 - b _0202282C -_02022820: - bl sub_0201B8BC + bl sub_027EDE44 + b _027F303C +_027F3030: + bl sub_027EC0CC cmp r0, #0 - bne _02022918 -_0202282C: + bne _027F3128 +_027F303C: add r1, sp, #0 mov r0, #0 mov r2, #0x2c - bl sub_0302D7C0 + bl sub_037FDFD0 add r2, r7, #0x30 sub r1, r5, #4 str r2, [sp] strh r1, [sp, #8] add r0, sp, #0 - bl sub_02023400 + bl sub_027F3C10 ldrh r1, [r7, #0x2c] - ldr r0, _02022928 ; =0x0000FFC2 + ldr r0, _027F3138 ; =0x0000FFC2 tst r1, r0 - bne _020228C4 + bne _027F30D4 mov r0, r1, lsl #0x1f movs r0, r0, lsr #0x1f - beq _020228C4 + beq _027F30D4 ldrh r2, [r4, #0x18] cmp r2, #0 moveq r0, r1, lsl #0x1b moveq r0, r0, lsr #0x1f cmpeq r0, #1 - beq _020228C4 + beq _027F30D4 cmp r2, #0 - beq _020228A0 + beq _027F30B0 ldrh r0, [r7, #0x2c] mov r0, r0, lsl #0x1b movs r0, r0, lsr #0x1f - beq _020228C4 -_020228A0: + beq _027F30D4 +_027F30B0: ldrh r0, [r4, #0x1e] mov r0, r0, lsl #0x1d mov r0, r0, lsr #0x1f cmp r0, #1 - bne _020228CC + bne _027F30DC ldrh r0, [r7, #0x2c] mov r0, r0, lsl #0x1a movs r0, r0, lsr #0x1f - bne _020228CC -_020228C4: + bne _027F30DC +_027F30D4: mov r1, #0xa - b _02022900 -_020228CC: + b _027F3110 +_027F30DC: mov r0, r6 - bl sub_0201B5FC + bl sub_027EBE0C ldrh r0, [sp, #0xa] tst r0, #1 moveq r1, #1 - beq _02022900 + beq _027F3110 tst r0, #4 moveq r1, #0x12 - beq _02022900 + beq _027F3110 ldrh r1, [sp, #0x16] mov r0, r6 - bl sub_0201B61C + bl sub_027EBE2C mov r1, #0 -_02022900: +_027F3110: ldr r2, [sp, #0x1c] mov r0, r6 - bl sub_0202106C + bl sub_027F187C cmp r0, #0 - beq _02022918 - bl sub_0202086C -_02022918: + beq _027F3128 + bl sub_027F107C +_027F3128: add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02022924: .word 0x0380FFF4 -_02022928: .word 0x0000FFC2 - arm_func_end sub_0202275C +_027F3134: .word 0x0380FFF4 +_027F3138: .word 0x0000FFC2 + arm_func_end sub_027F2F6C - arm_func_start sub_0202292C -sub_0202292C: ; 0x0202292C + arm_func_start sub_027F313C +sub_027F313C: ; 0x027F313C stmdb sp!, {r3, r4, lr} sub sp, sp, #0x2c mov r4, r0 add r0, r4, #0x1e mov r1, #0x50 - bl sub_020217E4 + bl sub_027F1FF4 cmp r0, #0 - bne _020229D0 + bne _027F31E0 ldrh r0, [r4, #0x24] tst r0, #1 - bne _02022964 + bne _027F3174 ldrh r0, [r4, #8] tst r0, #0x8000 - beq _020229D0 -_02022964: + beq _027F31E0 +_027F3174: add r1, sp, #0 mov r0, #0 mov r2, #0x2c - bl sub_0302D7C0 + bl sub_037FDFD0 add r0, r4, #0x2c str r0, [sp] ldrh r1, [r4, #6] - ldr r0, _020229DC ; =0x0380FFF4 + ldr r0, _027F31EC ; =0x0380FFF4 strh r1, [sp, #8] ldr r0, [r0] add r0, r0, #0x300 @@ -22720,29 +22721,29 @@ _02022964: moveq r0, #0x800 streqh r0, [sp, #0xc] add r0, sp, #0 - bl sub_02023400 + bl sub_027F3C10 ldrh r0, [sp, #0xa] and r0, r0, #1 cmp r0, #1 - bne _020229D0 + bne _027F31E0 add r0, r4, #0x1e - bl sub_020213CC + bl sub_027F1BDC cmp r0, #0 - beq _020229D0 - bl sub_0202086C -_020229D0: + beq _027F31E0 + bl sub_027F107C +_027F31E0: add sp, sp, #0x2c ldmia sp!, {r3, r4, lr} bx lr .align 2, 0 -_020229DC: .word 0x0380FFF4 - arm_func_end sub_0202292C +_027F31EC: .word 0x0380FFF4 + arm_func_end sub_027F313C - arm_func_start sub_020229E0 -sub_020229E0: ; 0x020229E0 + arm_func_start sub_027F31F0 +sub_027F31F0: ; 0x027F31F0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x30 - ldr r2, _02022DA8 ; =0x0380FFF4 + ldr r2, _027F35B8 ; =0x0380FFF4 mov r7, r0 ldr r2, [r2] mov sl, r1 @@ -22751,58 +22752,58 @@ sub_020229E0: ; 0x020229E0 add r0, r2, #4 cmp r1, #0x13 add r4, r0, #0x400 - bne _02022D9C + bne _027F35AC ldr r0, [r4, #0x18] ldr r5, [r4, #0x1c] add r8, r0, #0x4e mov r6, #0 - b _02022A50 -_02022A24: + b _027F3260 +_027F3234: mov r0, r8 add r1, r7, #0x24 - bl sub_02019C64 + bl sub_027EA474 cmp r0, #0 ldrneh r1, [r5, #6] movne r0, #1 orrne r0, r1, r0, lsl r6 strneh r0, [r5, #6] - bne _02022D9C + bne _027F35AC add r8, r8, #6 add r6, r6, #1 -_02022A50: +_027F3260: ldr r0, [r4, #0x18] ldrh r0, [r0, #0x4c] cmp r6, r0 - blo _02022A24 + blo _027F3234 add r6, r5, #0xa mov r8, #0 - b _02022A8C -_02022A6C: + b _027F329C +_027F327C: add r0, r7, #0x24 add r1, r6, #4 - bl sub_02019C64 + bl sub_027EA474 cmp r0, #0 - bne _02022D9C + bne _027F35AC ldrh r0, [r6] add r8, r8, #1 add r6, r6, r0, lsl #1 -_02022A8C: +_027F329C: ldrh r0, [r5, #8] cmp r8, r0 - blo _02022A6C + blo _027F327C mov r1, r6 mov r0, #0 mov r2, #0x40 - bl sub_0302D764 + bl sub_037FDF74 ldrh r8, [r7, #6] cmp r8, #0xc - bls _02022D9C + bls _027F35AC cmp sl, #0 - bne _02022B08 + bne _027F3318 add r1, sp, #4 mov r0, #0 mov r2, #0x2c - bl sub_0302D7C0 + bl sub_037FDFD0 add r3, r7, #0x38 sub r2, r8, #0xc mov r0, #0x38 @@ -22816,38 +22817,38 @@ _02022A8C: strh r1, [sp, #8] ldrh r1, [r7, #0x36] strh r1, [sp, #0xa] - bl sub_02023400 + bl sub_027F3C10 add sl, sp, #4 -_02022B08: +_027F3318: ldr r0, [sl, #0x28] cmp r0, #0 ldreqh r0, [sl, #0x1a] - beq _02022B2C + beq _027F333C add r0, r0, #1 - bl sub_0201A540 + bl sub_027EAD50 sub r0, r0, #8 strh r0, [r6, #0x3c] ldrh r0, [r6, #0x3c] -_02022B2C: +_027F333C: add r0, r0, #0x41 mov r0, r0, lsr #1 strh r0, [r6] ldrh r0, [sl, #0xa] and r0, r0, #1 cmp r0, #1 - bne _02022D90 - ldr r0, _02022DA8 ; =0x0380FFF4 + bne _027F35A0 + ldr r0, _027F35B8 ; =0x0380FFF4 ldrh r1, [r6] ldr r0, [r0] add r0, r0, #0x400 ldrh r0, [r0, #8] cmp r0, r1 - blo _02022D90 + blo _027F35A0 ldrh r1, [r7, #0x36] add r0, r6, #4 strh r1, [r6, #0x2c] add r1, r7, #0x24 - bl sub_020198D0 + bl sub_027EA0E0 ldrh r0, [r7, #0x34] strh r0, [r6, #0x32] ldrh r0, [r7, #0x12] @@ -22855,108 +22856,108 @@ _02022B2C: strh r0, [r6, #2] ldr r0, [sl, #0x28] cmp r0, #0 - beq _02022BD4 + beq _027F33E4 mov r7, #0 add r8, r6, #0x40 - b _02022BC4 -_02022BA4: + b _027F33D4 +_027F33B4: ldr r0, [sl, #0x28] add r0, r0, #0xa add r0, r0, r7 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 add r0, r8, r7 - bl sub_0201A514 + bl sub_027EAD24 add r7, r7, #1 -_02022BC4: +_027F33D4: ldrh r0, [r6, #0x3c] cmp r7, r0 - blo _02022BA4 - b _02022C78 -_02022BD4: + blo _027F33B4 + b _027F3488 +_027F33E4: ldrh r0, [sl, #0x18] strh r0, [r6, #0x3e] ldrh r0, [sl, #0x18] cmp r0, #0 - beq _02022C78 + beq _027F3488 add r7, r7, #0x38 add fp, r6, #0x40 mov r8, #0 - b _02022C6C -_02022BF8: + b _027F347C +_027F3408: mov r0, r7 - bl sub_0201A540 + bl sub_027EAD50 mov sb, r0 add r0, r7, #1 - bl sub_0201A540 + bl sub_027EAD50 cmp sb, #6 - bls _02022C64 + bls _027F3474 ldr r1, [sl, #0x28] cmp r7, r1 - beq _02022C64 + beq _027F3474 add r0, r0, #2 mov sb, #0 str r0, [sp] - b _02022C50 -_02022C30: + b _027F3460 +_027F3440: mov r0, r7 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 mov r0, fp - bl sub_0201A514 + bl sub_027EAD24 add fp, fp, #1 add r7, r7, #1 add sb, sb, #1 -_02022C50: +_027F3460: ldr r0, [sp] cmp sb, r0 - blo _02022C30 + blo _027F3440 add r8, r8, #1 - b _02022C6C -_02022C64: + b _027F347C +_027F3474: add r0, r0, #2 add r7, r7, r0 -_02022C6C: +_027F347C: ldrh r0, [sl, #0x18] cmp r8, r0 - blo _02022BF8 -_02022C78: + blo _027F3408 +_027F3488: ldr r0, [sl, #0x1c] cmp r0, #0 - beq _02022CCC + beq _027F34DC add r0, r0, #1 - bl sub_0201A540 + bl sub_027EAD50 strh r0, [r6, #0xa] mov r7, #0 add r8, r6, #0xc - b _02022CBC -_02022C9C: + b _027F34CC +_027F34AC: ldr r0, [sl, #0x1c] add r0, r0, #2 add r0, r0, r7 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 add r0, r8, r7 - bl sub_0201A514 + bl sub_027EAD24 add r7, r7, #1 -_02022CBC: +_027F34CC: ldrh r0, [r6, #0xa] cmp r7, r0 - blo _02022C9C - b _02022CF4 -_02022CCC: + blo _027F34AC + b _027F3504 +_027F34DC: mov sb, #0 strh sb, [r6, #0xa] add r8, r6, #0xc mov r7, sb -_02022CDC: +_027F34EC: mov r1, r7 add r0, r8, sb - bl sub_0201A514 + bl sub_027EAD24 add sb, sb, #1 cmp sb, #0x20 - blo _02022CDC -_02022CF4: + blo _027F34EC +_027F3504: ldrh r0, [sl, #0x14] strh r0, [r6, #0x2e] ldrh r0, [sl, #0x16] @@ -22965,18 +22966,18 @@ _02022CF4: strh r0, [r6, #0x36] ldr r0, [sl, #0x20] cmp r0, #0 - beq _02022D24 + beq _027F3534 add r0, r0, #3 - bl sub_0201A540 + bl sub_027EAD50 strh r0, [r6, #0x38] -_02022D24: +_027F3534: ldr r0, [sl, #0x24] cmp r0, #0 - beq _02022D3C + beq _027F354C add r0, r0, #3 - bl sub_0201A540 + bl sub_027EAD50 strh r0, [r6, #0x34] -_02022D3C: +_027F354C: ldrh r1, [r5, #2] ldrh r0, [r6] add r0, r1, r0 @@ -22990,31 +22991,31 @@ _02022D3C: strh r0, [r4, #4] ldrh r0, [r4, #4] cmp r0, #0x20 - bhs _02022D9C - bl sub_0201A3D0 + bhs _027F35AC + bl sub_027EABE0 mov r2, #0x15 mov r0, #2 mov r1, #0 strh r2, [r4] - bl sub_03027D88 - b _02022D9C -_02022D90: - ldr r1, _02022DAC ; =0x027F74B4 + bl sub_037F8598 + b _027F35AC +_027F35A0: + ldr r1, _027F35BC ; =0x027F74B4 add r0, r6, #4 - bl sub_020198D0 -_02022D9C: + bl sub_027EA0E0 +_027F35AC: add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_02022DA8: .word 0x0380FFF4 -_02022DAC: .word 0x027F74B4 - arm_func_end sub_020229E0 +_027F35B8: .word 0x0380FFF4 +_027F35BC: .word 0x027F74B4 + arm_func_end sub_027F31F0 - arm_func_start sub_02022DB0 -sub_02022DB0: ; 0x02022DB0 + arm_func_start sub_027F35C0 +sub_027F35C0: ; 0x027F35C0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} - ldr r1, _0202333C ; =0x0380FFF4 + ldr r1, _027F3B4C ; =0x0380FFF4 mov sl, r0 ldr r2, [r1] add r0, r2, #0x600 @@ -23023,42 +23024,42 @@ sub_02022DB0: ; 0x02022DB0 tst r1, #8 add r4, r2, #0x344 add sb, r0, #0x400 - beq _02022E50 - ldr r1, _02023340 ; =0x048080B0 + beq _027F3660 + ldr r1, _027F3B50 ; =0x048080B0 add r0, r2, #0x2c ldrh r2, [r1] add r1, r0, #0x400 tst r2, #1 ldrneh r0, [r1] cmpne r0, #0 - bne _02022E50 + bne _027F3660 tst r2, #4 ldrneh r0, [r1, #0x14] cmpne r0, #0 - bne _02022E50 + bne _027F3660 tst r2, #8 ldrneh r0, [r1, #0x28] cmpne r0, #0 - bne _02022E50 - ldr r0, _02023344 ; =0x0480819C + bne _027F3660 + ldr r0, _027F3B54 ; =0x0480819C ldrh r0, [r0] tst r0, #1 - bne _02022E50 - ldr r2, _02023348 ; =0x04808032 + bne _027F3660 + ldr r2, _027F3B58 ; =0x04808032 mov r3, #0 strh r3, [r2] mov r1, #0x8000 - ldr r0, _0202333C ; =0x0380FFF4 + ldr r0, _027F3B4C ; =0x0380FFF4 strh r1, [r2] ldr r0, [r0] add r0, r0, #0x400 strh r3, [r0, #0xde] -_02022E50: +_027F3660: add r0, sl, #0x1e mov r1, #0xb0 - bl sub_020217E4 + bl sub_027F1FF4 cmp r0, #0 - bne _02023334 + bne _027F3B44 ldrh r0, [sl, #0x2e] ldrh r8, [sl, #2] add r0, r0, #1 @@ -23068,121 +23069,121 @@ _02022E50: mov r6, r0, lsr #0x10 moveq r7, #0x13 moveq r5, #1 - beq _020232F8 + beq _027F3B08 ldrh r0, [r4, #0xc] cmp r0, #1 - bne _02022F00 + bne _027F3710 mov r0, r8 - bl sub_0201B7D0 + bl sub_027EBFE0 cmp r0, #0x20 - bls _02022EC4 + bls _027F36D4 mov r0, r8, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, #0x20 - bl sub_0201B434 + bl sub_027EBC44 add r0, sl, #0x1e mov r1, #1 - bl sub_0201D3D4 -_02022EC4: + bl sub_027EDBE4 +_027F36D4: ldrh r0, [sl, #8] tst r0, #0x400 - beq _02022F00 + beq _027F3710 mov r0, r8 - bl sub_0201B850 + bl sub_027EC060 cmp r0, #0 - beq _02022F00 + beq _027F3710 mov r5, #1 mov r0, r8 mov r1, #0 strh r5, [sl, #0x2c] mov r7, #0xf mov r6, #4 - bl sub_0201B65C - b _020232F8 -_02022F00: + bl sub_027EBE6C + b _027F3B08 +_027F3710: ldrh r0, [sl, #0x2c] cmp r0, #0 - beq _02022F18 + beq _027F3728 cmp r0, #1 - beq _02022FF4 - b _020232E8 -_02022F18: + beq _027F3804 + b _027F3AF8 +_027F3728: ldrh r1, [r4, #0xc] cmp r1, #1 - ldreq r0, _0202333C ; =0x0380FFF4 + ldreq r0, _027F3B4C ; =0x0380FFF4 ldreq r0, [r0] addeq r0, r0, #0x300 ldreqh r0, [r0, #0x32] cmpeq r0, #1 moveq r7, #0xd moveq r5, #1 - beq _020232F8 + beq _027F3B08 cmp r1, #1 - bne _02022F64 + bne _027F3774 ldrh r0, [sl, #0x2e] mov r5, #1 cmp r0, #1 moveq r7, #0 movne r7, #0xe movne r6, #2 - b _020232F8 -_02022F64: - beq _020232F8 + b _027F3B08 +_027F3774: + beq _027F3B08 ldrh r0, [sl, #0x2e] cmp r0, #2 ldreq r1, [sb, #0x18] ldreqh r0, [r1, #0x16] cmpeq r0, #0 - bne _020232F8 + bne _027F3B08 add r0, r1, #0x10 add r1, sl, #0x1e - bl sub_02019C64 + bl sub_027EA474 cmp r0, #0 - beq _020232F8 + beq _027F3B08 ldrh r0, [sb] cmp r0, #0x31 - bne _020232F8 - bl sub_0201A3D0 + bne _027F3B08 + bl sub_027EABE0 ldrh r0, [sl, #0x30] cmp r0, #0 ldrne r0, [sb, #0x1c] movne r1, #0xc strneh r1, [r0, #4] ldrneh r1, [sl, #0x30] - bne _02022FD4 + bne _027F37E4 mov r0, #0x30 - bl sub_03028A28 + bl sub_037F9238 ldr r0, [sb, #0x1c] mov r1, #0 strh r1, [r0, #4] -_02022FD4: +_027F37E4: ldr r0, [sb, #0x1c] mov r2, #0x35 strh r1, [r0, #6] mov r0, #2 mov r1, r0 strh r2, [sb] - bl sub_03027D88 - b _020232F8 -_02022FF4: + bl sub_037F8598 + b _027F3B08 +_027F3804: ldrh r0, [r4, #0xc] cmp r0, #1 - bne _02023194 + bne _027F39A4 mov r0, r8, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, #0x20 - bl sub_0201B434 + bl sub_027EBC44 ldrh r0, [sl, #0x2e] cmp r0, #1 - bne _020230B0 + bne _027F38C0 add r0, sl, #0x1e mov r1, #0x80 mov r2, #1 - bl sub_020215EC + bl sub_027F1DFC movs r4, r0 - beq _020232F8 + beq _027F3B08 ldrh r1, [sl, #0x2c] - ldr r0, _0202334C ; =0x04808044 + ldr r0, _027F3B5C ; =0x04808044 strh r1, [r4, #0x2c] strh r6, [r4, #0x2e] mov r1, #0 @@ -23194,112 +23195,112 @@ _02022FF4: movs sb, r0, lsr #0x10 moveq sb, #1 mov r0, sb - bl sub_0201A590 + bl sub_027EADA0 mov r0, r8 mov r1, sb - bl sub_0201B65C + bl sub_027EBE6C add r0, r4, #0x33 add sb, r4, #0x34 - bl sub_0201A540 + bl sub_027EAD50 mov fp, r0 mov r8, #0 - b _0202309C -_02023090: - bl sub_0201A5A8 + b _027F38AC +_027F38A0: + bl sub_027EADB8 strh r0, [sb], #2 add r8, r8, #2 -_0202309C: +_027F38AC: cmp r8, fp - blo _02023090 + blo _027F38A0 mov r0, r4 - bl sub_0202086C - b _020232F8 -_020230B0: + bl sub_027F107C + b _027F3B08 +_027F38C0: cmp r0, #3 mov r0, r8 - bne _0202317C - bl sub_0201B7D0 + bne _027F398C + bl sub_027EBFE0 cmp r0, #0x20 - bne _020230D8 + bne _027F38E8 mov r0, r8 - bl sub_0201B850 + bl sub_027EC060 cmp r0, #0 - bne _020230E4 -_020230D8: + bne _027F38F4 +_027F38E8: mov r7, #1 mov r5, r7 - b _020232F8 -_020230E4: + b _027F3B08 +_027F38F4: ldrh r0, [sl, #2] - bl sub_0201B850 - bl sub_0201A590 + bl sub_027EC060 + bl sub_027EADA0 add r0, sl, #0x33 add r7, sl, #0x34 - bl sub_0201A540 + bl sub_027EAD50 mov r4, r0 mov r5, #0 - b _02023120 -_02023108: - bl sub_0201A5A8 + b _027F3930 +_027F3918: + bl sub_027EADB8 ldrh r1, [r7], #2 cmp r1, r0 movne r0, #0 - bne _02023150 + bne _027F3960 add r5, r5, #1 -_02023120: +_027F3930: cmp r5, r4, lsr #1 - blo _02023108 + blo _027F3918 tst r4, #1 - beq _0202314C - bl sub_0201A5A8 + beq _027F395C + bl sub_027EADB8 ldrh r1, [r7] and r0, r0, #0xff and r1, r1, #0xff cmp r1, r0 movne r0, #0 - bne _02023150 -_0202314C: + bne _027F3960 +_027F395C: mov r0, #1 -_02023150: +_027F3960: cmp r0, #0 mov r0, r8 mov r1, #0 mov r5, #1 - bne _02023170 + bne _027F3980 mov r7, #0xf - bl sub_0201B65C - b _020232F8 -_02023170: - bl sub_0201B65C + bl sub_027EBE6C + b _027F3B08 +_027F3980: + bl sub_027EBE6C mov r7, #0 - b _020232F8 -_0202317C: + b _027F3B08 +_027F398C: mov r1, #0 - bl sub_0201B65C + bl sub_027EBE6C mov r7, #0xe mov r6, #2 mov r5, #1 - b _020232F8 -_02023194: + b _027F3B08 +_027F39A4: ldr r1, [sb, #0x18] ldrh r0, [r1, #0x16] cmp r0, #1 - bne _020232F8 + bne _027F3B08 add r0, r1, #0x10 add r1, sl, #0x1e - bl sub_02019C64 + bl sub_027EA474 cmp r0, #0 - beq _020232F8 + beq _027F3B08 ldrh r0, [sl, #0x2e] cmp r0, #2 - bne _02023284 + bne _027F3A94 ldrh r0, [sb] cmp r0, #0x31 - bne _020232F8 + bne _027F3B08 ldrh r0, [sl, #0x30] cmp r0, #0 - beq _02023218 - bl sub_0201A3D0 + beq _027F3A28 + bl sub_027EABE0 mov r0, #0x35 strh r0, [sb] ldr r0, [sb, #0x1c] @@ -23310,21 +23311,21 @@ _02023194: ldr r2, [sb, #0x1c] mov r1, r0 strh r3, [r2, #6] - bl sub_03027D88 + bl sub_037F8598 mov r0, #0x20 - bl sub_03028A28 - b _020232F8 -_02023218: + bl sub_037F9238 + b _027F3B08 +_027F3A28: mov r1, #0x33 add r0, sl, #0x33 strh r1, [sb] - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 add r0, sl, #0x1e mov r2, #1 - bl sub_020215EC + bl sub_027F1DFC movs r4, r0 - beq _020232F8 + beq _027F3B08 ldrh r1, [r4, #0x14] add r0, sl, #0x2c orr r1, r1, #0x4000 @@ -23332,7 +23333,7 @@ _02023218: ldrh r2, [sl, #6] add r1, r4, #0x2c add r2, r2, #1 - bl sub_0302D78C + bl sub_037FDF9C ldrh r1, [sl, #0x2c] mov r0, #3 strh r1, [r4, #0x2c] @@ -23340,129 +23341,129 @@ _02023218: mov r1, #0 mov r0, r4 strh r1, [r4, #0x30] - bl sub_0202086C - b _020232F8 -_02023284: + bl sub_027F107C + b _027F3B08 +_027F3A94: cmp r0, #4 ldreqh r0, [sb] cmpeq r0, #0x33 - bne _020232F8 - bl sub_0201A3D0 + bne _027F3B08 + bl sub_027EABE0 ldrh r0, [sl, #0x30] cmp r0, #0 ldrne r0, [sb, #0x1c] movne r1, #0xc strneh r1, [r0, #4] ldrneh r1, [sl, #0x30] - bne _020232C8 + bne _027F3AD8 mov r0, #0x30 - bl sub_03028A28 + bl sub_037F9238 ldr r0, [sb, #0x1c] mov r1, #0 strh r1, [r0, #4] -_020232C8: +_027F3AD8: ldr r0, [sb, #0x1c] mov r2, #0x35 strh r1, [r0, #6] mov r0, #2 mov r1, r0 strh r2, [sb] - bl sub_03027D88 - b _020232F8 -_020232E8: + bl sub_037F8598 + b _027F3B08 +_027F3AF8: ldrh r0, [r4, #0xc] cmp r0, #1 moveq r7, #0xd moveq r5, #1 -_020232F8: +_027F3B08: cmp r5, #0 - beq _02023334 + beq _027F3B44 cmp r7, #0 movne r2, #1 moveq r2, #0 add r0, sl, #0x1e mov r1, #0 - bl sub_020215EC + bl sub_027F1DFC cmp r0, #0 - beq _02023334 + beq _027F3B44 ldrh r1, [sl, #0x2c] strh r1, [r0, #0x2c] strh r6, [r0, #0x2e] strh r7, [r0, #0x30] - bl sub_0202086C -_02023334: + bl sub_027F107C +_027F3B44: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_0202333C: .word 0x0380FFF4 -_02023340: .word 0x048080B0 -_02023344: .word 0x0480819C -_02023348: .word 0x04808032 -_0202334C: .word 0x04808044 - arm_func_end sub_02022DB0 +_027F3B4C: .word 0x0380FFF4 +_027F3B50: .word 0x048080B0 +_027F3B54: .word 0x0480819C +_027F3B58: .word 0x04808032 +_027F3B5C: .word 0x04808044 + arm_func_end sub_027F35C0 - arm_func_start sub_02023350 -sub_02023350: ; 0x02023350 + arm_func_start sub_027F3B60 +sub_027F3B60: ; 0x027F3B60 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _020233FC ; =0x0380FFF4 + ldr r1, _027F3C0C ; =0x0380FFF4 mov r4, r0 ldr r0, [r1] ldrh r5, [r4, #2] add r1, r0, #0x344 ldrh r0, [r1, #0xc] cmp r0, #1 - beq _02023384 + beq _027F3B94 cmp r0, #2 cmpne r0, #3 - beq _020233BC - b _020233F4 -_02023384: + beq _027F3BCC + b _027F3C04 +_027F3B94: mov r0, r5 - bl sub_0201B7D0 + bl sub_027EBFE0 cmp r0, #0x20 - bls _020233F4 + bls _027F3C04 mov r0, r5, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, #0x20 - bl sub_0201B434 + bl sub_027EBC44 ldrh r1, [r4, #0x2c] add r0, r4, #0x1e - bl sub_0201D3D4 + bl sub_027EDBE4 mov r0, r5 - bl sub_02020550 - b _020233F4 -_020233BC: + bl sub_027F0D60 + b _027F3C04 +_027F3BCC: ldrh r0, [r1, #8] cmp r0, #0x20 - bls _020233F4 + bls _027F3C04 add r0, r4, #0x1e add r1, r1, #0x82 - bl sub_02019C64 + bl sub_027EA474 cmp r0, #0 - beq _020233F4 + beq _027F3C04 mov r0, #0x20 - bl sub_03028A28 - bl sub_0201982C + bl sub_037F9238 + bl sub_027EA03C ldrh r1, [r4, #0x2c] add r0, r4, #0x1e - bl sub_0201D3D4 -_020233F4: + bl sub_027EDBE4 +_027F3C04: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_020233FC: .word 0x0380FFF4 - arm_func_end sub_02023350 +_027F3C0C: .word 0x0380FFF4 + arm_func_end sub_027F3B60 - arm_func_start sub_02023400 -sub_02023400: ; 0x02023400 + arm_func_start sub_027F3C10 +sub_027F3C10: ; 0x027F3C10 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} - ldr r1, _02023720 ; =0x0380FFF4 + ldr r1, _027F3F30 ; =0x0380FFF4 mov sb, r0 ldr r0, [r1] ldr r5, [sb] add r4, r0, #0x344 ldrh r0, [r4, #0x7a] - ldr sl, _02023720 ; =0x0380FFF4 + ldr sl, _027F3F30 ; =0x0380FFF4 strh r0, [sb, #0x12] ldrh r0, [sb, #0xc] tst r0, #0x800 @@ -23470,68 +23471,68 @@ sub_02023400: ; 0x02023400 orrne r0, r0, #1 strneh r0, [sb, #0xa] ldrh r6, [sb, #8] - b _02023694 -_02023440: + b _027F3EA4 +_027F3C50: mov r0, r5 - bl sub_0201A540 + bl sub_027EAD50 mov r8, r0 add r0, r5, #1 add r5, r5, #2 - bl sub_0201A540 + bl sub_027EAD50 mov r7, r0 cmp r8, #6 addls pc, pc, r8, lsl #2 - b _02023484 -_02023468: ; jump table - b _02023490 ; case 0 - b _020234FC ; case 1 - b _02023688 ; case 2 - b _02023560 ; case 3 - b _020235CC ; case 4 - b _020235AC ; case 5 - b _02023688 ; case 6 -_02023484: + b _027F3C94 +_027F3C78: ; jump table + b _027F3CA0 ; case 0 + b _027F3D0C ; case 1 + b _027F3E98 ; case 2 + b _027F3D70 ; case 3 + b _027F3DDC ; case 4 + b _027F3DBC ; case 5 + b _027F3E98 ; case 6 +_027F3C94: cmp r8, #0xdd - beq _020235EC - b _0202366C -_02023490: + beq _027F3DFC + b _027F3E7C +_027F3CA0: cmp r7, #0x20 - bhi _02023688 + bhi _027F3E98 ldrh r1, [sb, #0xc] sub r0, r5, #2 orr r1, r1, #1 strh r1, [sb, #0xc] str r0, [sb, #0x1c] cmp r7, #0 - bne _020234CC + bne _027F3CDC ldrh r0, [sb, #0xc] tst r0, #0x800 ldrneh r0, [sb, #0xa] orrne r0, r0, #1 strneh r0, [sb, #0xa] - bne _02023688 -_020234CC: + bne _027F3E98 +_027F3CDC: ldrh r1, [sb, #0xa] mov r0, r7, lsl #0x10 bic r2, r1, #1 strh r2, [sb, #0xa] mov r1, r5 mov r0, r0, lsr #0x10 - bl sub_02019B94 + bl sub_027EA3A4 cmp r0, #0 ldrneh r0, [sb, #0xa] orrne r0, r0, #1 strneh r0, [sb, #0xa] - b _02023688 -_020234FC: + b _027F3E98 +_027F3D0C: cmp r7, #1 - blo _02023688 + blo _027F3E98 ldrh r1, [sb, #0xc] sub r0, r5, #2 orr r1, r1, #4 strh r1, [sb, #0xc] add r1, sb, #0x14 - bl sub_02019CB4 + bl sub_027EA4C4 ldrh r0, [r4, #0x60] ldrh r1, [r4, #0x62] ldrh r2, [sb, #0x14] @@ -23548,15 +23549,15 @@ _020234FC: ldrneh r0, [sb, #0xa] bicne r0, r0, #4 strneh r0, [sb, #0xa] - b _02023688 -_02023560: + b _027F3E98 +_027F3D70: cmp r7, #1 - blo _02023688 + blo _027F3E98 ldrh r1, [sb, #0xc] mov r0, r5 orr r1, r1, #2 strh r1, [sb, #0xc] - bl sub_0201A540 + bl sub_027EAD50 strh r0, [sb, #0x12] ldr r0, [sl] ldrh r1, [sb, #0x12] @@ -23568,45 +23569,45 @@ _02023560: streqh r0, [sb, #0xa] bicne r0, r0, #2 strneh r0, [sb, #0xa] - b _02023688 -_020235AC: + b _027F3E98 +_027F3DBC: cmp r7, #3 - blo _02023688 + blo _027F3E98 ldrh r1, [sb, #0xc] sub r0, r5, #2 orr r1, r1, #0x100 strh r1, [sb, #0xc] str r0, [sb, #0x24] - b _02023688 -_020235CC: + b _027F3E98 +_027F3DDC: cmp r7, #6 - blo _02023688 + blo _027F3E98 ldrh r1, [sb, #0xc] sub r0, r5, #2 orr r1, r1, #0x200 strh r1, [sb, #0xc] str r0, [sb, #0x20] - b _02023688 -_020235EC: + b _027F3E98 +_027F3DFC: cmp r7, #8 - blo _02023634 + blo _027F3E44 mov r0, r5 - bl sub_0201A540 + bl sub_027EAD50 cmp r0, #0 - bne _02023634 + bne _027F3E44 add r0, r5, #1 - bl sub_0201A540 + bl sub_027EAD50 cmp r0, #9 - bne _02023634 + bne _027F3E44 add r0, r5, #2 - bl sub_0201A540 + bl sub_027EAD50 cmp r0, #0xbf - bne _02023634 + bne _027F3E44 add r0, r5, #3 - bl sub_0201A540 + bl sub_027EAD50 cmp r0, #0 - beq _02023654 -_02023634: + beq _027F3E64 +_027F3E44: ldrh r1, [sb, #0x18] add r0, r7, #2 add r1, r1, #1 @@ -23614,15 +23615,15 @@ _02023634: ldrh r1, [sb, #0x1a] add r0, r1, r0 strh r0, [sb, #0x1a] - b _02023688 -_02023654: + b _027F3E98 +_027F3E64: ldrh r1, [sb, #0xc] sub r0, r5, #2 orr r1, r1, #0x400 strh r1, [sb, #0xc] str r0, [sb, #0x28] - b _02023688 -_0202366C: + b _027F3E98 +_027F3E7C: ldrh r1, [sb, #0x18] add r0, r7, #2 add r1, r1, #1 @@ -23630,30 +23631,30 @@ _0202366C: ldrh r1, [sb, #0x1a] add r0, r1, r0 strh r0, [sb, #0x1a] -_02023688: +_027F3E98: add r0, r7, #2 add r5, r5, r7 sub r6, r6, r0 -_02023694: +_027F3EA4: cmp r6, #0 - bgt _02023440 + bgt _027F3C50 ldrh r0, [sb, #0xc] tst r0, #8 - beq _020236CC + beq _027F3EDC ldrh r0, [r4, #0x64] tst r0, #1 - bne _020236C0 + bne _027F3ED0 ldrh r0, [sb, #4] tst r0, #0x8000 - beq _020236CC -_020236C0: + beq _027F3EDC +_027F3ED0: ldrh r0, [sb, #0xa] orr r0, r0, #8 strh r0, [sb, #0xa] -_020236CC: +_027F3EDC: ldrh r0, [sb, #0xc] tst r0, #0x30 - beq _02023718 + beq _027F3F28 ldrh r1, [sb, #6] ldrh r0, [r4, #0x7c] and r1, r1, #3 @@ -23670,18 +23671,18 @@ _020236CC: ldreqh r0, [sb, #0xa] orreq r0, r0, #0x20 streqh r0, [sb, #0xa] -_02023718: +_027F3F28: ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, lr} bx lr .align 2, 0 -_02023720: .word 0x0380FFF4 - arm_func_end sub_02023400 +_027F3F30: .word 0x0380FFF4 + arm_func_end sub_027F3C10 - arm_func_start sub_02023724 -sub_02023724: ; 0x02023724 + arm_func_start sub_027F3F34 +sub_027F3F34: ; 0x027F3F34 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x2c - ldr r0, _02023DCC ; =0x0380FFF4 + ldr r0, _027F45DC ; =0x0380FFF4 mvn r1, #0 ldr r4, [r0] add sl, r4, #0x17c @@ -23689,7 +23690,7 @@ sub_02023724: ; 0x02023724 add r0, r4, #0x300 ldrh r5, [r0, #0x50] cmp r6, r1 - beq _02023DC0 + beq _027F45D0 ldrh r0, [r6, #0x28] tst r0, #1 ldrne r0, [r4, #0x568] @@ -23713,149 +23714,149 @@ sub_02023724: ; 0x02023724 mov r1, r1, lsl #0x18 mov r8, r2, lsr #0x1e mov sb, r1, lsr #0x1c - bl sub_0201B198 + bl sub_027EB9A8 mov r7, r0 strh r7, [r6, #0x12] cmp r7, #0xff - bne _02023814 + bne _027F4024 mov r0, #0 strh r0, [r6, #0x12] cmp r5, #1 - bne _02023D9C + bne _027F45AC cmp r8, #0 - bne _02023D9C + bne _027F45AC cmp sb, #0 - beq _02023808 + beq _027F4018 cmp sb, #4 - beq _020237FC + beq _027F400C cmp sb, #0xb - bne _02023D9C + bne _027F45AC add r0, r6, #0x10 - bl sub_02022DB0 - b _02023D9C -_020237FC: + bl sub_027F35C0 + b _027F45AC +_027F400C: add r0, r6, #0x10 - bl sub_0202292C - b _02023D9C -_02023808: + bl sub_027F313C + b _027F45AC +_027F4018: add r0, r6, #0x10 - bl sub_0202275C - b _02023D9C -_02023814: - bl sub_0201B67C + bl sub_027F2F6C + b _027F45AC +_027F4024: + bl sub_027EBE8C ldrh r1, [r6, #0x22] mov r0, r7, lsl #0x10 and r1, r1, #0xff mov r0, r0, lsr #0x10 - bl sub_0201B51C + bl sub_027EBD2C cmp r8, #0 - bne _02023860 + bne _027F4070 ldrh fp, [r6, #0x3a] mov r0, r7 - bl sub_0201B870 + bl sub_027EC080 cmp fp, r0 ldreq r0, [r4, #0x578] addeq r0, r0, #1 streq r0, [r4, #0x578] - beq _02023D9C + beq _027F45AC mov r0, r7 mov r1, fp - bl sub_0201B63C -_02023860: + bl sub_027EBE4C +_027F4070: cmp r5, #1 - beq _02023878 + beq _027F4088 cmp r5, #2 cmpne r5, #3 - beq _02023B18 - b _02023D9C -_02023878: + beq _027F4328 + b _027F45AC +_027F4088: ldrh r1, [r6, #0x24] mov r0, r7, lsl #0x10 mov r1, r1, lsl #0x13 mov r0, r0, lsr #0x10 mov r1, r1, lsr #0x1f - bl sub_0201B53C + bl sub_027EBD4C cmp r8, #0 - bne _02023AB4 + bne _027F42C4 cmp sb, #0xc addls pc, pc, sb, lsl #2 - b _02023D9C -_020238A4: ; jump table - b _020238E4 ; case 0 - b _02023D9C ; case 1 - b _020238F0 ; case 2 - b _02023D9C ; case 3 - b _02023A74 ; case 4 - b _02023A80 ; case 5 - b _02023D9C ; case 6 - b _02023D9C ; case 7 - b _020238D8 ; case 8 - b _02023D9C ; case 9 - b _02023A90 ; case 10 - b _02023A9C ; case 11 - b _02023AA8 ; case 12 -_020238D8: + b _027F45AC +_027F40B4: ; jump table + b _027F40F4 ; case 0 + b _027F45AC ; case 1 + b _027F4100 ; case 2 + b _027F45AC ; case 3 + b _027F4284 ; case 4 + b _027F4290 ; case 5 + b _027F45AC ; case 6 + b _027F45AC ; case 7 + b _027F40E8 ; case 8 + b _027F45AC ; case 9 + b _027F42A0 ; case 10 + b _027F42AC ; case 11 + b _027F42B8 ; case 12 +_027F40E8: add r0, r6, #0x10 - bl sub_02022030 - b _02023D9C -_020238E4: + bl sub_027F2840 + b _027F45AC +_027F40F4: add r0, r6, #0x10 - bl sub_0202275C - b _02023D9C -_020238F0: - ldr r0, _02023DCC ; =0x0380FFF4 + bl sub_027F2F6C + b _027F45AC +_027F4100: + ldr r0, _027F45DC ; =0x0380FFF4 ldrh r4, [r6, #0x16] ldr r5, [r0] cmp r4, #0xa - bls _02023D9C + bls _027F45AC add r0, r5, #0x300 ldrh r0, [r0, #0x50] cmp r0, #1 - bne _02023D9C + bne _027F45AC add r0, r6, #0x2e mov r1, #0x30 - bl sub_020217E4 + bl sub_027F1FF4 cmp r0, #0 - bne _02023D9C + bne _027F45AC ldrh r7, [r6, #0x12] mov r0, r7 - bl sub_0201B7D0 + bl sub_027EBFE0 cmp r0, #0x30 - bhs _02023970 + bhs _027F4180 add r0, r6, #0x2e mov r1, #0xc0 - bl sub_020217E4 + bl sub_027F1FF4 cmp r0, #0 - bne _02023D9C + bne _027F45AC add r0, r6, #0x2e mov r1, #6 mov r2, #1 - bl sub_020216AC + bl sub_027F1EBC cmp r0, #0 - beq _02023D9C - bl sub_0202086C - b _02023D9C -_02023970: + beq _027F45AC + bl sub_027F107C + b _027F45AC +_027F4180: mov r0, r7 - bl sub_0201B7D0 + bl sub_027EBFE0 cmp r0, #0x40 mov r0, r7 - bne _0202399C + bne _027F41AC mov r1, #0x30 - bl sub_0201B434 + bl sub_027EBC44 add r0, r6, #0x2e mov r1, #1 - bl sub_0201D634 - b _020239A8 -_0202399C: - bl sub_0201B8BC + bl sub_027EDE44 + b _027F41B8 +_027F41AC: + bl sub_027EC0CC cmp r0, #0 - bne _02023D9C -_020239A8: + bne _027F45AC +_027F41B8: add r1, sp, #0 mov r0, #0 mov r2, #0x2c - bl sub_0302D7C0 + bl sub_037FDFD0 add r3, r6, #0x46 sub r2, r4, #0xa mov r1, #0x800 @@ -23863,123 +23864,123 @@ _020239A8: strh r2, [sp, #8] strh r1, [sp, #0xc] add r0, sp, #0 - bl sub_02023400 + bl sub_027F3C10 ldrh r1, [r6, #0x3c] - ldr r0, _02023DD0 ; =0x0000FFC2 + ldr r0, _027F45E0 ; =0x0000FFC2 tst r1, r0 - bne _02023A1C + bne _027F422C add r0, r5, #0x300 ldrh r2, [r0, #0x34] cmp r2, #0 moveq r0, r1, lsl #0x1b moveq r0, r0, lsr #0x1f cmpeq r0, #1 - beq _02023A1C + beq _027F422C cmp r2, #0 - beq _02023A24 + beq _027F4234 ldrh r0, [r6, #0x3c] mov r0, r0, lsl #0x1b movs r0, r0, lsr #0x1f - bne _02023A24 -_02023A1C: + bne _027F4234 +_027F422C: mov r1, #0xa - b _02023A58 -_02023A24: + b _027F4268 +_027F4234: mov r0, r7 - bl sub_0201B5FC + bl sub_027EBE0C ldrh r0, [sp, #0xa] tst r0, #1 moveq r1, #1 - beq _02023A58 + beq _027F4268 tst r0, #4 moveq r1, #0x12 - beq _02023A58 + beq _027F4268 ldrh r1, [sp, #0x16] mov r0, r7 - bl sub_0201B61C + bl sub_027EBE2C mov r1, #0 -_02023A58: +_027F4268: ldr r2, [sp, #0x1c] mov r0, r7 - bl sub_020211E0 + bl sub_027F19F0 cmp r0, #0 - beq _02023D9C - bl sub_0202086C - b _02023D9C -_02023A74: + beq _027F45AC + bl sub_027F107C + b _027F45AC +_027F4284: add r0, r6, #0x10 - bl sub_0202292C - b _02023D9C -_02023A80: + bl sub_027F313C + b _027F45AC +_027F4290: add r0, r6, #0x10 mov r1, #0 - bl sub_020229E0 - b _02023D9C -_02023A90: + bl sub_027F31F0 + b _027F45AC +_027F42A0: add r0, r6, #0x10 - bl sub_0202267C - b _02023D9C -_02023A9C: + bl sub_027F2E8C + b _027F45AC +_027F42AC: add r0, r6, #0x10 - bl sub_02022DB0 - b _02023D9C -_02023AA8: + bl sub_027F35C0 + b _027F45AC +_027F42B8: add r0, r6, #0x10 - bl sub_02023350 - b _02023D9C -_02023AB4: + bl sub_027F3B60 + b _027F45AC +_027F42C4: cmp r8, #1 - bne _02023D9C + bne _027F45AC cmp sb, #0xa - bne _02023D9C - ldr r0, _02023DCC ; =0x0380FFF4 + bne _027F45AC + ldr r0, _027F45DC ; =0x0380FFF4 ldrh r4, [r6, #0x12] ldr r1, [r0] mov r0, r4 add r5, r1, #0x17c - bl sub_0201B7D0 + bl sub_027EBFE0 cmp r0, #0x40 - bne _02023D9C + bne _027F45AC mov r0, r4 - bl sub_0201B5D8 + bl sub_027EBDE8 ldrh r0, [r5, #0x2c] cmp r0, #0 - beq _02023B00 + beq _027F4310 mov r0, #1 - bl sub_0201F6E4 -_02023B00: + bl sub_027EFEF4 +_027F4310: ldrh r0, [r5, #0x20] cmp r0, #0 - beq _02023D9C + beq _027F45AC mov r0, #0 - bl sub_0201F6E4 - b _02023D9C -_02023B18: + bl sub_027EFEF4 + b _027F45AC +_027F4328: cmp r8, #0 - bne _02023D9C + bne _027F45AC cmp sb, #0xc addls pc, pc, sb, lsl #2 - b _02023D9C -_02023B2C: ; jump table - b _02023D9C ; case 0 - b _02023B6C ; case 1 - b _02023D9C ; case 2 - b _02023C68 ; case 3 - b _02023D9C ; case 4 - b _02023D6C ; case 5 - b _02023D9C ; case 6 - b _02023D9C ; case 7 - b _02023B60 ; case 8 - b _02023D9C ; case 9 - b _02023D7C ; case 10 - b _02023D88 ; case 11 - b _02023D94 ; case 12 -_02023B60: + b _027F45AC +_027F433C: ; jump table + b _027F45AC ; case 0 + b _027F437C ; case 1 + b _027F45AC ; case 2 + b _027F4478 ; case 3 + b _027F45AC ; case 4 + b _027F457C ; case 5 + b _027F45AC ; case 6 + b _027F45AC ; case 7 + b _027F4370 ; case 8 + b _027F45AC ; case 9 + b _027F458C ; case 10 + b _027F4598 ; case 11 + b _027F45A4 ; case 12 +_027F4370: add r0, r6, #0x10 - bl sub_02022030 - b _02023D9C -_02023B6C: - ldr r0, _02023DCC ; =0x0380FFF4 + bl sub_027F2840 + b _027F45AC +_027F437C: + ldr r0, _027F45DC ; =0x0380FFF4 ldr r0, [r0] add r5, r0, #0x344 ldrh r1, [r5, #0xc] @@ -23987,38 +23988,38 @@ _02023B6C: cmp r1, #2 add r4, r0, #0x400 cmpne r1, #3 - bne _02023D9C + bne _027F45AC ldrh r0, [r4] cmp r0, #0x51 - bne _02023D9C + bne _027F45AC ldr r0, [r4, #0x18] add r1, r6, #0x2e add r0, r0, #0x10 - bl sub_02019C64 + bl sub_027EA474 cmp r0, #0 - beq _02023D9C - bl sub_0201A3D0 + beq _027F45AC + bl sub_027EABE0 ldrh r0, [r6, #0x3e] cmp r0, #0 - bne _02023C08 + bne _027F4418 ldrh r1, [r6, #0x40] - ldr r0, _02023DD4 ; =0x00000FFF + ldr r0, _027F45E4 ; =0x00000FFF and r0, r1, r0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_020197F0 + bl sub_027EA000 ldrh r0, [r5, #0x6a] - bl sub_02021740 + bl sub_027F1F50 add r0, r5, #0x82 add r1, r6, #0x2e - bl sub_020198D0 + bl sub_027EA0E0 add r0, r6, #0x2e - bl sub_0201B0F0 + bl sub_027EB900 strh r0, [r5, #0x88] ldrh r0, [r5, #0x88] mov r1, #0x40 - bl sub_0201B434 -_02023C08: + bl sub_027EBC44 +_027F4418: ldrh r0, [r6, #0x3e] cmp r0, #0 ldr r0, [r4, #0x1c] @@ -24027,14 +24028,14 @@ _02023C08: ldrneh r1, [r6, #0x3e] ldrne r0, [r4, #0x1c] strneh r1, [r0, #6] - bne _02023C44 + bne _027F4454 mov r2, #0 strh r2, [r0, #4] ldr r1, [r4, #0x1c] mov r0, #0x40 strh r2, [r1, #6] - bl sub_03028A28 -_02023C44: + bl sub_037F9238 +_027F4454: ldrh r1, [r5, #0x6a] ldr r0, [r4, #0x1c] mov r2, #0x53 @@ -24042,10 +24043,10 @@ _02023C44: mov r0, #2 mov r1, #3 strh r2, [r4] - bl sub_03027D88 - b _02023D9C -_02023C68: - ldr r0, _02023DCC ; =0x0380FFF4 + bl sub_037F8598 + b _027F45AC +_027F4478: + ldr r0, _027F45DC ; =0x0380FFF4 ldr r0, [r0] add r5, r0, #0x344 ldrh r1, [r5, #0xc] @@ -24053,40 +24054,40 @@ _02023C68: cmp r1, #2 add r4, r0, #0x400 cmpne r1, #3 - bne _02023D9C + bne _027F45AC ldrh r0, [r4] cmp r0, #0x61 - bne _02023D9C + bne _027F45AC ldr r0, [r4, #0x18] add r1, r6, #0x2e add r0, r0, #0x10 - bl sub_02019C64 + bl sub_027EA474 cmp r0, #0 - beq _02023D9C - bl sub_0201A3D0 + beq _027F45AC + bl sub_027EABE0 ldrh r0, [r6, #0x3e] cmp r0, #0 - bne _02023D0C + bne _027F451C ldrh r1, [r6, #0x40] - ldr r0, _02023DD4 ; =0x00000FFF + ldr r0, _027F45E4 ; =0x00000FFF and r0, r1, r0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_020197F0 + bl sub_027EA000 ldrh r0, [r5, #0x6a] - bl sub_02021740 + bl sub_027F1F50 add r0, r5, #0x82 add r1, r6, #0x2e - bl sub_020198D0 + bl sub_027EA0E0 add r0, r6, #0x2e - bl sub_0201B0F0 + bl sub_027EB900 strh r0, [r5, #0x88] ldrh r0, [r5, #0x88] mov r1, #0x40 - bl sub_0201B434 + bl sub_027EBC44 mov r0, #0x40 - bl sub_03028A28 -_02023D0C: + bl sub_037F9238 +_027F451C: ldrh r0, [r6, #0x3e] cmp r0, #0 ldr r0, [r4, #0x1c] @@ -24095,14 +24096,14 @@ _02023D0C: ldrneh r1, [r6, #0x3e] ldrne r0, [r4, #0x1c] strneh r1, [r0, #6] - bne _02023D48 + bne _027F4558 mov r2, #0 strh r2, [r0, #4] ldr r1, [r4, #0x1c] mov r0, #0x40 strh r2, [r1, #6] - bl sub_03028A28 -_02023D48: + bl sub_037F9238 +_027F4558: ldrh r1, [r5, #0x6a] ldr r0, [r4, #0x1c] mov r2, #0x63 @@ -24110,98 +24111,98 @@ _02023D48: mov r0, #2 mov r1, #4 strh r2, [r4] - bl sub_03027D88 - b _02023D9C -_02023D6C: + bl sub_037F8598 + b _027F45AC +_027F457C: add r0, r6, #0x10 mov r1, #0 - bl sub_020229E0 - b _02023D9C -_02023D7C: + bl sub_027F31F0 + b _027F45AC +_027F458C: add r0, r6, #0x10 - bl sub_0202267C - b _02023D9C -_02023D88: + bl sub_027F2E8C + b _027F45AC +_027F4598: add r0, r6, #0x10 - bl sub_02022DB0 - b _02023D9C -_02023D94: + bl sub_027F35C0 + b _027F45AC +_027F45A4: add r0, r6, #0x10 - bl sub_02023350 -_02023D9C: + bl sub_027F3B60 +_027F45AC: mov r1, r6 add r0, sl, #0x60 - bl sub_030280F8 + bl sub_037F8908 ldrh r0, [sl, #0x68] cmp r0, #0 - beq _02023DC0 + beq _027F45D0 mov r0, #1 mov r1, #7 - bl sub_03027D88 -_02023DC0: + bl sub_037F8598 +_027F45D0: add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_02023DCC: .word 0x0380FFF4 -_02023DD0: .word 0x0000FFC2 -_02023DD4: .word 0x00000FFF - arm_func_end sub_02023724 +_027F45DC: .word 0x0380FFF4 +_027F45E0: .word 0x0000FFC2 +_027F45E4: .word 0x00000FFF + arm_func_end sub_027F3F34 - arm_func_start sub_02023DD8 -sub_02023DD8: ; 0x02023DD8 + arm_func_start sub_027F45E8 +sub_027F45E8: ; 0x027F45E8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x18 - ldr r0, _020242F0 ; =0x0380FFF4 + ldr r0, _027F4B00 ; =0x0380FFF4 mvn r1, #0 ldr r2, [r0] add r0, r2, #0x17c ldr r5, [r0, #0x6c] str r0, [sp, #4] cmp r5, r1 - beq _020242E4 + beq _027F4AF4 add r0, r2, #0x300 ldrh r0, [r0, #0x4c] cmp r0, #0x40 - bne _020242B8 + bne _027F4AC8 ldrh r1, [r5, #0x20] - ldr r0, _020242F4 ; =0x000005FC + ldr r0, _027F4B04 ; =0x000005FC cmp r1, r0 - bhi _020242B8 + bhi _027F4AC8 ldrh r4, [r5, #0x24] add r0, sp, #8 tst r4, #0x100 - beq _02023E50 + beq _027F4660 add r1, r5, #0x34 - bl sub_020198D0 + bl sub_027EA0E0 tst r4, #0x200 - bne _020242B8 + bne _027F4AC8 add r0, sp, #0xe add r1, r5, #0x2e - bl sub_020198D0 - b _02023E78 -_02023E50: + bl sub_027EA0E0 + b _027F4688 +_027F4660: add r1, r5, #0x28 - bl sub_020198D0 + bl sub_027EA0E0 tst r4, #0x200 add r0, sp, #0xe - beq _02023E70 + beq _027F4680 add r1, r5, #0x34 - bl sub_020198D0 - b _02023E78 -_02023E70: + bl sub_027EA0E0 + b _027F4688 +_027F4680: add r1, r5, #0x2e - bl sub_020198D0 -_02023E78: + bl sub_027EA0E0 +_027F4688: ldrh r0, [r5, #0x3a] tst r4, #0x400 strh r0, [sp, #0x14] - beq _020240B0 + beq _027F48C0 ldrh r0, [r5, #0x3a] mov r0, r0, lsl #0x1c movs r0, r0, lsr #0x1c - bne _020240B0 - ldr r0, _020242F0 ; =0x0380FFF4 + bne _027F48C0 + ldr r0, _027F4B00 ; =0x0380FFF4 mvn r6, #0 ldr r0, [r0] mov r7, #0 @@ -24209,30 +24210,30 @@ _02023E78: add r8, r0, #0x400 add fp, sp, #8 mov r4, #0x18 - b _02023FC0 -_02023EBC: + b _027F47D0 +_027F46CC: mul sb, r7, r4 ldrh r0, [r8, sb] add sl, r8, sb cmp r0, #0 - beq _02023FB8 + beq _027F47C8 mov r1, fp add r0, sl, #4 - bl sub_02019C64 + bl sub_027EA474 cmp r0, #0 - beq _02023FBC + beq _027F47CC add r1, sp, #0xe add r0, sl, #0xa - bl sub_02019C64 + bl sub_027EA474 cmp r0, #0 - beq _02023FBC + beq _027F47CC ldrh r0, [sp, #0x14] ldrh r1, [sl, #0x10] mov r0, r0, lsl #0x10 mov r2, r0, lsr #0x14 mov r0, r1, lsl #0x10 cmp r2, r0, lsr #20 - bne _02023FBC + bne _027F47CC ldrh r0, [r5, #0x18] mov r1, r1, lsl #0x1c and r2, r0, #0xf0 @@ -24240,24 +24241,24 @@ _02023EBC: add r0, r2, r0, lsr #28 mov r7, r0, asr #4 subs r0, r7, r1, lsr #28 - beq _020242B8 + beq _027F4AC8 tst r0, #0x80000000 - bne _020242B8 + bne _027F4AC8 mov r0, sl ldr r4, [r0, #0x14] ldrh r0, [r5, #0x20] ldrh r3, [r4, #0x20] sub r0, r0, r3 subs r6, r0, #0x18 - beq _020242B8 + beq _027F4AC8 tst r6, #0x80000000 - bne _020242B8 + bne _027F4AC8 add r0, r5, #0x3c add r1, r4, #0x3c mov r2, r6 add r0, r0, r3 add r1, r1, r3 - bl sub_0302D78C + bl sub_037FDF9C ldrh r1, [r4, #0x20] mov r0, r7, lsl #0x10 add r1, r1, r6 @@ -24267,37 +24268,37 @@ _02023EBC: bic r1, r1, #0xf and r0, r0, #0xf orr r1, r1, r0 - ldr r0, _020242F0 ; =0x0380FFF4 + ldr r0, _027F4B00 ; =0x0380FFF4 strh r1, [sl, #0x10] ldr r1, [r0] ldr r0, [r1, #0x560] add r0, r0, r7 str r0, [r1, #0x560] - b _020242B8 -_02023FB8: + b _027F4AC8 +_027F47C8: mov r6, r7 -_02023FBC: +_027F47CC: add r7, r7, #1 -_02023FC0: +_027F47D0: cmp r7, #3 - blo _02023EBC + blo _027F46CC mvn r0, #0 cmp r6, r0 - beq _020242B8 - ldr r0, _020242F0 ; =0x0380FFF4 - ldr r1, _020242F8 ; =0x00000622 + beq _027F4AC8 + ldr r0, _027F4B00 ; =0x0380FFF4 + ldr r1, _027F4B08 ; =0x00000622 ldr r0, [r0] add r0, r0, #0x188 - bl sub_0302805C + bl sub_037F886C movs r4, r0 - beq _020240A4 + beq _027F48B4 mov r0, #0x18 mul r7, r6, r0 add r6, r8, r7 add r0, sp, #8 add r1, r6, #4 mov r2, #0x10 - bl sub_0302D78C + bl sub_037FDF9C mov r0, #5 strh r0, [r8, r7] mov r0, r6 @@ -24306,11 +24307,11 @@ _02023FC0: add r0, r5, #0x18 add r1, r4, #0x18 add r2, r2, #0xc - bl sub_0302D78C - ldr r0, _020242F0 ; =0x0380FFF4 + bl sub_037FDF9C + ldr r0, _027F4B00 ; =0x0380FFF4 ldr r0, [r0] ldr r0, [r0, #0x30c] - bl sub_0302D678 + bl sub_037FDE88 ldrh r1, [r4, #0x18] ldrh r0, [r6, #0x10] and r1, r1, #0xf0 @@ -24323,7 +24324,7 @@ _02023FC0: and r2, r2, #0xf orr r2, r3, r2 strh r2, [r6, #0x10] - ldr r2, _020242F0 ; =0x0380FFF4 + ldr r2, _027F4B00 ; =0x0380FFF4 ldr r3, [r2] ldr r2, [r3, #0x560] add r0, r2, r0, asr #4 @@ -24332,16 +24333,16 @@ _02023FC0: sub r0, r0, #0x18 strh r0, [r4, #0x20] ldrh r0, [r4, #0x20] - bl sub_030365C4 + bl sub_03806DD4 mov r1, r6 strh r0, [r1, #2] - b _020242B8 -_020240A4: + b _027F4AC8 +_027F48B4: mov r0, #4 - bl sub_0201A85C - b _020242B8 -_020240B0: - ldr r1, _020242F0 ; =0x0380FFF4 + bl sub_027EB06C + b _027F4AC8 +_027F48C0: + ldr r1, _027F4B00 ; =0x0380FFF4 ldrh r0, [r5, #0x20] ldr r4, [r1] sub r1, r0, #0x18 @@ -24349,77 +24350,77 @@ _020240B0: strh r1, [r5, #0x20] add r8, r0, #0x400 mov r7, #0 - b _0202416C -_020240D4: + b _027F497C +_027F48E4: mov r0, #0x18 mul sb, r7, r0 ldrh r0, [r8, sb] add sl, r8, sb cmp r0, #0 - beq _02024168 + beq _027F4978 add r1, sp, #8 add r0, sl, #4 - bl sub_02019C64 + bl sub_027EA474 cmp r0, #0 - beq _02024168 + beq _027F4978 add r1, sp, #0xe add r0, sl, #0xa - bl sub_02019C64 + bl sub_027EA474 cmp r0, #0 - beq _02024168 + beq _027F4978 ldrh r2, [sp, #0x14] ldrh r0, [sl, #0x10] mov r1, r2, lsl #0x10 mov r1, r1, lsr #0x14 mov r0, r0, lsl #0x10 cmp r1, r0, lsr #20 - bne _02024168 + bne _027F4978 mov r1, sl ldrh r0, [r1, #0x10] sub fp, r0, r2 tst fp, #0x80000000 - bne _020242B8 + bne _027F4AC8 ldrh r0, [r1, #2] ldrh r1, [r5, #0x20] mul r0, fp, r0 str r0, [sp] subs r6, r1, r0 - beq _020242B8 + beq _027F4AC8 tst r6, #0x80000000 - beq _02024174 - b _020242B8 -_02024168: + beq _027F4984 + b _027F4AC8 +_027F4978: add r7, r7, #1 -_0202416C: +_027F497C: cmp r7, #3 - blo _020240D4 -_02024174: + blo _027F48E4 +_027F4984: cmp r7, #3 - beq _020242B8 + beq _027F4AC8 mov r0, #0x18 mul sb, r7, r0 add r0, r8, sb ldr r1, [r0, #0x14] - ldr r0, _020242FC ; =0x000005E4 + ldr r0, _027F4B0C ; =0x000005E4 add r7, r1, #0x10 ldrh r1, [r7, #0x10] add sl, r1, r6 cmp sl, r0 - bls _020241BC + bls _027F49CC add r0, r4, #0x188 sub r1, r7, #0x10 - bl sub_030280F8 + bl sub_037F8908 mov r0, #0 strh r0, [r8, sb] - b _020242B8 -_020241BC: + b _027F4AC8 +_027F49CC: ldr r0, [sp] add r3, r5, #0x3c add r2, r7, #0x2c add r1, r2, r1 add r0, r3, r0 add r2, r6, #1 - bl sub_0302D78C + bl sub_037FDF9C strh sl, [r7, #0x10] ldrh r1, [r5, #0x18] add r0, r8, sb @@ -24435,7 +24436,7 @@ _020241BC: bic r3, r6, #0xf and r2, r2, #0xf orr r3, r3, r2 - ldr r2, _020242F0 ; =0x0380FFF4 + ldr r2, _027F4B00 ; =0x0380FFF4 strh r3, [r0, #0x10] ldr r3, [r2] ldr r2, [r3, #0x560] @@ -24443,7 +24444,7 @@ _020241BC: str r1, [r3, #0x560] ldrh r1, [r5, #0x18] tst r1, #0x100 - bne _020242B8 + bne _027F4AC8 mov r1, #0 strh r1, [r0] ldrh r0, [r7, #8] @@ -24455,134 +24456,134 @@ _020241BC: strh r0, [r7, #0x10] ldrh r0, [r7, #8] ands r0, r0, #0xf - beq _02024290 + beq _027F4AA0 cmp r0, #8 add r0, r4, #0x188 - bne _020242B0 + bne _027F4AC0 add r1, r4, #0x1c4 sub r2, r7, #0x10 - bl sub_03028178 + bl sub_037F8988 mov r0, #2 mov r1, #6 - bl sub_03027D88 - b _020242B8 -_02024290: + bl sub_037F8598 + b _027F4AC8 +_027F4AA0: add r0, r4, #0x188 add r1, r4, #0x1dc sub r2, r7, #0x10 - bl sub_03028178 + bl sub_037F8988 mov r0, #1 mov r1, #7 - bl sub_03027D88 - b _020242B8 -_020242B0: + bl sub_037F8598 + b _027F4AC8 +_027F4AC0: sub r1, r7, #0x10 - bl sub_030280F8 -_020242B8: + bl sub_037F8908 +_027F4AC8: ldr r0, [sp, #4] mov r1, r5 add r0, r0, #0x6c - bl sub_030280F8 + bl sub_037F8908 ldr r0, [sp, #4] ldrh r0, [r0, #0x74] cmp r0, #0 - beq _020242E4 + beq _027F4AF4 mov r0, #2 mov r1, #9 - bl sub_03027D88 -_020242E4: + bl sub_037F8598 +_027F4AF4: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_020242F0: .word 0x0380FFF4 -_020242F4: .word 0x000005FC -_020242F8: .word 0x00000622 -_020242FC: .word 0x000005E4 - arm_func_end sub_02023DD8 +_027F4B00: .word 0x0380FFF4 +_027F4B04: .word 0x000005FC +_027F4B08: .word 0x00000622 +_027F4B0C: .word 0x000005E4 + arm_func_end sub_027F45E8 - arm_func_start sub_02024300 -sub_02024300: ; 0x02024300 + arm_func_start sub_027F4B10 +sub_027F4B10: ; 0x027F4B10 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r4, _02024368 ; =0x0380FFF4 + ldr r4, _027F4B78 ; =0x0380FFF4 mov r6, #0 ldr r0, [r4] mov r7, #0x18 add r0, r0, #0xe4 add r5, r0, #0x400 -_0202431C: +_027F4B2C: mul r1, r6, r7 ldrh r0, [r5, r1] add r1, r5, r1 cmp r0, #0 - beq _02024354 + beq _027F4B64 sub r0, r0, #1 strh r0, [r1] ldrh r0, [r1] cmp r0, #0 - bne _02024354 + bne _027F4B64 ldr r0, [r4] ldr r1, [r1, #0x14] add r0, r0, #0x188 - bl sub_030280F8 -_02024354: + bl sub_037F8908 +_027F4B64: add r6, r6, #1 cmp r6, #3 - blo _0202431C + blo _027F4B2C ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02024368: .word 0x0380FFF4 - arm_func_end sub_02024300 +_027F4B78: .word 0x0380FFF4 + arm_func_end sub_027F4B10 - arm_func_start sub_0202436C -sub_0202436C: ; 0x0202436C + arm_func_start sub_027F4B7C +sub_027F4B7C: ; 0x027F4B7C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} - ldr r3, _020244AC ; =0x0380FFF4 + ldr r3, _027F4CBC ; =0x0380FFF4 mov sb, r2 ldr r2, [r3] mov fp, r0 add r0, sb, #1 mov sl, r1 add r4, r2, #0x23c - bl sub_0201A540 + bl sub_027EAD50 cmp r0, #0x20 - bhi _020244A4 + bhi _027F4CB4 mov r6, #4 mov r7, r6 mov r8, #0x400 mov r5, #0 - b _020243EC -_020243AC: + b _027F4BFC +_027F4BBC: ldrh r0, [r4] cmp r0, #0 - beq _020243E0 + beq _027F4BF0 add r0, r4, #6 add r1, sl, #0x24 - bl sub_02019C64 + bl sub_027EA474 cmp r0, #0 - bne _0202440C + bne _027F4C1C ldrh r0, [r4, #0x30] cmp r0, r8 movlo r8, r0 movlo r7, r5 - b _020243E4 -_020243E0: + b _027F4BF4 +_027F4BF0: mov r6, r5 -_020243E4: +_027F4BF4: add r5, r5, #1 add r4, r4, #0x32 -_020243EC: +_027F4BFC: cmp r5, #4 - blo _020243AC + blo _027F4BBC cmp r6, #4 movne r5, r6 - bne _0202440C + bne _027F4C1C cmp r7, #4 movne r5, r7 - beq _020244A4 -_0202440C: - ldr r0, _020244AC ; =0x0380FFF4 + beq _027F4CB4 +_027F4C1C: + ldr r0, _027F4CBC ; =0x0380FFF4 mov r2, #0x32 mul r4, r5, r2 ldr r0, [r0] @@ -24590,7 +24591,7 @@ _0202440C: add r6, r5, r4 mov r1, r6 mov r0, #0 - bl sub_0302D764 + bl sub_037FDF74 mov r0, #0x400 strh r0, [r6, #0x30] ldrh r1, [sl, #0x12] @@ -24599,109 +24600,109 @@ _0202440C: strh r1, [r5, r4] strh fp, [r6, #2] add r1, sl, #0x24 - bl sub_020198D0 + bl sub_027EA0E0 add r0, sb, #1 - bl sub_0201A540 + bl sub_027EAD50 strh r0, [r6, #0xc] mov r7, #0 add r5, sb, #2 add r4, r6, #0xe - b _02024488 -_02024470: + b _027F4C98 +_027F4C80: add r0, r5, r7 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 add r0, r4, r7 - bl sub_0201A514 + bl sub_027EAD24 add r7, r7, #1 -_02024488: +_027F4C98: ldrh r0, [r6, #0xc] cmp r7, r0 - blo _02024470 + blo _027F4C80 ldrh r0, [sl, #0x34] strh r0, [r6, #0x2e] ldrh r0, [sl, #0x36] strh r0, [r6, #4] -_020244A4: +_027F4CB4: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_020244AC: .word 0x0380FFF4 - arm_func_end sub_0202436C +_027F4CBC: .word 0x0380FFF4 + arm_func_end sub_027F4B7C - arm_func_start sub_020244B0 -sub_020244B0: ; 0x020244B0 - ldr r1, _020244CC ; =0x0380FFF4 - ldr ip, _020244D0 ; =sub_037FDF74 + arm_func_start sub_027F4CC0 +sub_027F4CC0: ; 0x027F4CC0 + ldr r1, _027F4CDC ; =0x0380FFF4 + ldr ip, _027F4CE0 ; =sub_037FDF74 ldr r1, [r1] mov r0, #0 mov r2, #0xc8 add r1, r1, #0x23c bx ip .align 2, 0 -_020244CC: .word 0x0380FFF4 -_020244D0: .word sub_037FDF74 - arm_func_end sub_020244B0 +_027F4CDC: .word 0x0380FFF4 +_027F4CE0: .word sub_037FDF74 + arm_func_end sub_027F4CC0 - arm_func_start sub_020244D4 -sub_020244D4: ; 0x020244D4 - ldr r0, _02024518 ; =0x0380FFF4 + arm_func_start sub_027F4CE4 +sub_027F4CE4: ; 0x027F4CE4 + ldr r0, _027F4D28 ; =0x0380FFF4 mov r3, #0 ldr r0, [r0] add r2, r0, #0x23c mov r0, r3 -_020244E8: +_027F4CF8: ldrh r1, [r2, #0x30] cmp r1, #0 - beq _02024508 + beq _027F4D18 sub r1, r1, #1 strh r1, [r2, #0x30] ldrh r1, [r2, #0x30] cmp r1, #0 streqh r0, [r2] -_02024508: +_027F4D18: add r3, r3, #1 cmp r3, #4 - blo _020244E8 + blo _027F4CF8 bx lr .align 2, 0 -_02024518: .word 0x0380FFF4 - arm_func_end sub_020244D4 +_027F4D28: .word 0x0380FFF4 + arm_func_end sub_027F4CE4 - arm_func_start sub_0202451C -sub_0202451C: ; 0x0202451C + arm_func_start sub_027F4D2C +sub_027F4D2C: ; 0x027F4D2C stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r1, _020245B8 ; =0x0380FFF4 + ldr r1, _027F4DC8 ; =0x0380FFF4 mov r4, r0 ldr r0, [r1] ldr r1, [r0, #0x318] ldrh r6, [r1, #2] cmp r6, #0xa4 - blo _02024548 - ldr r0, _020245BC ; =0x000001D6 + blo _027F4D58 + ldr r0, _027F4DCC ; =0x000001D6 cmp r6, r0 - bls _02024550 -_02024548: + bls _027F4D60 +_027F4D58: mov r0, #2 - b _020245B0 -_02024550: + b _027F4DC0 +_027F4D60: add r7, r1, #2 mov r5, #0 - b _02024580 -_0202455C: + b _027F4D90 +_027F4D6C: mov r0, r7 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r5, lsl #0x10 and r0, r0, #0xff mov r1, r1, lsr #0x10 add r7, r7, #1 - bl sub_0201A5D8 + bl sub_027EADE8 mov r5, r0 sub r6, r6, #1 -_02024580: +_027F4D90: cmp r6, #0 - bne _0202455C - ldr r0, _020245B8 ; =0x0380FFF4 + bne _027F4D6C + ldr r0, _027F4DC8 ; =0x0380FFF4 cmp r4, #0 ldr r0, [r0] ldr r0, [r0, #0x318] @@ -24711,200 +24712,200 @@ _02024580: cmp r5, r1 movne r0, #1 moveq r0, #0 -_020245B0: +_027F4DC0: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_020245B8: .word 0x0380FFF4 -_020245BC: .word 0x000001D6 - arm_func_end sub_0202451C +_027F4DC8: .word 0x0380FFF4 +_027F4DCC: .word 0x000001D6 + arm_func_end sub_027F4D2C - arm_func_start sub_020245C0 -sub_020245C0: ; 0x020245C0 + arm_func_start sub_027F4DD0 +sub_027F4DD0: ; 0x027F4DD0 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 add r4, sp, #0 -_020245CC: +_027F4DDC: mov r0, r4 - bl sub_02024D38 + bl sub_027F5548 ldr r0, [sp] tst r0, #0x20 - beq _020245E8 - bl sub_02025474 - b _020245CC -_020245E8: + beq _027F4DF8 + bl sub_027F5C84 + b _027F4DDC +_027F4DF8: ldr r0, [sp] tst r0, #1 - bne _020245CC + bne _027F4DDC add sp, sp, #4 ldmia sp!, {r3, r4, lr} bx lr - arm_func_end sub_020245C0 + arm_func_end sub_027F4DD0 - arm_func_start sub_02024600 -sub_02024600: ; 0x02024600 + arm_func_start sub_027F4E10 +sub_027F4E10: ; 0x027F4E10 stmdb sp!, {r4, r5, r6, lr} - ldr r3, _0202465C ; =0x0380FFF4 + ldr r3, _027F4E6C ; =0x0380FFF4 mov r6, r1 ldr r1, [r3] mov r5, r2 ldr r1, [r1, #0x318] cmp r1, #0 - beq _02024654 + beq _027F4E64 add r0, r1, r0 sub r4, r0, #0x2a - b _0202464C -_0202462C: + b _027F4E5C +_027F4E3C: mov r0, r4 - bl sub_0201A540 + bl sub_027EAD50 mov r1, r0 mov r0, r5 add r4, r4, #1 - bl sub_0201A514 + bl sub_027EAD24 add r5, r5, #1 sub r6, r6, #1 -_0202464C: +_027F4E5C: cmp r6, #0 - bne _0202462C -_02024654: + bne _027F4E3C +_027F4E64: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_0202465C: .word 0x0380FFF4 - arm_func_end sub_02024600 +_027F4E6C: .word 0x0380FFF4 + arm_func_end sub_027F4E10 - arm_func_start sub_02024660 -sub_02024660: ; 0x02024660 + arm_func_start sub_027F4E70 +sub_027F4E70: ; 0x027F4E70 stmdb sp!, {r4, r5, r6, lr} - ldr r3, _020246AC ; =0x0380FFF4 + ldr r3, _027F4EBC ; =0x0380FFF4 mov r6, r0 ldr r0, [r3] mov r5, r1 ldr r0, [r0, #0x314] mov r4, r2 - bl sub_0303317C - bl sub_020245C0 + bl sub_0380398C + bl sub_027F4DD0 mov r0, r6 mov r1, r5 mov r2, r4 - bl sub_02024DA8 - ldr r0, _020246AC ; =0x0380FFF4 + bl sub_027F55B8 + ldr r0, _027F4EBC ; =0x0380FFF4 ldr r0, [r0] ldr r0, [r0, #0x314] - bl sub_030331D8 + bl sub_038039E8 ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_020246AC: .word 0x0380FFF4 - arm_func_end sub_02024660 +_027F4EBC: .word 0x0380FFF4 + arm_func_end sub_027F4E70 - arm_func_start sub_020246B0 -sub_020246B0: ; 0x020246B0 + arm_func_start sub_027F4EC0 +sub_027F4EC0: ; 0x027F4EC0 stmdb sp!, {r3, lr} - ldr r0, _02024794 ; =0x0380FFF4 + ldr r0, _027F4FA4 ; =0x0380FFF4 ldr r0, [r0] ldr r0, [r0, #0x314] - bl sub_0303317C - bl sub_020245C0 + bl sub_0380398C + bl sub_027F4DD0 mov r3, #0 add r2, sp, #0 mov r0, #0x2c mov r1, #2 str r3, [sp] - bl sub_02024DA8 - ldr r0, _02024794 ; =0x0380FFF4 + bl sub_027F55B8 + ldr r0, _027F4FA4 ; =0x0380FFF4 ldr r0, [r0] ldr r0, [r0, #0x314] - bl sub_030331D8 + bl sub_038039E8 ldr r1, [sp] cmp r1, #0xa4 - blo _02024708 - ldr r0, _02024798 ; =0x000001D6 + blo _027F4F18 + ldr r0, _027F4FA8 ; =0x000001D6 cmp r1, r0 - bls _02024710 -_02024708: + bls _027F4F20 +_027F4F18: mov r0, #0 - b _0202478C -_02024710: - ldr r0, _02024794 ; =0x0380FFF4 + b _027F4F9C +_027F4F20: + ldr r0, _027F4FA4 ; =0x0380FFF4 add r1, r1, #2 str r1, [sp] ldr r0, [r0] add r0, r0, #0x188 - bl sub_0302805C - ldr r2, _02024794 ; =0x0380FFF4 + bl sub_037F886C + ldr r2, _027F4FA4 ; =0x0380FFF4 ldr r1, [r2] str r0, [r1, #0x318] ldr r1, [r2] ldr r0, [r1, #0x318] cmp r0, #0 moveq r0, #0 - beq _0202478C + beq _027F4F9C add r0, r0, #0xc str r0, [r1, #0x318] ldr r0, [r2] ldr r0, [r0, #0x314] - bl sub_0303317C - bl sub_020245C0 - ldr r0, _02024794 ; =0x0380FFF4 + bl sub_0380398C + bl sub_027F4DD0 + ldr r0, _027F4FA4 ; =0x0380FFF4 ldr r1, [sp] ldr r2, [r0] mov r0, #0x2a ldr r2, [r2, #0x318] - bl sub_02024DA8 - ldr r0, _02024794 ; =0x0380FFF4 + bl sub_027F55B8 + ldr r0, _027F4FA4 ; =0x0380FFF4 ldr r0, [r0] ldr r0, [r0, #0x314] - bl sub_030331D8 + bl sub_038039E8 mov r0, #1 -_0202478C: +_027F4F9C: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02024794: .word 0x0380FFF4 -_02024798: .word 0x000001D6 - arm_func_end sub_020246B0 +_027F4FA4: .word 0x0380FFF4 +_027F4FA8: .word 0x000001D6 + arm_func_end sub_027F4EC0 - arm_func_start sub_0202479C -sub_0202479C: ; 0x0202479C - ldr r0, _020247C0 ; =0x027F8E08 + arm_func_start sub_027F4FAC +sub_027F4FAC: ; 0x027F4FAC + ldr r0, _027F4FD0 ; =0x027F8E08 mov r3, #0 mov r2, r3 -_020247A8: +_027F4FB8: mov r1, r3, lsl #1 add r3, r3, #1 strh r2, [r0, r1] cmp r3, #0x10 - blt _020247A8 + blt _027F4FB8 bx lr .align 2, 0 -_020247C0: .word 0x027F8E08 - arm_func_end sub_0202479C +_027F4FD0: .word 0x027F8E08 + arm_func_end sub_027F4FAC - arm_func_start sub_020247C4 -sub_020247C4: ; 0x020247C4 + arm_func_start sub_027F4FD4 +sub_027F4FD4: ; 0x027F4FD4 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 tst r0, #0x2000000 - beq _020247F4 - ldr r2, _02024964 ; =0x027F8E08 + beq _027F5004 + ldr r2, _027F5174 ; =0x027F8E08 mov r5, #0 mov lr, r5 -_020247E0: +_027F4FF0: mov r4, r5, lsl #1 add r5, r5, #1 strh lr, [r2, r4] cmp r5, #0x10 - blt _020247E0 -_020247F4: - ldr r2, _02024964 ; =0x027F8E08 + blt _027F4FF0 +_027F5004: + ldr r2, _027F5174 ; =0x027F8E08 and r4, r0, #0xf0000 mov r4, r4, lsr #0x10 mov r4, r4, lsl #1 strh r0, [r2, r4] tst r0, #0x1000000 - beq _02024958 - ldr lr, _02024968 ; =0x027F8E08 + beq _027F5168 + ldr lr, _027F5178 ; =0x027F8E08 ldrh r0, [lr] and r2, r0, #0xff00 mov r2, r2, lsl #8 @@ -24912,20 +24913,20 @@ _020247F4: sub r2, r4, #0x22 cmp r2, #0xa addls pc, pc, r2, lsl #2 - b _0202492C -_02024834: ; jump table - b _02024860 ; case 0 - b _02024898 ; case 1 - b _02024898 ; case 2 - b _020248E0 ; case 3 - b _020248E0 ; case 4 - b _02024920 ; case 5 - b _02024920 ; case 6 - b _0202492C ; case 7 - b _0202492C ; case 8 - b _0202492C ; case 9 - b _02024860 ; case 10 -_02024860: + b _027F513C +_027F5044: ; jump table + b _027F5070 ; case 0 + b _027F50A8 ; case 1 + b _027F50A8 ; case 2 + b _027F50F0 ; case 3 + b _027F50F0 ; case 4 + b _027F5130 ; case 5 + b _027F5130 ; case 6 + b _027F513C ; case 7 + b _027F513C ; case 8 + b _027F513C ; case 9 + b _027F5070 ; case 10 +_027F5070: ldrh ip, [lr, #4] ldrh r2, [lr, #2] mov r0, r0, lsl #0x18 @@ -24933,438 +24934,438 @@ _02024860: orr r0, r0, r2, lsl #8 orr ip, r0, ip, lsr #8 cmp ip, #0x2000000 - blo _02024888 + blo _027F5098 cmp ip, #0x2800000 - blo _0202492C -_02024888: + blo _027F513C +_027F5098: mov r0, r4 mov r1, #2 - bl sub_03033238 - b _02024958 -_02024898: + bl sub_03803A48 + b _027F5168 +_027F50A8: ldrh r2, [lr, #8] ldrh r1, [lr, #0xa] orr ip, r1, r2, lsl #16 cmp ip, #0x2000000 - blo _020248B4 + blo _027F50C4 cmp ip, #0x2800000 - blo _020248C4 -_020248B4: + blo _027F50D4 +_027F50C4: mov r0, r4 mov r1, #2 - bl sub_03033238 - b _02024958 -_020248C4: + bl sub_03803A48 + b _027F5168 +_027F50D4: ldrh r2, [lr, #2] mov r3, r0, lsl #0x18 ldrh r1, [lr, #4] ldrh r0, [lr, #6] orr r3, r2, r3, lsr #8 orr r1, r0, r1, lsl #16 - b _0202492C -_020248E0: + b _027F513C +_027F50F0: ldrh r2, [lr, #6] ldrh r1, [lr, #8] orr ip, r1, r2, lsl #16 cmp ip, #0x2000000 - blo _020248FC + blo _027F510C cmp ip, #0x2800000 - blo _0202490C -_020248FC: + blo _027F511C +_027F510C: mov r0, r4 mov r1, #2 - bl sub_03033238 - b _02024958 -_0202490C: + bl sub_03803A48 + b _027F5168 +_027F511C: ldrh r2, [lr, #2] mov r0, r0, lsl #0x18 ldrh r1, [lr, #4] orr r3, r2, r0, lsr #8 - b _0202492C -_02024920: + b _027F513C +_027F5130: ldrh r2, [lr, #2] mov r0, r0, lsl #0x18 orr r3, r2, r0, lsr #8 -_0202492C: +_027F513C: str r1, [sp] mov r1, r4 mov r0, #1 mov r2, #3 str ip, [sp, #4] - bl sub_0303336C + bl sub_03803B7C cmp r0, #0 - bne _02024958 + bne _027F5168 mov r0, r4 mov r1, #4 - bl sub_03033238 -_02024958: + bl sub_03803A48 +_027F5168: add sp, sp, #8 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02024964: .word 0x027F8E08 -_02024968: .word 0x027F8E08 - arm_func_end sub_020247C4 +_027F5174: .word 0x027F8E08 +_027F5178: .word 0x027F8E08 + arm_func_end sub_027F4FD4 - arm_func_start sub_0202496C -sub_0202496C: ; 0x0202496C + arm_func_start sub_027F517C +sub_027F517C: ; 0x027F517C stmdb sp!, {r3, r4, r5, lr} mov r4, r0 - bl sub_0302D4F0 + bl sub_037FDD00 mov r5, r0 mov r0, #1 - bl sub_030332FC + bl sub_03803B0C cmp r0, #0 - bne _020249AC + bne _027F51BC mov r0, r5 - bl sub_0302D504 + bl sub_037FDD14 ldr r0, [r4, #4] mov r1, #4 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_03033238 - b _02024C38 -_020249AC: + bl sub_03803A48 + b _027F5448 +_027F51BC: mov r0, #1 - bl sub_03033318 + bl sub_03803B28 mov r0, r5 - bl sub_0302D504 + bl sub_037FDD14 ldr r0, [r4, #4] sub r0, r0, #0x20 cmp r0, #0xd addls pc, pc, r0, lsl #2 - b _02024BFC -_020249D0: ; jump table - b _02024A08 ; case 0 - b _02024A10 ; case 1 - b _02024A18 ; case 2 - b _02024A24 ; case 3 - b _02024A64 ; case 4 - b _02024AA4 ; case 5 - b _02024AEC ; case 6 - b _02024B34 ; case 7 - b _02024B6C ; case 8 - b _02024BA4 ; case 9 - b _02024BAC ; case 10 - b _02024BB4 ; case 11 - b _02024BE8 ; case 12 - b _02024BF4 ; case 13 -_02024A08: - bl sub_02024C94 - b _02024C1C -_02024A10: - bl sub_02024CF8 - b _02024C1C -_02024A18: + b _027F540C +_027F51E0: ; jump table + b _027F5218 ; case 0 + b _027F5220 ; case 1 + b _027F5228 ; case 2 + b _027F5234 ; case 3 + b _027F5274 ; case 4 + b _027F52B4 ; case 5 + b _027F52FC ; case 6 + b _027F5344 ; case 7 + b _027F537C ; case 8 + b _027F53B4 ; case 9 + b _027F53BC ; case 10 + b _027F53C4 ; case 11 + b _027F53F8 ; case 12 + b _027F5404 ; case 13 +_027F5218: + bl sub_027F54A4 + b _027F542C +_027F5220: + bl sub_027F5508 + b _027F542C +_027F5228: ldr r0, [r4, #0x10] - bl sub_02024D38 - b _02024C1C -_02024A24: - bl sub_02024C40 + bl sub_027F5548 + b _027F542C +_027F5234: + bl sub_027F5450 cmp r0, #0 - bne _02024A50 + bne _027F5260 ldr r0, [r4, #4] mov r1, #3 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_03033238 + bl sub_03803A48 mov r0, #1 - bl sub_03033330 - b _02024C38 -_02024A50: + bl sub_03803B40 + b _027F5448 +_027F5260: ldr r0, [r4, #8] ldr r1, [r4, #0xc] ldr r2, [r4, #0x10] - bl sub_02024DA8 - b _02024C1C -_02024A64: - bl sub_02024C40 + bl sub_027F55B8 + b _027F542C +_027F5274: + bl sub_027F5450 cmp r0, #0 - bne _02024A90 + bne _027F52A0 ldr r0, [r4, #4] mov r1, #3 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_03033238 + bl sub_03803A48 mov r0, #1 - bl sub_03033330 - b _02024C38 -_02024A90: + bl sub_03803B40 + b _027F5448 +_027F52A0: ldr r0, [r4, #8] ldr r1, [r4, #0xc] ldr r2, [r4, #0x10] - bl sub_02024ED0 - b _02024C1C -_02024AA4: - bl sub_02024C64 + bl sub_027F56E0 + b _027F542C +_027F52B4: + bl sub_027F5474 cmp r0, #0 - bne _02024AD0 + bne _027F52E0 ldr r0, [r4, #4] mov r1, #3 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_03033238 + bl sub_03803A48 mov r0, #1 - bl sub_03033330 - b _02024C38 -_02024AD0: + bl sub_03803B40 + b _027F5448 +_027F52E0: ldr r1, [r4, #0xc] ldr r0, [r4, #8] mov r1, r1, lsl #0x10 ldr r2, [r4, #0x10] mov r1, r1, lsr #0x10 - bl sub_02024FF0 - b _02024C1C -_02024AEC: - bl sub_02024C64 + bl sub_027F5800 + b _027F542C +_027F52FC: + bl sub_027F5474 cmp r0, #0 - bne _02024B18 + bne _027F5328 ldr r0, [r4, #4] mov r1, #3 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_03033238 + bl sub_03803A48 mov r0, #1 - bl sub_03033330 - b _02024C38 -_02024B18: + bl sub_03803B40 + b _027F5448 +_027F5328: ldr r1, [r4, #0xc] ldr r0, [r4, #8] mov r1, r1, lsl #0x10 ldr r2, [r4, #0x10] mov r1, r1, lsr #0x10 - bl sub_020250FC - b _02024C1C -_02024B34: - bl sub_02024C64 + bl sub_027F590C + b _027F542C +_027F5344: + bl sub_027F5474 cmp r0, #0 - bne _02024B60 + bne _027F5370 ldr r0, [r4, #4] mov r1, #3 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_03033238 + bl sub_03803A48 mov r0, #1 - bl sub_03033330 - b _02024C38 -_02024B60: + bl sub_03803B40 + b _027F5448 +_027F5370: ldr r0, [r4, #8] - bl sub_02025208 - b _02024C1C -_02024B6C: - bl sub_02024C64 + bl sub_027F5A18 + b _027F542C +_027F537C: + bl sub_027F5474 cmp r0, #0 - bne _02024B98 + bne _027F53A8 ldr r0, [r4, #4] mov r1, #3 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_03033238 + bl sub_03803A48 mov r0, #1 - bl sub_03033330 - b _02024C38 -_02024B98: + bl sub_03803B40 + b _027F5448 +_027F53A8: ldr r0, [r4, #8] - bl sub_02025290 - b _02024C1C -_02024BA4: - bl sub_02025318 - b _02024C1C -_02024BAC: - bl sub_02025358 - b _02024C1C -_02024BB4: - bl sub_02024C64 + bl sub_027F5AA0 + b _027F542C +_027F53B4: + bl sub_027F5B28 + b _027F542C +_027F53BC: + bl sub_027F5B68 + b _027F542C +_027F53C4: + bl sub_027F5474 cmp r0, #0 - bne _02024BE0 + bne _027F53F0 ldr r0, [r4, #4] mov r1, #3 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_03033238 + bl sub_03803A48 mov r0, #1 - bl sub_03033330 - b _02024C38 -_02024BE0: - bl sub_02025398 - b _02024C1C -_02024BE8: + bl sub_03803B40 + b _027F5448 +_027F53F0: + bl sub_027F5BA8 + b _027F542C +_027F53F8: ldr r0, [r4, #0x10] - bl sub_020253D8 - b _02024C1C -_02024BF4: - bl sub_02025474 - b _02024C1C -_02024BFC: + bl sub_027F5BE8 + b _027F542C +_027F5404: + bl sub_027F5C84 + b _027F542C +_027F540C: mov r0, #1 - bl sub_03033330 + bl sub_03803B40 ldr r0, [r4, #4] mov r1, #1 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_03033238 - b _02024C38 -_02024C1C: + bl sub_03803A48 + b _027F5448 +_027F542C: ldr r0, [r4, #4] mov r1, #0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_03033238 + bl sub_03803A48 mov r0, #1 - bl sub_03033330 -_02024C38: + bl sub_03803B40 +_027F5448: ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_0202496C + arm_func_end sub_027F517C - arm_func_start sub_02024C40 -sub_02024C40: ; 0x02024C40 + arm_func_start sub_027F5450 +sub_027F5450: ; 0x027F5450 stmdb sp!, {r3, lr} add r0, sp, #0 - bl sub_02024D38 + bl sub_027F5548 ldrh r0, [sp] tst r0, #1 moveq r0, #1 movne r0, #0 ldmia sp!, {r3, lr} bx lr - arm_func_end sub_02024C40 + arm_func_end sub_027F5450 - arm_func_start sub_02024C64 -sub_02024C64: ; 0x02024C64 + arm_func_start sub_027F5474 +sub_027F5474: ; 0x027F5474 stmdb sp!, {r3, lr} add r0, sp, #0 - bl sub_02024D38 + bl sub_027F5548 ldrh r0, [sp] tst r0, #1 movne r0, #0 - bne _02024C8C + bne _027F549C tst r0, #2 movne r0, #1 moveq r0, #0 -_02024C8C: +_027F549C: ldmia sp!, {r3, lr} bx lr - arm_func_end sub_02024C64 + arm_func_end sub_027F5474 - arm_func_start sub_02024C94 -sub_02024C94: ; 0x02024C94 - ldr r2, _02024CCC ; =0x040001C0 -_02024C98: + arm_func_start sub_027F54A4 +sub_027F54A4: ; 0x027F54A4 + ldr r2, _027F54DC ; =0x040001C0 +_027F54A8: ldrh r0, [r2] tst r0, #0x80 - bne _02024C98 - ldr r0, _02024CD0 ; =0x040001C2 + bne _027F54A8 + ldr r0, _027F54E0 ; =0x040001C2 mov r1, #0x8100 strh r1, [r2] mov r1, #6 strh r1, [r0] sub r1, r0, #2 -_02024CBC: +_027F54CC: ldrh r0, [r1] tst r0, #0x80 - bne _02024CBC + bne _027F54CC bx lr .align 2, 0 -_02024CCC: .word 0x040001C0 -_02024CD0: .word 0x040001C2 - arm_func_end sub_02024C94 +_027F54DC: .word 0x040001C0 +_027F54E0: .word 0x040001C2 + arm_func_end sub_027F54A4 - arm_func_start sub_02024CD4 -sub_02024CD4: ; 0x02024CD4 - ldr r1, _02024CF4 ; =0x040001C2 + arm_func_start sub_027F54E4 +sub_027F54E4: ; 0x027F54E4 + ldr r1, _027F5504 ; =0x040001C2 and r0, r0, #0xff strh r0, [r1] sub r1, r1, #2 -_02024CE4: +_027F54F4: ldrh r0, [r1] tst r0, #0x80 - bne _02024CE4 + bne _027F54F4 bx lr .align 2, 0 -_02024CF4: .word 0x040001C2 - arm_func_end sub_02024CD4 +_027F5504: .word 0x040001C2 + arm_func_end sub_027F54E4 - arm_func_start sub_02024CF8 -sub_02024CF8: ; 0x02024CF8 - ldr r2, _02024D30 ; =0x040001C0 -_02024CFC: + arm_func_start sub_027F5508 +sub_027F5508: ; 0x027F5508 + ldr r2, _027F5540 ; =0x040001C0 +_027F550C: ldrh r0, [r2] tst r0, #0x80 - bne _02024CFC - ldr r0, _02024D34 ; =0x040001C2 + bne _027F550C + ldr r0, _027F5544 ; =0x040001C2 mov r1, #0x8100 strh r1, [r2] mov r1, #4 strh r1, [r0] sub r1, r0, #2 -_02024D20: +_027F5530: ldrh r0, [r1] tst r0, #0x80 - bne _02024D20 + bne _027F5530 bx lr .align 2, 0 -_02024D30: .word 0x040001C0 -_02024D34: .word 0x040001C2 - arm_func_end sub_02024CF8 +_027F5540: .word 0x040001C0 +_027F5544: .word 0x040001C2 + arm_func_end sub_027F5508 - arm_func_start sub_02024D38 -sub_02024D38: ; 0x02024D38 - ldr r3, _02024DA0 ; =0x040001C0 -_02024D3C: + arm_func_start sub_027F5548 +sub_027F5548: ; 0x027F5548 + ldr r3, _027F55B0 ; =0x040001C0 +_027F554C: ldrh r1, [r3] tst r1, #0x80 - bne _02024D3C - ldr r1, _02024DA4 ; =0x040001C2 + bne _027F554C + ldr r1, _027F55B4 ; =0x040001C2 mov r2, #0x8900 strh r2, [r3] mov r2, #5 strh r2, [r1] sub r3, r1, #2 -_02024D60: +_027F5570: ldrh r1, [r3] tst r1, #0x80 - bne _02024D60 - ldr r1, _02024DA4 ; =0x040001C2 + bne _027F5570 + ldr r1, _027F55B4 ; =0x040001C2 mov r2, #0x8100 strh r2, [r3] mov r2, #0 strh r2, [r1] sub r2, r1, #2 -_02024D84: +_027F5594: ldrh r1, [r2] tst r1, #0x80 - bne _02024D84 - ldr r1, _02024DA4 ; =0x040001C2 + bne _027F5594 + ldr r1, _027F55B4 ; =0x040001C2 ldrh r1, [r1] strb r1, [r0] bx lr .align 2, 0 -_02024DA0: .word 0x040001C0 -_02024DA4: .word 0x040001C2 - arm_func_end sub_02024D38 +_027F55B0: .word 0x040001C0 +_027F55B4: .word 0x040001C2 + arm_func_end sub_027F5548 - arm_func_start sub_02024DA8 -sub_02024DA8: ; 0x02024DA8 + arm_func_start sub_027F55B8 +sub_027F55B8: ; 0x027F55B8 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r5, r2 cmp r1, #1 - blo _02024E98 + blo _027F56A8 and r2, r0, #0xff00 mov r2, r2, lsr #8 and r3, r0, #0xff0000 strh r2, [sp, #2] mov r3, r3, lsr #0x10 and r0, r0, #0xff - ldr r2, _02024EA4 ; =0x040001C0 + ldr r2, _027F56B4 ; =0x040001C0 strh r3, [sp] strh r0, [sp, #4] -_02024DE0: +_027F55F0: ldrh r0, [r2] tst r0, #0x80 - bne _02024DE0 - ldr r4, _02024EA8 ; =0x040001C2 + bne _027F55F0 + ldr r4, _027F56B8 ; =0x040001C2 mov r0, #0x8900 strh r0, [r2] mov r0, #3 @@ -25372,91 +25373,91 @@ _02024DE0: mov ip, #0 add r2, sp, #0 sub r3, r4, #2 -_02024E0C: +_027F561C: ldrh r0, [r3] tst r0, #0x80 - bne _02024E0C + bne _027F561C mov r0, ip, lsl #1 ldrh r0, [r2, r0] add ip, ip, #1 and r0, r0, #0xff strh r0, [r4] cmp ip, #3 - blt _02024E0C - ldr r2, _02024EA4 ; =0x040001C0 -_02024E38: + blt _027F561C + ldr r2, _027F56B4 ; =0x040001C0 +_027F5648: ldrh r0, [r2] tst r0, #0x80 - bne _02024E38 + bne _027F5648 mov r4, #0 - ldr r2, _02024EA4 ; =0x040001C0 + ldr r2, _027F56B4 ; =0x040001C0 sub r0, r1, #1 mov r3, r4 - b _02024E74 -_02024E58: + b _027F5684 +_027F5668: strh r3, [r2, #2] -_02024E5C: +_027F566C: ldrh r1, [r2] tst r1, #0x80 - bne _02024E5C + bne _027F566C ldrh r1, [r2, #2] strb r1, [r5, r4] add r4, r4, #1 -_02024E74: +_027F5684: cmp r4, r0 - blo _02024E58 - ldr r0, _02024EA4 ; =0x040001C0 + blo _027F5668 + ldr r0, _027F56B4 ; =0x040001C0 mov r1, #0x8100 strh r1, [r0] - bl sub_02024EAC - ldr r0, _02024EA8 ; =0x040001C2 + bl sub_027F56BC + ldr r0, _027F56B8 ; =0x040001C2 ldrh r0, [r0] strb r0, [r5, r4] -_02024E98: +_027F56A8: add sp, sp, #8 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02024EA4: .word 0x040001C0 -_02024EA8: .word 0x040001C2 - arm_func_end sub_02024DA8 +_027F56B4: .word 0x040001C0 +_027F56B8: .word 0x040001C2 + arm_func_end sub_027F55B8 - arm_func_start sub_02024EAC -sub_02024EAC: ; 0x02024EAC - ldr r0, _02024ECC ; =0x040001C2 + arm_func_start sub_027F56BC +sub_027F56BC: ; 0x027F56BC + ldr r0, _027F56DC ; =0x040001C2 mov r1, #0 strh r1, [r0] sub r1, r0, #2 -_02024EBC: +_027F56CC: ldrh r0, [r1] tst r0, #0x80 - bne _02024EBC + bne _027F56CC bx lr .align 2, 0 -_02024ECC: .word 0x040001C2 - arm_func_end sub_02024EAC +_027F56DC: .word 0x040001C2 + arm_func_end sub_027F56BC - arm_func_start sub_02024ED0 -sub_02024ED0: ; 0x02024ED0 + arm_func_start sub_027F56E0 +sub_027F56E0: ; 0x027F56E0 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r5, r2 cmp r1, #1 - blo _02024FDC + blo _027F57EC and r2, r0, #0xff00 mov r2, r2, lsr #8 and r3, r0, #0xff0000 strh r2, [sp, #2] mov r3, r3, lsr #0x10 and r0, r0, #0xff - ldr r2, _02024FE8 ; =0x040001C0 + ldr r2, _027F57F8 ; =0x040001C0 strh r3, [sp] strh r0, [sp, #4] -_02024F08: +_027F5718: ldrh r0, [r2] tst r0, #0x80 - bne _02024F08 - ldr r4, _02024FEC ; =0x040001C2 + bne _027F5718 + ldr r4, _027F57FC ; =0x040001C2 mov r0, #0x8900 strh r0, [r2] mov r0, #0xb @@ -25464,69 +25465,69 @@ _02024F08: mov ip, #0 add r2, sp, #0 sub r3, r4, #2 -_02024F34: +_027F5744: ldrh r0, [r3] tst r0, #0x80 - bne _02024F34 + bne _027F5744 mov r0, ip, lsl #1 ldrh r0, [r2, r0] add ip, ip, #1 and r0, r0, #0xff strh r0, [r4] cmp ip, #3 - blt _02024F34 - ldr r2, _02024FE8 ; =0x040001C0 -_02024F60: + blt _027F5744 + ldr r2, _027F57F8 ; =0x040001C0 +_027F5770: ldrh r0, [r2] tst r0, #0x80 - bne _02024F60 - ldr r0, _02024FEC ; =0x040001C2 + bne _027F5770 + ldr r0, _027F57FC ; =0x040001C2 mov r2, #0 strh r2, [r0] sub r2, r0, #2 -_02024F7C: +_027F578C: ldrh r0, [r2] tst r0, #0x80 - bne _02024F7C + bne _027F578C mov r4, #0 - ldr r2, _02024FE8 ; =0x040001C0 + ldr r2, _027F57F8 ; =0x040001C0 sub r0, r1, #1 mov r3, r4 - b _02024FB8 -_02024F9C: + b _027F57C8 +_027F57AC: strh r3, [r2, #2] -_02024FA0: +_027F57B0: ldrh r1, [r2] tst r1, #0x80 - bne _02024FA0 + bne _027F57B0 ldrh r1, [r2, #2] strb r1, [r5, r4] add r4, r4, #1 -_02024FB8: +_027F57C8: cmp r4, r0 - blo _02024F9C - ldr r0, _02024FE8 ; =0x040001C0 + blo _027F57AC + ldr r0, _027F57F8 ; =0x040001C0 mov r1, #0x8100 strh r1, [r0] - bl sub_02024EAC - ldr r0, _02024FEC ; =0x040001C2 + bl sub_027F56BC + ldr r0, _027F57FC ; =0x040001C2 ldrh r0, [r0] strb r0, [r5, r4] -_02024FDC: +_027F57EC: add sp, sp, #8 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02024FE8: .word 0x040001C0 -_02024FEC: .word 0x040001C2 - arm_func_end sub_02024ED0 +_027F57F8: .word 0x040001C0 +_027F57FC: .word 0x040001C2 + arm_func_end sub_027F56E0 - arm_func_start sub_02024FF0 -sub_02024FF0: ; 0x02024FF0 + arm_func_start sub_027F5800 +sub_027F5800: ; 0x027F5800 stmdb sp!, {r4, lr} sub sp, sp, #8 cmp r1, #1 - blo _020250E8 + blo _027F58F8 add r3, r0, r1 sub r3, r3, #1 mov r3, r3, lsr #8 @@ -25540,15 +25541,15 @@ sub_02024FF0: ; 0x02024FF0 mov ip, ip, lsr #0x10 and r0, r0, #0xff movhi r1, r1, lsl #0x10 - ldr r3, _020250F4 ; =0x040001C0 + ldr r3, _027F5904 ; =0x040001C0 strh ip, [sp] strh r0, [sp, #4] movhi r1, r1, lsr #0x10 -_02025044: +_027F5854: ldrh r0, [r3] tst r0, #0x80 - bne _02025044 - ldr lr, _020250F8 ; =0x040001C2 + bne _027F5854 + ldr lr, _027F5908 ; =0x040001C2 mov r0, #0x8900 strh r0, [r3] mov r0, #0xa @@ -25556,55 +25557,55 @@ _02025044: mov r4, #0 add r3, sp, #0 sub ip, lr, #2 -_02025070: +_027F5880: ldrh r0, [ip] tst r0, #0x80 - bne _02025070 + bne _027F5880 mov r0, r4, lsl #1 ldrh r0, [r3, r0] add r4, r4, #1 and r0, r0, #0xff strh r0, [lr] cmp r4, #3 - blt _02025070 + blt _027F5880 sub r3, r1, #1 - ldr r1, _020250F4 ; =0x040001C0 + ldr r1, _027F5904 ; =0x040001C0 mov r4, #0 - b _020250C0 -_020250A8: + b _027F58D0 +_027F58B8: ldrh r0, [r1] tst r0, #0x80 - bne _020250A8 + bne _027F58B8 ldrb r0, [r2, r4] add r4, r4, #1 strh r0, [r1, #2] -_020250C0: +_027F58D0: cmp r4, r3 - blt _020250A8 - ldr r1, _020250F4 ; =0x040001C0 -_020250CC: + blt _027F58B8 + ldr r1, _027F5904 ; =0x040001C0 +_027F58DC: ldrh r0, [r1] tst r0, #0x80 - bne _020250CC + bne _027F58DC mov r0, #0x8100 strh r0, [r1] ldrb r0, [r2, r4] - bl sub_02024CD4 -_020250E8: + bl sub_027F54E4 +_027F58F8: add sp, sp, #8 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_020250F4: .word 0x040001C0 -_020250F8: .word 0x040001C2 - arm_func_end sub_02024FF0 +_027F5904: .word 0x040001C0 +_027F5908: .word 0x040001C2 + arm_func_end sub_027F5800 - arm_func_start sub_020250FC -sub_020250FC: ; 0x020250FC + arm_func_start sub_027F590C +sub_027F590C: ; 0x027F590C stmdb sp!, {r4, lr} sub sp, sp, #8 cmp r1, #1 - blo _020251F4 + blo _027F5A04 add r3, r0, r1 sub r3, r3, #1 mov r3, r3, lsr #8 @@ -25618,15 +25619,15 @@ sub_020250FC: ; 0x020250FC mov ip, ip, lsr #0x10 and r0, r0, #0xff movhi r1, r1, lsl #0x10 - ldr r3, _02025200 ; =0x040001C0 + ldr r3, _027F5A10 ; =0x040001C0 strh ip, [sp] strh r0, [sp, #4] movhi r1, r1, lsr #0x10 -_02025150: +_027F5960: ldrh r0, [r3] tst r0, #0x80 - bne _02025150 - ldr lr, _02025204 ; =0x040001C2 + bne _027F5960 + ldr lr, _027F5A14 ; =0x040001C2 mov r0, #0x8900 strh r0, [r3] mov r0, #2 @@ -25634,227 +25635,227 @@ _02025150: mov r4, #0 add r3, sp, #0 sub ip, lr, #2 -_0202517C: +_027F598C: ldrh r0, [ip] tst r0, #0x80 - bne _0202517C + bne _027F598C mov r0, r4, lsl #1 ldrh r0, [r3, r0] add r4, r4, #1 and r0, r0, #0xff strh r0, [lr] cmp r4, #3 - blt _0202517C + blt _027F598C sub r3, r1, #1 - ldr r1, _02025200 ; =0x040001C0 + ldr r1, _027F5A10 ; =0x040001C0 mov r4, #0 - b _020251CC -_020251B4: + b _027F59DC +_027F59C4: ldrh r0, [r1] tst r0, #0x80 - bne _020251B4 + bne _027F59C4 ldrb r0, [r2, r4] add r4, r4, #1 strh r0, [r1, #2] -_020251CC: +_027F59DC: cmp r4, r3 - blt _020251B4 - ldr r1, _02025200 ; =0x040001C0 -_020251D8: + blt _027F59C4 + ldr r1, _027F5A10 ; =0x040001C0 +_027F59E8: ldrh r0, [r1] tst r0, #0x80 - bne _020251D8 + bne _027F59E8 mov r0, #0x8100 strh r0, [r1] ldrb r0, [r2, r4] - bl sub_02024CD4 -_020251F4: + bl sub_027F54E4 +_027F5A04: add sp, sp, #8 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02025200: .word 0x040001C0 -_02025204: .word 0x040001C2 - arm_func_end sub_020250FC +_027F5A10: .word 0x040001C0 +_027F5A14: .word 0x040001C2 + arm_func_end sub_027F590C - arm_func_start sub_02025208 -sub_02025208: ; 0x02025208 + arm_func_start sub_027F5A18 +sub_027F5A18: ; 0x027F5A18 stmdb sp!, {r3, r4, r5, lr} and r1, r0, #0xff0000 mov r1, r1, lsr #0x10 and r2, r0, #0xff00 mov r2, r2, lsl #8 - ldr r3, _02025288 ; =0x040001C0 + ldr r3, _027F5A98 ; =0x040001C0 mov r1, r1, lsl #0x10 and r5, r0, #0xff mov r0, r1, lsr #0x10 mov r4, r2, lsr #0x10 -_02025230: +_027F5A40: ldrh r1, [r3] tst r1, #0x80 - bne _02025230 - ldr r1, _0202528C ; =0x040001C2 + bne _027F5A40 + ldr r1, _027F5A9C ; =0x040001C2 mov r2, #0x8900 strh r2, [r3] mov r2, #0xdb strh r2, [r1] sub r2, r1, #2 -_02025254: +_027F5A64: ldrh r1, [r2] tst r1, #0x80 - bne _02025254 - bl sub_02024CD4 + bne _027F5A64 + bl sub_027F54E4 mov r0, r4 - bl sub_02024CD4 - ldr r1, _02025288 ; =0x040001C0 + bl sub_027F54E4 + ldr r1, _027F5A98 ; =0x040001C0 mov r2, #0x8100 mov r0, r5 strh r2, [r1] - bl sub_02024CD4 + bl sub_027F54E4 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02025288: .word 0x040001C0 -_0202528C: .word 0x040001C2 - arm_func_end sub_02025208 +_027F5A98: .word 0x040001C0 +_027F5A9C: .word 0x040001C2 + arm_func_end sub_027F5A18 - arm_func_start sub_02025290 -sub_02025290: ; 0x02025290 + arm_func_start sub_027F5AA0 +sub_027F5AA0: ; 0x027F5AA0 stmdb sp!, {r3, r4, r5, lr} and r1, r0, #0xff0000 mov r1, r1, lsr #0x10 and r2, r0, #0xff00 mov r2, r2, lsl #8 - ldr r3, _02025310 ; =0x040001C0 + ldr r3, _027F5B20 ; =0x040001C0 mov r1, r1, lsl #0x10 and r5, r0, #0xff mov r0, r1, lsr #0x10 mov r4, r2, lsr #0x10 -_020252B8: +_027F5AC8: ldrh r1, [r3] tst r1, #0x80 - bne _020252B8 - ldr r1, _02025314 ; =0x040001C2 + bne _027F5AC8 + ldr r1, _027F5B24 ; =0x040001C2 mov r2, #0x8900 strh r2, [r3] mov r2, #0xd8 strh r2, [r1] sub r2, r1, #2 -_020252DC: +_027F5AEC: ldrh r1, [r2] tst r1, #0x80 - bne _020252DC - bl sub_02024CD4 + bne _027F5AEC + bl sub_027F54E4 mov r0, r4 - bl sub_02024CD4 - ldr r1, _02025310 ; =0x040001C0 + bl sub_027F54E4 + ldr r1, _027F5B20 ; =0x040001C0 mov r2, #0x8100 mov r0, r5 strh r2, [r1] - bl sub_02024CD4 + bl sub_027F54E4 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02025310: .word 0x040001C0 -_02025314: .word 0x040001C2 - arm_func_end sub_02025290 +_027F5B20: .word 0x040001C0 +_027F5B24: .word 0x040001C2 + arm_func_end sub_027F5AA0 - arm_func_start sub_02025318 -sub_02025318: ; 0x02025318 - ldr r2, _02025350 ; =0x040001C0 -_0202531C: + arm_func_start sub_027F5B28 +sub_027F5B28: ; 0x027F5B28 + ldr r2, _027F5B60 ; =0x040001C0 +_027F5B2C: ldrh r0, [r2] tst r0, #0x80 - bne _0202531C - ldr r0, _02025354 ; =0x040001C2 + bne _027F5B2C + ldr r0, _027F5B64 ; =0x040001C2 mov r1, #0x8100 strh r1, [r2] mov r1, #0xb9 strh r1, [r0] sub r1, r0, #2 -_02025340: +_027F5B50: ldrh r0, [r1] tst r0, #0x80 - bne _02025340 + bne _027F5B50 bx lr .align 2, 0 -_02025350: .word 0x040001C0 -_02025354: .word 0x040001C2 - arm_func_end sub_02025318 +_027F5B60: .word 0x040001C0 +_027F5B64: .word 0x040001C2 + arm_func_end sub_027F5B28 - arm_func_start sub_02025358 -sub_02025358: ; 0x02025358 - ldr r2, _02025390 ; =0x040001C0 -_0202535C: + arm_func_start sub_027F5B68 +sub_027F5B68: ; 0x027F5B68 + ldr r2, _027F5BA0 ; =0x040001C0 +_027F5B6C: ldrh r0, [r2] tst r0, #0x80 - bne _0202535C - ldr r0, _02025394 ; =0x040001C2 + bne _027F5B6C + ldr r0, _027F5BA4 ; =0x040001C2 mov r1, #0x8100 strh r1, [r2] mov r1, #0xab strh r1, [r0] sub r1, r0, #2 -_02025380: +_027F5B90: ldrh r0, [r1] tst r0, #0x80 - bne _02025380 + bne _027F5B90 bx lr .align 2, 0 -_02025390: .word 0x040001C0 -_02025394: .word 0x040001C2 - arm_func_end sub_02025358 +_027F5BA0: .word 0x040001C0 +_027F5BA4: .word 0x040001C2 + arm_func_end sub_027F5B68 - arm_func_start sub_02025398 -sub_02025398: ; 0x02025398 - ldr r2, _020253D0 ; =0x040001C0 -_0202539C: + arm_func_start sub_027F5BA8 +sub_027F5BA8: ; 0x027F5BA8 + ldr r2, _027F5BE0 ; =0x040001C0 +_027F5BAC: ldrh r0, [r2] tst r0, #0x80 - bne _0202539C - ldr r0, _020253D4 ; =0x040001C2 + bne _027F5BAC + ldr r0, _027F5BE4 ; =0x040001C2 mov r1, #0x8100 strh r1, [r2] mov r1, #0xc7 strh r1, [r0] sub r1, r0, #2 -_020253C0: +_027F5BD0: ldrh r0, [r1] tst r0, #0x80 - bne _020253C0 + bne _027F5BD0 bx lr .align 2, 0 -_020253D0: .word 0x040001C0 -_020253D4: .word 0x040001C2 - arm_func_end sub_02025398 +_027F5BE0: .word 0x040001C0 +_027F5BE4: .word 0x040001C2 + arm_func_end sub_027F5BA8 - arm_func_start sub_020253D8 -sub_020253D8: ; 0x020253D8 + arm_func_start sub_027F5BE8 +sub_027F5BE8: ; 0x027F5BE8 stmdb sp!, {r3, lr} - ldr r3, _0202546C ; =0x040001C0 -_020253E0: + ldr r3, _027F5C7C ; =0x040001C0 +_027F5BF0: ldrh r1, [r3] tst r1, #0x80 - bne _020253E0 - ldr r1, _02025470 ; =0x040001C2 + bne _027F5BF0 + ldr r1, _027F5C80 ; =0x040001C2 mov r2, #0x8900 strh r2, [r3] mov r2, #0x9f strh r2, [r1] sub r2, r1, #2 -_02025404: +_027F5C14: ldrh r1, [r2] tst r1, #0x80 - bne _02025404 - ldr r1, _02025470 ; =0x040001C2 + bne _027F5C14 + ldr r1, _027F5C80 ; =0x040001C2 mov r2, #0 strh r2, [r1] sub lr, r1, #2 -_02025420: +_027F5C30: ldrh r1, [lr] tst r1, #0x80 - bne _02025420 - ldr ip, _02025470 ; =0x040001C2 + bne _027F5C30 + ldr ip, _027F5C80 ; =0x040001C2 mov r2, #0x8100 ldrh r3, [ip] mov r1, #0 @@ -25862,86 +25863,86 @@ _02025420: strh r2, [lr] strh r1, [ip] sub r2, ip, #2 -_0202544C: +_027F5C5C: ldrh r1, [r2] tst r1, #0x80 - bne _0202544C - ldr r1, _02025470 ; =0x040001C2 + bne _027F5C5C + ldr r1, _027F5C80 ; =0x040001C2 ldrh r1, [r1] strb r1, [r0, #1] ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0202546C: .word 0x040001C0 -_02025470: .word 0x040001C2 - arm_func_end sub_020253D8 +_027F5C7C: .word 0x040001C0 +_027F5C80: .word 0x040001C2 + arm_func_end sub_027F5BE8 - arm_func_start sub_02025474 -sub_02025474: ; 0x02025474 - ldr r2, _020254AC ; =0x040001C0 -_02025478: + arm_func_start sub_027F5C84 +sub_027F5C84: ; 0x027F5C84 + ldr r2, _027F5CBC ; =0x040001C0 +_027F5C88: ldrh r0, [r2] tst r0, #0x80 - bne _02025478 - ldr r0, _020254B0 ; =0x040001C2 + bne _027F5C88 + ldr r0, _027F5CC0 ; =0x040001C2 mov r1, #0x8100 strh r1, [r2] mov r1, #0xff strh r1, [r0] sub r1, r0, #2 -_0202549C: +_027F5CAC: ldrh r0, [r1] tst r0, #0x80 - bne _0202549C + bne _027F5CAC bx lr .align 2, 0 -_020254AC: .word 0x040001C0 -_020254B0: .word 0x040001C2 - arm_func_end sub_02025474 +_027F5CBC: .word 0x040001C0 +_027F5CC0: .word 0x040001C2 + arm_func_end sub_027F5C84 - arm_func_start sub_020254B4 -sub_020254B4: ; 0x020254B4 + arm_func_start sub_027F5CC4 +sub_027F5CC4: ; 0x027F5CC4 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0xc - ldr r1, _020256F0 ; =0x027F8E28 + ldr r1, _027F5F00 ; =0x027F8E28 mov r8, r0 ldrh r0, [r1] cmp r0, #0 - bne _020256E4 + bne _027F5EF4 mov r2, #1 strh r2, [r1] add r0, sp, #8 str r2, [r1, #0x1d8] - bl sub_020262F4 + bl sub_027F6B04 add r0, sp, #0xa - bl sub_02026358 + bl sub_027F6B68 ldrh r0, [sp, #8] mov r1, r0, lsl #0x18 movs r1, r1, lsr #0x1f - bne _02025518 + bne _027F5D28 mov r0, r0, lsl #0x19 movs r0, r0, lsr #0x1f - bne _02025518 + bne _027F5D28 ldrh r0, [sp, #0xa] mov r0, r0, lsl #0x18 movs r0, r0, lsr #0x1f - beq _02025530 -_02025518: + beq _027F5D40 +_027F5D28: ldrh r1, [sp, #8] add r0, sp, #8 bic r1, r1, #1 orr r1, r1, #1 strh r1, [sp, #8] - bl sub_02026320 -_02025530: + bl sub_027F6B30 +_027F5D40: ldrh r0, [sp, #8] mov r1, r0, lsl #0x1b movs r1, r1, lsr #0x1f - bne _0202554C + bne _027F5D5C mov r0, r0, lsl #0x1a movs r0, r0, lsr #0x1f - beq _0202556C -_0202554C: + beq _027F5D7C +_027F5D5C: ldrh r1, [sp, #0xa] add r0, sp, #0xa bic r1, r1, #0xf @@ -25949,27 +25950,27 @@ _0202554C: ldrh r1, [sp, #0xa] bic r1, r1, #0x40 strh r1, [sp, #0xa] - bl sub_02026384 -_0202556C: - ldr r0, _020256F4 ; =0x027FFDE8 - bl sub_02025F84 - ldr r0, _020256F4 ; =0x027FFDE8 + bl sub_027F6B94 +_027F5D7C: + ldr r0, _027F5F04 ; =0x027FFDE8 + bl sub_027F6794 + ldr r0, _027F5F04 ; =0x027FFDE8 ldr r0, [r0] mov r0, r0, lsl #0xa mov r0, r0, lsr #0x1a - bl sub_02025DAC - ldr r1, _020256F4 ; =0x027FFDE8 + bl sub_027F65BC + ldr r1, _027F5F04 ; =0x027FFDE8 mov r5, r0 ldr r0, [r1] mov r0, r0, lsl #0x13 mov r0, r0, lsr #0x1b - bl sub_02025DAC - ldr r1, _020256F4 ; =0x027FFDE8 + bl sub_027F65BC + ldr r1, _027F5F04 ; =0x027FFDE8 mov r6, r0 ldr r0, [r1] mov r0, r0, lsl #0x18 mov r0, r0, lsr #0x18 - bl sub_02025DAC + bl sub_027F65BC sub r1, r6, #1 cmp r1, #1 add r7, r0, #0x7d0 @@ -25977,184 +25978,184 @@ _0202556C: mov r0, r7 mov r1, #0x190 addls r6, r6, #0xc - bl sub_030365C4 + bl sub_03806DD4 mov r4, r0 mov r0, r7 mov r1, #0x64 - bl sub_030365C4 + bl sub_03806DD4 mov r1, #0xd mul r1, r6, r1 mov r6, r0 add r0, r1, #8 mov r1, #5 - bl sub_030365C4 + bl sub_03806DD4 add r1, r7, r7, lsr #2 sub r1, r1, r6 add r1, r4, r1 add r0, r1, r0 add r0, r5, r0 mov r1, #7 - bl sub_030365C4 - ldr r0, _020256F4 ; =0x027FFDE8 + bl sub_03806DD4 + ldr r0, _027F5F04 ; =0x027FFDE8 ldr r2, [r0] mov r3, r2, lsl #5 mov r3, r3, lsr #0x1d cmp r3, r1 - beq _02025648 + beq _027F5E58 bic r2, r2, #0x7000000 mov r1, r1, lsl #0x1d orr r1, r2, r1, lsr #5 str r1, [r0] - bl sub_02025FB0 -_02025648: + bl sub_027F67C0 +_027F5E58: mov r0, #1 - bl sub_02025E60 - ldr r0, _020256F0 ; =0x027F8E28 + bl sub_027F6670 + ldr r0, _027F5F00 ; =0x027F8E28 mov r1, #0 str r1, [r0, #0x1d8] - bl sub_0302DAA4 - ldr r1, _020256F8 ; =0x027F5F24 + bl sub_037FE2B4 + ldr r1, _027F5F08 ; =0x027F5F24 mov r0, #5 - bl sub_0302DB8C - ldr r0, _020256FC ; =0x027F8E2C - ldr r1, _02025700 ; =0x027F8E4C + bl sub_037FE39C + ldr r0, _027F5F0C ; =0x027F8E2C + ldr r1, _027F5F10 ; =0x027F8E4C mov r2, #4 - bl sub_0302BE9C + bl sub_037FC6AC mov r0, #0x100 stmia sp, {r0, r8} - ldr r0, _02025704 ; =0x027F8E5C - ldr r1, _02025708 ; =0x027F60A8 - ldr r3, _0202570C ; =0x027F9000 + ldr r0, _027F5F14 ; =0x027F8E5C + ldr r1, _027F5F18 ; =0x027F60A8 + ldr r3, _027F5F1C ; =0x027F9000 mov r2, #0 - bl sub_0302B844 - ldr r0, _02025704 ; =0x027F8E5C - bl sub_0302BB5C + bl sub_037FC054 + ldr r0, _027F5F14 ; =0x027F8E5C + bl sub_037FC36C mov r0, #0x8000 - bl sub_0302DD98 + bl sub_037FE5A8 mov r0, #0x40 mov r1, #0 - bl sub_0302DD78 + bl sub_037FE588 mov r0, #0x100 mov r1, r0 - bl sub_0302DD78 - bl sub_0302D4F0 + bl sub_037FE588 + bl sub_037FDD00 mov r4, r0 - ldr r1, _02025710 ; =0x027F652C + ldr r1, _027F5F20 ; =0x027F652C mov r0, #0x80 - bl sub_0302AFAC + bl sub_037FB7BC mov r0, #0x80 - bl sub_0302B0E0 + bl sub_037FB8F0 mov r0, r4 - bl sub_0302D504 -_020256E4: + bl sub_037FDD14 +_027F5EF4: add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_020256F0: .word 0x027F8E28 -_020256F4: .word 0x027FFDE8 -_020256F8: .word 0x027F5F24 -_020256FC: .word 0x027F8E2C -_02025700: .word 0x027F8E4C -_02025704: .word 0x027F8E5C -_02025708: .word 0x027F60A8 -_0202570C: .word 0x027F9000 -_02025710: .word 0x027F652C - arm_func_end sub_020254B4 +_027F5F00: .word 0x027F8E28 +_027F5F04: .word 0x027FFDE8 +_027F5F08: .word 0x027F5F24 +_027F5F0C: .word 0x027F8E2C +_027F5F10: .word 0x027F8E4C +_027F5F14: .word 0x027F8E5C +_027F5F18: .word 0x027F60A8 +_027F5F1C: .word 0x027F9000 +_027F5F20: .word 0x027F652C + arm_func_end sub_027F5CC4 - arm_func_start sub_02025714 -sub_02025714: ; 0x02025714 + arm_func_start sub_027F5F24 +sub_027F5F24: ; 0x027F5F24 stmdb sp!, {r4, lr} cmp r2, #0 - bne _02025844 + bne _027F6054 and r0, r1, #0x7f00 mov r0, r0, lsl #8 mov r4, r0, lsr #0x10 cmp r4, #0x29 addls pc, pc, r4, lsl #2 - b _02025838 -_02025738: ; jump table - b _020257E0 ; case 0 - b _020257E0 ; case 1 - b _02025838 ; case 2 - b _02025838 ; case 3 - b _02025838 ; case 4 - b _02025838 ; case 5 - b _02025838 ; case 6 - b _02025838 ; case 7 - b _02025838 ; case 8 - b _02025838 ; case 9 - b _02025838 ; case 10 - b _02025838 ; case 11 - b _02025838 ; case 12 - b _02025838 ; case 13 - b _02025838 ; case 14 - b _02025838 ; case 15 - b _020257E0 ; case 16 - b _020257E0 ; case 17 - b _020257E0 ; case 18 - b _020257E0 ; case 19 - b _020257E0 ; case 20 - b _020257E0 ; case 21 - b _020257E0 ; case 22 - b _020257E0 ; case 23 - b _020257E0 ; case 24 - b _020257E0 ; case 25 - b _02025838 ; case 26 - b _02025838 ; case 27 - b _02025838 ; case 28 - b _02025838 ; case 29 - b _02025838 ; case 30 - b _02025838 ; case 31 - b _02025838 ; case 32 - b _02025838 ; case 33 - b _02025838 ; case 34 - b _020257E0 ; case 35 - b _020257E0 ; case 36 - b _020257E0 ; case 37 - b _020257E0 ; case 38 - b _020257E0 ; case 39 - b _020257E0 ; case 40 - b _020257E0 ; case 41 -_020257E0: - ldr r0, _0202584C ; =0x027F8E28 + b _027F6048 +_027F5F48: ; jump table + b _027F5FF0 ; case 0 + b _027F5FF0 ; case 1 + b _027F6048 ; case 2 + b _027F6048 ; case 3 + b _027F6048 ; case 4 + b _027F6048 ; case 5 + b _027F6048 ; case 6 + b _027F6048 ; case 7 + b _027F6048 ; case 8 + b _027F6048 ; case 9 + b _027F6048 ; case 10 + b _027F6048 ; case 11 + b _027F6048 ; case 12 + b _027F6048 ; case 13 + b _027F6048 ; case 14 + b _027F6048 ; case 15 + b _027F5FF0 ; case 16 + b _027F5FF0 ; case 17 + b _027F5FF0 ; case 18 + b _027F5FF0 ; case 19 + b _027F5FF0 ; case 20 + b _027F5FF0 ; case 21 + b _027F5FF0 ; case 22 + b _027F5FF0 ; case 23 + b _027F5FF0 ; case 24 + b _027F5FF0 ; case 25 + b _027F6048 ; case 26 + b _027F6048 ; case 27 + b _027F6048 ; case 28 + b _027F6048 ; case 29 + b _027F6048 ; case 30 + b _027F6048 ; case 31 + b _027F6048 ; case 32 + b _027F6048 ; case 33 + b _027F6048 ; case 34 + b _027F5FF0 ; case 35 + b _027F5FF0 ; case 36 + b _027F5FF0 ; case 37 + b _027F5FF0 ; case 38 + b _027F5FF0 ; case 39 + b _027F5FF0 ; case 40 + b _027F5FF0 ; case 41 +_027F5FF0: + ldr r0, _027F605C ; =0x027F8E28 ldr r1, [r0, #0x1d8] cmp r1, #0 - beq _02025800 + beq _027F6010 mov r0, r4 mov r1, #3 - bl sub_02025858 - b _02025844 -_02025800: - ldr r3, _02025850 ; =0x027F8F28 + bl sub_027F6068 + b _027F6054 +_027F6010: + ldr r3, _027F6060 ; =0x027F8F28 mov r1, #1 str r1, [r0, #0x1d8] mov r1, #0 - ldr r0, _02025854 ; =0x027F8E2C + ldr r0, _027F6064 ; =0x027F8E2C mov r2, r1 strh r4, [r3, #0xdc] - bl sub_0302BEC4 + bl sub_037FC6D4 cmp r0, #0 - bne _02025844 + bne _027F6054 mov r0, r4 mov r1, #4 - bl sub_02025858 - b _02025844 -_02025838: + bl sub_027F6068 + b _027F6054 +_027F6048: mov r0, r4 mov r1, #1 - bl sub_02025858 -_02025844: + bl sub_027F6068 +_027F6054: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0202584C: .word 0x027F8E28 -_02025850: .word 0x027F8F28 -_02025854: .word 0x027F8E2C - arm_func_end sub_02025714 +_027F605C: .word 0x027F8E28 +_027F6060: .word 0x027F8F28 +_027F6064: .word 0x027F8E2C + arm_func_end sub_027F5F24 - arm_func_start sub_02025858 -sub_02025858: ; 0x02025858 + arm_func_start sub_027F6068 +sub_027F6068: ; 0x027F6068 stmdb sp!, {r4, r5, r6, lr} mov r0, r0, lsl #8 and r0, r0, #0x7f00 @@ -26163,358 +26164,358 @@ sub_02025858: ; 0x02025858 orr r6, r2, r0 mov r5, #5 mov r4, #0 -_02025878: +_027F6088: mov r0, r5 mov r1, r6 mov r2, r4 - bl sub_0302DC00 + bl sub_037FE410 cmp r0, #0 - blt _02025878 + blt _027F6088 ldmia sp!, {r4, r5, r6, lr} bx lr - arm_func_end sub_02025858 + arm_func_end sub_027F6068 - arm_func_start sub_02025898 -sub_02025898: ; 0x02025898 + arm_func_start sub_027F60A8 +sub_027F60A8: ; 0x027F60A8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} - ldr sb, _02025D0C ; =0x027FFDE8 + ldr sb, _027F651C ; =0x027FFDE8 mov r8, #0 - ldr r4, _02025D10 ; =0x027F8E28 + ldr r4, _027F6520 ; =0x027F8E28 mov r7, r8 mov r6, r8 mov r5, r8 mov sl, r8 mov fp, r8 -_020258BC: - ldr r0, _02025D14 ; =0x027F8E2C +_027F60CC: + ldr r0, _027F6524 ; =0x027F8E2C add r1, sp, #0 mov r2, #1 - bl sub_0302BF50 - ldr r0, _02025D18 ; =0x027F8F28 + bl sub_037FC760 + ldr r0, _027F6528 ; =0x027F8F28 ldrh r0, [r0, #0xdc] cmp r0, #0x29 addls pc, pc, r0, lsl #2 - b _02025CF8 -_020258E0: ; jump table - b _02025988 ; case 0 - b _020259A0 ; case 1 - b _02025CF8 ; case 2 - b _02025CF8 ; case 3 - b _02025CF8 ; case 4 - b _02025CF8 ; case 5 - b _02025CF8 ; case 6 - b _02025CF8 ; case 7 - b _02025CF8 ; case 8 - b _02025CF8 ; case 9 - b _02025CF8 ; case 10 - b _02025CF8 ; case 11 - b _02025CF8 ; case 12 - b _02025CF8 ; case 13 - b _02025CF8 ; case 14 - b _02025CF8 ; case 15 - b _020259C8 ; case 16 - b _020259E8 ; case 17 - b _02025A08 ; case 18 - b _02025A28 ; case 19 - b _02025A64 ; case 20 - b _02025AA0 ; case 21 - b _02025ADC ; case 22 - b _02025AFC ; case 23 - b _02025B1C ; case 24 - b _02025B3C ; case 25 - b _02025CF8 ; case 26 - b _02025CF8 ; case 27 - b _02025CF8 ; case 28 - b _02025CF8 ; case 29 - b _02025CF8 ; case 30 - b _02025CF8 ; case 31 - b _02025B5C ; case 32 - b _02025B7C ; case 33 - b _02025BA4 ; case 34 - b _02025BC4 ; case 35 - b _02025C00 ; case 36 - b _02025C3C ; case 37 - b _02025C78 ; case 38 - b _02025C98 ; case 39 - b _02025CB8 ; case 40 - b _02025CD8 ; case 41 -_02025988: - bl sub_02025E1C + b _027F6508 +_027F60F0: ; jump table + b _027F6198 ; case 0 + b _027F61B0 ; case 1 + b _027F6508 ; case 2 + b _027F6508 ; case 3 + b _027F6508 ; case 4 + b _027F6508 ; case 5 + b _027F6508 ; case 6 + b _027F6508 ; case 7 + b _027F6508 ; case 8 + b _027F6508 ; case 9 + b _027F6508 ; case 10 + b _027F6508 ; case 11 + b _027F6508 ; case 12 + b _027F6508 ; case 13 + b _027F6508 ; case 14 + b _027F6508 ; case 15 + b _027F61D8 ; case 16 + b _027F61F8 ; case 17 + b _027F6218 ; case 18 + b _027F6238 ; case 19 + b _027F6274 ; case 20 + b _027F62B0 ; case 21 + b _027F62EC ; case 22 + b _027F630C ; case 23 + b _027F632C ; case 24 + b _027F634C ; case 25 + b _027F6508 ; case 26 + b _027F6508 ; case 27 + b _027F6508 ; case 28 + b _027F6508 ; case 29 + b _027F6508 ; case 30 + b _027F6508 ; case 31 + b _027F636C ; case 32 + b _027F638C ; case 33 + b _027F63B4 ; case 34 + b _027F63D4 ; case 35 + b _027F6410 ; case 36 + b _027F644C ; case 37 + b _027F6488 ; case 38 + b _027F64A8 ; case 39 + b _027F64C8 ; case 40 + b _027F64E8 ; case 41 +_027F6198: + bl sub_027F662C mov r0, #0 mov r1, r0 str r0, [r4, #0x1d8] - bl sub_02025858 - b _020258BC -_020259A0: + bl sub_027F6068 + b _027F60CC +_027F61B0: ldrh r0, [sb] mov r0, r0, lsl #0x1e mov r0, r0, lsr #0x1f - bl sub_02025E60 + bl sub_027F6670 mov r0, #0 str r0, [r4, #0x1d8] mov r0, #1 mov r1, #0 - bl sub_02025858 - b _020258BC -_020259C8: + bl sub_027F6068 + b _027F60CC +_027F61D8: mov r0, sb - bl sub_02025F84 + bl sub_027F6794 mov r0, #0 str r0, [r4, #0x1d8] mov r0, #0x10 mov r1, #0 - bl sub_02025858 - b _020258BC -_020259E8: + bl sub_027F6068 + b _027F60CC +_027F61F8: mov r0, sb - bl sub_02025FE8 + bl sub_027F67F8 mov r0, #0 str r0, [r4, #0x1d8] mov r0, #0x11 mov r1, #0 - bl sub_02025858 - b _020258BC -_02025A08: + bl sub_027F6068 + b _027F60CC +_027F6218: add r0, sb, #4 - bl sub_02026014 + bl sub_027F6824 mov r0, #0 str r0, [r4, #0x1d8] mov r0, #0x12 mov r1, #0 - bl sub_02025858 - b _020258BC -_02025A28: + bl sub_027F6068 + b _027F60CC +_027F6238: add r0, sb, #4 - bl sub_02026078 + bl sub_027F6888 cmp r0, #0 - bne _02025A4C + bne _027F625C mov r0, #0x13 mov r1, #2 str r8, [r4, #0x1d8] - bl sub_02025858 - b _020258BC -_02025A4C: + bl sub_027F6068 + b _027F60CC +_027F625C: mov r0, #0 str r0, [r4, #0x1d8] mov r0, #0x13 mov r1, #0 - bl sub_02025858 - b _020258BC -_02025A64: + bl sub_027F6068 + b _027F60CC +_027F6274: add r0, sb, #4 - bl sub_02026154 + bl sub_027F6964 cmp r0, #0 - bne _02025A88 + bne _027F6298 mov r0, #0x14 mov r1, #2 str r7, [r4, #0x1d8] - bl sub_02025858 - b _020258BC -_02025A88: + bl sub_027F6068 + b _027F60CC +_027F6298: mov r0, #0 str r0, [r4, #0x1d8] mov r0, #0x14 mov r1, #0 - bl sub_02025858 - b _020258BC -_02025AA0: + bl sub_027F6068 + b _027F60CC +_027F62B0: add r0, sb, #4 - bl sub_02026228 + bl sub_027F6A38 cmp r0, #0 - bne _02025AC4 + bne _027F62D4 mov r0, #0x15 mov r1, #2 str r6, [r4, #0x1d8] - bl sub_02025858 - b _020258BC -_02025AC4: + bl sub_027F6068 + b _027F60CC +_027F62D4: mov r0, #0 str r0, [r4, #0x1d8] mov r0, #0x15 mov r1, #0 - bl sub_02025858 - b _020258BC -_02025ADC: + bl sub_027F6068 + b _027F60CC +_027F62EC: mov r0, sb - bl sub_020262F4 + bl sub_027F6B04 mov r0, #0 str r0, [r4, #0x1d8] mov r0, #0x16 mov r1, #0 - bl sub_02025858 - b _020258BC -_02025AFC: + bl sub_027F6068 + b _027F60CC +_027F630C: add r0, sb, #2 - bl sub_02026358 + bl sub_027F6B68 mov r0, #0 str r0, [r4, #0x1d8] mov r0, #0x17 mov r1, #0 - bl sub_02025858 - b _020258BC -_02025B1C: + bl sub_027F6068 + b _027F60CC +_027F632C: add r0, sb, #4 - bl sub_020263BC + bl sub_027F6BCC mov r0, #0 str r0, [r4, #0x1d8] mov r0, #0x18 mov r1, #0 - bl sub_02025858 - b _020258BC -_02025B3C: + bl sub_027F6068 + b _027F60CC +_027F634C: add r0, sb, #4 - bl sub_02026420 + bl sub_027F6C30 mov r0, #0 str r0, [r4, #0x1d8] mov r0, #0x19 mov r1, #0 - bl sub_02025858 - b _020258BC -_02025B5C: + bl sub_027F6068 + b _027F60CC +_027F636C: mov r0, sb - bl sub_02025FB0 + bl sub_027F67C0 mov r0, #0 str r0, [r4, #0x1d8] mov r0, #0x20 mov r1, #0 - bl sub_02025858 - b _020258BC -_02025B7C: + bl sub_027F6068 + b _027F60CC +_027F638C: add r0, sb, #4 - bl sub_02026014 + bl sub_027F6824 mov r0, sb - bl sub_02025FB0 + bl sub_027F67C0 mov r0, #0 str r0, [r4, #0x1d8] mov r0, #0x21 mov r1, #0 - bl sub_02025858 - b _020258BC -_02025BA4: + bl sub_027F6068 + b _027F60CC +_027F63B4: add r0, sb, #4 - bl sub_02026040 + bl sub_027F6850 mov r0, #0 str r0, [r4, #0x1d8] mov r0, #0x22 mov r1, #0 - bl sub_02025858 - b _020258BC -_02025BC4: + bl sub_027F6068 + b _027F60CC +_027F63D4: add r0, sb, #4 - bl sub_020260E0 + bl sub_027F68F0 cmp r0, #0 - bne _02025BE8 + bne _027F63F8 mov r0, #0x23 mov r1, #2 str r5, [r4, #0x1d8] - bl sub_02025858 - b _020258BC -_02025BE8: + bl sub_027F6068 + b _027F60CC +_027F63F8: mov r0, #0 str r0, [r4, #0x1d8] mov r0, #0x23 mov r1, #0 - bl sub_02025858 - b _020258BC -_02025C00: + bl sub_027F6068 + b _027F60CC +_027F6410: add r0, sb, #4 - bl sub_020261B8 + bl sub_027F69C8 cmp r0, #0 - bne _02025C24 + bne _027F6434 mov r0, #0x24 mov r1, #2 str sl, [r4, #0x1d8] - bl sub_02025858 - b _020258BC -_02025C24: + bl sub_027F6068 + b _027F60CC +_027F6434: mov r0, #0 str r0, [r4, #0x1d8] mov r0, #0x24 mov r1, #0 - bl sub_02025858 - b _020258BC -_02025C3C: + bl sub_027F6068 + b _027F60CC +_027F644C: add r0, sb, #4 - bl sub_02026288 + bl sub_027F6A98 cmp r0, #0 - bne _02025C60 + bne _027F6470 mov r0, #0x25 mov r1, #2 str fp, [r4, #0x1d8] - bl sub_02025858 - b _020258BC -_02025C60: + bl sub_027F6068 + b _027F60CC +_027F6470: mov r0, #0 str r0, [r4, #0x1d8] mov r0, #0x25 mov r1, #0 - bl sub_02025858 - b _020258BC -_02025C78: + bl sub_027F6068 + b _027F60CC +_027F6488: mov r0, sb - bl sub_02026320 + bl sub_027F6B30 mov r0, #0 str r0, [r4, #0x1d8] mov r0, #0x26 mov r1, #0 - bl sub_02025858 - b _020258BC -_02025C98: + bl sub_027F6068 + b _027F60CC +_027F64A8: add r0, sb, #2 - bl sub_02026384 + bl sub_027F6B94 mov r0, #0 str r0, [r4, #0x1d8] mov r0, #0x27 mov r1, #0 - bl sub_02025858 - b _020258BC -_02025CB8: + bl sub_027F6068 + b _027F60CC +_027F64C8: add r0, sb, #4 - bl sub_020263E8 + bl sub_027F6BF8 mov r0, #0 str r0, [r4, #0x1d8] mov r0, #0x28 mov r1, #0 - bl sub_02025858 - b _020258BC -_02025CD8: + bl sub_027F6068 + b _027F60CC +_027F64E8: add r0, sb, #4 - bl sub_0202644C + bl sub_027F6C5C mov r0, #0 str r0, [r4, #0x1d8] mov r0, #0x29 mov r1, #0 - bl sub_02025858 - b _020258BC -_02025CF8: + bl sub_027F6068 + b _027F60CC +_027F6508: mov r1, #0 str r1, [r4, #0x1d8] mov r1, #1 - bl sub_02025858 - b _020258BC + bl sub_027F6068 + b _027F60CC .align 2, 0 -_02025D0C: .word 0x027FFDE8 -_02025D10: .word 0x027F8E28 -_02025D14: .word 0x027F8E2C -_02025D18: .word 0x027F8F28 - arm_func_end sub_02025898 +_027F651C: .word 0x027FFDE8 +_027F6520: .word 0x027F8E28 +_027F6524: .word 0x027F8E2C +_027F6528: .word 0x027F8F28 + arm_func_end sub_027F60A8 - arm_func_start sub_02025D1C -sub_02025D1C: ; 0x02025D1C + arm_func_start sub_027F652C +sub_027F652C: ; 0x027F652C stmdb sp!, {r3, r4, lr} sub sp, sp, #4 add r0, sp, #2 - bl sub_020262F4 + bl sub_027F6B04 ldrh r0, [sp, #2] mov r1, r0, lsl #0x1b movs r1, r1, lsr #0x1f - bne _02025D48 + bne _027F6558 mov r0, r0, lsl #0x1a movs r0, r0, lsr #0x1f - beq _02025DA0 -_02025D48: + beq _027F65B0 +_027F6558: add r0, sp, #0 - bl sub_02026358 + bl sub_027F6B68 ldrh r0, [sp, #2] mov r4, #0 mov r0, r0, lsl #0x1b @@ -26531,37 +26532,37 @@ _02025D48: bicne r0, r0, #0x40 strneh r0, [sp] add r0, sp, #0 - bl sub_02026384 + bl sub_027F6B94 mov r1, r4 mov r0, #0x30 - bl sub_02025858 -_02025DA0: + bl sub_027F6068 +_027F65B0: add sp, sp, #4 ldmia sp!, {r3, r4, lr} bx lr - arm_func_end sub_02025D1C + arm_func_end sub_027F652C - arm_func_start sub_02025DAC -sub_02025DAC: ; 0x02025DAC + arm_func_start sub_027F65BC +sub_027F65BC: ; 0x027F65BC stmdb sp!, {r4, lr} mov ip, #0 mov r2, ip - b _02025DD8 -_02025DBC: + b _027F65E8 +_027F65CC: mov r1, r2, lsl #2 mov r1, r0, lsr r1 and r1, r1, #0xf cmp r1, #0xa movhs r0, #0 - bhs _02025E14 + bhs _027F6624 add r2, r2, #1 -_02025DD8: +_027F65E8: cmp r2, #8 - blt _02025DBC + blt _027F65CC mov r4, #0 mov lr, #1 mov r2, #0xa -_02025DEC: +_027F65FC: mov r1, r4, lsl #2 mov r1, r0, lsr r1 and r3, r1, #0xf @@ -26570,568 +26571,568 @@ _02025DEC: add r4, r4, #1 mov lr, r1 cmp r4, #8 - blt _02025DEC + blt _027F65FC mov r0, ip -_02025E14: +_027F6624: ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02025DAC + arm_func_end sub_027F65BC - arm_func_start sub_02025E1C -sub_02025E1C: ; 0x02025E1C + arm_func_start sub_027F662C +sub_027F662C: ; 0x027F662C stmdb sp!, {r3, lr} mov r0, #0x8000 - bl sub_0302DD98 + bl sub_037FE5A8 ldrh r0, [sp] bic r0, r0, #1 orr r0, r0, #1 strh r0, [sp] - bl sub_02026700 + bl sub_027F6F10 mov r0, #6 mov r1, #0 - bl sub_02026774 + bl sub_027F6F84 add r0, sp, #0 mov r1, #1 - bl sub_020267F4 - bl sub_02026740 + bl sub_027F7004 + bl sub_027F6F50 ldmia sp!, {r3, lr} bx lr - arm_func_end sub_02025E1C + arm_func_end sub_027F662C - arm_func_start sub_02025E60 -sub_02025E60: ; 0x02025E60 + arm_func_start sub_027F6670 +sub_027F6670: ; 0x027F6670 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 and r4, r4, #1 cmp r4, #1 - bne _02025F78 + bne _027F6788 mov r0, #0x8000 - bl sub_0302DD98 + bl sub_037FE5A8 add r2, sp, #0 mov r0, #0x86 mov r1, #0 mov r3, #1 - bl sub_020266A4 + bl sub_027F6EB4 ldrh r0, [sp] mov r1, r0, lsl #0x1e mov r1, r1, lsr #0x1f cmp r1, r4 - beq _02025F78 + beq _027F6788 bic r1, r0, #2 mov r0, r4, lsl #0x1f orr r1, r1, r0, lsr #30 mov r0, #0x8000 strh r1, [sp] - bl sub_0302DD98 - bl sub_02026700 + bl sub_037FE5A8 + bl sub_027F6F10 mov r0, #6 mov r1, #0 - bl sub_02026774 + bl sub_027F6F84 add r0, sp, #0 mov r1, #1 - bl sub_020267F4 - bl sub_02026740 + bl sub_027F7004 + bl sub_027F6F50 mov r0, #0x86 mov r1, #0x10 add r2, sp, #4 mov r3, #3 - bl sub_020266A4 + bl sub_027F6EB4 cmp r4, #0 add r0, sp, #4 - bne _02025F08 - bl sub_02026484 - b _02025F0C -_02025F08: - bl sub_02026594 -_02025F0C: - bl sub_02026700 + bne _027F6718 + bl sub_027F6C94 + b _027F671C +_027F6718: + bl sub_027F6DA4 +_027F671C: + bl sub_027F6F10 mov r0, #6 mov r1, #0x10 - bl sub_02026774 + bl sub_027F6F84 add r0, sp, #4 mov r1, #3 - bl sub_020267F4 - bl sub_02026740 + bl sub_027F7004 + bl sub_027F6F50 mov r0, #0x86 mov r1, #0x50 add r2, sp, #4 mov r3, #3 - bl sub_020266A4 + bl sub_027F6EB4 cmp r4, #0 add r0, sp, #4 - bne _02025F54 - bl sub_02026484 - b _02025F58 -_02025F54: - bl sub_02026594 -_02025F58: - bl sub_02026700 + bne _027F6764 + bl sub_027F6C94 + b _027F6768 +_027F6764: + bl sub_027F6DA4 +_027F6768: + bl sub_027F6F10 mov r0, #6 mov r1, #0x50 - bl sub_02026774 + bl sub_027F6F84 add r0, sp, #4 mov r1, #3 - bl sub_020267F4 - bl sub_02026740 -_02025F78: + bl sub_027F7004 + bl sub_027F6F50 +_027F6788: add sp, sp, #8 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02025E60 + arm_func_end sub_027F6670 - arm_func_start sub_02025F84 -sub_02025F84: ; 0x02025F84 + arm_func_start sub_027F6794 +sub_027F6794: ; 0x027F6794 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x8000 - bl sub_0302DD98 + bl sub_037FE5A8 mov r2, r4 mov r0, #0x86 mov r1, #0x20 mov r3, #7 - bl sub_020266A4 + bl sub_027F6EB4 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02025F84 + arm_func_end sub_027F6794 - arm_func_start sub_02025FB0 -sub_02025FB0: ; 0x02025FB0 + arm_func_start sub_027F67C0 +sub_027F67C0: ; 0x027F67C0 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x8000 - bl sub_0302DD98 - bl sub_02026700 + bl sub_037FE5A8 + bl sub_027F6F10 mov r0, #6 mov r1, #0x20 - bl sub_02026774 + bl sub_027F6F84 mov r0, r4 mov r1, #7 - bl sub_020267F4 - bl sub_02026740 + bl sub_027F7004 + bl sub_027F6F50 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02025FB0 + arm_func_end sub_027F67C0 - arm_func_start sub_02025FE8 -sub_02025FE8: ; 0x02025FE8 + arm_func_start sub_027F67F8 +sub_027F67F8: ; 0x027F67F8 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x8000 - bl sub_0302DD98 + bl sub_037FE5A8 mov r2, r4 mov r0, #0x86 mov r1, #0x20 mov r3, #4 - bl sub_020266A4 + bl sub_027F6EB4 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02025FE8 + arm_func_end sub_027F67F8 - arm_func_start sub_02026014 -sub_02026014: ; 0x02026014 + arm_func_start sub_027F6824 +sub_027F6824: ; 0x027F6824 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x8000 - bl sub_0302DD98 + bl sub_037FE5A8 mov r2, r4 mov r0, #0x86 mov r1, #0x60 mov r3, #3 - bl sub_020266A4 + bl sub_027F6EB4 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02026014 + arm_func_end sub_027F6824 - arm_func_start sub_02026040 -sub_02026040: ; 0x02026040 + arm_func_start sub_027F6850 +sub_027F6850: ; 0x027F6850 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x8000 - bl sub_0302DD98 - bl sub_02026700 + bl sub_037FE5A8 + bl sub_027F6F10 mov r0, #6 mov r1, #0x60 - bl sub_02026774 + bl sub_027F6F84 mov r0, r4 mov r1, #3 - bl sub_020267F4 - bl sub_02026740 + bl sub_027F7004 + bl sub_027F6F50 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02026040 + arm_func_end sub_027F6850 - arm_func_start sub_02026078 -sub_02026078: ; 0x02026078 + arm_func_start sub_027F6888 +sub_027F6888: ; 0x027F6888 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 mov r0, #0x8000 - bl sub_0302DD98 + bl sub_037FE5A8 add r2, sp, #0 mov r0, #0x86 mov r1, #0x40 mov r3, #1 - bl sub_020266A4 + bl sub_027F6EB4 ldrh r0, [sp] mov r0, r0, lsl #0x1c mov r0, r0, lsr #0x1c and r0, r0, #0xb cmp r0, #1 movne r0, #0 - bne _020260D4 + bne _027F68E4 mov r2, r4 mov r0, #0x86 mov r1, #0x10 mov r3, #1 - bl sub_020266A4 + bl sub_027F6EB4 mov r0, #1 -_020260D4: +_027F68E4: add sp, sp, #4 ldmia sp!, {r3, r4, lr} bx lr - arm_func_end sub_02026078 + arm_func_end sub_027F6888 - arm_func_start sub_020260E0 -sub_020260E0: ; 0x020260E0 + arm_func_start sub_027F68F0 +sub_027F68F0: ; 0x027F68F0 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 mov r0, #0x8000 - bl sub_0302DD98 + bl sub_037FE5A8 add r2, sp, #0 mov r0, #0x86 mov r1, #0x40 mov r3, #1 - bl sub_020266A4 + bl sub_027F6EB4 ldrh r0, [sp] mov r0, r0, lsl #0x1c mov r0, r0, lsr #0x1c and r0, r0, #0xb cmp r0, #1 movne r0, #0 - bne _02026148 - bl sub_02026700 + bne _027F6958 + bl sub_027F6F10 mov r0, #6 mov r1, #0x10 - bl sub_02026774 + bl sub_027F6F84 mov r0, r4 mov r1, #1 - bl sub_020267F4 - bl sub_02026740 + bl sub_027F7004 + bl sub_027F6F50 mov r0, #1 -_02026148: +_027F6958: add sp, sp, #4 ldmia sp!, {r3, r4, lr} bx lr - arm_func_end sub_020260E0 + arm_func_end sub_027F68F0 - arm_func_start sub_02026154 -sub_02026154: ; 0x02026154 + arm_func_start sub_027F6964 +sub_027F6964: ; 0x027F6964 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 mov r0, #0x8000 - bl sub_0302DD98 + bl sub_037FE5A8 add r2, sp, #0 mov r0, #0x86 mov r1, #0x40 mov r3, #1 - bl sub_020266A4 + bl sub_027F6EB4 ldrh r0, [sp] mov r0, r0, lsl #0x1c mov r0, r0, lsr #0x1c cmp r0, #4 movne r0, #0 - bne _020261AC + bne _027F69BC mov r2, r4 mov r0, #0x86 mov r1, #0x10 mov r3, #3 - bl sub_020266A4 + bl sub_027F6EB4 mov r0, #1 -_020261AC: +_027F69BC: add sp, sp, #4 ldmia sp!, {r3, r4, lr} bx lr - arm_func_end sub_02026154 + arm_func_end sub_027F6964 - arm_func_start sub_020261B8 -sub_020261B8: ; 0x020261B8 + arm_func_start sub_027F69C8 +sub_027F69C8: ; 0x027F69C8 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 mov r0, #0x8000 - bl sub_0302DD98 + bl sub_037FE5A8 add r2, sp, #0 mov r0, #0x86 mov r1, #0x40 mov r3, #1 - bl sub_020266A4 + bl sub_027F6EB4 ldrh r0, [sp] mov r0, r0, lsl #0x1c mov r0, r0, lsr #0x1c cmp r0, #4 movne r0, #0 - bne _0202621C - bl sub_02026700 + bne _027F6A2C + bl sub_027F6F10 mov r0, #6 mov r1, #0x10 - bl sub_02026774 + bl sub_027F6F84 mov r0, r4 mov r1, #3 - bl sub_020267F4 - bl sub_02026740 + bl sub_027F7004 + bl sub_027F6F50 mov r0, #1 -_0202621C: +_027F6A2C: add sp, sp, #4 ldmia sp!, {r3, r4, lr} bx lr - arm_func_end sub_020261B8 + arm_func_end sub_027F69C8 - arm_func_start sub_02026228 -sub_02026228: ; 0x02026228 + arm_func_start sub_027F6A38 +sub_027F6A38: ; 0x027F6A38 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 mov r0, #0x8000 - bl sub_0302DD98 + bl sub_037FE5A8 add r2, sp, #0 mov r0, #0x86 mov r1, #0x40 mov r3, #1 - bl sub_020266A4 + bl sub_027F6EB4 ldrh r0, [sp] mov r0, r0, lsl #0x19 movs r0, r0, lsr #0x1f moveq r0, #0 - beq _0202627C + beq _027F6A8C mov r2, r4 mov r0, #0x86 mov r1, #0x50 mov r3, #3 - bl sub_020266A4 + bl sub_027F6EB4 mov r0, #1 -_0202627C: +_027F6A8C: add sp, sp, #4 ldmia sp!, {r3, r4, lr} bx lr - arm_func_end sub_02026228 + arm_func_end sub_027F6A38 - arm_func_start sub_02026288 -sub_02026288: ; 0x02026288 + arm_func_start sub_027F6A98 +sub_027F6A98: ; 0x027F6A98 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 mov r0, #0x8000 - bl sub_0302DD98 + bl sub_037FE5A8 add r2, sp, #0 mov r0, #0x86 mov r1, #0x40 mov r3, #1 - bl sub_020266A4 + bl sub_027F6EB4 ldrh r0, [sp] mov r0, r0, lsl #0x19 movs r0, r0, lsr #0x1f moveq r0, #0 - beq _020262E8 - bl sub_02026700 + beq _027F6AF8 + bl sub_027F6F10 mov r0, #6 mov r1, #0x50 - bl sub_02026774 + bl sub_027F6F84 mov r0, r4 mov r1, #3 - bl sub_020267F4 - bl sub_02026740 + bl sub_027F7004 + bl sub_027F6F50 mov r0, #1 -_020262E8: +_027F6AF8: add sp, sp, #4 ldmia sp!, {r3, r4, lr} bx lr - arm_func_end sub_02026288 + arm_func_end sub_027F6A98 - arm_func_start sub_020262F4 -sub_020262F4: ; 0x020262F4 + arm_func_start sub_027F6B04 +sub_027F6B04: ; 0x027F6B04 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x8000 - bl sub_0302DD98 + bl sub_037FE5A8 mov r2, r4 mov r0, #0x86 mov r1, #0 mov r3, #1 - bl sub_020266A4 + bl sub_027F6EB4 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_020262F4 + arm_func_end sub_027F6B04 - arm_func_start sub_02026320 -sub_02026320: ; 0x02026320 + arm_func_start sub_027F6B30 +sub_027F6B30: ; 0x027F6B30 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x8000 - bl sub_0302DD98 - bl sub_02026700 + bl sub_037FE5A8 + bl sub_027F6F10 mov r0, #6 mov r1, #0 - bl sub_02026774 + bl sub_027F6F84 mov r0, r4 mov r1, #1 - bl sub_020267F4 - bl sub_02026740 + bl sub_027F7004 + bl sub_027F6F50 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02026320 + arm_func_end sub_027F6B30 - arm_func_start sub_02026358 -sub_02026358: ; 0x02026358 + arm_func_start sub_027F6B68 +sub_027F6B68: ; 0x027F6B68 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x8000 - bl sub_0302DD98 + bl sub_037FE5A8 mov r2, r4 mov r0, #0x86 mov r1, #0x40 mov r3, #1 - bl sub_020266A4 + bl sub_027F6EB4 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02026358 + arm_func_end sub_027F6B68 - arm_func_start sub_02026384 -sub_02026384: ; 0x02026384 + arm_func_start sub_027F6B94 +sub_027F6B94: ; 0x027F6B94 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x8000 - bl sub_0302DD98 - bl sub_02026700 + bl sub_037FE5A8 + bl sub_027F6F10 mov r0, #6 mov r1, #0x40 - bl sub_02026774 + bl sub_027F6F84 mov r0, r4 mov r1, #1 - bl sub_020267F4 - bl sub_02026740 + bl sub_027F7004 + bl sub_027F6F50 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02026384 + arm_func_end sub_027F6B94 - arm_func_start sub_020263BC -sub_020263BC: ; 0x020263BC + arm_func_start sub_027F6BCC +sub_027F6BCC: ; 0x027F6BCC stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x8000 - bl sub_0302DD98 + bl sub_037FE5A8 mov r2, r4 mov r0, #0x86 mov r1, #0x30 mov r3, #1 - bl sub_020266A4 + bl sub_027F6EB4 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_020263BC + arm_func_end sub_027F6BCC - arm_func_start sub_020263E8 -sub_020263E8: ; 0x020263E8 + arm_func_start sub_027F6BF8 +sub_027F6BF8: ; 0x027F6BF8 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x8000 - bl sub_0302DD98 - bl sub_02026700 + bl sub_037FE5A8 + bl sub_027F6F10 mov r0, #6 mov r1, #0x30 - bl sub_02026774 + bl sub_027F6F84 mov r0, r4 mov r1, #1 - bl sub_020267F4 - bl sub_02026740 + bl sub_027F7004 + bl sub_027F6F50 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_020263E8 + arm_func_end sub_027F6BF8 - arm_func_start sub_02026420 -sub_02026420: ; 0x02026420 + arm_func_start sub_027F6C30 +sub_027F6C30: ; 0x027F6C30 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x8000 - bl sub_0302DD98 + bl sub_037FE5A8 mov r2, r4 mov r0, #0x86 mov r1, #0x70 mov r3, #1 - bl sub_020266A4 + bl sub_027F6EB4 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02026420 + arm_func_end sub_027F6C30 - arm_func_start sub_0202644C -sub_0202644C: ; 0x0202644C + arm_func_start sub_027F6C5C +sub_027F6C5C: ; 0x027F6C5C stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x8000 - bl sub_0302DD98 - bl sub_02026700 + bl sub_037FE5A8 + bl sub_027F6F10 mov r0, #6 mov r1, #0x70 - bl sub_02026774 + bl sub_027F6F84 mov r0, r4 mov r1, #1 - bl sub_020267F4 - bl sub_02026740 + bl sub_027F7004 + bl sub_027F6F50 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_0202644C + arm_func_end sub_027F6C5C - arm_func_start sub_02026484 -sub_02026484: ; 0x02026484 + arm_func_start sub_027F6C94 +sub_027F6C94: ; 0x027F6C94 ldr r1, [r0] mov r2, r1, lsl #0x12 mov r2, r2, lsr #0x1a cmp r2, #0x23 addls pc, pc, r2, lsl #2 - b _02026580 -_0202649C: ; jump table - b _0202652C ; case 0 - b _0202652C ; case 1 - b _0202652C ; case 2 - b _0202652C ; case 3 - b _0202652C ; case 4 - b _0202652C ; case 5 - b _0202652C ; case 6 - b _0202652C ; case 7 - b _0202652C ; case 8 - b _0202652C ; case 9 - b _02026580 ; case 10 - b _02026580 ; case 11 - b _02026580 ; case 12 - b _02026580 ; case 13 - b _02026580 ; case 14 - b _02026580 ; case 15 - b _0202652C ; case 16 - b _0202652C ; case 17 - b _02026538 ; case 18 - b _02026538 ; case 19 - b _02026538 ; case 20 - b _02026538 ; case 21 - b _02026538 ; case 22 - b _02026538 ; case 23 - b _02026538 ; case 24 - b _02026538 ; case 25 - b _02026580 ; case 26 - b _02026580 ; case 27 - b _02026580 ; case 28 - b _02026580 ; case 29 - b _02026580 ; case 30 - b _02026580 ; case 31 - b _0202655C ; case 32 - b _0202655C ; case 33 - b _02026538 ; case 34 - b _02026538 ; case 35 -_0202652C: + b _027F6D90 +_027F6CAC: ; jump table + b _027F6D3C ; case 0 + b _027F6D3C ; case 1 + b _027F6D3C ; case 2 + b _027F6D3C ; case 3 + b _027F6D3C ; case 4 + b _027F6D3C ; case 5 + b _027F6D3C ; case 6 + b _027F6D3C ; case 7 + b _027F6D3C ; case 8 + b _027F6D3C ; case 9 + b _027F6D90 ; case 10 + b _027F6D90 ; case 11 + b _027F6D90 ; case 12 + b _027F6D90 ; case 13 + b _027F6D90 ; case 14 + b _027F6D90 ; case 15 + b _027F6D3C ; case 16 + b _027F6D3C ; case 17 + b _027F6D48 ; case 18 + b _027F6D48 ; case 19 + b _027F6D48 ; case 20 + b _027F6D48 ; case 21 + b _027F6D48 ; case 22 + b _027F6D48 ; case 23 + b _027F6D48 ; case 24 + b _027F6D48 ; case 25 + b _027F6D90 ; case 26 + b _027F6D90 ; case 27 + b _027F6D90 ; case 28 + b _027F6D90 ; case 29 + b _027F6D90 ; case 30 + b _027F6D90 ; case 31 + b _027F6D6C ; case 32 + b _027F6D6C ; case 33 + b _027F6D48 ; case 34 + b _027F6D48 ; case 35 +_027F6D3C: bic r1, r1, #0x4000 str r1, [r0] bx lr -_02026538: +_027F6D48: orr r2, r1, #0x4000 mov r1, r2, lsl #0x12 mov r1, r1, lsr #0x1a @@ -27141,7 +27142,7 @@ _02026538: orr r1, r2, r1, lsr #18 str r1, [r0] bx lr -_0202655C: +_027F6D6C: orr r2, r1, #0x4000 mov r1, r2, lsl #0x12 mov r1, r1, lsr #0x1a @@ -27151,60 +27152,60 @@ _0202655C: orr r1, r2, r1, lsr #18 str r1, [r0] bx lr -_02026580: +_027F6D90: ldr r1, [r0] bic r1, r1, #0x4000 bic r1, r1, #0x3f00 str r1, [r0] bx lr - arm_func_end sub_02026484 + arm_func_end sub_027F6C94 - arm_func_start sub_02026594 -sub_02026594: ; 0x02026594 + arm_func_start sub_027F6DA4 +sub_027F6DA4: ; 0x027F6DA4 ldr r2, [r0] mov r1, r2, lsl #0x12 mov r3, r1, lsr #0x1a cmp r3, #0x23 addls pc, pc, r3, lsl #2 - b _02026690 -_020265AC: ; jump table - b _0202663C ; case 0 - b _0202663C ; case 1 - b _0202663C ; case 2 - b _0202663C ; case 3 - b _0202663C ; case 4 - b _0202663C ; case 5 - b _0202663C ; case 6 - b _0202663C ; case 7 - b _02026660 ; case 8 - b _02026660 ; case 9 - b _02026690 ; case 10 - b _02026690 ; case 11 - b _02026690 ; case 12 - b _02026690 ; case 13 - b _02026690 ; case 14 - b _02026690 ; case 15 - b _0202663C ; case 16 - b _0202663C ; case 17 - b _02026684 ; case 18 - b _02026684 ; case 19 - b _02026684 ; case 20 - b _02026684 ; case 21 - b _02026684 ; case 22 - b _02026684 ; case 23 - b _02026684 ; case 24 - b _02026684 ; case 25 - b _02026690 ; case 26 - b _02026690 ; case 27 - b _02026690 ; case 28 - b _02026690 ; case 29 - b _02026690 ; case 30 - b _02026690 ; case 31 - b _02026684 ; case 32 - b _02026684 ; case 33 - b _02026684 ; case 34 - b _02026684 ; case 35 -_0202663C: + b _027F6EA0 +_027F6DBC: ; jump table + b _027F6E4C ; case 0 + b _027F6E4C ; case 1 + b _027F6E4C ; case 2 + b _027F6E4C ; case 3 + b _027F6E4C ; case 4 + b _027F6E4C ; case 5 + b _027F6E4C ; case 6 + b _027F6E4C ; case 7 + b _027F6E70 ; case 8 + b _027F6E70 ; case 9 + b _027F6EA0 ; case 10 + b _027F6EA0 ; case 11 + b _027F6EA0 ; case 12 + b _027F6EA0 ; case 13 + b _027F6EA0 ; case 14 + b _027F6EA0 ; case 15 + b _027F6E4C ; case 16 + b _027F6E4C ; case 17 + b _027F6E94 ; case 18 + b _027F6E94 ; case 19 + b _027F6E94 ; case 20 + b _027F6E94 ; case 21 + b _027F6E94 ; case 22 + b _027F6E94 ; case 23 + b _027F6E94 ; case 24 + b _027F6E94 ; case 25 + b _027F6EA0 ; case 26 + b _027F6EA0 ; case 27 + b _027F6EA0 ; case 28 + b _027F6EA0 ; case 29 + b _027F6EA0 ; case 30 + b _027F6EA0 ; case 31 + b _027F6E94 ; case 32 + b _027F6E94 ; case 33 + b _027F6E94 ; case 34 + b _027F6E94 ; case 35 +_027F6E4C: mov r1, r2, lsl #0x11 movs r1, r1, lsr #0x1f bxeq lr @@ -27214,7 +27215,7 @@ _0202663C: orr r1, r2, r1, lsr #18 str r1, [r0] bx lr -_02026660: +_027F6E70: mov r1, r2, lsl #0x11 movs r1, r1, lsr #0x1f bxeq lr @@ -27224,49 +27225,49 @@ _02026660: orr r1, r2, r1, lsr #18 str r1, [r0] bx lr -_02026684: +_027F6E94: orr r1, r2, #0x4000 str r1, [r0] bx lr -_02026690: +_027F6EA0: ldr r1, [r0] bic r1, r1, #0x4000 bic r1, r1, #0x3f00 str r1, [r0] bx lr - arm_func_end sub_02026594 + arm_func_end sub_027F6DA4 - arm_func_start sub_020266A4 -sub_020266A4: ; 0x020266A4 + arm_func_start sub_027F6EB4 +sub_027F6EB4: ; 0x027F6EB4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 mov r4, r3 - bl sub_02026700 + bl sub_027F6F10 mov r0, r7 mov r1, r6 - bl sub_02026774 + bl sub_027F6F84 cmp r7, #6 - beq _020266E8 + beq _027F6EF8 cmp r7, #0x86 - bne _020266F4 + bne _027F6F04 mov r0, r5 mov r1, r4 - bl sub_020268AC - b _020266F4 -_020266E8: + bl sub_027F70BC + b _027F6F04 +_027F6EF8: mov r0, r5 mov r1, r4 - bl sub_020267F4 -_020266F4: - bl sub_02026740 + bl sub_027F7004 +_027F6F04: + bl sub_027F6F50 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr - arm_func_end sub_020266A4 + arm_func_end sub_027F6EB4 - arm_func_start sub_02026700 -sub_02026700: ; 0x02026700 + arm_func_start sub_027F6F10 +sub_027F6F10: ; 0x027F6F10 mov ip, #0x4000000 add ip, ip, #0x138 ldrh r0, [ip] @@ -27274,40 +27275,40 @@ sub_02026700: ; 0x02026700 orr r0, r0, #0x72 strh r0, [ip] mov r3, #2 -_0202671C: +_027F6F2C: subs r3, r3, #1 - bne _0202671C + bne _027F6F2C bic r0, r0, #4 orr r0, r0, #4 strh r0, [ip] mov r3, #2 -_02026734: +_027F6F44: subs r3, r3, #1 - bne _02026734 + bne _027F6F44 bx lr - arm_func_end sub_02026700 + arm_func_end sub_027F6F10 - arm_func_start sub_02026740 -sub_02026740: ; 0x02026740 + arm_func_start sub_027F6F50 +sub_027F6F50: ; 0x027F6F50 mov ip, #0x4000000 add ip, ip, #0x138 mov r3, #2 -_0202674C: +_027F6F5C: subs r3, r3, #1 - bne _0202674C + bne _027F6F5C ldrh r0, [ip] bic r0, r0, #4 orr r0, r0, #0 strh r0, [ip] mov r3, #2 -_02026768: +_027F6F78: subs r3, r3, #1 - bne _02026768 + bne _027F6F78 bx lr - arm_func_end sub_02026740 + arm_func_end sub_027F6F50 - arm_func_start sub_02026774 -sub_02026774: ; 0x02026774 + arm_func_start sub_027F6F84 +sub_027F6F84: ; 0x027F6F84 mov ip, #0x4000000 add ip, ip, #0x138 orr r1, r0, r1 @@ -27315,165 +27316,278 @@ sub_02026774: ; 0x02026774 bic r0, r0, #0x77 orr r0, r0, #0x74 mov r2, #0 -_02026790: +_027F6FA0: bic r0, r0, #3 orr r0, r0, #0 mov r3, #1 tst r3, r1, lsr r2 - bne _020267A8 - b _020267AC -_020267A8: + bne _027F6FB8 + b _027F6FBC +_027F6FB8: mov r3, #1 -_020267AC: - beq _020267B4 - b _020267B8 -_020267B4: +_027F6FBC: + beq _027F6FC4 + b _027F6FC8 +_027F6FC4: mov r3, #0 -_020267B8: +_027F6FC8: orr r0, r0, r3 strh r0, [ip] mov r3, #9 -_020267C4: +_027F6FD4: subs r3, r3, #1 - bne _020267C4 + bne _027F6FD4 bic r0, r0, #2 orr r0, r0, #2 strh r0, [ip] mov r3, #9 -_020267DC: +_027F6FEC: subs r3, r3, #1 - bne _020267DC + bne _027F6FEC add r2, r2, #1 cmp r2, #8 - bne _02026790 + bne _027F6FA0 bx lr - arm_func_end sub_02026774 + arm_func_end sub_027F6F84 - arm_func_start sub_020267F4 -sub_020267F4: ; 0x020267F4 + arm_func_start sub_027F7004 +sub_027F7004: ; 0x027F7004 mov ip, #0x4000000 add ip, ip, #0x138 -_020267FC: +_027F700C: stmdb sp!, {r0, r1} tst r0, #1 - beq _0202680C - b _02026810 -_0202680C: + beq _027F701C + b _027F7020 +_027F701C: ldrh r1, [r0] -_02026810: - bne _02026818 - b _0202681C -_02026818: +_027F7020: + bne _027F7028 + b _027F702C +_027F7028: ldrh r1, [r0, #-1] -_0202681C: - bne _02026824 - b _02026828 -_02026824: +_027F702C: + bne _027F7034 + b _027F7038 +_027F7034: mov r1, r1, lsr #8 -_02026828: +_027F7038: ldrh r0, [ip] bic r0, r0, #0x77 orr r0, r0, #0x74 mov r2, #0 -_02026838: +_027F7048: bic r0, r0, #3 orr r0, r0, #0 mov r3, #1 tst r3, r1, lsr r2 - bne _02026850 - b _02026854 -_02026850: + bne _027F7060 + b _027F7064 +_027F7060: mov r3, #1 -_02026854: - beq _0202685C - b _02026860 -_0202685C: +_027F7064: + beq _027F706C + b _027F7070 +_027F706C: mov r3, #0 -_02026860: +_027F7070: orr r0, r0, r3 strh r0, [ip] mov r3, #9 -_0202686C: +_027F707C: subs r3, r3, #1 - bne _0202686C + bne _027F707C bic r0, r0, #2 orr r0, r0, #2 strh r0, [ip] mov r3, #9 -_02026884: +_027F7094: subs r3, r3, #1 - bne _02026884 + bne _027F7094 add r2, r2, #1 cmp r2, #8 - bne _02026838 + bne _027F7048 ldmia sp!, {r0, r1} add r0, r0, #1 subs r1, r1, #1 - bne _020267FC + bne _027F700C bx lr - arm_func_end sub_020267F4 + arm_func_end sub_027F7004 - arm_func_start sub_020268AC -sub_020268AC: ; 0x020268AC + arm_func_start sub_027F70BC +sub_027F70BC: ; 0x027F70BC mov ip, #0x4000000 add ip, ip, #0x138 -_020268B4: +_027F70C4: stmdb sp!, {r0, r1} ldrh r0, [ip] bic r0, r0, #0x77 orr r0, r0, #0x64 mov r2, #0 mov r1, #0 -_020268CC: +_027F70DC: bic r0, r0, #3 orr r0, r0, #0 strh r0, [ip] mov r3, #9 -_020268DC: +_027F70EC: subs r3, r3, #1 - bne _020268DC + bne _027F70EC ldrh r0, [ip] and r3, r0, #1 cmp r3, #1 - beq _020268F8 - b _020268FC -_020268F8: + beq _027F7108 + b _027F710C +_027F7108: mov r3, #0x80 -_020268FC: - bne _02026904 - b _02026908 -_02026904: +_027F710C: + bne _027F7114 + b _027F7118 +_027F7114: mov r3, #0 -_02026908: +_027F7118: orr r2, r3, r2, lsr #1 bic r0, r0, #2 orr r0, r0, #2 strh r0, [ip] mov r3, #9 -_0202691C: +_027F712C: subs r3, r3, #1 - bne _0202691C + bne _027F712C add r1, r1, #1 cmp r1, #8 - bne _020268CC + bne _027F70DC ldmia sp!, {r0, r1} tst r0, #1 - beq _02026954 + beq _027F7164 ldrh r3, [r0, #-1] bic r3, r3, #0xff00 mov r2, r2, lsl #8 orr r3, r2, r3 strh r3, [r0, #-1] - b _02026964 -_02026954: + b _027F7174 +_027F7164: ldrh r3, [r0] bic r3, r3, #0xff orr r3, r3, r2 strh r3, [r0] -_02026964: +_027F7174: add r0, r0, #1 subs r1, r1, #1 - bne _020268B4 + bne _027F70C4 bx lr - arm_func_end sub_020268AC + arm_func_end sub_027F70BC ; 0x02026974 + + .byte 0xF0, 0x29, 0x7E, 0x02, 0x90, 0x2A, 0x7E, 0x02, 0xA0, 0x2E, 0x7E, 0x02, 0xF8, 0x7D, 0x7E, 0x02 + .byte 0xF4, 0x7F, 0x7E, 0x02, 0x5C, 0x80, 0x7E, 0x02, 0x14, 0x83, 0x7E, 0x02, 0x50, 0x2F, 0x7E, 0x02 + .byte 0x10, 0x30, 0x7E, 0x02, 0xD8, 0x32, 0x7E, 0x02, 0xD0, 0x34, 0x7E, 0x02, 0xBC, 0x3D, 0x7E, 0x02 + .byte 0xC4, 0x3E, 0x7E, 0x02, 0xA4, 0x44, 0x7E, 0x02, 0xD4, 0x4B, 0x7E, 0x02, 0x68, 0x4F, 0x7E, 0x02 + .byte 0xA4, 0x50, 0x7E, 0x02, 0xF4, 0x51, 0x7E, 0x02, 0x80, 0x52, 0x7E, 0x02, 0x78, 0x53, 0x7E, 0x02 + .byte 0x34, 0x54, 0x7E, 0x02, 0x64, 0x1D, 0x7E, 0x02, 0x64, 0x1D, 0x7E, 0x02, 0x64, 0x1D, 0x7E, 0x02 + .byte 0xD4, 0x55, 0x7E, 0x02, 0xC8, 0x56, 0x7E, 0x02, 0x3C, 0x57, 0x7E, 0x02, 0x60, 0x57, 0x7E, 0x02 + .byte 0x40, 0x61, 0x7E, 0x02, 0x84, 0x57, 0x7E, 0x02, 0xB0, 0x58, 0x7E, 0x02, 0x8C, 0x5A, 0x7E, 0x02 + .byte 0xF4, 0x5A, 0x7E, 0x02, 0xBC, 0x7C, 0x7E, 0x02, 0x4C, 0x7D, 0x7E, 0x02, 0xC0, 0x83, 0x7E, 0x02 + .byte 0x40, 0x87, 0x7E, 0x02, 0xB8, 0x87, 0x7E, 0x02, 0x60, 0x38, 0x7E, 0x02, 0xDC, 0x54, 0x7E, 0x02 + .byte 0xCC, 0x87, 0x7E, 0x02, 0x4C, 0x89, 0x7E, 0x02, 0x70, 0x89, 0x7E, 0x02, 0xE0, 0x62, 0x7E, 0x02 + .byte 0x14, 0x63, 0x7E, 0x02, 0x3C, 0x63, 0x7E, 0x02, 0x14, 0xD2, 0x7E, 0x02, 0x68, 0xD4, 0x7E, 0x02 + .byte 0x44, 0xD5, 0x7E, 0x02, 0x68, 0xD6, 0x7E, 0x02, 0x64, 0xD7, 0x7E, 0x02, 0x58, 0xD8, 0x7E, 0x02 + .byte 0x74, 0x21, 0x7F, 0x02, 0x34, 0x3F, 0x7F, 0x02, 0x28, 0xA7, 0x7F, 0x03, 0xE8, 0x45, 0x7F, 0x02 + .byte 0x74, 0xC2, 0x7E, 0x02, 0x88, 0x8A, 0x7F, 0x03, 0xC8, 0x86, 0x7F, 0x03, 0xF4, 0xDA, 0x7E, 0x02 + .byte 0x74, 0xA7, 0x7F, 0x03, 0x48, 0xA9, 0x7F, 0x03, 0xB4, 0xAC, 0x7F, 0x03, 0x10, 0x4B, 0x7F, 0x02 + .byte 0xE4, 0x4C, 0x7F, 0x02, 0x84, 0xC6, 0x7E, 0x02, 0x90, 0xAD, 0x7F, 0x03, 0xB0, 0xB0, 0x7E, 0x02 + .byte 0x30, 0xB1, 0x7E, 0x02, 0xD0, 0xB1, 0x7E, 0x02, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xCC + .byte 0x01, 0xD8, 0x00, 0x14, 0x01, 0xF0, 0x00, 0x3C, 0x00, 0x28, 0x01, 0xE4, 0x01, 0xA0, 0x00, 0x6C + .byte 0x00, 0x78, 0x01, 0xB4, 0x00, 0x50, 0x01, 0x9C, 0x01, 0x88, 0x00, 0x44, 0x46, 0x01, 0x48, 0x01 + .byte 0x4A, 0x01, 0x4C, 0x01, 0x20, 0x01, 0x22, 0x01, 0x54, 0x01, 0x44, 0x01, 0x32, 0x01, 0x32, 0x01 + .byte 0x40, 0x01, 0x42, 0x01, 0x38, 0x00, 0x24, 0x01, 0x28, 0x01, 0x50, 0x01, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 + .byte 0x08, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x10, 0x00, 0xFF, 0xFF + .byte 0x54, 0x02, 0x00, 0x00, 0xB4, 0x00, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x01, 0x00 + .byte 0x88, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00 + .byte 0xEA, 0x00, 0x00, 0x00, 0xEE, 0x00, 0x01, 0x00, 0xEC, 0x00, 0x03, 0x3F, 0xA2, 0x01, 0x01, 0x00 + .byte 0xA0, 0x01, 0x00, 0x00, 0x10, 0x01, 0x00, 0x08, 0xBC, 0x00, 0x01, 0x00, 0xD4, 0x00, 0x03, 0x00 + .byte 0xD8, 0x00, 0x04, 0x00, 0xDA, 0x00, 0x02, 0x06, 0x76, 0x00, 0x00, 0x00, 0x30, 0x01, 0x46, 0x01 + .byte 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x01, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00 + .byte 0xFF, 0x00, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00 + .byte 0xFF, 0x00, 0x04, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x05, 0x00, 0xFF, 0x00, 0x06, 0x00 + .byte 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00 + .byte 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x07, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00 + .byte 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x08, 0x00 + .byte 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00 + .byte 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00 + .byte 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x09, 0x00 + .byte 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00 + .byte 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00 + .byte 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x0A, 0x00 + .byte 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00 + .byte 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x0B, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00 + .byte 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00 + .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x03, 0x09, 0xBF, 0x00, 0x00, 0x10, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x09, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x04, 0x00, 0x0B, 0x00, 0x0C, 0x00, 0x12, 0x00, 0x16, 0x00, 0x18, 0x00, 0x24, 0x00 + .byte 0x30, 0x00, 0x48, 0x00, 0x60, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0xFF, 0xFF, 0x5A, 0x5A, 0xA5, 0xA5, 0x02, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00 + .byte 0x1C, 0x00, 0x1D, 0x00, 0x1E, 0x00, 0x1F, 0x00, 0x20, 0x00, 0x21, 0x00, 0x26, 0x00, 0x29, 0x00 + .byte 0x2C, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x2F, 0x00, 0x30, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00 + .byte 0x36, 0x00, 0x37, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x0A, 0x00, 0x0B, 0x00 + .byte 0x0C, 0x00, 0x0D, 0x00, 0x0E, 0x00, 0x0F, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x14, 0x00 + .byte 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1A, 0x00, 0x27, 0x00, 0x4D, 0x00 + .byte 0x5D, 0x00, 0x5E, 0x00, 0x5F, 0x00, 0x60, 0x00, 0x61, 0x00, 0x64, 0x00, 0x66, 0x00, 0x00, 0x00 + .byte 0x06, 0x00, 0x3F, 0x00, 0x18, 0x00, 0xFF, 0xFF, 0x1A, 0x00, 0xFF, 0xFF, 0x1C, 0x00, 0xFF, 0xFF + .byte 0x20, 0x00, 0xFF, 0xFF, 0x22, 0x00, 0xFF, 0xFF, 0x24, 0x00, 0xFF, 0xFF, 0x2A, 0x00, 0xFF, 0x07 + .byte 0x50, 0x00, 0xFF, 0xFF, 0x52, 0x00, 0xFF, 0xFF, 0x56, 0x00, 0xFE, 0x0F, 0x58, 0x00, 0xFE, 0x1F + .byte 0x5A, 0x00, 0xFE, 0x0F, 0x5C, 0x00, 0xFF, 0x0F, 0x62, 0x00, 0xFE, 0x1F, 0x64, 0x00, 0xFF, 0x0F + .byte 0x68, 0x00, 0xFE, 0x1F, 0x6C, 0x00, 0xFF, 0x0F, 0x74, 0x00, 0xFE, 0x1F, 0x22, 0x01, 0xFF, 0xFF + .byte 0x24, 0x01, 0xFF, 0xFF, 0x28, 0x01, 0xFF, 0xFF, 0x30, 0x01, 0xFF, 0x0F, 0x32, 0x01, 0xFF, 0x8F + .byte 0x34, 0x01, 0xFF, 0xFF, 0x40, 0x01, 0xFF, 0xFF, 0x42, 0x01, 0xFF, 0xFF, 0x18, 0x00, 0x02, 0x00 + .byte 0xEC, 0xF5, 0x7E, 0x02, 0x04, 0x00, 0x01, 0x00, 0xB8, 0xF7, 0x7E, 0x02, 0x0A, 0x00, 0x01, 0x00 + .byte 0x5C, 0xF9, 0x7E, 0x02, 0x0C, 0x00, 0x01, 0x00, 0x10, 0xFE, 0x7E, 0x02, 0x01, 0x00, 0x01, 0x00 + .byte 0x70, 0xFE, 0x7E, 0x02, 0x00, 0x00, 0x04, 0x00, 0x0C, 0xED, 0x7E, 0x02, 0x00, 0x00, 0x12, 0x00 + .byte 0x3C, 0xED, 0x7E, 0x02, 0x00, 0x00, 0x02, 0x00, 0x88, 0xED, 0x7E, 0x02, 0x00, 0x00, 0x02, 0x00 + .byte 0xB0, 0xED, 0x7E, 0x02, 0x00, 0x00, 0x02, 0x00, 0xD8, 0xED, 0x7E, 0x02, 0x00, 0x00, 0x01, 0x00 + .byte 0x00, 0xEE, 0x7E, 0x02, 0x03, 0x00, 0x01, 0x00, 0x8C, 0xE6, 0x7E, 0x02, 0x11, 0x00, 0x01, 0x00 + .byte 0xA4, 0xE6, 0x7E, 0x02, 0x01, 0x00, 0x01, 0x00, 0xC4, 0xE6, 0x7E, 0x02, 0x01, 0x00, 0x01, 0x00 + .byte 0x00, 0xE7, 0x7E, 0x02, 0x01, 0x00, 0x01, 0x00, 0x3C, 0xE7, 0x7E, 0x02, 0x00, 0x00, 0x01, 0x00 + .byte 0x7C, 0xE7, 0x7E, 0x02, 0x01, 0x00, 0x01, 0x00, 0x00, 0xC7, 0x7E, 0x02, 0x03, 0x00, 0x01, 0x00 + .byte 0x40, 0xC7, 0x7E, 0x02, 0x1F, 0x00, 0x23, 0x00, 0xEC, 0xC7, 0x7E, 0x02, 0x22, 0x00, 0x05, 0x00 + .byte 0x2C, 0xC9, 0x7E, 0x02, 0x05, 0x00, 0x06, 0x00, 0xE4, 0xCA, 0x7E, 0x02, 0x04, 0x00, 0x04, 0x00 + .byte 0xB8, 0xCB, 0x7E, 0x02, 0x05, 0x00, 0x03, 0x00, 0xEC, 0xCC, 0x7E, 0x02, 0x05, 0x00, 0x03, 0x00 + .byte 0xC4, 0xCD, 0x7E, 0x02, 0x04, 0x00, 0x01, 0x00, 0x84, 0xCE, 0x7E, 0x02, 0x17, 0x00, 0x01, 0x00 + .byte 0x90, 0xCF, 0x7E, 0x02, 0x0C, 0x00, 0x12, 0x00, 0x30, 0xD1, 0x7E, 0x02, 0x00, 0x00, 0x01, 0x00 + .byte 0x7C, 0xC6, 0x7E, 0x02, 0x00, 0x00, 0x01, 0x00, 0xD8, 0xEE, 0x7E, 0x02, 0x00, 0x00, 0x01, 0x00 + .byte 0x18, 0xEF, 0x7E, 0x02, 0x00, 0x00, 0x01, 0x00, 0x74, 0xEF, 0x7E, 0x02, 0x00, 0x00, 0x01, 0x00 + .byte 0xC8, 0xEF, 0x7E, 0x02, 0x00, 0x00, 0x01, 0x00, 0x04, 0xF0, 0x7E, 0x02, 0x00, 0x00, 0x09, 0x00 + .byte 0x3C, 0xF0, 0x7E, 0x02, 0x00, 0x00, 0x5C, 0x00, 0xE0, 0xF0, 0x7E, 0x02, 0x00, 0x00, 0x02, 0x00 + .byte 0x3C, 0xF1, 0x7E, 0x02, 0x04, 0x00, 0x01, 0x00, 0x64, 0xF1, 0x7E, 0x02, 0x02, 0x00, 0x01, 0x00 + .byte 0x3C, 0xF5, 0x7E, 0x02, 0x00, 0x00, 0x21, 0x00, 0xE0, 0xE7, 0x7E, 0x02, 0x00, 0x00, 0x04, 0x00 + .byte 0x18, 0xE9, 0x7E, 0x02, 0x00, 0x00, 0x02, 0x00, 0x48, 0xE9, 0x7E, 0x02, 0x00, 0x00, 0x03, 0x00 + .byte 0x70, 0xE9, 0x7E, 0x02, 0x00, 0x00, 0x02, 0x00, 0xA8, 0xE9, 0x7E, 0x02, 0x00, 0x00, 0x02, 0x00 + .byte 0xD0, 0xE9, 0x7E, 0x02, 0x00, 0x00, 0x02, 0x00, 0xF8, 0xE9, 0x7E, 0x02, 0x00, 0x00, 0x02, 0x00 + .byte 0x20, 0xEA, 0x7E, 0x02, 0x00, 0x00, 0x01, 0x00, 0x7C, 0xC6, 0x7E, 0x02, 0x00, 0x00, 0x02, 0x00 + .byte 0x48, 0xEA, 0x7E, 0x02, 0x00, 0x00, 0x02, 0x00, 0x78, 0xEA, 0x7E, 0x02, 0x00, 0x00, 0x02, 0x00 + .byte 0xA8, 0xEA, 0x7E, 0x02, 0x00, 0x00, 0x02, 0x00, 0xD0, 0xEA, 0x7E, 0x02, 0x00, 0x00, 0x11, 0x00 + .byte 0xF8, 0xEA, 0x7E, 0x02, 0x00, 0x00, 0x02, 0x00, 0x34, 0xEB, 0x7E, 0x02, 0x00, 0x00, 0x02, 0x00 + .byte 0x64, 0xEB, 0x7E, 0x02, 0x00, 0x00, 0x04, 0x00, 0x8C, 0xEB, 0x7E, 0x02, 0x00, 0x00, 0x01, 0x00 + .byte 0x7C, 0xC6, 0x7E, 0x02, 0x00, 0x00, 0x02, 0x00, 0xCC, 0xEB, 0x7E, 0x02, 0x00, 0x00, 0x02, 0x00 + .byte 0xF8, 0xEB, 0x7E, 0x02, 0x00, 0x00, 0x03, 0x00, 0x34, 0xEC, 0x7E, 0x02, 0x00, 0x00, 0x02, 0x00 + .byte 0x94, 0xEC, 0x7E, 0x02, 0x00, 0x00, 0x02, 0x00, 0xD0, 0xEC, 0x7E, 0x02, 0x48, 0x00, 0x01, 0x00 + .byte 0xD8, 0xE0, 0x7E, 0x02, 0x03, 0x00, 0x01, 0x00, 0xC4, 0xE1, 0x7E, 0x02, 0x01, 0x00, 0x01, 0x00 + .byte 0x04, 0xE2, 0x7E, 0x02, 0x01, 0x00, 0x01, 0x00, 0x1C, 0xE2, 0x7E, 0x02, 0x01, 0x00, 0x01, 0x00 + .byte 0x5C, 0xE2, 0x7E, 0x02, 0x01, 0x00, 0x01, 0x00, 0xAC, 0xE2, 0x7E, 0x02, 0x01, 0x00, 0x01, 0x00 + .byte 0xC4, 0xE2, 0x7E, 0x02, 0x01, 0x00, 0x01, 0x00, 0xDC, 0xE2, 0x7E, 0x02, 0x28, 0x00, 0x01, 0x00 + .byte 0xF4, 0xE2, 0x7E, 0x02, 0x01, 0x00, 0x01, 0x00, 0x0C, 0xE3, 0x7E, 0x02, 0x01, 0x00, 0x01, 0x00 + .byte 0x4C, 0xE3, 0x7E, 0x02, 0x01, 0x00, 0x01, 0x00, 0x64, 0xE3, 0x7E, 0x02, 0x01, 0x00, 0x01, 0x00 + .byte 0x7C, 0xE3, 0x7E, 0x02, 0x10, 0x00, 0x01, 0x00, 0x98, 0xE3, 0x7E, 0x02, 0x01, 0x00, 0x01, 0x00 + .byte 0xB0, 0xE3, 0x7E, 0x02, 0x01, 0x00, 0x01, 0x00, 0xC8, 0xE3, 0x7E, 0x02, 0x03, 0x00, 0x01, 0x00 + .byte 0xE0, 0xE3, 0x7E, 0x02, 0x03, 0x00, 0x01, 0x00, 0x2C, 0xE4, 0x7E, 0x02, 0x01, 0x00, 0x01, 0x00 + .byte 0x34, 0xE5, 0x7E, 0x02, 0x01, 0x00, 0x01, 0x00, 0x8C, 0xE5, 0x7E, 0x02, 0x02, 0x00, 0x01, 0x00 + .byte 0xCC, 0xE5, 0x7E, 0x02, 0x01, 0x00, 0x01, 0x00, 0x0C, 0xE6, 0x7E, 0x02, 0x01, 0x00, 0x01, 0x00 + .byte 0x4C, 0xE6, 0x7E, 0x02, 0x32, 0x2E, 0x38, 0x33, 0x2E, 0x30, 0x30, 0x00, 0x01, 0x00, 0x04, 0x00 + .byte 0x08, 0x00, 0x00, 0x00 diff --git a/sub/asm/wram.s b/sub/asm/wram.s index 16e4e2a0..0a5b4b44 100644 --- a/sub/asm/wram.s +++ b/sub/asm/wram.s @@ -3,75 +3,75 @@ .text - arm_func_start sub_020001E8 -sub_020001E8: ; 0x020001E8 + arm_func_start sub_037F8000 +sub_037F8000: ; 0x037F8000 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x210 - bl sub_02004BD4 - bl sub_0200414C + bl sub_037FC9EC + bl sub_037FBF64 add r2, sp, #4 mov r0, #0x20 mov r1, #2 - bl sub_00FFD7A0 + bl sub_027F55B8 ldr r0, [sp, #4] add r2, sp, #0x10 mov r0, r0, lsl #3 str r0, [sp, #4] mov r1, #0x100 - bl sub_00FFD7A0 + bl sub_027F55B8 ldr r0, [sp, #4] add r2, sp, #0x110 add r0, r0, #0x100 mov r1, #0x100 - bl sub_00FFD7A0 + bl sub_027F55B8 mov r0, #0x1d mov r1, #1 add r2, sp, #0 mov r6, #0 - bl sub_00FFD7A0 + bl sub_027F55B8 ldrb r0, [sp] cmp r0, #0xff moveq r0, r6 - beq _02000264 + beq _037F807C tst r0, #0x50 movne r0, #1 moveq r0, r6 -_02000264: +_037F807C: cmp r0, #0 - beq _02000338 - bl sub_0200066C + beq _037F8150 + bl sub_037F8484 mov r8, r0 mov fp, #1 and r7, r8, #0x40 mov sl, #0 add r5, sp, #0x10 mov r4, fp - b _0200032C -_0200028C: - ldr r0, _0200063C ; =0x0000FFFF + b _037F8144 +_037F80A4: + ldr r0, _037F8454 ; =0x0000FFFF add sb, r5, sl, lsl #8 mov r1, sb mov r2, #0x70 - bl sub_02000654 + bl sub_037F846C mov r2, sb ldrh r1, [r2, #0x72] cmp r0, r1 - bne _02000320 + bne _037F8138 ldrh r0, [r2, #0x70] cmp r0, #0x80 - bhs _02000320 - ldr r0, _0200063C ; =0x0000FFFF + bhs _037F8138 + ldr r0, _037F8454 ; =0x0000FFFF mov r2, #0x8a add r1, sb, #0x74 - bl sub_02000654 + bl sub_037F846C mov r2, sb ldrh r1, [r2, #0xfe] cmp r0, r1 - bne _02000320 + bne _037F8138 ldrh r1, [r2, #0x76] ldrb r0, [r2, #0x75] tst r1, r4, lsl r0 - beq _02000320 + beq _037F8138 tst r8, r1 ldrneh r1, [sb, #0x64] andne r0, r0, #7 @@ -83,50 +83,50 @@ _0200028C: mvn r0, r0 tst r7, r0 movne r6, #3 - bne _020003D8 + bne _037F81F0 orr r6, r6, fp, lsl sl -_02000320: +_037F8138: add r0, sl, #1 mov r0, r0, lsl #0x10 mov sl, r0, lsr #0x10 -_0200032C: +_037F8144: cmp sl, #2 - blo _0200028C - b _0200039C -_02000338: - bl sub_0200066C + blo _037F80A4 + b _037F81B4 +_037F8150: + bl sub_037F8484 tst r0, #0x40 movne r6, #3 - bne _020003D8 - ldr r8, _0200063C ; =0x0000FFFF + bne _037F81F0 + ldr r8, _037F8454 ; =0x0000FFFF mov sb, #0 add r7, sp, #0x10 mov r4, #1 mov r5, #0x70 -_0200035C: +_037F8174: mov r0, r8 mov r2, r5 add r1, r7, sb, lsl #8 - bl sub_02000654 + bl sub_037F846C add r2, r7, sb, lsl #8 ldrh r1, [r2, #0x72] cmp r0, r1 - bne _02000388 + bne _037F81A0 ldrh r0, [r2, #0x70] cmp r0, #0x80 orrlo r6, r6, r4, lsl sb -_02000388: +_037F81A0: add r0, sb, #1 mov r0, r0, lsl #0x10 mov sb, r0, lsr #0x10 cmp sb, #2 - blo _0200035C -_0200039C: + blo _037F8174 +_037F81B4: cmp r6, #1 cmpne r6, #2 - beq _020003D8 + beq _037F81F0 cmp r6, #3 - bne _020003D4 + bne _037F81EC ldrh r1, [sp, #0x80] add r0, sp, #0x100 add r1, r1, #1 @@ -135,144 +135,144 @@ _0200039C: cmp r1, r0 moveq r6, #2 movne r6, #1 - b _020003D8 -_020003D4: + b _037F81F0 +_037F81EC: mov r6, #0 -_020003D8: +_037F81F0: cmp r6, #3 - blt _020003F4 - ldr r1, _02000640 ; =0x027FFC80 + blt _037F820C + ldr r1, _037F8458 ; =0x027FFC80 mvn r0, #0 mov r2, #0x74 - bl sub_020061B8 - b _020004B0 -_020003F4: + bl sub_037FDFD0 + b _037F82C8 +_037F820C: cmp r6, #0 - beq _020004A0 - ldr r0, _02000644 ; =0xFFFFFF2A + beq _037F82B8 + ldr r0, _037F845C ; =0xFFFFFF2A mov r1, r6, lsl #8 add r0, sp, r0 ldrb r0, [r0, r6, lsl #8] cmp r0, #0xa - bhs _02000440 + bhs _037F8258 add r0, sp, #0x10 mov r3, #0xa mov r2, #0 add r1, r0, r1 - b _02000434 -_02000428: + b _037F824C +_037F8240: add r0, r1, r3, lsl #1 strh r2, [r0, #-0xfc] sub r3, r3, #1 -_02000434: +_037F824C: ldrb r0, [r1, #-0xe6] cmp r3, r0 - bgt _02000428 -_02000440: - ldr r0, _02000648 ; =0xFFFFFF60 + bgt _037F8240 +_037F8258: + ldr r0, _037F8460 ; =0xFFFFFF60 mov r1, r6, lsl #8 add r0, sp, r0 ldrb r0, [r0, r6, lsl #8] cmp r0, #0x1a - bhs _02000484 + bhs _037F829C add r0, sp, #0x10 mov r3, #0x1a mov r2, #0 add r1, r0, r1 - b _02000478 -_0200046C: + b _037F8290 +_037F8284: add r0, r1, r3, lsl #1 strh r2, [r0, #-0xe6] sub r3, r3, #1 -_02000478: +_037F8290: ldrb r0, [r1, #-0xb0] cmp r3, r0 - bgt _0200046C -_02000484: - ldr r1, _02000640 ; =0x027FFC80 + bgt _037F8284 +_037F829C: + ldr r1, _037F8458 ; =0x027FFC80 add r2, sp, #0x10 sub r0, r6, #1 add r0, r2, r0, lsl #8 mov r2, #0x74 - bl sub_020061D4 - b _020004B0 -_020004A0: - ldr r1, _02000640 ; =0x027FFC80 + bl sub_037FDFEC + b _037F82C8 +_037F82B8: + ldr r1, _037F8458 ; =0x027FFC80 mov r0, #0 mov r2, #0x74 - bl sub_020061B8 -_020004B0: + bl sub_037FDFD0 +_037F82C8: add r2, sp, #8 mov r0, #0x36 mov r1, #6 - bl sub_00FFD7A0 - ldr r4, _02000640 ; =0x027FFC80 + bl sub_027F55B8 + ldr r4, _037F8458 ; =0x027FFC80 add r0, sp, #8 add r1, r4, #0x74 mov r2, #6 - bl sub_02006314 + bl sub_037FE12C add r2, sp, #2 mov r0, #0x3c mov r1, #2 - bl sub_00FFD7A0 + bl sub_027F55B8 ldrh r0, [sp, #2] mov r0, r0, lsl #0xf mov r0, r0, lsr #0x10 - bl sub_0200F5BC + bl sub_038073D4 strh r0, [r4, #0x7a] - bl sub_0200649C + bl sub_037FE2B4 mov r0, #8 - bl sub_02004C7C + bl sub_037FCA94 mov r4, r0 mov r0, #8 - bl sub_02004C90 + bl sub_037FCAA8 mov r1, r0 mov r2, r4 mov r0, #8 mov r3, #1 - bl sub_0200500C + bl sub_037FCE24 mov r4, r0 mov r0, #8 - bl sub_02004C7C + bl sub_037FCA94 sub r2, r0, r4 mov r0, r4 mov r1, #0 - bl sub_02006258 + bl sub_037FE070 mov r1, r4 mov r0, #8 - bl sub_02004D78 + bl sub_037FCB90 mov r0, #8 - bl sub_02004C7C + bl sub_037FCA94 mov r4, r0 mov r0, #8 - bl sub_02004C90 + bl sub_037FCAA8 mov r1, r0 mov r2, r4 mov r0, #8 - bl sub_020050B4 + bl sub_037FCECC movs r4, r0 - bpl _0200057C - bl sub_02006058 -_0200057C: + bpl _037F8394 + bl sub_037FDE70 +_037F8394: mov r1, r4 mov r0, #8 - bl sub_02004FD8 + bl sub_037FCDF0 mov r1, r4 mov r0, #8 - bl sub_02005154 + bl sub_037FCF6C cmp r0, #0x2100 - bhs _020005A0 - bl sub_02006058 -_020005A0: + bhs _037F83B8 + bl sub_037FDE70 +_037F83B8: mov r0, #6 - bl sub_020070E0 - bl sub_020067A8 - ldr r1, _0200064C ; =0x037F84BC + bl sub_037FEEF8 + bl sub_037FE5C0 + ldr r1, _037F8464 ; =0x037F84BC mov r0, #1 - bl sub_020039A4 + bl sub_037FB7BC mov r0, #1 - bl sub_02003AD8 - ldr r3, _02000650 ; =0x04000004 + bl sub_037FB8F0 + ldr r3, _037F8468 ; =0x04000004 mov r0, #1 ldrh r1, [r3] ldrh r1, [r3] @@ -281,58 +281,58 @@ _020005A0: strh r1, [r3] ldrh r1, [r2] strh r0, [r2] - bl sub_02005ED4 + bl sub_037FDCEC mvn r0, #0 - bl sub_0200A800 + bl sub_03802618 mov r0, #0xf - bl sub_0200A8C8 + bl sub_038026E0 mov r0, #0xc - bl sub_00FFDEAC + bl sub_027F5CC4 mov r0, r4 - bl sub_0200D430 + bl sub_03805248 mov r0, #2 - bl sub_0200BA5C + bl sub_03803874 mov r4, #0 -_02000614: - bl sub_02000660 - bl sub_02005F9C +_037F842C: + bl sub_037F8478 + bl sub_037FDDB4 cmp r0, #0 - beq _02000630 + beq _037F8448 mov r0, r4 - bl sub_0200E7F8 - bl sub_02005FE0 -_02000630: - bl sub_0200EA30 - bl sub_0200B8A4 - b _02000614 + bl sub_03806610 + bl sub_037FDDF8 +_037F8448: + bl sub_03806848 + bl sub_038036BC + b _037F842C .align 2, 0 -_0200063C: .word 0x0000FFFF -_02000640: .word 0x027FFC80 -_02000644: .word 0xFFFFFF2A -_02000648: .word 0xFFFFFF60 -_0200064C: .word 0x037F84BC -_02000650: .word 0x04000004 - arm_func_end sub_020001E8 +_037F8454: .word 0x0000FFFF +_037F8458: .word 0x027FFC80 +_037F845C: .word 0xFFFFFF2A +_037F8460: .word 0xFFFFFF60 +_037F8464: .word 0x037F84BC +_037F8468: .word 0x04000004 + arm_func_end sub_037F8000 - arm_func_start sub_02000654 -sub_02000654: ; 0x02000654 - ldr ip, _0200065C ; =sub_03803804 + arm_func_start sub_037F846C +sub_037F846C: ; 0x037F846C + ldr ip, _037F8474 ; =sub_03803804 bx ip .align 2, 0 -_0200065C: .word sub_03803804 - arm_func_end sub_02000654 +_037F8474: .word sub_03803804 + 1 + arm_func_end sub_037F846C - arm_func_start sub_02000660 -sub_02000660: ; 0x02000660 - ldr ip, _02000668 ; =sub_038037D2 + arm_func_start sub_037F8478 +sub_037F8478: ; 0x037F8478 + ldr ip, _037F8480 ; =sub_038037D2 bx ip .align 2, 0 -_02000668: .word sub_038037D2 - arm_func_end sub_02000660 +_037F8480: .word sub_038037D2 + 1 + arm_func_end sub_037F8478 - arm_func_start sub_0200066C -sub_0200066C: ; 0x0200066C - ldr r1, _020006A0 ; =0x027FFE1D + arm_func_start sub_037F8484 +sub_037F8484: ; 0x037F8484 + ldr r1, _037F84B8 ; =0x027FFE1D mov r0, #0 ldrb r1, [r1] cmp r1, #0x80 @@ -346,94 +346,94 @@ sub_0200066C: ; 0x0200066C moveq r0, r0, lsr #0x10 bx lr .align 2, 0 -_020006A0: .word 0x027FFE1D - arm_func_end sub_0200066C +_037F84B8: .word 0x027FFE1D + arm_func_end sub_037F8484 - arm_func_start sub_020006A4 -sub_020006A4: ; 0x020006A4 + arm_func_start sub_037F84BC +sub_037F84BC: ; 0x037F84BC stmdb sp!, {r3, lr} - ldr r0, _020006C4 ; =0x03809E50 + ldr r0, _037F84DC ; =0x03809E50 ldr r0, [r0] cmp r0, #0 - beq _020006BC - bl sub_0200D2E4 -_020006BC: + beq _037F84D4 + bl sub_038050FC +_037F84D4: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_020006C4: .word 0x03809E50 - arm_func_end sub_020006A4 +_037F84DC: .word 0x03809E50 + arm_func_end sub_037F84BC - arm_func_start sub_020006C8 -sub_020006C8: ; 0x020006C8 + arm_func_start sub_037F84E0 +sub_037F84E0: ; 0x037F84E0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} - ldr r7, _02000774 ; =0x0380FFF4 + ldr r7, _037F858C ; =0x0380FFF4 mov r0, #0 ldr r8, [r7] - ldr r4, _02000778 ; =0x01000010 + ldr r4, _037F8590 ; =0x01000010 strh r0, [r8, #0x10] - ldr sb, _0200077C ; =0x0000FFFF + ldr sb, _037F8594 ; =0x0000FFFF strh r0, [r8, #0x14] add r6, sp, #0 mov r5, r0 -_020006F0: +_037F8508: ldr r0, [r7] mov r1, r6 ldr r0, [r0, #0x308] mov r2, r5 - bl sub_02004948 + bl sub_037FC760 cmp r0, #0 - beq _02000714 + beq _037F852C mov r0, r6 - bl sub_020008EC -_02000714: + bl sub_037F8704 +_037F852C: mov r0, r4 - bl sub_02003B10 + bl sub_037FB928 ldrh r1, [r8, #0x10] strh r1, [r8, #0x12] mov r1, r1, lsl #1 ldrh r1, [r8, r1] cmp r1, sb - bne _02000748 + bne _037F8560 ldrh r1, [r8, #0x10] add r1, r1, #1 strh r1, [r8, #0x10] - bl sub_02003AD8 - b _020006F0 -_02000748: - bl sub_02003AD8 + bl sub_037FB8F0 + b _037F8508 +_037F8560: + bl sub_037FB8F0 ldrh r0, [r8, #0x12] - bl sub_02000838 + bl sub_037F8650 strh r0, [r8, #0x14] ldrh r0, [r8, #0x14] add r0, r8, r0, lsl #3 ldr r0, [r0, #0xc0] mov lr, pc bx r0 -_0200076C: ; 0x0200076C +_037F8584: ; 0x037F8584 strh sb, [r8, #0x14] - b _020006F0 + b _037F8508 .align 2, 0 -_02000774: .word 0x0380FFF4 -_02000778: .word 0x01000010 -_0200077C: .word 0x0000FFFF - arm_func_end sub_020006C8 +_037F858C: .word 0x0380FFF4 +_037F8590: .word 0x01000010 +_037F8594: .word 0x0000FFFF + arm_func_end sub_037F84E0 - arm_func_start sub_02000780 -sub_02000780: ; 0x02000780 + arm_func_start sub_037F8598 +sub_037F8598: ; 0x037F8598 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r2, _02000830 ; =0x0380FFF4 + ldr r2, _037F8648 ; =0x0380FFF4 mov r7, r0 ldr r4, [r2] - ldr r0, _02000834 ; =0x01000010 + ldr r0, _037F864C ; =0x01000010 mov r6, r1 add r5, r4, #0xbc - bl sub_02003B10 + bl sub_037FB928 add r2, r5, r6, lsl #3 ldrh r1, [r2, #2] mov ip, r6, lsl #3 cmp r1, #0 - bne _020007F8 + bne _037F8610 mov r3, #1 strh r3, [r2, #2] rsb r1, r3, #0x10000 @@ -451,40 +451,40 @@ sub_02000780: ; 0x02000780 ldrh r1, [r4, #0x10] cmp r7, r1 strlth r7, [r4, #0x10] -_020007F8: - bl sub_02003AD8 +_037F8610: + bl sub_037FB8F0 cmp r7, #3 - beq _02000828 + beq _037F8640 ldrh r0, [r4, #0x12] cmp r0, #3 - bne _02000828 - ldr r0, _02000830 ; =0x0380FFF4 + bne _037F8640 + ldr r0, _037F8648 ; =0x0380FFF4 mov r1, #0 ldr r0, [r0] mov r2, r1 ldr r0, [r0, #0x308] - bl sub_020048BC -_02000828: + bl sub_037FC6D4 +_037F8640: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02000830: .word 0x0380FFF4 -_02000834: .word 0x01000010 - arm_func_end sub_02000780 +_037F8648: .word 0x0380FFF4 +_037F864C: .word 0x01000010 + arm_func_end sub_037F8598 - arm_func_start sub_02000838 -sub_02000838: ; 0x02000838 + arm_func_start sub_037F8650 +sub_037F8650: ; 0x037F8650 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _020008A4 ; =0x0380FFF4 + ldr r1, _037F86BC ; =0x0380FFF4 mov r5, r0 - ldr r0, _020008A8 ; =0x01000010 + ldr r0, _037F86C0 ; =0x01000010 ldr r4, [r1] - bl sub_02003B10 + bl sub_037FB928 mov lr, r5, lsl #1 ldrh r5, [r4, lr] - ldr r2, _020008AC ; =0x0000FFFF + ldr r2, _037F86C4 ; =0x0000FFFF cmp r5, r2 - beq _02000894 + beq _037F86AC add ip, r4, #0xbc add r1, ip, r5, lsl #3 mov r3, #0 @@ -497,64 +497,64 @@ sub_02000838: ; 0x02000838 streqh r2, [r1, #8] strneh r1, [r4, lr] strneh r2, [ip, r3] -_02000894: - bl sub_02003AD8 +_037F86AC: + bl sub_037FB8F0 mov r0, r5 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_020008A4: .word 0x0380FFF4 -_020008A8: .word 0x01000010 -_020008AC: .word 0x0000FFFF - arm_func_end sub_02000838 +_037F86BC: .word 0x0380FFF4 +_037F86C0: .word 0x01000010 +_037F86C4: .word 0x0000FFFF + arm_func_end sub_037F8650 - arm_func_start sub_020008B0 -sub_020008B0: ; 0x020008B0 + arm_func_start sub_037F86C8 +sub_037F86C8: ; 0x037F86C8 stmdb sp!, {r3, lr} - ldr r0, _020008E8 ; =0x0380FFF4 + ldr r0, _037F8700 ; =0x0380FFF4 add r1, sp, #0 ldr r0, [r0] mov r2, #1 ldr r0, [r0, #0x308] - bl sub_02004948 + bl sub_037FC760 add r0, sp, #0 - bl sub_020008EC + bl sub_037F8704 mov r0, #3 mov r1, #0xc - bl sub_02000780 + bl sub_037F8598 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_020008E8: .word 0x0380FFF4 - arm_func_end sub_020008B0 +_037F8700: .word 0x0380FFF4 + arm_func_end sub_037F86C8 - arm_func_start sub_020008EC -sub_020008EC: ; 0x020008EC + arm_func_start sub_037F8704 +sub_037F8704: ; 0x037F8704 stmdb sp!, {r3, lr} ldr r1, [r0] cmp r1, #0 - beq _02000918 - ldr r0, _02000920 ; =0x0380FFF4 + beq _037F8730 + ldr r0, _037F8738 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x200 - bl sub_02000924 + bl sub_037F873C mov r0, #2 mov r1, #0xb - bl sub_02000780 -_02000918: + bl sub_037F8598 +_037F8730: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02000920: .word 0x0380FFF4 - arm_func_end sub_020008EC +_037F8738: .word 0x0380FFF4 + arm_func_end sub_037F8704 - arm_func_start sub_02000924 -sub_02000924: ; 0x02000924 + arm_func_start sub_037F873C +sub_037F873C: ; 0x037F873C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r0, #0x1000000 mov r4, r1 - bl sub_02003B10 + bl sub_037FB928 ldrh r1, [r5, #8] cmp r1, #0 mvneq r1, #0 @@ -566,38 +566,38 @@ sub_02000924: ; 0x02000924 mvn r1, #0 str r1, [r4, #4] ldrh r2, [r5, #0xa] - ldr r1, _02000990 ; =0x0000BF1D + ldr r1, _037F87A8 ; =0x0000BF1D strh r2, [r4, #8] strh r1, [r4, #0xa] str r4, [r5, #4] ldrh r1, [r5, #8] add r1, r1, #1 strh r1, [r5, #8] - bl sub_02003AD8 + bl sub_037FB8F0 mov r0, #0 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02000990: .word 0x0000BF1D - arm_func_end sub_02000924 +_037F87A8: .word 0x0000BF1D + arm_func_end sub_037F873C - arm_func_start sub_02000994 -sub_02000994: ; 0x02000994 + arm_func_start sub_037F87AC +sub_037F87AC: ; 0x037F87AC stmdb sp!, {r3, r4, r5, lr} mov r4, r1 ldrh r2, [r4, #0xa] - ldr r1, _02000A50 ; =0x0000BF1D + ldr r1, _037F8868 ; =0x0000BF1D mov r5, r0 cmp r2, r1 movne r0, #1 - bne _02000A48 + bne _037F8860 ldrh r1, [r4, #8] ldrh r0, [r5, #0xa] cmp r1, r0 movne r0, #2 - bne _02000A48 + bne _037F8860 mov r0, #0x1000000 - bl sub_02003B10 + bl sub_037FB928 ldrh r1, [r5, #8] sub r1, r1, #1 strh r1, [r5, #8] @@ -606,14 +606,14 @@ sub_02000994: ; 0x02000994 mvneq r1, #0 streq r1, [r5] streq r1, [r5, #4] - beq _02000A38 + beq _037F8850 ldr r1, [r5] cmp r4, r1 ldreq r2, [r4, #4] mvneq r1, #0 streq r2, [r5] streq r1, [r2] - beq _02000A38 + beq _037F8850 ldr r1, [r5, #4] ldr r2, [r4] cmp r4, r1 @@ -624,158 +624,158 @@ sub_02000994: ; 0x02000994 strne r2, [r1] ldmneia r4, {r1, r2} strne r2, [r1, #4] -_02000A38: +_037F8850: mov r1, #0 strh r1, [r4, #8] - bl sub_02003AD8 + bl sub_037FB8F0 mov r0, #0 -_02000A48: +_037F8860: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02000A50: .word 0x0000BF1D - arm_func_end sub_02000994 +_037F8868: .word 0x0000BF1D + arm_func_end sub_037F87AC - arm_func_start sub_02000A54 -sub_02000A54: ; 0x02000A54 + arm_func_start sub_037F886C +sub_037F886C: ; 0x037F886C stmdb sp!, {r3, r4, r5, lr} - ldr r2, _02000AE8 ; =0x0380FFF4 + ldr r2, _037F8900 ; =0x0380FFF4 movs r3, r1 ldr r1, [r2] mov r5, r0 moveq r0, #0 - beq _02000AE0 + beq _037F88F8 ldr r0, [r1, #0x17c] cmp r0, #0 - beq _02000A88 + beq _037F88A0 cmp r0, #1 - beq _02000AA0 - b _02000AB4 -_02000A88: + beq _037F88B8 + b _037F88CC +_037F88A0: ldr r0, [r1, #0x180] ldr r1, [r1, #0x184] add r2, r3, #0xc - bl sub_02004E5C + bl sub_037FCC74 mov r4, r0 - b _02000AB4 -_02000AA0: + b _037F88CC +_037F88B8: ldr r1, [r1, #0x180] add r0, r3, #0xc mov lr, pc bx r1 -_02000AB0: +_037F88C8: mov r4, r0 -_02000AB4: +_037F88CC: cmp r4, #0 moveq r0, #0 - beq _02000AE0 - ldr r1, _02000AEC ; =0x0000BF1D + beq _037F88F8 + ldr r1, _037F8904 ; =0x0000BF1D mov r0, r5 strh r1, [r4, #0xa] mov r2, #0 mov r1, r4 strh r2, [r4, #8] - bl sub_02000BDC + bl sub_037F89F4 mov r0, r4 -_02000AE0: +_037F88F8: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02000AE8: .word 0x0380FFF4 -_02000AEC: .word 0x0000BF1D - arm_func_end sub_02000A54 +_037F8900: .word 0x0380FFF4 +_037F8904: .word 0x0000BF1D + arm_func_end sub_037F886C - arm_func_start sub_02000AF0 -sub_02000AF0: ; 0x02000AF0 + arm_func_start sub_037F8908 +sub_037F8908: ; 0x037F8908 stmdb sp!, {r4, r5, r6, lr} mov r4, r1 - ldr r5, _02000B68 ; =0x0380FFF4 + ldr r5, _037F8980 ; =0x0380FFF4 ldrh r3, [r4, #0xa] - ldr r2, _02000B6C ; =0x0000BF1D + ldr r2, _037F8984 ; =0x0000BF1D ldr r5, [r5] cmp r3, r2 movne r0, #1 - bne _02000B60 - bl sub_02000994 + bne _037F8978 + bl sub_037F87AC movs r6, r0 - bne _02000B5C + bne _037F8974 ldr r0, [r5, #0x17c] cmp r0, #0 - beq _02000B38 + beq _037F8950 cmp r0, #1 - beq _02000B4C - b _02000B5C -_02000B38: + beq _037F8964 + b _037F8974 +_037F8950: ldr r0, [r5, #0x180] ldr r1, [r5, #0x184] mov r2, r4 - bl sub_02004F6C - b _02000B5C -_02000B4C: + bl sub_037FCD84 + b _037F8974 +_037F8964: ldr r1, [r5, #0x184] mov r0, r4 mov lr, pc bx r1 -_02000B5C: +_037F8974: mov r0, r6 -_02000B60: +_037F8978: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_02000B68: .word 0x0380FFF4 -_02000B6C: .word 0x0000BF1D - arm_func_end sub_02000AF0 +_037F8980: .word 0x0380FFF4 +_037F8984: .word 0x0000BF1D + arm_func_end sub_037F8908 - arm_func_start sub_02000B70 -sub_02000B70: ; 0x02000B70 + arm_func_start sub_037F8988 +sub_037F8988: ; 0x037F8988 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r2 ldrh r3, [r6, #0xa] - ldr r2, _02000BD8 ; =0x0000BF1D + ldr r2, _037F89F0 ; =0x0000BF1D mov r4, r0 cmp r3, r2 mov r7, r1 movne r0, #1 - bne _02000BD0 + bne _037F89E8 mov r0, #0x1000000 - bl sub_02003B10 + bl sub_037FB928 mov r5, r0 mov r0, r4 mov r1, r6 - bl sub_02000994 + bl sub_037F87AC movs r4, r0 - bne _02000BC4 + bne _037F89DC mov r0, r7 mov r1, r6 - bl sub_02000BDC + bl sub_037F89F4 mov r4, r0 -_02000BC4: +_037F89DC: mov r0, r5 - bl sub_02003AD8 + bl sub_037FB8F0 mov r0, r4 -_02000BD0: +_037F89E8: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02000BD8: .word 0x0000BF1D - arm_func_end sub_02000B70 +_037F89F0: .word 0x0000BF1D + arm_func_end sub_037F8988 - arm_func_start sub_02000BDC -sub_02000BDC: ; 0x02000BDC + arm_func_start sub_037F89F4 +sub_037F89F4: ; 0x037F89F4 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 ldrh r2, [r4, #0xa] - ldr r1, _02000C64 ; =0x0000BF1D + ldr r1, _037F8A7C ; =0x0000BF1D mov r5, r0 cmp r2, r1 movne r0, #1 - bne _02000C5C + bne _037F8A74 ldrh r0, [r4, #8] cmp r0, #0 movne r0, #2 - bne _02000C5C + bne _037F8A74 mov r0, #0x1000000 - bl sub_02003B10 + bl sub_037FB928 ldrh r1, [r5, #8] cmp r1, #0 mvneq r1, #0 @@ -792,25 +792,25 @@ sub_02000BDC: ; 0x02000BDC ldrh r1, [r5, #8] add r1, r1, #1 strh r1, [r5, #8] - bl sub_02003AD8 + bl sub_037FB8F0 mov r0, #0 -_02000C5C: +_037F8A74: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02000C64: .word 0x0000BF1D - arm_func_end sub_02000BDC +_037F8A7C: .word 0x0000BF1D + arm_func_end sub_037F89F4 - arm_func_start sub_02000C68 -sub_02000C68: ; 0x02000C68 + arm_func_start sub_037F8A80 +sub_037F8A80: ; 0x037F8A80 ldr r0, [r0, #4] bx lr - arm_func_end sub_02000C68 + arm_func_end sub_037F8A80 - arm_func_start sub_02000C70 -sub_02000C70: ; 0x02000C70 + arm_func_start sub_037F8A88 +sub_037F8A88: ; 0x037F8A88 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r4, _02000F20 ; =0x0380FFF4 + ldr r4, _037F8D38 ; =0x0380FFF4 mov r3, #0 ldr r2, [r4] mov r6, r3 @@ -818,12 +818,12 @@ sub_02000C70: ; 0x02000C70 add r5, r0, #0x400 ldrh r0, [r5, #4] cmp r0, #0 - bne _02000F18 + bne _037F8D30 ldr r0, [r2, #0x200] sub r2, r3, #1 str r0, [r5] cmp r0, r2 - beq _02000F18 + beq _037F8D30 ldr r2, [r4] ldrh r4, [r0, #0xe] add ip, r2, #0x300 @@ -834,111 +834,111 @@ sub_02000C70: ; 0x02000C70 strneh r0, [r4, #0x12] movne r0, #6 strneh r0, [r4, #0x14] - bne _02000ED0 + bne _037F8CE8 ldrh r7, [r0, #0xc] ldrh r2, [r4, #0x10] cmp r7, r2 movne r0, #0xd strneh r0, [r4, #0x14] - bne _02000ED0 + bne _037F8CE8 and r2, r7, #0xff00 cmp r2, #0x100 - bgt _02000D0C - bge _02000D58 + bgt _037F8B24 + bge _037F8B70 cmp r2, #0 - beq _02000D28 - b _02000E38 -_02000D0C: + beq _037F8B40 + b _037F8C50 +_037F8B24: cmp r2, #0x200 - bgt _02000D1C - beq _02000D78 - b _02000E38 -_02000D1C: + bgt _037F8B34 + beq _037F8B90 + b _037F8C50 +_037F8B34: cmp r2, #0x300 - beq _02000E24 - b _02000E38 -_02000D28: + beq _037F8C3C + b _037F8C50 +_037F8B40: ldrh r6, [r5, #4] - ldr r1, _02000F24 ; =0x027F7648 + ldr r1, _037F8D3C ; =0x027F7648 tst r6, #1 and r2, r7, #0xff mov r6, #1 mov lr, #0xb movne r3, #2 - bne _02000E40 + bne _037F8C58 ldrh r7, [ip, #0x4c] cmp r7, #0x20 movlo r3, r6 - b _02000E40 -_02000D58: + b _037F8C58 +_037F8B70: ldrh r6, [ip, #0x4c] - ldr r1, _02000F28 ; =0x027F75C0 + ldr r1, _037F8D40 ; =0x027F75C0 cmp r6, #0x40 and r2, r7, #0xff mov r6, #2 mov lr, #5 movne r3, #1 - b _02000E40 -_02000D78: + b _037F8C58 +_037F8B90: and r2, r7, #0xff cmp r2, #0x40 - bhs _02000DA0 + bhs _037F8BB8 ldrh r1, [ip, #0x4c] mov r6, #4 cmp r1, #0x10 - ldr r1, _02000F2C ; =0x027F77B0 + ldr r1, _037F8D44 ; =0x027F77B0 movlo r3, #1 mov lr, #0x17 - b _02000E40 -_02000DA0: + b _037F8C58 +_037F8BB8: cmp r2, #0x80 - bhs _02000DD0 + bhs _037F8BE8 ldrh r1, [ip, #0x4c] mov r6, #8 cmp r1, #0x40 sub r1, r2, #0x40 mov r2, r1, lsl #0x10 - ldr r1, _02000F30 ; =0x027F7618 + ldr r1, _037F8D48 ; =0x027F7618 movne r3, #1 mov r2, r2, lsr #0x10 mov lr, #6 - b _02000E40 -_02000DD0: + b _037F8C58 +_037F8BE8: ldrh r1, [ip, #0x4c] cmp r2, #0xc0 - bhs _02000E00 + bhs _037F8C18 cmp r1, #0x10 sub r1, r2, #0x80 mov r2, r1, lsl #0x10 - ldr r1, _02000F34 ; =0x027F76F8 + ldr r1, _037F8D4C ; =0x027F76F8 movlo r3, #1 mov r2, r2, lsr #0x10 mov r6, #0x10 mov lr, #0x17 - b _02000E40 -_02000E00: + b _037F8C58 +_037F8C18: cmp r1, #0x10 sub r1, r2, #0xc0 mov r2, r1, lsl #0x10 - ldr r1, _02000F38 ; =0x027F75E8 + ldr r1, _037F8D50 ; =0x027F75E8 movlo r3, #1 mov r2, r2, lsr #0x10 mov r6, #0x20 mov lr, #6 - b _02000E40 -_02000E24: - ldr r1, _02000F3C ; =0x027F76A0 + b _037F8C58 +_037F8C3C: + ldr r1, _037F8D54 ; =0x027F76A0 and r2, r7, #0xff mov r6, #0x40 mov lr, #0xb - b _02000E40 -_02000E38: + b _037F8C58 +_037F8C50: mov r2, #1 mov lr, #0 -_02000E40: +_037F8C58: cmp r2, lr movhi r3, #3 - bhi _02000E70 + bhi _037F8C88 mov lr, r2, lsl #3 ldrh r7, [r0, #0xe] ldrh ip, [r1, lr] @@ -948,12 +948,12 @@ _02000E40: ldrhsh ip, [ip, #2] cmphs lr, ip movlo r3, #4 -_02000E70: +_037F8C88: cmp r3, #0 movne r0, #1 strneh r0, [r4, #0x12] strneh r3, [r4, #0x14] - bne _02000ED0 + bne _037F8CE8 ldrh r3, [r5, #4] add r1, r1, r2, lsl #3 orr r2, r3, r6 @@ -962,118 +962,118 @@ _02000E70: add r1, r4, #0x10 mov lr, pc bx r2 -_02000EA4: +_037F8CBC: strh r0, [r4, #0x14] ldrh r0, [r4, #0x14] cmp r0, #0x80 - beq _02000F18 + beq _037F8D30 cmp r0, #0x81 - bne _02000ED0 + bne _037F8CE8 ldrh r1, [r5, #4] mvn r0, r6 and r0, r1, r0 strh r0, [r5, #4] - b _02000EF4 -_02000ED0: + b _037F8D0C +_037F8CE8: ldrh r1, [r5, #4] mvn r0, r6 and r0, r1, r0 strh r0, [r5, #4] - ldr r0, _02000F20 ; =0x0380FFF4 + ldr r0, _037F8D38 ; =0x0380FFF4 ldr r1, [r5] ldr r0, [r0] add r0, r0, #0x200 - bl sub_02000F40 -_02000EF4: - ldr r0, _02000F20 ; =0x0380FFF4 + bl sub_037F8D58 +_037F8D0C: + ldr r0, _037F8D38 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x200 ldrh r0, [r0, #8] cmp r0, #0 - beq _02000F18 + beq _037F8D30 mov r0, #2 mov r1, #0xb - bl sub_02000780 -_02000F18: + bl sub_037F8598 +_037F8D30: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02000F20: .word 0x0380FFF4 -_02000F24: .word 0x027F7648 -_02000F28: .word 0x027F75C0 -_02000F2C: .word 0x027F77B0 -_02000F30: .word 0x027F7618 -_02000F34: .word 0x027F76F8 -_02000F38: .word 0x027F75E8 -_02000F3C: .word 0x027F76A0 - arm_func_end sub_02000C70 +_037F8D38: .word 0x0380FFF4 +_037F8D3C: .word 0x027F7648 +_037F8D40: .word 0x027F75C0 +_037F8D44: .word 0x027F77B0 +_037F8D48: .word 0x027F7618 +_037F8D4C: .word 0x027F76F8 +_037F8D50: .word 0x027F75E8 +_037F8D54: .word 0x027F76A0 + arm_func_end sub_037F8A88 - arm_func_start sub_02000F40 -sub_02000F40: ; 0x02000F40 + arm_func_start sub_037F8D58 +sub_037F8D58: ; 0x037F8D58 stmdb sp!, {r3, r4, r5, lr} - ldr r2, _02000FC4 ; =0x0380FFF4 + ldr r2, _037F8DDC ; =0x0380FFF4 mov r5, r0 ldr r3, [r2] mov r4, r1 add r2, r3, #0x100 ldrh r2, [r2, #0xfc] cmp r2, #0 - beq _02000F80 + beq _037F8D98 mov r2, r4 add r1, r3, #0x1f4 - bl sub_02000B70 + bl sub_037F8988 mov r0, #2 mov r1, #0x13 - bl sub_02000780 - b _02000FBC -_02000F80: + bl sub_037F8598 + b _037F8DD4 +_037F8D98: ldr r0, [r3, #0x304] mov r2, #0 - bl sub_020048BC + bl sub_037FC6D4 cmp r0, #0 - beq _02000FA4 + beq _037F8DBC mov r0, r5 mov r1, r4 - bl sub_02000994 - b _02000FBC -_02000FA4: - ldr r1, _02000FC4 ; =0x0380FFF4 + bl sub_037F87AC + b _037F8DD4 +_037F8DBC: + ldr r1, _037F8DDC ; =0x0380FFF4 mov r0, r5 ldr r1, [r1] mov r2, r4 add r1, r1, #0x1f4 - bl sub_02000B70 -_02000FBC: + bl sub_037F8988 +_037F8DD4: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02000FC4: .word 0x0380FFF4 - arm_func_end sub_02000F40 +_037F8DDC: .word 0x0380FFF4 + arm_func_end sub_037F8D58 - arm_func_start sub_02000FC8 -sub_02000FC8: ; 0x02000FC8 + arm_func_start sub_037F8DE0 +sub_037F8DE0: ; 0x037F8DE0 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 - ldr r0, _02001334 ; =0x0380FFF4 + ldr r0, _037F914C ; =0x0380FFF4 ldr r0, [r0] add r6, r0, #0x344 add r4, r0, #0x31c - bl sub_02001380 - ldr r1, _02001338 ; =0x04808044 + bl sub_037F9198 + ldr r1, _037F9150 ; =0x04808044 ldrh r2, [r1] ldrh r0, [r1] ldrh r1, [r1] add r0, r2, r0, lsl #8 - bl sub_00FF2F54 + bl sub_027EAD6C mov r0, #1 strh r0, [r6, #0x7c] ldrh r0, [r4, #0x1e] - ldr r2, _0200133C ; =0x04808032 + ldr r2, _037F9154 ; =0x04808032 mov r0, r0, lsl #0x1d mov r0, r0, lsr #0x1f cmp r0, #1 ldreqh r0, [r6, #0x7c] - ldr r1, _02001340 ; =0x04808134 + ldr r1, _037F9158 ; =0x04808134 orreq r0, r0, #0x20 streqh r0, [r6, #0x7c] ldrh r0, [r4, #0x18] @@ -1084,7 +1084,7 @@ sub_02000FC8: ; 0x02000FC8 orrne r0, r0, #0x10 strneh r0, [r6, #0x7c] strh r4, [r6, #0x12] - ldr r0, _02001344 ; =0x0000FFFF + ldr r0, _037F915C ; =0x0000FFFF strh r3, [r2] strh r0, [r1] strh r4, [r2, #-8] @@ -1092,18 +1092,18 @@ sub_02000FC8: ; 0x02000FC8 strh r4, [r0] mov r0, #0xf strh r0, [r1, #-0xfc] - bl sub_00FF46F8 - bl sub_00FFCEA8 - bl sub_020030A8 - bl sub_020033C8 - ldr r2, _02001348 ; =0x04808030 + bl sub_027EC510 + bl sub_027F4CC0 + bl sub_037FAEC0 + bl sub_037FB1E0 + ldr r2, _037F9160 ; =0x04808030 mov r1, #0x8000 strh r1, [r2] - ldr r0, _02001344 ; =0x0000FFFF - ldr r1, _0200134C ; =0x048081AE + ldr r0, _037F915C ; =0x0000FFFF + ldr r1, _037F9164 ; =0x048081AE strh r0, [r2, #-0x20] sub r2, r0, #0xe000 - ldr r0, _02001334 ; =0x0380FFF4 + ldr r0, _037F914C ; =0x0380FFF4 strh r2, [r1] ldr r0, [r0] add r0, r0, #0x600 @@ -1113,22 +1113,22 @@ sub_02000FC8: ; 0x02000FC8 strneh r0, [r1, #-4] moveq r0, r4 streqh r0, [r1, #-4] - ldr r2, _02001350 ; =0x04808008 + ldr r2, _037F9168 ; =0x04808008 mov r3, #0 strh r3, [r2] strh r3, [r2, #2] ldrh r0, [r6, #0xc] cmp r0, #4 addls pc, pc, r0, lsl #2 - b _020012F8 -_020010DC: ; jump table - b _020010F0 ; case 0 - b _02001120 ; case 1 - b _02001204 ; case 2 - b _02001284 ; case 3 - b _020012DC ; case 4 -_020010F0: - ldr r0, _02001344 ; =0x0000FFFF + b _037F9110 +_037F8EF4: ; jump table + b _037F8F08 ; case 0 + b _037F8F38 ; case 1 + b _037F901C ; case 2 + b _037F909C ; case 3 + b _037F90F4 ; case 4 +_037F8F08: + ldr r0, _037F915C ; =0x0000FFFF mov r1, #0x3f strh r1, [r2, #0xa] strh r0, [r2, #0xc8] @@ -1139,11 +1139,11 @@ _020010F0: strh r3, [r2, #0xe0] mov r0, #1 strh r0, [r2, #-4] - b _020012F8 -_02001120: - ldr r3, _02001354 ; =0x0000703F - ldr r0, _02001358 ; =0x00001FFF - ldr r1, _0200134C ; =0x048081AE + b _037F9110 +_037F8F38: + ldr r3, _037F916C ; =0x0000703F + ldr r0, _037F9170 ; =0x00001FFF + ldr r1, _037F9164 ; =0x048081AE strh r3, [r2, #0xa] strh r0, [r1] rsb r0, r0, #0x2300 @@ -1170,7 +1170,7 @@ _02001120: ldr r1, [sp, #4] mov r5, r2, lsl #0xa mov r2, r5 - bl sub_0200ED68 + bl sub_03806B80 adds r3, r0, #1 umull r2, r0, r3, r5 mla r0, r3, r4, r0 @@ -1178,7 +1178,7 @@ _02001120: mla r0, r1, r5, r0 str r0, [sp, #4] ldrh r0, [r7, #6] - ldr r3, _0200135C ; =0x048080F6 + ldr r3, _037F9174 ; =0x048080F6 str r2, [sp] strh r0, [r3] ldrh r0, [r7, #4] @@ -1192,37 +1192,37 @@ _02001120: strh r2, [r3, #-6] strh r1, [r3, #-0xe] strh r1, [r3, #-0xc] - bl sub_02001420 - bl sub_00FF9384 - ldr r0, _02001360 ; =0x048080AE + bl sub_037F9238 + bl sub_027F119C + ldr r0, _037F9178 ; =0x048080AE mov r1, #2 strh r1, [r0] - b _020012F8 -_02001204: - ldr r1, _02001364 ; =0x0000E0BF - ldr r0, _02001334 ; =0x0380FFF4 + b _037F9110 +_037F901C: + ldr r1, _037F917C ; =0x0000E0BF + ldr r0, _037F914C ; =0x0380FFF4 strh r1, [r2, #0xa] ldr r0, [r0] add r0, r0, #0x600 ldrh r0, [r0, #0x90] tst r0, #0x20 - beq _02001240 + beq _037F9058 ldrh r0, [r2, #0xa] - ldr r1, _02001368 ; =0x048081AA + ldr r1, _037F9180 ; =0x048081AA orr r0, r0, #0x40 strh r0, [r2, #0xa] ldrh r0, [r1] orr r0, r0, #0x68 strh r0, [r1] -_02001240: +_037F9058: ldrh r0, [r6, #0x64] tst r0, #1 - ldr r0, _0200136C ; =0x048080D0 - ldrne r1, _02001370 ; =0x00000581 + ldr r0, _037F9184 ; =0x048080D0 + ldrne r1, _037F9188 ; =0x00000581 strneh r1, [r0] - ldreq r1, _02001374 ; =0x00000181 + ldreq r1, _037F918C ; =0x00000181 streqh r1, [r0] - ldr r2, _02001378 ; =0x048080E0 + ldr r2, _037F9190 ; =0x048080E0 mov r0, #0xb strh r0, [r2] mov r1, #1 @@ -1230,10 +1230,10 @@ _02001240: strh r1, [r2, #8] mov r0, #0x20 strh r1, [r2, #0xa] - bl sub_02001420 - b _020012F8 -_02001284: - ldr r1, _02001344 ; =0x0000FFFF + bl sub_037F9238 + b _037F9110 +_037F909C: + ldr r1, _037F915C ; =0x0000FFFF strh r1, [r2, #8] sub r0, r1, #0x3fc0 strh r0, [r2, #0xa] @@ -1243,7 +1243,7 @@ _02001284: strneh r0, [r2, #0xc8] moveq r0, #1 streqh r0, [r2, #0xc8] - ldr r2, _02001378 ; =0x048080E0 + ldr r2, _037F9190 ; =0x048080E0 mov r0, #0xb strh r0, [r2] mov r0, #1 @@ -1253,74 +1253,74 @@ _02001284: mov r1, #0 mov r0, #0x20 strh r1, [r2, #-0x98] - bl sub_02001420 - b _020012F8 -_020012DC: - ldr r0, _0200134C ; =0x048081AE + bl sub_037F9238 + b _037F9110 +_037F90F4: + ldr r0, _037F9164 ; =0x048081AE strh r3, [r2, #0xa] strh r3, [r0] mov r1, #1 mov r0, #0x20 strh r1, [r2, #-4] - bl sub_02001420 -_020012F8: - ldr r0, _0200137C ; =0x04808048 + bl sub_037F9238 +_037F9110: + ldr r0, _037F9194 ; =0x04808048 mov r1, #0 strh r1, [r0] - bl sub_00FF207C - ldr r1, _02001360 ; =0x048080AE + bl sub_027E9E94 + ldr r1, _037F9178 ; =0x048080AE mov r0, #2 strh r0, [r1] ldrh r1, [r6, #0xe] cmp r1, #1 - bne _02001324 - bl sub_00FF1E9C -_02001324: - bl sub_020034E8 + bne _037F913C + bl sub_027E9CB4 +_037F913C: + bl sub_037FB300 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02001334: .word 0x0380FFF4 -_02001338: .word 0x04808044 -_0200133C: .word 0x04808032 -_02001340: .word 0x04808134 -_02001344: .word 0x0000FFFF -_02001348: .word 0x04808030 -_0200134C: .word 0x048081AE -_02001350: .word 0x04808008 -_02001354: .word 0x0000703F -_02001358: .word 0x00001FFF -_0200135C: .word 0x048080F6 -_02001360: .word 0x048080AE -_02001364: .word 0x0000E0BF -_02001368: .word 0x048081AA -_0200136C: .word 0x048080D0 -_02001370: .word 0x00000581 -_02001374: .word 0x00000181 -_02001378: .word 0x048080E0 -_0200137C: .word 0x04808048 - arm_func_end sub_02000FC8 +_037F914C: .word 0x0380FFF4 +_037F9150: .word 0x04808044 +_037F9154: .word 0x04808032 +_037F9158: .word 0x04808134 +_037F915C: .word 0x0000FFFF +_037F9160: .word 0x04808030 +_037F9164: .word 0x048081AE +_037F9168: .word 0x04808008 +_037F916C: .word 0x0000703F +_037F9170: .word 0x00001FFF +_037F9174: .word 0x048080F6 +_037F9178: .word 0x048080AE +_037F917C: .word 0x0000E0BF +_037F9180: .word 0x048081AA +_037F9184: .word 0x048080D0 +_037F9188: .word 0x00000581 +_037F918C: .word 0x00000181 +_037F9190: .word 0x048080E0 +_037F9194: .word 0x04808048 + arm_func_end sub_037F8DE0 - arm_func_start sub_02001380 -sub_02001380: ; 0x02001380 + arm_func_start sub_037F9198 +sub_037F9198: ; 0x037F9198 stmdb sp!, {r4, lr} - ldr r0, _02001410 ; =0x0380FFF4 + ldr r0, _037F9228 ; =0x0380FFF4 ldr r1, [r0] add r0, r1, #0x208 add r0, r0, #0x400 add r4, r1, #0x344 - bl sub_020057A8 - ldr r0, _02001410 ; =0x0380FFF4 + bl sub_037FD5C0 + ldr r0, _037F9228 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x234 add r0, r0, #0x400 - bl sub_020057A8 + bl sub_037FD5C0 mov r0, #0x20 - bl sub_02001420 + bl sub_037F9238 mov r1, #0 strh r1, [r4, #0xa4] - ldr r0, _02001414 ; =0x04808012 + ldr r0, _037F922C ; =0x04808012 strh r1, [r4, #0x12] strh r1, [r0] strh r1, [r0, #-0xe] @@ -1330,194 +1330,194 @@ sub_02001380: ; 0x02001380 strh r1, [r0, #-8] ldrh r0, [r4, #0xc] cmp r0, #1 - bne _020013F0 - bl sub_00FF93C4 -_020013F0: - ldr r1, _02001418 ; =0x0000FFFF - ldr r0, _0200141C ; =0x048080AC + bne _037F9208 + bl sub_027F11DC +_037F9208: + ldr r1, _037F9230 ; =0x0000FFFF + ldr r0, _037F9234 ; =0x048080AC strh r1, [r0] strh r1, [r0, #8] - bl sub_00FF90F0 - bl sub_00FF0F2C + bl sub_027F0F08 + bl sub_027E8D44 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02001410: .word 0x0380FFF4 -_02001414: .word 0x04808012 -_02001418: .word 0x0000FFFF -_0200141C: .word 0x048080AC - arm_func_end sub_02001380 +_037F9228: .word 0x0380FFF4 +_037F922C: .word 0x04808012 +_037F9230: .word 0x0000FFFF +_037F9234: .word 0x048080AC + arm_func_end sub_037F9198 - arm_func_start sub_02001420 -sub_02001420: ; 0x02001420 + arm_func_start sub_037F9238 +sub_037F9238: ; 0x037F9238 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _020014B8 ; =0x0380FFF4 + ldr r1, _037F92D0 ; =0x0380FFF4 mov r5, r0 ldr r1, [r1] add r4, r1, #0x344 ldrh r0, [r4, #8] cmp r0, r5 - beq _020014B0 + beq _037F92C8 cmp r0, #0x40 - bne _02001454 + bne _037F926C add r0, r1, #0x234 add r0, r0, #0x400 - bl sub_020057A8 -_02001454: + bl sub_037FD5C0 +_037F926C: cmp r5, #0 - beq _02001470 + beq _037F9288 cmp r5, #0x10 - beq _02001478 + beq _037F9290 cmp r5, #0x40 - beq _02001490 - b _020014AC -_02001470: - bl sub_00FF1EDC - b _020014AC -_02001478: - ldr r0, _020014BC ; =0x04808040 + beq _037F92A8 + b _037F92C4 +_037F9288: + bl sub_027E9CF4 + b _037F92C4 +_037F9290: + ldr r0, _037F92D4 ; =0x04808040 mov r1, #0 strh r1, [r0] - bl sub_02001380 - bl sub_00FF1F64 - b _020014AC -_02001490: + bl sub_037F9198 + bl sub_027E9D7C + b _037F92C4 +_037F92A8: ldrh r0, [r4, #0xc] cmp r0, #2 - bne _020014A0 - bl sub_00FF20C8 -_020014A0: - ldr r1, _020014C0 ; =0x027EAA6C + bne _037F92B8 + bl sub_027E9EE0 +_037F92B8: + ldr r1, _037F92D8 ; =0x027EAA6C mov r0, #0x64 - bl sub_00FF2BA4 -_020014AC: + bl sub_027EA9BC +_037F92C4: strh r5, [r4, #8] -_020014B0: +_037F92C8: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_020014B8: .word 0x0380FFF4 -_020014BC: .word 0x04808040 -_020014C0: .word 0x027EAA6C - arm_func_end sub_02001420 +_037F92D0: .word 0x0380FFF4 +_037F92D4: .word 0x04808040 +_037F92D8: .word 0x027EAA6C + arm_func_end sub_037F9238 - arm_func_start sub_020014C4 -sub_020014C4: ; 0x020014C4 + arm_func_start sub_037F92DC +sub_037F92DC: ; 0x037F92DC stmdb sp!, {r4, r5, r6, lr} - ldr r5, _02001590 ; =0x04808010 + ldr r5, _037F93A8 ; =0x04808010 mov r4, #1 -_020014D0: +_037F92E8: ldrh r1, [r5] ldrh r0, [r5, #2] ands r6, r1, r0 - beq _02001578 + beq _037F9390 tst r6, #0x80 - beq _020014EC - bl sub_02002404 -_020014EC: + beq _037F9304 + bl sub_037FA21C +_037F9304: tst r6, #0x40 - beq _020014F8 - bl sub_02002510 -_020014F8: + beq _037F9310 + bl sub_037FA328 +_037F9310: tst r6, #0x8000 - beq _02001504 - bl sub_02001598 -_02001504: + beq _037F931C + bl sub_037F93B0 +_037F931C: tst r6, #0x4000 - beq _02001510 - bl sub_02001624 -_02001510: + beq _037F9328 + bl sub_037F943C +_037F9328: tst r6, #0x2000 - beq _0200151C - bl sub_020018C8 -_0200151C: + beq _037F9334 + bl sub_037F96E0 +_037F9334: tst r6, #0x800 - beq _02001528 - bl sub_00FF3A18 -_02001528: + beq _037F9340 + bl sub_027EB830 +_037F9340: tst r6, #8 - beq _02001534 - bl sub_02001964 -_02001534: + beq _037F934C + bl sub_037F977C +_037F934C: tst r6, #4 - beq _02001540 - bl sub_02001A74 -_02001540: + beq _037F9358 + bl sub_037F988C +_037F9358: tst r6, #1 - beq _0200154C - bl sub_02001E58 -_0200154C: + beq _037F9364 + bl sub_037F9C70 +_037F9364: tst r6, #0x30 - beq _02001558 - bl sub_02001934 -_02001558: + beq _037F9370 + bl sub_037F974C +_037F9370: tst r6, #2 - beq _02001564 - bl sub_02001BF0 -_02001564: + beq _037F937C + bl sub_037F9A08 +_037F937C: tst r6, #0x1000 - beq _020014D0 + beq _037F92E8 mov r0, r4 - bl sub_02002314 - b _020014D0 -_02001578: - ldr r1, _02001594 ; =0x0380FFF8 + bl sub_037FA12C + b _037F92E8 +_037F9390: + ldr r1, _037F93AC ; =0x0380FFF8 ldr r0, [r1] orr r0, r0, #0x1000000 str r0, [r1] ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_02001590: .word 0x04808010 -_02001594: .word 0x0380FFF8 - arm_func_end sub_020014C4 +_037F93A8: .word 0x04808010 +_037F93AC: .word 0x0380FFF8 + arm_func_end sub_037F92DC - arm_func_start sub_02001598 -sub_02001598: ; 0x02001598 + arm_func_start sub_037F93B0 +sub_037F93B0: ; 0x037F93B0 stmdb sp!, {r4, lr} - ldr r1, _0200161C ; =0x0380FFF4 - ldr r0, _02001620 ; =0x04808010 + ldr r1, _037F9434 ; =0x0380FFF4 + ldr r0, _037F9438 ; =0x04808010 ldr r2, [r1] mov r1, #0x8000 strh r1, [r0] add r4, r2, #0x344 ldrh r0, [r4, #8] cmp r0, #0x40 - bne _0200160C + bne _037F9424 ldrh r0, [r4, #0x7e] cmp r0, #0 - beq _0200160C + beq _037F9424 ldrh r1, [r4, #0x72] ldrh r0, [r4, #0x70] cmp r1, r0 - bne _0200160C + bne _037F9424 ldrh r0, [r4, #0x80] add r0, r0, #1 strh r0, [r4, #0x80] ldrh r1, [r4, #0x80] ldrh r0, [r4, #0x7e] cmp r1, r0 - bls _0200160C + bls _037F9424 mov r2, #0 mov r0, #1 mov r1, #0xd strh r2, [r4, #0x80] - bl sub_02000780 -_0200160C: + bl sub_037F8598 +_037F9424: mov r0, #1 strh r0, [r4, #0x10] ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200161C: .word 0x0380FFF4 -_02001620: .word 0x04808010 - arm_func_end sub_02001598 +_037F9434: .word 0x0380FFF4 +_037F9438: .word 0x04808010 + arm_func_end sub_037F93B0 - arm_func_start sub_02001624 -sub_02001624: ; 0x02001624 + arm_func_start sub_037F943C +sub_037F943C: ; 0x037F943C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} - ldr r6, _020018A8 ; =0x0380FFF4 - ldr r2, _020018AC ; =0x04808010 + ldr r6, _037F96C0 ; =0x0380FFF4 + ldr r2, _037F96C4 ; =0x04808010 ldr r3, [r6] mov r0, #0x4000 strh r0, [r2] @@ -1527,13 +1527,13 @@ sub_02001624: ; 0x02001624 cmp r1, #1 add r5, r3, #0x31c add r7, r0, #0x400 - beq _0200166C + beq _037F9484 cmp r1, #2 - beq _02001720 + beq _037F9538 cmp r1, #3 - beq _02001764 - b _020018A0 -_0200166C: + beq _037F957C + b _037F96B8 +_037F9484: ldr r1, [r7, #0x80] ldrh r6, [r6, #-4] ldrh r0, [r4, #0x96] @@ -1541,23 +1541,23 @@ _0200166C: add r8, r1, r0 add r0, r8, #8 and r1, r6, #0xff - bl sub_00FF2F0C + bl sub_027EAD24 mov r1, r6, lsr #8 add r0, r8, #9 and r1, r1, #0xff - bl sub_00FF2F0C + bl sub_027EAD24 ldrh r0, [r4, #0xe] cmp r0, #1 - bne _020016C0 - ldr r1, _020018B0 ; =0x04808134 + bne _037F94D8 + ldr r1, _037F96C8 ; =0x04808134 ldrh r2, [r5, #0x20] ldrh r0, [r1] add r0, r2, r0 add r0, r0, #1 strh r0, [r1] -_020016C0: - ldr r0, _020018A8 ; =0x0380FFF4 - ldr r1, _020018B4 ; =0x048080B6 +_037F94D8: + ldr r0, _037F96C0 ; =0x0380FFF4 + ldr r1, _037F96CC ; =0x048080B6 ldr r0, [r0] add r0, r0, #0x500 ldrh r3, [r0, #0x2e] @@ -1567,71 +1567,71 @@ _020016C0: strh r2, [r0, #0x30] ldrh r0, [r1] tst r0, #0x18 - bne _020016FC + bne _037F9514 and r0, r0, #6 cmp r0, #2 - bne _02001710 -_020016FC: + bne _037F9528 +_037F9514: ldr r0, [r7, #0x8c] bic r0, r0, #2 str r0, [r7, #0x8c] - bl sub_02002780 - b _020018A0 -_02001710: + bl sub_037FA598 + b _037F96B8 +_037F9528: ldr r0, [r7, #0x8c] orr r0, r0, #2 str r0, [r7, #0x8c] - b _020018A0 -_02001720: + b _037F96B8 +_037F9538: ldrh r0, [r4, #0x12] cmp r0, #0 - ldreq r1, _020018B8 ; =0x0000FFFF + ldreq r1, _037F96D0 ; =0x0000FFFF addeq r0, r2, #0x124 streqh r1, [r0] - beq _02001750 + beq _037F9568 add r1, r2, #0x124 ldrh r2, [r5, #0x20] ldrh r0, [r1] add r0, r2, r0 add r0, r0, #1 strh r0, [r1] -_02001750: +_037F9568: ldrh r0, [r4, #0x1a] cmp r0, #2 - bne _02001764 + bne _037F957C mov r0, #2 - bl sub_00FF1E9C -_02001764: + bl sub_027E9CB4 +_037F957C: ldrh r0, [r4, #8] cmp r0, #0x40 movne r1, #1 - bne _020017B0 + bne _037F95C8 ldrh r0, [r4, #0x72] mov r1, #0 cmp r0, #1 ldrh r0, [r4, #0x14] moveq r1, #1 cmp r0, #0 - beq _020017B0 + beq _037F95C8 ldrh r0, [r4, #0x76] cmp r0, #1 - beq _020017AC + beq _037F95C4 cmp r0, #0 ldreqh r0, [r4, #0x74] cmpeq r0, #1 - bne _020017B0 -_020017AC: + bne _037F95C8 +_037F95C4: mov r1, #1 -_020017B0: +_037F95C8: cmp r1, #0 - ldr r1, _020018BC ; =0x04808038 + ldr r1, _037F96D4 ; =0x04808038 ldrneh r0, [r1] orrne r0, r0, #1 strneh r0, [r1] ldreqh r0, [r1] biceq r0, r0, #1 streqh r0, [r1] - ldr r1, _020018C0 ; =0x04808118 + ldr r1, _037F96D8 ; =0x04808118 mov r8, #0 ldrh r0, [r1] mov r6, #2 @@ -1655,54 +1655,54 @@ _020017B0: subeq r0, r0, #1 streqh r0, [r4, #0x76] mov r4, #0xe -_02001830: +_037F9648: mul r1, r8, sl ldrh r0, [r7, r1] add sb, r7, r1 cmp r0, #0 - beq _02001888 + beq _037F96A0 ldr r0, [sb, #0xc] ldrh r1, [r0, #8] cmp r1, #0 - bne _02001888 - bl sub_00FF8464 + bne _037F96A0 + bl sub_027F027C cmp r0, #0 - beq _02001888 + beq _037F96A0 mov r0, r8 - bl sub_00FF8EBC + bl sub_027F0CD4 ldr r1, [sb, #8] mov r0, r5 strh r6, [r1] mov r1, r4 - bl sub_02000780 + bl sub_037F8598 ldrh r0, [r7, #0xae] add r0, r0, #1 strh r0, [r7, #0xae] -_02001888: +_037F96A0: add r8, r8, #1 cmp r8, #2 - blo _02001830 - ldr r0, _020018C4 ; =0x048080AE + blo _037F9648 + ldr r0, _037F96DC ; =0x048080AE mov r1, #0xd strh r1, [r0] -_020018A0: +_037F96B8: ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, lr} bx lr .align 2, 0 -_020018A8: .word 0x0380FFF4 -_020018AC: .word 0x04808010 -_020018B0: .word 0x04808134 -_020018B4: .word 0x048080B6 -_020018B8: .word 0x0000FFFF -_020018BC: .word 0x04808038 -_020018C0: .word 0x04808118 -_020018C4: .word 0x048080AE - arm_func_end sub_02001624 +_037F96C0: .word 0x0380FFF4 +_037F96C4: .word 0x04808010 +_037F96C8: .word 0x04808134 +_037F96CC: .word 0x048080B6 +_037F96D0: .word 0x0000FFFF +_037F96D4: .word 0x04808038 +_037F96D8: .word 0x04808118 +_037F96DC: .word 0x048080AE + arm_func_end sub_037F943C - arm_func_start sub_020018C8 -sub_020018C8: ; 0x020018C8 - ldr r0, _0200192C ; =0x0380FFF4 - ldr r1, _02001930 ; =0x04808010 + arm_func_start sub_037F96E0 +sub_037F96E0: ; 0x037F96E0 + ldr r0, _037F9744 ; =0x0380FFF4 + ldr r1, _037F9748 ; =0x04808010 ldr r2, [r0] mov r0, #0x2000 strh r0, [r1] @@ -1727,16 +1727,16 @@ sub_020018C8: ; 0x020018C8 strneh r0, [r1, #0x38] bx lr .align 2, 0 -_0200192C: .word 0x0380FFF4 -_02001930: .word 0x04808010 - arm_func_end sub_020018C8 +_037F9744: .word 0x0380FFF4 +_037F9748: .word 0x04808010 + arm_func_end sub_037F96E0 - arm_func_start sub_02001934 -sub_02001934: ; 0x02001934 + arm_func_start sub_037F974C +sub_037F974C: ; 0x037F974C stmdb sp!, {r3, lr} - bl sub_00FF2394 - ldr r1, _0200195C ; =0x048081AC - ldr r2, _02001960 ; =0x0000FFFF + bl sub_027EA1AC + ldr r1, _037F9774 ; =0x048081AC + ldr r2, _037F9778 ; =0x0000FFFF sub r0, r1, #0x19c strh r2, [r1] mov r1, #0x30 @@ -1744,23 +1744,23 @@ sub_02001934: ; 0x02001934 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200195C: .word 0x048081AC -_02001960: .word 0x0000FFFF - arm_func_end sub_02001934 +_037F9774: .word 0x048081AC +_037F9778: .word 0x0000FFFF + arm_func_end sub_037F974C - arm_func_start sub_02001964 -sub_02001964: ; 0x02001964 + arm_func_start sub_037F977C +sub_037F977C: ; 0x037F977C stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r1, _02001A68 ; =0x04808010 + ldr r1, _037F9880 ; =0x04808010 mov r2, #8 - ldr r0, _02001A6C ; =0x0380FFF4 + ldr r0, _037F9884 ; =0x0380FFF4 strh r2, [r1] ldr r0, [r0] add r0, r0, #0x300 ldrh r0, [r0, #0x3a] mov r0, r0, lsl #0x1b movs r0, r0, lsr #0x1f - beq _020019AC + beq _037F97C4 add r0, r1, #0x18c ldrh r0, [r0] tst r0, #1 @@ -1768,14 +1768,14 @@ sub_02001964: ; 0x02001964 ldreqh r0, [r1] eoreq r0, r0, #1 streqh r0, [r1] -_020019AC: - ldr r0, _02001A6C ; =0x0380FFF4 +_037F97C4: + ldr r0, _037F9884 ; =0x0380FFF4 ldr r1, [r0] add r0, r1, #0x600 ldrh r0, [r0, #0x90] tst r0, #8 - beq _02001A60 - ldr r4, _02001A70 ; =0x04808032 + beq _037F9878 + ldr r4, _037F9888 ; =0x04808032 add r0, r1, #0x2c mov r2, #0 add r1, r1, #0x344 @@ -1783,19 +1783,19 @@ _020019AC: mov r5, r2 mov lr, #0x8000 mov ip, #0x14 -_020019E4: +_037F97FC: mul r6, r2, ip ldrh r0, [r3, r6] add r6, r3, r6 cmp r0, #0 - beq _02001A54 + beq _037F986C ldr r0, [r6, #8] ldrh r6, [r0, #0xc] tst r6, #0x4000 - beq _02001A54 + beq _037F986C ldrh r6, [r0, #4] tst r6, #0xff - beq _02001A54 + beq _037F986C ldrh r6, [r0, #0xa] add r7, r0, #0xc add r6, r7, r6 @@ -1805,31 +1805,31 @@ _020019E4: cmp r6, #0 ldreqh r6, [r7, #2] cmpeq r6, #0 - bne _02001A54 + bne _037F986C strh r5, [r0, #4] strh r5, [r4] strh lr, [r4] ldrh r0, [r1, #0xba] add r0, r0, #1 strh r0, [r1, #0xba] -_02001A54: +_037F986C: add r2, r2, #1 cmp r2, #3 - blo _020019E4 -_02001A60: + blo _037F97FC +_037F9878: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02001A68: .word 0x04808010 -_02001A6C: .word 0x0380FFF4 -_02001A70: .word 0x04808032 - arm_func_end sub_02001964 +_037F9880: .word 0x04808010 +_037F9884: .word 0x0380FFF4 +_037F9888: .word 0x04808032 + arm_func_end sub_037F977C - arm_func_start sub_02001A74 -sub_02001A74: ; 0x02001A74 + arm_func_start sub_037F988C +sub_037F988C: ; 0x037F988C stmdb sp!, {r3, lr} - ldr r1, _02001BD4 ; =0x0380FFF4 - ldr ip, _02001BD8 ; =0x04808010 + ldr r1, _037F99EC ; =0x0380FFF4 + ldr ip, _037F99F0 ; =0x04808010 ldr r2, [r1] mov r0, #4 strh r0, [ip] @@ -1843,98 +1843,98 @@ sub_02001A74: ; 0x02001A74 tst r3, #8 add r0, r0, #0x400 add r3, r2, #0x400 - beq _02001B64 + beq _037F997C tst r1, #0x400 - beq _02001B64 + beq _037F997C ldrh ip, [ip, #0xa0] tst ip, #1 ldrneh r2, [r3] cmpne r2, #0 - bne _02001B20 + bne _037F9938 tst ip, #4 ldrneh r2, [r3, #0x14] cmpne r2, #0 - bne _02001B20 + bne _037F9938 tst ip, #8 ldrneh r2, [r3, #0x28] cmpne r2, #0 - bne _02001B20 - ldr r2, _02001BDC ; =0x0480819C + bne _037F9938 + ldr r2, _037F99F4 ; =0x0480819C ldrh r2, [r2] tst r2, #1 - bne _02001B20 - ldr r3, _02001BE0 ; =0x04808032 + bne _037F9938 + ldr r3, _037F99F8 ; =0x04808032 mov ip, #0 strh ip, [r3] mov r2, #0x8000 strh r2, [r3] strh ip, [r0, #2] - b _02001B64 -_02001B20: + b _037F997C +_037F9938: ldrh r3, [r0, #2] add r2, r3, #1 strh r2, [r0, #2] cmp r3, #0xc - bls _02001B64 - ldr r3, _02001BE0 ; =0x04808032 + bls _037F997C + ldr r3, _037F99F8 ; =0x04808032 mov r2, #0 strh r2, [r0, #2] strh r2, [r3] mov r2, #0x8000 - ldr r0, _02001BD4 ; =0x0380FFF4 + ldr r0, _037F99EC ; =0x0380FFF4 strh r2, [r3] ldr r0, [r0] add r0, r0, #0x300 ldrh r2, [r0, #0xfe] add r2, r2, #1 strh r2, [r0, #0xfe] -_02001B64: - ldr r0, _02001BD4 ; =0x0380FFF4 +_037F997C: + ldr r0, _037F99EC ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x600 ldrh r0, [r0, #0x90] tst r0, #1 - beq _02001BCC + beq _037F99E4 tst r1, #0x60 - beq _02001BCC - ldr r2, _02001BE4 ; =0x04808054 + beq _037F99E4 + ldr r2, _037F99FC ; =0x04808054 ldrh r1, [r2] ldrh r0, [r2, #-2] sub r0, r0, #0x4000 add r0, r0, r0, lsr #31 cmp r1, r0, asr #1 - bge _02001BB4 + bge _037F99CC ldrh r0, [r2, #-4] sub r0, r0, #0x4000 add r0, r0, r0, lsr #31 cmp r1, r0, asr #1 - bge _02001BC8 -_02001BB4: - ldr r2, _02001BE8 ; =0x0480805A - ldr r0, _02001BEC ; =0x00008001 + bge _037F99E0 +_037F99CC: + ldr r2, _037F9A00 ; =0x0480805A + ldr r0, _037F9A04 ; =0x00008001 ldrh r1, [r2] strh r1, [r2, #-4] strh r0, [r2, #-0x2a] -_02001BC8: - bl sub_00FF3158 -_02001BCC: +_037F99E0: + bl sub_027EAF70 +_037F99E4: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02001BD4: .word 0x0380FFF4 -_02001BD8: .word 0x04808010 -_02001BDC: .word 0x0480819C -_02001BE0: .word 0x04808032 -_02001BE4: .word 0x04808054 -_02001BE8: .word 0x0480805A -_02001BEC: .word 0x00008001 - arm_func_end sub_02001A74 +_037F99EC: .word 0x0380FFF4 +_037F99F0: .word 0x04808010 +_037F99F4: .word 0x0480819C +_037F99F8: .word 0x04808032 +_037F99FC: .word 0x04808054 +_037F9A00: .word 0x0480805A +_037F9A04: .word 0x00008001 + arm_func_end sub_037F988C - arm_func_start sub_02001BF0 -sub_02001BF0: ; 0x02001BF0 + arm_func_start sub_037F9A08 +sub_037F9A08: ; 0x037F9A08 stmdb sp!, {r3, r4, r5, lr} - ldr r3, _02001E38 ; =0x0380FFF4 - ldr r0, _02001E3C ; =0x04808010 + ldr r3, _037F9C50 ; =0x0380FFF4 + ldr r0, _037F9C54 ; =0x04808010 ldr r2, [r3] mov r1, #2 strh r1, [r0] @@ -1944,35 +1944,35 @@ sub_02001BF0: ; 0x02001BF0 ldrh r3, [r3, #0x4c] add r4, r2, #0x400 cmp r3, #0x12 - bne _02001C2C - bl sub_00FF76A8 - b _02001E30 -_02001C2C: + bne _037F9A44 + bl sub_027EF4C0 + b _037F9C48 +_037F9A44: ldrh r2, [r0, #0xa8] and r5, r2, #0xf00 cmp r5, #0x300 - beq _02001C50 + beq _037F9A68 cmp r5, #0x800 - beq _02001C84 + beq _037F9A9C cmp r5, #0xb00 - beq _02001CC0 - b _02001DBC -_02001C50: + beq _037F9AD8 + b _037F9BD4 +_037F9A68: ldr r0, [r4, #0x8c] tst r0, #2 - beq _02001C60 - bl sub_02002780 -_02001C60: - ldr r1, _02001E38 ; =0x0380FFF4 + beq _037F9A78 + bl sub_037FA598 +_037F9A78: + ldr r1, _037F9C50 ; =0x0380FFF4 mov r0, #0 ldr r3, [r1] mov r1, #8 ldr r2, [r3, #0x558] add r2, r2, #1 str r2, [r3, #0x558] - bl sub_02000780 - b _02001DBC -_02001C84: + bl sub_037F8598 + b _037F9BD4 +_037F9A9C: ldr r2, [r4, #0x44] ldrh r3, [r4, #0x9e] ldrh r2, [r2, #4] @@ -1987,11 +1987,11 @@ _02001C84: ldrh r0, [r1, #0x18] add r0, r0, #1 strh r0, [r1, #0x18] - b _02001DBC -_02001CC0: - ldr r3, _02001E40 ; =0x0000FFFF - ldr r2, _02001E44 ; =0x04805F70 - ldr r1, _02001E48 ; =0x0480824E + b _037F9BD4 +_037F9AD8: + ldr r3, _037F9C58 ; =0x0000FFFF + ldr r2, _037F9C5C ; =0x04805F70 + ldr r1, _037F9C60 ; =0x0480824E strh r3, [r2] strh r3, [r2, #2] add r0, r0, #0x23c @@ -1999,11 +1999,11 @@ _02001CC0: strh r3, [r1] ldrh r0, [r4, #0x3c] cmp r0, #0 - beq _02001D18 + beq _037F9B30 ldr r1, [r4, #0x44] ldrh r0, [r1, #0x22] cmp r0, r3 - bne _02001D18 + bne _037F9B30 ldrh r0, [r1, #4] cmp r0, #0 movne r0, #0 @@ -2011,36 +2011,36 @@ _02001CC0: ldrneh r1, [r4, #0x98] ldrne r0, [r4, #0x44] strneh r1, [r0, #2] -_02001D18: +_037F9B30: ldr r0, [r4, #0x44] ldr r2, [r4, #0x90] ldrh r1, [r0, #2] ldrh r0, [r4, #0x98] cmp r1, #1 add r2, r2, #0x1a - bls _02001D68 - ldr r3, _02001E38 ; =0x0380FFF4 + bls _037F9B80 + ldr r3, _037F9C50 ; =0x0380FFF4 ldr r3, [r3] add r3, r3, #0x300 ldrh r3, [r3, #0x3a] mov r3, r3, lsl #0x1b movs r3, r3, lsr #0x1f - beq _02001D68 - ldr ip, _02001E4C ; =0x0480819C + beq _037F9B80 + ldr ip, _037F9C64 ; =0x0480819C ldrh r3, [ip] tst r3, #1 ldreqh r3, [ip, #0xf4] eoreq r3, r3, #1 streqh r3, [ip, #0xf4] -_02001D68: - ldr r3, _02001E38 ; =0x0380FFF4 +_037F9B80: + ldr r3, _037F9C50 ; =0x0380FFF4 ldr r3, [r3] add r3, r3, #0x600 ldrh r3, [r3, #0x90] tst r3, #0x40 - beq _02001DBC - b _02001DB4 -_02001D84: + beq _037F9BD4 + b _037F9BCC +_037F9B9C: mov r1, r1, lsl #0xf mov r1, r1, lsr #0x10 tst r1, #1 @@ -2053,19 +2053,19 @@ _02001D84: ldrne r3, [r4, #0x90] ldrneh r3, [r3, #0x16] addne r2, r2, r3 -_02001DB4: +_037F9BCC: cmp r1, #1 - bhi _02001D84 -_02001DBC: + bhi _037F9B9C +_037F9BD4: cmp r5, #0x800 - beq _02001E24 - ldr r2, _02001E50 ; =0x048080B0 + beq _037F9C3C + ldr r2, _037F9C68 ; =0x048080B0 ldrh r0, [r2] tst r0, #2 - bne _02001E24 + bne _037F9C3C ldrh r0, [r4, #0x3c] cmp r0, #0 - beq _02001E18 + beq _037F9C30 mov r0, #2 strh r0, [r2, #4] mov r1, #0 @@ -2075,40 +2075,40 @@ _02001DBC: ldrneh r0, [r4, #0xac] addne r0, r0, #1 strneh r0, [r4, #0xac] - bne _02001E0C - bl sub_02002314 -_02001E0C: + bne _037F9C24 + bl sub_037FA12C +_037F9C24: ldrh r0, [r4, #0xaa] add r0, r0, #1 strh r0, [r4, #0xaa] -_02001E18: - ldr r0, _02001E54 ; =0x048080AE +_037F9C30: + ldr r0, _037F9C6C ; =0x048080AE mov r1, #2 strh r1, [r0] -_02001E24: +_037F9C3C: mov r0, #0 mov r1, #0xe - bl sub_02000780 -_02001E30: + bl sub_037F8598 +_037F9C48: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02001E38: .word 0x0380FFF4 -_02001E3C: .word 0x04808010 -_02001E40: .word 0x0000FFFF -_02001E44: .word 0x04805F70 -_02001E48: .word 0x0480824E -_02001E4C: .word 0x0480819C -_02001E50: .word 0x048080B0 -_02001E54: .word 0x048080AE - arm_func_end sub_02001BF0 +_037F9C50: .word 0x0380FFF4 +_037F9C54: .word 0x04808010 +_037F9C58: .word 0x0000FFFF +_037F9C5C: .word 0x04805F70 +_037F9C60: .word 0x0480824E +_037F9C64: .word 0x0480819C +_037F9C68: .word 0x048080B0 +_037F9C6C: .word 0x048080AE + arm_func_end sub_037F9A08 - arm_func_start sub_02001E58 -sub_02001E58: ; 0x02001E58 + arm_func_start sub_037F9C70 +sub_037F9C70: ; 0x037F9C70 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x38 - ldr r0, _020022E8 ; =0x0380FFF4 - ldr r2, _020022EC ; =0x04808010 + ldr r0, _037FA100 ; =0x0380FFF4 + ldr r2, _037FA104 ; =0x04808010 ldr r3, [r0] mov r1, #1 add r0, r3, #0x600 @@ -2122,39 +2122,39 @@ sub_02001E58: ; 0x02001E58 ldreqh r0, [r2, #0x44] and r4, r4, #1 streqh r0, [r2, #0x4a] - ldr r0, _020022F0 ; =0x04808098 + ldr r0, _037FA108 ; =0x04808098 sub fp, r0, #0x70 add r0, r0, #0x1b4 str r0, [sp, #0x24] - ldr r0, _020022F4 ; =0x0480824E + ldr r0, _037FA10C ; =0x0480824E sub r0, r0, #0x154 str r0, [sp, #0x14] - ldr r0, _020022F0 ; =0x04808098 + ldr r0, _037FA108 ; =0x04808098 sub r0, r0, #0x44 str r0, [sp, #0x10] - ldr r0, _020022F8 ; =0x000008EF + ldr r0, _037FA110 ; =0x000008EF sub r0, r0, #0x29 str r0, [sp, #0x28] - ldr r0, _020022F8 ; =0x000008EF + ldr r0, _037FA110 ; =0x000008EF add r0, r0, #0x3d str r0, [sp, #0x2c] - ldr r0, _020022FC ; =0x04805F7E + ldr r0, _037FA114 ; =0x04805F7E sub r0, r0, #0x24 str r0, [sp, #0x30] - ldr r0, _020022F8 ; =0x000008EF + ldr r0, _037FA110 ; =0x000008EF add r0, r0, #0x710 str r0, [sp, #0x34] -_02001EF4: +_037F9D0C: ldr r0, [sp, #0x10] ldrh sb, [r7, #4] ldrh sl, [r0] cmp sb, sl - beq _02002268 - ldr r0, _020022F0 ; =0x04808098 + beq _037FA080 + ldr r0, _037FA108 ; =0x04808098 ldr r1, [sp, #0x14] ldrh r0, [r0, #0x60] ldrh r3, [r1] - ldr r1, _020022F0 ; =0x04808098 + ldr r1, _037FA108 ; =0x04808098 ldrh r2, [r1, #0x60] ldr r1, [sp, #0x14] cmp r0, r2 @@ -2167,27 +2167,27 @@ _02001EF4: strls r0, [sp, #4] ldr r0, [sp, #0x28] cmp sb, r0 - blo _02001F60 - ldr r0, _020022F8 ; =0x000008EF + blo _037F9D78 + ldr r0, _037FA110 ; =0x000008EF cmp sb, r0 - bhi _02001F60 - bl sub_00FF2394 -_02001F60: + bhi _037F9D78 + bl sub_027EA1AC +_037F9D78: mov r0, sb, lsl #1 str r0, [sp, #0x18] add r0, r0, #0x4000 add r8, r0, #0x4800000 add r0, r8, #2 - bl sub_020028B0 + bl sub_037FA6C8 mov r5, r0 add r0, r5, #2 - bl sub_020028B0 + bl sub_037FA6C8 str r0, [sp, #0x1c] add r0, r0, #4 - bl sub_020028B0 + bl sub_037FA6C8 str r0, [sp, #0x20] add r0, r8, #0xe - bl sub_020028B0 + bl sub_037FA6C8 str r0, [sp, #0xc] ldr r0, [sp, #0x18] ldrh r1, [r5] @@ -2212,18 +2212,18 @@ _02001F60: subhs sb, sb, r0, lsr #1 ldr r0, [sp, #0x2c] cmp r1, r0 - bls _0200201C - ldr r0, _02002300 ; =0x0000FFFF + bls _037F9E34 + ldr r0, _037FA118 ; =0x0000FFFF mov sb, sl strh r0, [r8] ldrh r0, [r6, #0xb4] add r0, r0, #1 strh r0, [r6, #0xb4] - b _020020A4 -_0200201C: + b _037F9EBC +_037F9E34: cmp r4, #0 cmpne sb, sl - beq _020020A4 + beq _037F9EBC ldr r3, [sp, #0x30] mov r2, sb, lsl #1 add r0, r2, #0x4000 @@ -2238,16 +2238,16 @@ _0200201C: ldrh r2, [r2] ldrhsh r0, [r0, #6] tst r2, #0x7c00 - bne _0200207C + bne _037F9E94 cmp r0, #0xa cmpne r0, #0x14 - bne _0200207C + bne _037F9E94 ldr r0, [sp, #0x34] cmp r1, r0 - bls _020020A4 -_0200207C: + bls _037F9EBC +_037F9E94: ldrh r0, [r6, #0xb4] - ldr r1, _02002300 ; =0x0000FFFF + ldr r1, _037FA118 ; =0x0000FFFF add r0, r0, #1 strh r0, [r6, #0xb4] mov r0, sl, lsl #0x10 @@ -2255,35 +2255,35 @@ _0200207C: mov r0, r0, lsr #0x10 strh r0, [r7, #4] strh r0, [r5] - b _02002268 -_020020A4: + b _037FA080 +_037F9EBC: ldrh r0, [r8] and r0, r0, #0xf cmp r0, #0xc - bne _02002204 + bne _037FA01C add r0, r8, #0xc - bl sub_020028B0 + bl sub_037FA6C8 ldrh r0, [r0] str r0, [sp, #8] add r0, r8, #0x22 - bl sub_020028B0 + bl sub_037FA6C8 ldrh sl, [r0] ldrh r0, [r7] cmp r0, sl - bne _02002108 + bne _037F9F20 ldr r0, [sp, #8] tst r0, #0x800 - beq _02002108 - ldr r0, _020022E8 ; =0x0380FFF4 + beq _037F9F20 + ldr r0, _037FA100 ; =0x0380FFF4 ldr r1, [r0] ldr r0, [r1, #0x57c] add r0, r0, #1 str r0, [r1, #0x57c] - ldr r0, _02002300 ; =0x0000FFFF + ldr r0, _037FA118 ; =0x0000FFFF strh r0, [r8] - b _020021DC -_02002108: - ldr r0, _020022E8 ; =0x0380FFF4 + b _037F9FF4 +_037F9F20: + ldr r0, _037FA100 ; =0x0380FFF4 ldr r0, [r0] add r1, r0, #0x300 ldrh r2, [r1, #0x3a] @@ -2291,67 +2291,67 @@ _02002108: movs r2, r2, lsr #0x1f ldreqh r1, [r1, #0x4c] cmpeq r1, #0x40 - bne _020021DC + bne _037F9FF4 ldrh r1, [fp] cmp r1, #0 - beq _020021B4 - ldr r1, _020022F0 ; =0x04808098 + beq _037F9FCC + ldr r1, _037FA108 ; =0x04808098 ldrh r1, [r1] tst r1, #0x8000 - beq _020021B4 + beq _037F9FCC add r0, r0, #0x660 - bl sub_020057A8 + bl sub_037FD5C0 ldr r0, [sp, #0xc] mov r3, #0 ldrh r1, [r0] - ldr r0, _02002304 ; =0x000082EA + ldr r0, _037FA11C ; =0x000082EA mov r2, #0x3e8 umull ip, r8, r1, r0 mov r0, r3 mla r8, r1, r0, r8 mov r0, ip, lsr #6 - ldr r1, _02002304 ; =0x000082EA + ldr r1, _037FA11C ; =0x000082EA mov ip, r3 mla r8, ip, r1, r8 mov r1, r8, lsr #6 orr r0, r0, r8, lsl #26 - bl sub_0200ED68 + bl sub_03806B80 mov r2, #0 str r2, [sp] mov r2, r1 mov r1, r0 - ldr r0, _020022E8 ; =0x0380FFF4 - ldr r3, _02002308 ; =0x027EA0BC + ldr r0, _037FA100 ; =0x0380FFF4 + ldr r3, _037FA120 ; =0x027EA0BC ldr r0, [r0] add r0, r0, #0x660 - bl sub_020056C4 - b _020021DC -_020021B4: - ldr r1, _02002300 ; =0x0000FFFF - ldr r0, _020022FC ; =0x04805F7E + bl sub_037FD4DC + b _037F9FF4 +_037F9FCC: + ldr r1, _037FA118 ; =0x0000FFFF + ldr r0, _037FA114 ; =0x04805F7E mov sl, r1 strh r1, [r0] ldr r0, [sp, #0x24] strh r1, [r0] - ldr r0, _020022F4 ; =0x0480824E + ldr r0, _037FA10C ; =0x0480824E strh r1, [r0] mov r0, r1 strh r0, [r8] -_020021DC: +_037F9FF4: strh sl, [r7] - bl sub_020028D8 + bl sub_037FA6F0 tst r0, #1 - beq _02002254 - ldr r0, _020022E8 ; =0x0380FFF4 + beq _037FA06C + ldr r0, _037FA100 ; =0x0380FFF4 ldr r1, [r0] ldr r0, [r1, #0x5a8] add r0, r0, #1 str r0, [r1, #0x5a8] - b _02002254 -_02002204: + b _037FA06C +_037FA01C: cmp r0, #0xd - bne _02002254 - ldr r0, _020022E8 ; =0x0380FFF4 + bne _037FA06C + ldr r0, _037FA100 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x300 ldrh r1, [r0, #0x3a] @@ -2359,78 +2359,78 @@ _02002204: movs r1, r1, lsr #0x1f ldreqh r0, [r0, #0x4c] cmpeq r0, #0x40 - bne _02002254 + bne _037FA06C ldrh r0, [fp] cmp r0, #0 - beq _0200224C - ldr r0, _020022F0 ; =0x04808098 + beq _037FA064 + ldr r0, _037FA108 ; =0x04808098 ldrh r0, [r0] tst r0, #0x8000 - bne _02002254 -_0200224C: - ldr r0, _02002300 ; =0x0000FFFF + bne _037FA06C +_037FA064: + ldr r0, _037FA118 ; =0x0000FFFF strh r0, [r8] -_02002254: +_037FA06C: mov r0, sb, lsl #0x10 mov r0, r0, lsr #0x10 strh r0, [r7, #4] strh r0, [r5] - b _02001EF4 -_02002268: + b _037F9D0C +_037FA080: cmp r4, #0 - beq _020022BC - ldr r0, _0200230C ; =0x04808054 + beq _037FA0D4 + ldr r0, _037FA124 ; =0x04808054 ldrh r4, [r0] - bl sub_020028D8 + bl sub_037FA6F0 mov r0, r0, lsl #0x10 movs r1, r0, lsr #0x10 - beq _020022BC - ldr r0, _0200230C ; =0x04808054 + beq _037FA0D4 + ldr r0, _037FA124 ; =0x04808054 ldrh r0, [r0] cmp r4, r0 - bne _020022BC + bne _037FA0D4 tst r1, #2 - beq _020022AC + beq _037FA0C4 mov r0, #0x80 - bl sub_00FF3254 - b _020022BC -_020022AC: + bl sub_027EB06C + b _037FA0D4 +_037FA0C4: tst r1, #1 - beq _020022BC + beq _037FA0D4 mov r0, #0x100 - bl sub_00FF3254 -_020022BC: - ldr r0, _02002310 ; =0x0480805A + bl sub_027EB06C +_037FA0D4: + ldr r0, _037FA128 ; =0x0480805A ldrh r1, [r0] ldrh r0, [r0, #-6] cmp r1, r0 - beq _020022DC + beq _037FA0F4 mov r0, #0 mov r1, #0xf - bl sub_02000780 -_020022DC: + bl sub_037F8598 +_037FA0F4: add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_020022E8: .word 0x0380FFF4 -_020022EC: .word 0x04808010 -_020022F0: .word 0x04808098 -_020022F4: .word 0x0480824E -_020022F8: .word 0x000008EF -_020022FC: .word 0x04805F7E -_02002300: .word 0x0000FFFF -_02002304: .word 0x000082EA -_02002308: .word 0x027EA0BC -_0200230C: .word 0x04808054 -_02002310: .word 0x0480805A - arm_func_end sub_02001E58 +_037FA100: .word 0x0380FFF4 +_037FA104: .word 0x04808010 +_037FA108: .word 0x04808098 +_037FA10C: .word 0x0480824E +_037FA110: .word 0x000008EF +_037FA114: .word 0x04805F7E +_037FA118: .word 0x0000FFFF +_037FA11C: .word 0x000082EA +_037FA120: .word 0x027EA0BC +_037FA124: .word 0x04808054 +_037FA128: .word 0x0480805A + arm_func_end sub_037F9C70 - arm_func_start sub_02002314 -sub_02002314: ; 0x02002314 + arm_func_start sub_037FA12C +sub_037FA12C: ; 0x037FA12C stmdb sp!, {r3, lr} - ldr ip, _020023F8 ; =0x0380FFF4 - ldr r2, _020023FC ; =0x04808010 + ldr ip, _037FA210 ; =0x0380FFF4 + ldr r2, _037FA214 ; =0x04808010 ldr r1, [ip] mov r3, #0x1000 add r1, r1, #0x2c @@ -2438,33 +2438,33 @@ sub_02002314: ; 0x02002314 add r3, r1, #0x400 ldrh r1, [r3, #0x3c] cmp r1, #0 - beq _020023F0 + beq _037FA208 ldr r1, [ip] add r1, r1, #0x600 ldrh r1, [r1, #0x90] tst r1, #0x10 cmpne r0, #0 - beq _020023E4 + beq _037FA1FC add r0, r2, #0x204 ldrh r1, [r2, #0xa6] ldrh r0, [r0] cmp r0, #3 cmpne r0, #5 - bne _020023E4 + bne _037FA1FC cmp r1, #0 - bne _020023E4 + bne _037FA1FC ldr r3, [r3, #0x44] mov r2, #0 ldrh r0, [r3, #2] - b _02002398 -_02002388: + b _037FA1B0 +_037FA1A0: and r1, r0, #1 mov r0, r0, lsl #0xf add r2, r2, r1 mov r0, r0, lsr #0x10 -_02002398: +_037FA1B0: cmp r0, #0 - bne _02002388 + bne _037FA1A0 ldrh r0, [r3, #0x24] ldrh r1, [r3, #0xa] add r0, r0, #0xa @@ -2472,34 +2472,34 @@ _02002398: add r0, r0, #0xc0 add r0, r0, r1, lsl #2 mov r0, r0, lsl #0x10 - ldr r1, _02002400 ; =0x037FA660 + ldr r1, _037FA218 ; =0x037FA660 mov r0, r0, lsr #0x10 - bl sub_00FF2D44 - ldr r0, _020023F8 ; =0x0380FFF4 + bl sub_027EAB5C + ldr r0, _037FA210 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x400 ldrh r1, [r0] add r1, r1, #1 strh r1, [r0] - b _020023F0 -_020023E4: + b _037FA208 +_037FA1FC: mov r0, #0 mov r1, #0x10 - bl sub_02000780 -_020023F0: + bl sub_037F8598 +_037FA208: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_020023F8: .word 0x0380FFF4 -_020023FC: .word 0x04808010 -_02002400: .word 0x037FA660 - arm_func_end sub_02002314 +_037FA210: .word 0x0380FFF4 +_037FA214: .word 0x04808010 +_037FA218: .word 0x037FA660 + arm_func_end sub_037FA12C - arm_func_start sub_02002404 -sub_02002404: ; 0x02002404 + arm_func_start sub_037FA21C +sub_037FA21C: ; 0x037FA21C stmdb sp!, {r3, lr} - ldr r3, _02002500 ; =0x0380FFF4 - ldr r0, _02002504 ; =0x04808010 + ldr r3, _037FA318 ; =0x0380FFF4 + ldr r0, _037FA31C ; =0x04808010 ldr r2, [r3] mov r1, #0x80 strh r1, [r0] @@ -2508,25 +2508,25 @@ sub_02002404: ; 0x02002404 add r1, r1, #0x600 ldrh r1, [r1, #0x90] tst r1, #0x20 - beq _02002498 + beq _037FA2B0 add r1, r0, #0x204 ldrh r3, [r1] add r1, r0, #0x258 and r3, r3, #0xff ldrh ip, [r1] cmp r3, #3 - blo _02002498 + blo _037FA2B0 cmp r3, #5 - bhi _02002498 + bhi _037FA2B0 ldr r3, [r2, #0x458] - ldr r1, _02002508 ; =0x00000FFF + ldr r1, _037FA320 ; =0x00000FFF and r3, r1, r3, lsr #1 cmp ip, r3 - blo _02002498 + blo _037FA2B0 ldr r2, [r2, #0x430] and r1, r1, r2, lsr #1 cmp ip, r1 - bhi _02002498 + bhi _037FA2B0 add r1, r0, #0x234 ldrh r0, [r1] orr r0, r0, #0x80 @@ -2534,48 +2534,48 @@ sub_02002404: ; 0x02002404 ldrh r0, [r1] bic r0, r0, #0x80 strh r0, [r1] -_02002498: - ldr r1, _0200250C ; =0x04808000 +_037FA2B0: + ldr r1, _037FA324 ; =0x04808000 ldrh r0, [r1] cmp r0, #0x1440 - beq _020024F8 + beq _037FA310 add r0, r1, #0x19c ldrh r0, [r0] and r0, r0, #0x42 cmp r0, #0x42 - bne _020024F8 + bne _037FA310 add r1, r1, #0x2b8 ldrh r2, [r1] cmp r2, #0 - beq _020024F8 + beq _037FA310 mov r3, #0 - b _020024EC -_020024D4: + b _037FA304 +_037FA2EC: cmp r3, #0x3e8 add r3, r3, #1 - bls _020024EC + bls _037FA304 mov r0, #0x40 - bl sub_00FF3254 - b _020024F8 -_020024EC: + bl sub_027EB06C + b _037FA310 +_037FA304: ldrh r0, [r1] cmp r2, r0 - beq _020024D4 -_020024F8: + beq _037FA2EC +_037FA310: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02002500: .word 0x0380FFF4 -_02002504: .word 0x04808010 -_02002508: .word 0x00000FFF -_0200250C: .word 0x04808000 - arm_func_end sub_02002404 +_037FA318: .word 0x0380FFF4 +_037FA31C: .word 0x04808010 +_037FA320: .word 0x00000FFF +_037FA324: .word 0x04808000 + arm_func_end sub_037FA21C - arm_func_start sub_02002510 -sub_02002510: ; 0x02002510 + arm_func_start sub_037FA328 +sub_037FA328: ; 0x037FA328 stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r2, _02002764 ; =0x0380FFF4 - ldr r0, _02002768 ; =0x04808010 + ldr r2, _037FA57C ; =0x0380FFF4 + ldr r0, _037FA580 ; =0x04808010 ldr r3, [r2] mov r1, #0x40 strh r1, [r0] @@ -2586,42 +2586,42 @@ sub_02002510: ; 0x02002510 add r4, r3, #0x344 tst r2, #0x20 add r5, r1, #0x400 - beq _0200275C + beq _037FA574 ldrh r2, [r5, #0xa4] - ldr r1, _0200276C ; =0x0000FFFF + ldr r1, _037FA584 ; =0x0000FFFF cmp r2, r1 addeq r2, r0, #0x18c ldreqh r2, [r2] andeq r2, r2, #3 cmpeq r2, #3 - bne _0200275C + bne _037FA574 add r2, r0, #0x258 ldrh r3, [r2] ldrh r2, [r0, #0x40] sub r1, r1, #0xf000 and r1, r1, r2, lsr #1 cmp r3, r1 - blt _0200275C + blt _037FA574 ldrh r7, [r0, #0x44] mov r0, r7, lsl #1 add r0, r0, #0x4000 add r0, r0, #0x4800000 add r0, r0, #8 - bl sub_020028B0 + bl sub_037FA6C8 add r0, r0, #4 - bl sub_020028B0 + bl sub_037FA6C8 ldrh r2, [r0] - ldr r1, _02002770 ; =0x0000E7FF + ldr r1, _037FA588 ; =0x0000E7FF and r1, r2, r1 cmp r1, #0x228 - bne _0200275C + bne _037FA574 add r0, r0, #2 - bl sub_020028B0 - ldr r2, _02002774 ; =0x048080F8 + bl sub_037FA6C8 + ldr r2, _037FA58C ; =0x048080F8 ldrh r1, [r2] sub r6, r1, #0x10000 add r1, r2, #0x170 -_020025D0: +_037FA3E8: ldrh r3, [r1] sub r3, r3, r7 mov r3, r3, lsl #0x10 @@ -2632,34 +2632,34 @@ _020025D0: movne r3, r3, lsl #0x10 movne r8, r3, lsr #0x10 cmp r8, #0xe - bhi _02002618 + bhi _037FA430 ldrh r3, [r2] sub r3, r3, r6 mov r3, r3, lsl #0x10 mov r3, r3, lsr #0x10 cmp r3, #0x40 - bhi _0200275C - b _020025D0 -_02002618: + bhi _037FA574 + b _037FA3E8 +_037FA430: add r0, r0, #8 mov r8, #0 - b _02002640 -_02002624: - bl sub_020028B0 + b _037FA458 +_037FA43C: + bl sub_037FA6C8 add r1, r4, r8, lsl #1 ldrh r2, [r0], #2 ldrh r1, [r1, #0x64] cmp r2, r1 - bne _0200275C + bne _037FA574 add r8, r8, #1 -_02002640: +_037FA458: cmp r8, #3 - blo _02002624 + blo _037FA43C add r0, r0, #0xa - bl sub_020028B0 - ldr r3, _02002774 ; =0x048080F8 + bl sub_037FA6C8 + ldr r3, _037FA58C ; =0x048080F8 add r1, r3, #0x170 -_02002658: +_037FA470: ldrh r2, [r1] sub r2, r2, r7 mov r2, r2, lsl #0x10 @@ -2670,21 +2670,21 @@ _02002658: movne r2, r2, lsl #0x10 movne r8, r2, lsr #0x10 cmp r8, #0x14 - bhi _020026A0 + bhi _037FA4B8 ldrh r2, [r3] sub r2, r2, r6 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 cmp r2, #0x70 - bhi _0200275C - b _02002658 -_020026A0: - ldr r2, _02002778 ; =0x04808028 + bhi _037FA574 + b _037FA470 +_037FA4B8: + ldr r2, _037FA590 ; =0x04808028 ldrh r3, [r0] ldrh r0, [r2] mov r1, #1 tst r3, r1, lsl r0 - bne _0200275C + bne _037FA574 ldrh r1, [r2, #0x70] mov r0, #0x40 strh r1, [r5, #0xa4] @@ -2693,31 +2693,31 @@ _020026A0: add r1, r2, #0x174 add r0, r0, #1 strh r0, [r4, #0xbe] -_020026D8: +_037FA4F0: ldrh r0, [r1] and r0, r0, #3 cmp r0, #3 - beq _020026D8 - ldr r0, _0200277C ; =0x04808244 + beq _037FA4F0 + ldr r0, _037FA594 ; =0x04808244 mov r2, #8 ldrh r1, [r0] sub r3, r0, #0x1c orr r1, r1, #0x40 strh r1, [r0] ldrh r4, [r0] - ldr r1, _02002764 ; =0x0380FFF4 + ldr r1, _037FA57C ; =0x0380FFF4 bic r4, r4, #0x40 strh r4, [r0] strh r2, [r3] mov r2, #0 strh r2, [r3] ldr r1, [r1] - ldr r2, _0200276C ; =0x0000FFFF + ldr r2, _037FA584 ; =0x0000FFFF add r1, r1, #0x2c add r6, r1, #0x400 ldrh r5, [r6, #0xa4] cmp r5, r2 - beq _0200275C + beq _037FA574 sub r4, r0, #0x1b0 ldrh r3, [r4] sub r1, r0, #0x214 @@ -2727,185 +2727,185 @@ _020026D8: strh r0, [r1] strh r3, [r4] strh r2, [r6, #0xa4] -_0200275C: +_037FA574: ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_02002764: .word 0x0380FFF4 -_02002768: .word 0x04808010 -_0200276C: .word 0x0000FFFF -_02002770: .word 0x0000E7FF -_02002774: .word 0x048080F8 -_02002778: .word 0x04808028 -_0200277C: .word 0x04808244 - arm_func_end sub_02002510 +_037FA57C: .word 0x0380FFF4 +_037FA580: .word 0x04808010 +_037FA584: .word 0x0000FFFF +_037FA588: .word 0x0000E7FF +_037FA58C: .word 0x048080F8 +_037FA590: .word 0x04808028 +_037FA594: .word 0x04808244 + arm_func_end sub_037FA328 - arm_func_start sub_02002780 -sub_02002780: ; 0x02002780 + arm_func_start sub_037FA598 +sub_037FA598: ; 0x037FA598 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _02002844 ; =0x0380FFF4 + ldr r1, _037FA65C ; =0x0380FFF4 mov r0, #2 ldr r1, [r1] mov r5, #0 add r1, r1, #0x2c add r4, r1, #0x400 - bl sub_00FF8EBC + bl sub_027F0CD4 mov r0, #1 - bl sub_00FF8EBC + bl sub_027F0CD4 mov r0, r5 - bl sub_00FF8EBC + bl sub_027F0CD4 ldrh r0, [r4, #0x28] cmp r0, #0 - beq _020027D4 + beq _037FA5EC ldr r0, [r4, #0x30] ldrh r0, [r0] cmp r0, #0 movne r5, #1 moveq r0, r5 streqh r0, [r4, #0x28] -_020027D4: +_037FA5EC: ldrh r0, [r4, #0x14] cmp r0, #0 - beq _020027F8 + beq _037FA610 ldr r0, [r4, #0x1c] ldrh r0, [r0] cmp r0, #0 moveq r0, #0 streqh r0, [r4, #0x14] movne r5, #1 -_020027F8: +_037FA610: ldrh r0, [r4] cmp r0, #0 - beq _0200281C + beq _037FA634 ldr r0, [r4, #8] ldrh r0, [r0] cmp r0, #0 moveq r0, #0 streqh r0, [r4] movne r5, #1 -_0200281C: +_037FA634: cmp r5, #0 - beq _02002830 + beq _037FA648 mov r0, #0 mov r1, #0xe - bl sub_02000780 -_02002830: + bl sub_037F8598 +_037FA648: mov r0, #0 mov r1, #0x14 - bl sub_02000780 + bl sub_037F8598 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02002844: .word 0x0380FFF4 - arm_func_end sub_02002780 +_037FA65C: .word 0x0380FFF4 + arm_func_end sub_037FA598 - arm_func_start sub_02002848 -sub_02002848: ; 0x02002848 + arm_func_start sub_037FA660 +sub_037FA660: ; 0x037FA660 stmdb sp!, {r4, lr} mov r0, #0x1000000 - bl sub_02003B10 - ldr r2, _020028A8 ; =0x04808210 + bl sub_037FB928 + ldr r2, _037FA6C0 ; =0x04808210 mov r1, #0x1000 ldrh r3, [r2] mov r4, r0 strh r1, [r2, #0x34] mov r1, #0x64 - b _02002880 -_02002870: + b _037FA698 +_037FA688: ldrh r0, [r2] cmp r3, r0 - bne _02002888 + bne _037FA6A0 sub r1, r1, #1 -_02002880: +_037FA698: cmp r1, #0 - bne _02002870 -_02002888: - ldr r1, _020028AC ; =0x04808244 + bne _037FA688 +_037FA6A0: + ldr r1, _037FA6C4 ; =0x04808244 mov r0, #0 strh r0, [r1] - bl sub_02002314 + bl sub_037FA12C mov r0, r4 - bl sub_02003AD8 + bl sub_037FB8F0 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_020028A8: .word 0x04808210 -_020028AC: .word 0x04808244 - arm_func_end sub_02002848 +_037FA6C0: .word 0x04808210 +_037FA6C4: .word 0x04808244 + arm_func_end sub_037FA660 - arm_func_start sub_020028B0 -sub_020028B0: ; 0x020028B0 - ldr r1, _020028D0 ; =0x04805F60 + arm_func_start sub_037FA6C8 +sub_037FA6C8: ; 0x037FA6C8 + ldr r1, _037FA6E8 ; =0x04805F60 cmp r0, r1 - ldrhs r1, _020028D4 ; =0x0380FFF4 + ldrhs r1, _037FA6EC ; =0x0380FFF4 ldrhs r1, [r1] addhs r1, r1, #0x300 ldrhsh r1, [r1, #0xde] subhs r0, r0, r1 bx lr .align 2, 0 -_020028D0: .word 0x04805F60 -_020028D4: .word 0x0380FFF4 - arm_func_end sub_020028B0 +_037FA6E8: .word 0x04805F60 +_037FA6EC: .word 0x0380FFF4 + arm_func_end sub_037FA6C8 - arm_func_start sub_020028D8 -sub_020028D8: ; 0x020028D8 + arm_func_start sub_037FA6F0 +sub_037FA6F0: ; 0x037FA6F0 stmdb sp!, {r3, r4, r5, lr} - ldr r0, _0200290C ; =0x0380FFF4 + ldr r0, _037FA724 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x2c add r5, r0, #0x400 add r0, r5, #0x50 - bl sub_00FF3A2C + bl sub_027EB844 mov r4, r0 add r0, r5, #0x64 - bl sub_00FF3A2C + bl sub_027EB844 orr r0, r4, r0 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0200290C: .word 0x0380FFF4 - arm_func_end sub_020028D8 +_037FA724: .word 0x0380FFF4 + arm_func_end sub_037FA6F0 - arm_func_start sub_02002910 -sub_02002910: ; 0x02002910 + arm_func_start sub_037FA728 +sub_037FA728: ; 0x037FA728 stmdb sp!, {r3, lr} - ldr r0, _02002958 ; =0x0380FFF4 + ldr r0, _037FA770 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x300 ldrh r0, [r0, #0xe8] cmp r0, #0 - beq _02002930 - bl sub_00FF9760 -_02002930: - ldr r0, _02002958 ; =0x0380FFF4 + beq _037FA748 + bl sub_027F1578 +_037FA748: + ldr r0, _037FA770 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x300 ldrh r0, [r0, #0x3a] mov r0, r0, lsl #0x19 movs r0, r0, lsr #0x1f - beq _02002950 - bl sub_00FF611C -_02002950: + beq _037FA768 + bl sub_027EDF34 +_037FA768: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02002958: .word 0x0380FFF4 - arm_func_end sub_02002910 +_037FA770: .word 0x0380FFF4 + arm_func_end sub_037FA728 - arm_func_start sub_0200295C -sub_0200295C: ; 0x0200295C + arm_func_start sub_037FA774 +sub_037FA774: ; 0x037FA774 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} - ldr r7, _02002B28 ; =0x0380FFF4 + ldr r7, _037FA940 ; =0x0380FFF4 mov sl, #2 ldr r1, [r7] mov fp, #0 add r0, r1, #0x2c add r8, r0, #0x400 - ldr r0, _02002B2C ; =0x04808032 + ldr r0, _037FA944 ; =0x04808032 add r6, r1, #0x344 add r4, r0, #0x6e -_02002984: +_037FA79C: mov r0, #0x14 mov r5, sl, lsl #2 mla sb, sl, r0, r8 @@ -2913,13 +2913,13 @@ _02002984: add r0, r0, #0x8000 ldrh r0, [r0, #0xa0] tst r0, #0x8000 - bne _02002B18 + bne _037FA930 ldrh r0, [sb] cmp r0, #0 - beq _02002B18 + beq _037FA930 ldr r1, [sb, #0xc] cmp r1, #0 - beq _02002AF8 + beq _037FA910 ldr r0, [sb, #8] ldrh r0, [r0] strh r0, [r1, #8] @@ -2930,12 +2930,12 @@ _02002984: ldr r0, [sb, #8] ldrh r1, [r0, #0xc] tst r1, #0x4000 - beq _02002AC4 + beq _037FA8DC ldr r1, [r7] add r1, r1, #0x600 ldrh r1, [r1, #0x90] tst r1, #8 - beq _02002AA8 + beq _037FA8C0 ldrh r1, [r0, #0xa] add r2, r0, #0xc add r1, r2, r1 @@ -2945,8 +2945,8 @@ _02002984: cmp r1, #0 ldreqh r1, [r2, #2] cmpeq r1, #0 - bne _02002AA8 - ldr r0, _02002B2C ; =0x04808032 + bne _037FA8C0 + ldr r0, _037FA944 ; =0x04808032 mov r1, #0x8000 strh fp, [r0] strh r1, [r0] @@ -2954,9 +2954,9 @@ _02002984: add r0, r0, #1 strh r0, [r6, #0xba] ldr r0, [sb, #0xc] - bl sub_00FF8464 + bl sub_027F027C cmp r0, #0 - beq _02002A8C + beq _037FA8A4 ldr r2, [sb, #0xc] mov r0, #2 strh r0, [r2, #8] @@ -2971,30 +2971,30 @@ _02002984: ldr r2, [sb, #0x10] mov lr, pc bx r2 -_02002A88: - b _02002B18 -_02002A8C: +_037FA8A0: + b _037FA930 +_037FA8A4: ldr r1, [sb, #0xc] mov r0, #0 strh r0, [r1, #0xc] ldrh r0, [r5, r4] orr r0, r0, #0x8000 strh r0, [r5, r4] - b _02002B18 -_02002AA8: + b _037FA930 +_037FA8C0: ldrh r0, [r0, #4] ldr r2, [sb, #0xc] and r0, r0, #0xff ldrh r1, [r2, #0xc] add r0, r1, r0 strh r0, [r2, #0xc] - b _02002AD4 -_02002AC4: + b _037FA8EC +_037FA8DC: ldrh r1, [r0, #4] ldr r0, [sb, #0xc] and r1, r1, #0xff strh r1, [r0, #0xc] -_02002AD4: +_037FA8EC: ldrh r0, [sb, #4] mov r1, #2 add r0, r0, #1 @@ -3003,9 +3003,9 @@ _02002AD4: ldr r2, [sb, #0x10] mov lr, pc bx r2 -_02002AF4: - b _02002B18 -_02002AF8: +_037FA90C: + b _037FA930 +_037FA910: ldrh r0, [sb, #4] mov r1, #3 add r0, r0, #1 @@ -3014,236 +3014,236 @@ _02002AF8: ldr r2, [sb, #0x10] mov lr, pc bx r2 -_02002B18: +_037FA930: subs sl, sl, #1 - bpl _02002984 + bpl _037FA79C ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_02002B28: .word 0x0380FFF4 -_02002B2C: .word 0x04808032 - arm_func_end sub_0200295C +_037FA940: .word 0x0380FFF4 +_037FA944: .word 0x04808032 + arm_func_end sub_037FA774 - arm_func_start sub_02002B30 -sub_02002B30: ; 0x02002B30 + arm_func_start sub_037FA948 +sub_037FA948: ; 0x037FA948 stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r0, _02002E80 ; =0x0380FFF4 + ldr r0, _037FAC98 ; =0x0380FFF4 ldr r4, [r0] add r0, r4, #0xdc add r5, r0, #0x400 -_02002B44: - ldr r1, _02002E84 ; =0x0480805A +_037FA95C: + ldr r1, _037FAC9C ; =0x0480805A ldrh r0, [r5, #4] ldrh r6, [r1] cmp r6, r0 - beq _02002E78 - ldr r0, _02002E88 ; =0x000008C6 + beq _037FAC90 + ldr r0, _037FACA0 ; =0x000008C6 cmp r6, r0 - blo _02002B68 - bl sub_00FF2394 -_02002B68: + blo _037FA980 + bl sub_027EA1AC +_037FA980: mov r6, r6, lsl #1 add r0, r6, #0x4000 add r7, r0, #0x4800000 add r0, r7, #2 - bl sub_020028B0 + bl sub_037FA6C8 add r1, r6, #0x4800000 add r1, r1, #0x4000 ldrh r2, [r1] - ldr r1, _02002E8C ; =0x0000FFFF + ldr r1, _037FACA4 ; =0x0000FFFF ldrh r6, [r0] cmp r2, r1 - ldreq r0, _02002E84 ; =0x0480805A + ldreq r0, _037FAC9C ; =0x0480805A streqh r6, [r0] - beq _02002B44 + beq _037FA95C add r0, r7, #8 - bl sub_020028B0 + bl sub_037FA6C8 ldrh r1, [r0] mov r0, r7 - bl sub_02003038 - ldr r1, _02002E84 ; =0x0480805A + bl sub_037FAE50 + ldr r1, _037FAC9C ; =0x0480805A movs r8, r0 strh r6, [r1] - bne _02002BEC + bne _037FAA04 ldrh r0, [r7] and r0, r0, #0xf cmp r0, #0xc - bne _02002BE0 + bne _037FA9F8 mov r0, #0x10 - bl sub_00FF3254 - b _02002B44 -_02002BE0: + bl sub_027EB06C + b _037FA95C +_037FA9F8: mov r0, #8 - bl sub_00FF3254 - b _02002B44 -_02002BEC: - ldr r0, _02002E80 ; =0x0380FFF4 + bl sub_027EB06C + b _037FA95C +_037FAA04: + ldr r0, _037FAC98 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x600 ldrh r0, [r0, #0x90] tst r0, #8 - beq _02002C14 + beq _037FAA2C ldrh r0, [r8, #0x14] tst r0, #0x4000 movne r0, #0 strneh r0, [r5, #2] -_02002C14: +_037FAA2C: ldrh r0, [r8, #8] mov r6, #1 tst r0, #0x200 - beq _02002C6C + beq _037FAA84 ldrh r0, [r8, #0x14] mov r0, r0, lsl #0x15 mov r0, r0, lsr #0x1f cmp r0, #1 - beq _02002C48 + beq _037FAA60 ldrh r0, [r8, #0x2a] mov r0, r0, lsl #0x1c movs r0, r0, lsr #0x1c - beq _02002E18 -_02002C48: + beq _037FAC30 +_037FAA60: add r0, r4, #0x188 add r1, r4, #0x1e8 sub r2, r8, #0x10 mov r6, #0 - bl sub_02000B70 + bl sub_037F8988 mov r0, #2 mov r1, #9 - bl sub_02000780 - b _02002E18 -_02002C6C: + bl sub_037F8598 + b _037FAC30 +_037FAA84: and r0, r0, #0xf cmp r0, #0xf addls pc, pc, r0, lsl #2 - b _02002E18 -_02002C7C: ; jump table - b _02002D08 ; case 0 - b _02002CF0 ; case 1 - b _02002E18 ; case 2 - b _02002E18 ; case 3 - b _02002E18 ; case 4 - b _02002D38 ; case 5 - b _02002E18 ; case 6 - b _02002E18 ; case 7 - b _02002CBC ; case 8 - b _02002E18 ; case 9 - b _02002E18 ; case 10 - b _02002E18 ; case 11 - b _02002D90 ; case 12 - b _02002DE4 ; case 13 - b _02002D70 ; case 14 - b _02002D70 ; case 15 -_02002CBC: + b _037FAC30 +_037FAA94: ; jump table + b _037FAB20 ; case 0 + b _037FAB08 ; case 1 + b _037FAC30 ; case 2 + b _037FAC30 ; case 3 + b _037FAC30 ; case 4 + b _037FAB50 ; case 5 + b _037FAC30 ; case 6 + b _037FAC30 ; case 7 + b _037FAAD4 ; case 8 + b _037FAC30 ; case 9 + b _037FAC30 ; case 10 + b _037FAC30 ; case 11 + b _037FABA8 ; case 12 + b _037FABFC ; case 13 + b _037FAB88 ; case 14 + b _037FAB88 ; case 15 +_037FAAD4: ldrh r0, [r8, #0x14] and r0, r0, #0xf cmp r0, #8 - bne _02002E18 + bne _037FAC30 add r0, r4, #0x188 add r1, r4, #0x1c4 sub r2, r8, #0x10 mov r6, #0 - bl sub_02000B70 + bl sub_037F8988 mov r0, #2 mov r1, #6 - bl sub_02000780 - b _02002E18 -_02002CF0: + bl sub_037F8598 + b _037FAC30 +_037FAB08: ldrh r0, [r8, #0x14] cmp r0, #0x80 - bne _02002E18 + bne _037FAC30 mov r0, r8 - bl sub_00FFAA28 - b _02002E18 -_02002D08: + bl sub_027F2840 + b _037FAC30 +_037FAB20: ldrh r0, [r8, #0x14] tst r0, #0xf - bne _02002E18 + bne _037FAC30 add r0, r4, #0x188 add r1, r4, #0x1dc sub r2, r8, #0x10 mov r6, #0 - bl sub_02000B70 + bl sub_037F8988 mov r0, #1 mov r1, #7 - bl sub_02000780 - b _02002E18 -_02002D38: + bl sub_037F8598 + b _037FAC30 +_037FAB50: ldrh r1, [r8, #0x14] rsb r0, r6, #0xe800 and r0, r1, r0 cmp r0, #0xa4 - bne _02002E18 + bne _037FAC30 add r0, r4, #0x188 add r1, r4, #0x1dc sub r2, r8, #0x10 mov r6, #0 - bl sub_02000B70 + bl sub_037F8988 mov r0, #1 mov r1, #7 - bl sub_02000780 - b _02002E18 -_02002D70: + bl sub_037F8598 + b _037FAC30 +_037FAB88: ldrh r1, [r8, #0x14] - ldr r0, _02002E90 ; =0x0000E7BF + ldr r0, _037FACA8 ; =0x0000E7BF and r0, r1, r0 cmp r0, #0x118 - bne _02002E18 + bne _037FAC30 mov r0, r8 - bl sub_00FFA7A8 - b _02002E18 -_02002D90: + bl sub_027F25C0 + b _037FAC30 +_037FABA8: ldrh r1, [r8, #0x14] rsb r0, r6, #0xe800 and r0, r1, r0 cmp r0, #0x228 - bne _02002E18 - ldr r0, _02002E80 ; =0x0380FFF4 - ldr r1, _02002E80 ; =0x0380FFF4 + bne _037FAC30 + ldr r0, _037FAC98 ; =0x0380FFF4 + ldr r1, _037FAC98 ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x300 ldrh r0, [r0, #0x54] cmp r0, #0 - ldreq r0, _02002E94 ; =0x0480803C + ldreq r0, _037FACAC ; =0x0480803C streqh r6, [r0] ldr r2, [r1] mov r0, r8 ldr r1, [r2, #0x5ac] add r1, r1, #1 str r1, [r2, #0x5ac] - bl sub_00FFA62C + bl sub_027F2444 mov r6, r0 - b _02002E18 -_02002DE4: + b _037FAC30 +_037FABFC: ldrh r1, [r8, #0x14] rsb r0, r6, #0xe800 and r0, r1, r0 cmp r0, #0x218 - bne _02002E18 - ldr r1, _02002E80 ; =0x0380FFF4 + bne _037FAC30 + ldr r1, _037FAC98 ; =0x0380FFF4 mov r0, r8 ldr r2, [r1] ldr r1, [r2, #0x5b0] add r1, r1, #1 str r1, [r2, #0x5b0] - bl sub_00FFA954 + bl sub_027F276C mov r6, r0 -_02002E18: +_037FAC30: cmp r6, #0 - beq _02002E2C + beq _037FAC44 add r0, r4, #0x188 sub r1, r8, #0x10 - bl sub_02000AF0 -_02002E2C: - ldr r3, _02002E80 ; =0x0380FFF4 + bl sub_037F8908 +_037FAC44: + ldr r3, _037FAC98 ; =0x0380FFF4 ldr r0, [r3] add r0, r0, #0x600 ldrh r0, [r0, #0x90] tst r0, #1 - beq _02002B44 - ldr r2, _02002E8C ; =0x0000FFFF - ldr r1, _02002E98 ; =0x04805F60 + beq _037FA95C + ldr r2, _037FACA4 ; =0x0000FFFF + ldr r1, _037FACB0 ; =0x04805F60 mov r6, #0 -_02002E50: +_037FAC68: cmp r7, r1 ldrhs r0, [r3] add r6, r6, #1 @@ -3252,43 +3252,43 @@ _02002E50: subhs r7, r7, r0 cmp r6, #7 strh r2, [r7], #2 - blo _02002E50 - b _02002B44 -_02002E78: + blo _037FAC68 + b _037FA95C +_037FAC90: ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_02002E80: .word 0x0380FFF4 -_02002E84: .word 0x0480805A -_02002E88: .word 0x000008C6 -_02002E8C: .word 0x0000FFFF -_02002E90: .word 0x0000E7BF -_02002E94: .word 0x0480803C -_02002E98: .word 0x04805F60 - arm_func_end sub_02002B30 +_037FAC98: .word 0x0380FFF4 +_037FAC9C: .word 0x0480805A +_037FACA0: .word 0x000008C6 +_037FACA4: .word 0x0000FFFF +_037FACA8: .word 0x0000E7BF +_037FACAC: .word 0x0480803C +_037FACB0: .word 0x04805F60 + arm_func_end sub_037FA948 - arm_func_start sub_02002E9C -sub_02002E9C: ; 0x02002E9C + arm_func_start sub_037FACB4 +sub_037FACB4: ; 0x037FACB4 stmdb sp!, {r4, lr} - ldr r0, _02002F74 ; =0x0380FFF4 + ldr r0, _037FAD8C ; =0x0380FFF4 ldr r0, [r0] add r0, r0, #0x2c add r4, r0, #0x400 ldrh r0, [r4, #0x3c] cmp r0, #0 - beq _02002F6C + beq _037FAD84 ldr r1, [r4, #0x90] ldr r0, [r4, #0x44] ldrh r1, [r1, #0x10] ldrh r0, [r0, #2] cmp r1, r0 - beq _02002ED8 - bl sub_02002B30 -_02002ED8: + beq _037FACF0 + bl sub_037FA948 +_037FACF0: ldr r0, [r4, #0x44] ldrh r0, [r0, #4] ands r2, r0, #0xff - ldr r0, _02002F74 ; =0x0380FFF4 + ldr r0, _037FAD8C ; =0x0380FFF4 ldrne r1, [r0] ldrne r0, [r1, #0x5a0] addne r0, r0, r2 @@ -3297,7 +3297,7 @@ _02002ED8: addeq r0, r0, #1 str r0, [r1, #0x5a0] ldrh r1, [r4, #0x40] - ldr r0, _02002F74 ; =0x0380FFF4 + ldr r0, _037FAD8C ; =0x0380FFF4 add r1, r1, #1 strh r1, [r4, #0x40] ldr ip, [r4, #0x90] @@ -3315,95 +3315,95 @@ _02002ED8: add r0, r0, #0x300 ldrh r0, [r0, #0xea] cmp r0, #0 - beq _02002F58 - bl sub_00FF207C -_02002F58: - ldr r0, _02002F74 ; =0x0380FFF4 + beq _037FAD70 + bl sub_027E9E94 +_037FAD70: + ldr r0, _037FAD8C ; =0x0380FFF4 ldr r1, [r4, #0x90] ldr r0, [r0] add r0, r0, #0x188 - bl sub_02000F40 -_02002F6C: + bl sub_037F8D58 +_037FAD84: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02002F74: .word 0x0380FFF4 - arm_func_end sub_02002E9C +_037FAD8C: .word 0x0380FFF4 + arm_func_end sub_037FACB4 - arm_func_start sub_02002F78 -sub_02002F78: ; 0x02002F78 + arm_func_start sub_037FAD90 +sub_037FAD90: ; 0x037FAD90 stmdb sp!, {r4, lr} - ldr r0, _0200302C ; =0x0380FFF4 - ldr r2, _02003030 ; =0x04808088 + ldr r0, _037FAE44 ; =0x0380FFF4 + ldr r2, _037FAE48 ; =0x04808088 ldr r1, [r0] ldrh r0, [r2] add r4, r1, #0x17c cmp r0, #0 - bne _02002FB8 + bne _037FADD0 ldrh r0, [r4, #0x38] cmp r0, #0 - beq _02002FB8 + beq _037FADD0 mov r1, #8 mov r0, #2 strh r1, [r2, #0x26] - bl sub_00FF80DC - b _02003024 -_02002FB8: + bl sub_027EFEF4 + b _037FAE3C +_037FADD0: add r0, r1, #0x500 ldrh r1, [r0, #0x32] ldrh r2, [r0, #0x2e] mvn r0, r1 tst r2, r0 - bne _02002FF0 - ldr r0, _02003034 ; =0x048080AE + bne _037FAE08 + ldr r0, _037FAE4C ; =0x048080AE mov r1, #8 strh r1, [r0] ldrh r0, [r4, #0x38] cmp r0, #0 - beq _02002FF0 + beq _037FAE08 mov r0, #2 - bl sub_00FF80DC -_02002FF0: - ldr r0, _02003034 ; =0x048080AE + bl sub_027EFEF4 +_037FAE08: + ldr r0, _037FAE4C ; =0x048080AE mov r1, #5 strh r1, [r0] ldrh r0, [r4, #0x2c] cmp r0, #0 - beq _02003010 + beq _037FAE28 mov r0, #1 - bl sub_00FF80DC -_02003010: + bl sub_027EFEF4 +_037FAE28: ldrh r0, [r4, #0x20] cmp r0, #0 - beq _02003024 + beq _037FAE3C mov r0, #0 - bl sub_00FF80DC -_02003024: + bl sub_027EFEF4 +_037FAE3C: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200302C: .word 0x0380FFF4 -_02003030: .word 0x04808088 -_02003034: .word 0x048080AE - arm_func_end sub_02002F78 +_037FAE44: .word 0x0380FFF4 +_037FAE48: .word 0x04808088 +_037FAE4C: .word 0x048080AE + arm_func_end sub_037FAD90 - arm_func_start sub_02003038 -sub_02003038: ; 0x02003038 + arm_func_start sub_037FAE50 +sub_037FAE50: ; 0x037FAE50 stmdb sp!, {r4, r5, r6, lr} - ldr r2, _020030A4 ; =0x0380FFF4 + ldr r2, _037FAEBC ; =0x0380FFF4 mov r5, r1 ldr r1, [r2] mov r6, r0 add r0, r1, #0x188 add r1, r5, #0x22 - bl sub_02000A54 + bl sub_037F886C movs r4, r0 moveq r0, #0 - beq _0200309C + beq _037FAEB4 mov r1, r6 add r0, r4, #0x18 add r2, r5, #0xc - bl sub_00FF2DE8 + bl sub_027EAC00 sub r0, r5, #0x18 strh r0, [r4, #0x16] ldrh r0, [r4, #0x22] @@ -3414,17 +3414,17 @@ sub_02003038: ; 0x02003038 orr r0, r1, r0, lsr #8 strh r0, [r4, #0x1e] add r0, r4, #0x10 -_0200309C: +_037FAEB4: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_020030A4: .word 0x0380FFF4 - arm_func_end sub_02003038 +_037FAEBC: .word 0x0380FFF4 + arm_func_end sub_037FAE50 - arm_func_start sub_020030A8 -sub_020030A8: ; 0x020030A8 + arm_func_start sub_037FAEC0 +sub_037FAEC0: ; 0x037FAEC0 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r1, _02003378 ; =0x0380FFF4 + ldr r1, _037FB190 ; =0x0380FFF4 mov r0, #0 ldr r7, [r1] mov r2, #0xb0 @@ -3433,7 +3433,7 @@ sub_020030A8: ; 0x020030A8 mov r1, r4 add r5, r7, #0x344 add r6, r7, #0x31c - bl sub_020061B8 + bl sub_037FDFD0 add r0, r7, #0x400 mov r1, #0 strh r1, [r0, #0x2c] @@ -3441,72 +3441,72 @@ sub_020030A8: ; 0x020030A8 strh r1, [r4, #0x14] str r1, [r4, #0x20] strh r1, [r4, #0x28] - ldr r0, _0200337C ; =0x0000FFFF + ldr r0, _037FB194 ; =0x0000FFFF str r1, [r4, #0x34] strh r0, [r4, #0xa2] strh r0, [r4, #0xa4] ldrh r0, [r5, #0xc] cmp r0, #3 addls pc, pc, r0, lsl #2 - b _0200335C -_02003110: ; jump table - b _02003120 ; case 0 - b _0200319C ; case 1 - b _02003238 ; case 2 - b _020032E4 ; case 3 -_02003120: - ldr r7, _02003380 ; =0x04804170 - ldr r0, _02003384 ; =0x04804026 + b _037FB174 +_037FAF28: ; jump table + b _037FAF38 ; case 0 + b _037FAFB4 ; case 1 + b _037FB050 ; case 2 + b _037FB0FC ; case 3 +_037FAF38: + ldr r7, _037FB198 ; =0x04804170 + ldr r0, _037FB19C ; =0x04804026 str r7, [r4, #8] sub r1, r7, #0x148 str r1, [r4, #0x1c] sub r2, r7, #0x170 - ldr r1, _02003388 ; =0x027F02FC + ldr r1, _037FB1A0 ; =0x027F02FC str r2, [r4, #0x30] - ldr r2, _0200338C ; =0x027F0478 + ldr r2, _037FB1A4 ; =0x027F0478 str r1, [r4, #0x10] - ldr r1, _02003390 ; =0x027F0944 + ldr r1, _037FB1A8 ; =0x027F0944 str r2, [r4, #0x24] - ldr r3, _02003394 ; =0x0000B6B8 + ldr r3, _037FB1AC ; =0x0000B6B8 str r1, [r4, #0x38] sub r1, r7, #0x14c - ldr r2, _02003398 ; =0x00001D46 + ldr r2, _037FB1B0 ; =0x00001D46 strh r3, [r1] strh r2, [r0] strh r3, [r7, #-4] add r0, r0, #0x148 strh r2, [r0] add r1, r7, #0x620 - ldr r0, _0200339C ; =0x04804792 + ldr r0, _037FB1B4 ; =0x04804792 strh r3, [r1] strh r2, [r0] mov r1, #8 - ldr r0, _020033A0 ; =0x048080AE + ldr r0, _037FB1B8 ; =0x048080AE strh r1, [r5, #0x8a] mov r1, #1 strh r1, [r0] - b _0200335C -_0200319C: - ldr r3, _020033A4 ; =0x04804AA0 - ldr r2, _020033A8 ; =0x04804334 + b _037FB174 +_037FAFB4: + ldr r3, _037FB1BC ; =0x04804AA0 + ldr r2, _037FB1C0 ; =0x04804334 str r3, [r4, #8] sub r0, r3, #0x148 str r0, [r4, #0x1c] - ldr r0, _02003388 ; =0x027F02FC + ldr r0, _037FB1A0 ; =0x027F02FC str r2, [r4, #0x30] - ldr r1, _0200338C ; =0x027F0478 + ldr r1, _037FB1A4 ; =0x027F0478 str r0, [r4, #0x10] - ldr r0, _020033AC ; =0x027F09AC + ldr r0, _037FB1C4 ; =0x027F09AC str r1, [r4, #0x24] - ldr ip, _020033B0 ; =0x04804956 + ldr ip, _037FB1C8 ; =0x04804956 str r0, [r4, #0x38] sub r1, r2, #0xfc str r1, [r4, #0x80] sub r7, r2, #0x334 - ldr r0, _02003394 ; =0x0000B6B8 + ldr r0, _037FB1AC ; =0x0000B6B8 str r7, [r4, #0x44] sub r7, r2, #0x100 - ldr lr, _02003398 ; =0x00001D46 + ldr lr, _037FB1B0 ; =0x00001D46 strh r0, [r7] strh lr, [r2, #-0xfe] strh r0, [r2, #-4] @@ -3518,35 +3518,35 @@ _0200319C: add r2, ip, #0x148 strh lr, [r2] add r3, r3, #0x620 - ldr r2, _020033B4 ; =0x048050C2 + ldr r2, _037FB1CC ; =0x048050C2 strh r0, [r3] strh lr, [r2] mov r0, #0x208 strh r0, [r5, #0x8a] str r1, [r4, #0x80] - bl sub_00FF93EC - b _0200335C -_02003238: - ldr r1, _020033B8 ; =0x048045D8 - ldr r3, _020033BC ; =0x04804232 + bl sub_027F1204 + b _037FB174 +_037FB050: + ldr r1, _037FB1D0 ; =0x048045D8 + ldr r3, _037FB1D4 ; =0x04804232 str r1, [r4, #8] sub r0, r1, #0x148 str r0, [r4, #0x1c] sub r2, r1, #0x170 - ldr ip, _020033C0 ; =0x04804000 - ldr r0, _02003388 ; =0x027F02FC + ldr ip, _037FB1D8 ; =0x04804000 + ldr r0, _037FB1A0 ; =0x027F02FC str r2, [r4, #0x30] - ldr r2, _0200338C ; =0x027F0478 + ldr r2, _037FB1A4 ; =0x027F0478 str r0, [r4, #0x10] - ldr r0, _02003390 ; =0x027F0944 + ldr r0, _037FB1A8 ; =0x027F0944 str r2, [r4, #0x24] str r0, [r4, #0x38] str ip, [r4, #0x58] add r2, ip, #0x234 - ldr r0, _02003394 ; =0x0000B6B8 + ldr r0, _037FB1AC ; =0x0000B6B8 str r2, [r4, #0x6c] add r2, ip, #0x230 - ldr r4, _02003398 ; =0x00001D46 + ldr r4, _037FB1B0 ; =0x00001D46 strh r0, [r2] strh r4, [r3] sub r2, r1, #0x174 @@ -3561,47 +3561,47 @@ _02003238: add r2, r3, #0x3a4 strh r4, [r2] add r2, r1, #0x620 - ldr r1, _020033C4 ; =0x04804BFA + ldr r1, _037FB1DC ; =0x04804BFA strh r0, [r2] strh r4, [r1] mov r1, #0x108 - ldr r0, _020033A0 ; =0x048080AE + ldr r0, _037FB1B8 ; =0x048080AE strh r1, [r5, #0x8a] mov r1, #0xd strh r1, [r0] - b _0200335C -_020032E4: - ldr ip, _02003380 ; =0x04804170 - ldr r0, _02003384 ; =0x04804026 + b _037FB174 +_037FB0FC: + ldr ip, _037FB198 ; =0x04804170 + ldr r0, _037FB19C ; =0x04804026 str ip, [r4, #8] sub r1, ip, #0x148 str r1, [r4, #0x1c] sub r2, ip, #0x170 - ldr r1, _02003388 ; =0x027F02FC + ldr r1, _037FB1A0 ; =0x027F02FC str r2, [r4, #0x30] - ldr r2, _0200338C ; =0x027F0478 + ldr r2, _037FB1A4 ; =0x027F0478 str r1, [r4, #0x10] - ldr r1, _02003390 ; =0x027F0944 + ldr r1, _037FB1A8 ; =0x027F0944 str r2, [r4, #0x24] - ldr r3, _02003394 ; =0x0000B6B8 + ldr r3, _037FB1AC ; =0x0000B6B8 str r1, [r4, #0x38] sub r1, ip, #0x14c - ldr r2, _02003398 ; =0x00001D46 + ldr r2, _037FB1B0 ; =0x00001D46 strh r3, [r1] strh r2, [r0] strh r3, [ip, #-4] add r0, r0, #0x148 strh r2, [r0] add r1, ip, #0x620 - ldr r0, _0200339C ; =0x04804792 + ldr r0, _037FB1B4 ; =0x04804792 strh r3, [r1] strh r2, [r0] mov r1, #0x108 - ldr r0, _020033A0 ; =0x048080AE + ldr r0, _037FB1B8 ; =0x048080AE strh r1, [r5, #0x8a] mov r1, #0xd strh r1, [r0] -_0200335C: +_037FB174: ldrh r0, [r6, #0x18] cmp r0, #0 ldrneh r0, [r5, #0x8a] @@ -3610,32 +3610,32 @@ _0200335C: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02003378: .word 0x0380FFF4 -_0200337C: .word 0x0000FFFF -_02003380: .word 0x04804170 -_02003384: .word 0x04804026 -_02003388: .word 0x027F02FC -_0200338C: .word 0x027F0478 -_02003390: .word 0x027F0944 -_02003394: .word 0x0000B6B8 -_02003398: .word 0x00001D46 -_0200339C: .word 0x04804792 -_020033A0: .word 0x048080AE -_020033A4: .word 0x04804AA0 -_020033A8: .word 0x04804334 -_020033AC: .word 0x027F09AC -_020033B0: .word 0x04804956 -_020033B4: .word 0x048050C2 -_020033B8: .word 0x048045D8 -_020033BC: .word 0x04804232 -_020033C0: .word 0x04804000 -_020033C4: .word 0x04804BFA - arm_func_end sub_020030A8 +_037FB190: .word 0x0380FFF4 +_037FB194: .word 0x0000FFFF +_037FB198: .word 0x04804170 +_037FB19C: .word 0x04804026 +_037FB1A0: .word 0x027F02FC +_037FB1A4: .word 0x027F0478 +_037FB1A8: .word 0x027F0944 +_037FB1AC: .word 0x0000B6B8 +_037FB1B0: .word 0x00001D46 +_037FB1B4: .word 0x04804792 +_037FB1B8: .word 0x048080AE +_037FB1BC: .word 0x04804AA0 +_037FB1C0: .word 0x04804334 +_037FB1C4: .word 0x027F09AC +_037FB1C8: .word 0x04804956 +_037FB1CC: .word 0x048050C2 +_037FB1D0: .word 0x048045D8 +_037FB1D4: .word 0x04804232 +_037FB1D8: .word 0x04804000 +_037FB1DC: .word 0x04804BFA + arm_func_end sub_037FAEC0 - arm_func_start sub_020033C8 -sub_020033C8: ; 0x020033C8 + arm_func_start sub_037FB1E0 +sub_037FB1E0: ; 0x037FB1E0 stmdb sp!, {r4, r5, r6, lr} - ldr r1, _020034C0 ; =0x0380FFF4 + ldr r1, _037FB2D8 ; =0x0380FFF4 mov r0, #0 ldr r3, [r1] mov r2, #0x50 @@ -3643,37 +3643,37 @@ sub_020033C8: ; 0x020033C8 add r5, r1, #0x400 mov r1, r5 add r4, r3, #0x344 - bl sub_020061B8 - ldr r1, _020034C4 ; =0x04808030 + bl sub_037FDFD0 + ldr r1, _037FB2DC ; =0x04808030 mov r2, #0x8000 - ldr r0, _020034C0 ; =0x0380FFF4 + ldr r0, _037FB2D8 ; =0x0380FFF4 strh r2, [r1] ldr r0, [r0] add r0, r0, #0x300 ldrh r0, [r0, #0x50] cmp r0, #3 addls pc, pc, r0, lsl #2 - b _02003444 -_02003418: ; jump table - b _02003428 ; case 0 - b _02003430 ; case 1 - b _02003438 ; case 2 - b _02003440 ; case 3 -_02003428: - ldr r6, _020034C8 ; =0x00000794 - b _02003444 -_02003430: - ldr r6, _020034CC ; =0x000010C4 - b _02003444 -_02003438: - ldr r6, _020034D0 ; =0x00000BFC - b _02003444 -_02003440: - ldr r6, _020034C8 ; =0x00000794 -_02003444: - ldr r3, _020034D4 ; =0x04808050 + b _037FB25C +_037FB230: ; jump table + b _037FB240 ; case 0 + b _037FB248 ; case 1 + b _037FB250 ; case 2 + b _037FB258 ; case 3 +_037FB240: + ldr r6, _037FB2E0 ; =0x00000794 + b _037FB25C +_037FB248: + ldr r6, _037FB2E4 ; =0x000010C4 + b _037FB25C +_037FB250: + ldr r6, _037FB2E8 ; =0x00000BFC + b _037FB25C +_037FB258: + ldr r6, _037FB2E0 ; =0x00000794 +_037FB25C: + ldr r3, _037FB2EC ; =0x04808050 add r0, r6, #0x4000 - ldr r1, _020034D8 ; =0x00005F60 + ldr r1, _037FB2F0 ; =0x00005F60 add r2, r0, #0x4800000 mov r0, r6, lsl #0xf strh r2, [r3] @@ -3681,7 +3681,7 @@ _02003444: strh r0, [r3, #6] strh r1, [r3, #2] strh r0, [r3, #0xa] - ldr r2, _020034DC ; =0x0000FFFF + ldr r2, _037FB2F4 ; =0x0000FFFF strh r0, [r5, #4] sub r0, r1, #0x4000 strh r2, [r5] @@ -3692,9 +3692,9 @@ _02003444: rsb r0, r2, #0x18000 strh r0, [r3, #-0x20] add r0, r3, #0x1fc - ldr r1, _020034E0 ; =0x0480824E + ldr r1, _037FB2F8 ; =0x0480824E strh r2, [r0] - ldr r0, _020034E4 ; =0x04805F70 + ldr r0, _037FB2FC ; =0x04805F70 strh r2, [r1] strh r2, [r0] strh r2, [r0, #2] @@ -3703,41 +3703,41 @@ _02003444: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_020034C0: .word 0x0380FFF4 -_020034C4: .word 0x04808030 -_020034C8: .word 0x00000794 -_020034CC: .word 0x000010C4 -_020034D0: .word 0x00000BFC -_020034D4: .word 0x04808050 -_020034D8: .word 0x00005F60 -_020034DC: .word 0x0000FFFF -_020034E0: .word 0x0480824E -_020034E4: .word 0x04805F70 - arm_func_end sub_020033C8 +_037FB2D8: .word 0x0380FFF4 +_037FB2DC: .word 0x04808030 +_037FB2E0: .word 0x00000794 +_037FB2E4: .word 0x000010C4 +_037FB2E8: .word 0x00000BFC +_037FB2EC: .word 0x04808050 +_037FB2F0: .word 0x00005F60 +_037FB2F4: .word 0x0000FFFF +_037FB2F8: .word 0x0480824E +_037FB2FC: .word 0x04805F70 + arm_func_end sub_037FB1E0 - arm_func_start sub_020034E8 -sub_020034E8: ; 0x020034E8 - ldr r1, _02003510 ; =0x0480819C + arm_func_start sub_037FB300 +sub_037FB300: ; 0x037FB300 + ldr r1, _037FB328 ; =0x0480819C mov r2, #0xfa0 - b _02003504 -_020034F4: + b _037FB31C +_037FB30C: ldrh r0, [r1] tst r0, #0x80 bxne lr sub r2, r2, #1 -_02003504: +_037FB31C: cmp r2, #0 - bne _020034F4 + bne _037FB30C bx lr .align 2, 0 -_02003510: .word 0x0480819C - arm_func_end sub_020034E8 +_037FB328: .word 0x0480819C + arm_func_end sub_037FB300 - arm_func_start sub_02003514 -sub_02003514: ; 0x02003514 + arm_func_start sub_037FB32C +sub_037FB32C: ; 0x037FB32C stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 - ldr r2, _02003594 ; =0x000082EA + ldr r2, _037FB3AC ; =0x000082EA mov r3, #0 umull lr, ip, r0, r2 mla ip, r0, r3, ip @@ -3750,40 +3750,40 @@ sub_02003514: ; 0x02003514 orr r0, r0, ip, lsl #26 mov r2, #0x3e8 str r4, [sp, #4] - bl sub_0200ED68 + bl sub_03806B80 add r3, sp, #4 str r3, [sp] - ldr r2, _02003598 ; =0x0380FFF4 + ldr r2, _037FB3B0 ; =0x0380FFF4 mov r3, r5 ldr r2, [r2] add ip, r2, #0x234 mov r2, r1 mov r1, r0 add r0, ip, #0x400 - bl sub_020056C4 -_0200357C: + bl sub_037FD4DC +_037FB394: ldr r0, [sp, #4] cmp r0, #0 - bne _0200357C + bne _037FB394 add sp, sp, #8 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02003594: .word 0x000082EA -_02003598: .word 0x0380FFF4 - arm_func_end sub_02003514 +_037FB3AC: .word 0x000082EA +_037FB3B0: .word 0x0380FFF4 + arm_func_end sub_037FB32C - arm_func_start sub_0200359C -sub_0200359C: ; 0x0200359C + arm_func_start sub_037FB3B4 +sub_037FB3B4: ; 0x037FB3B4 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _02003600 ; =0x04808028 - ldr lr, _02003604 ; =0x04000208 + ldr r1, _037FB418 ; =0x04808028 + ldr lr, _037FB41C ; =0x04000208 mov r5, #1 add r2, r1, #0x1ec add r3, r1, #0x174 mov ip, #0 - b _020035F0 -_020035BC: + b _037FB408 +_037FB3D4: ldrh r4, [lr] strh ip, [lr] ldrh r0, [r3] @@ -3797,104 +3797,104 @@ _020035BC: ldrh r0, [lr] movne r5, ip strh r4, [lr] -_020035F0: +_037FB408: cmp r5, #0 - bne _020035BC + bne _037FB3D4 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02003600: .word 0x04808028 -_02003604: .word 0x04000208 - arm_func_end sub_0200359C +_037FB418: .word 0x04808028 +_037FB41C: .word 0x04000208 + arm_func_end sub_037FB3B4 - arm_func_start sub_02003608 -sub_02003608: ; 0x02003608 - ldr r1, _02003638 ; =0x0480815E + arm_func_start sub_037FB420 +sub_037FB420: ; 0x037FB420 + ldr r1, _037FB450 ; =0x0480815E mov r2, #0 - b _02003628 -_02003614: + b _037FB440 +_037FB42C: ldrh r0, [r1] tst r0, #1 moveq r0, #0 bxeq lr add r2, r2, #1 -_02003628: +_037FB440: cmp r2, #0x2800 - blo _02003614 + blo _037FB42C mov r0, #1 bx lr .align 2, 0 -_02003638: .word 0x0480815E - arm_func_end sub_02003608 +_037FB450: .word 0x0480815E + arm_func_end sub_037FB420 - arm_func_start sub_0200363C -sub_0200363C: ; 0x0200363C - ldr r1, _0200366C ; =0x04808180 + arm_func_start sub_037FB454 +sub_037FB454: ; 0x037FB454 + ldr r1, _037FB484 ; =0x04808180 mov r2, #0 - b _0200365C -_02003648: + b _037FB474 +_037FB460: ldrh r0, [r1] tst r0, #1 moveq r0, #0 bxeq lr add r2, r2, #1 -_0200365C: +_037FB474: cmp r2, #0x2800 - blo _02003648 + blo _037FB460 mov r0, #1 bx lr .align 2, 0 -_0200366C: .word 0x04808180 - arm_func_end sub_0200363C +_037FB484: .word 0x04808180 + arm_func_end sub_037FB454 - arm_func_start sub_02003670 -sub_02003670: ; 0x02003670 + arm_func_start sub_037FB488 +sub_037FB488: ; 0x037FB488 stmdb sp!, {lr} mov ip, #0x4000000 add ip, ip, #0x210 ldr r1, [ip, #-8] cmp r1, #0 - beq _0200368C - b _02003690 -_0200368C: + beq _037FB4A4 + b _037FB4A8 +_037FB4A4: ldmia sp!, {pc} -_02003690: +_037FB4A8: ldmia ip, {r1, r2} ands r1, r1, r2 - beq _020036A0 - b _020036A4 -_020036A0: + beq _037FB4B8 + b _037FB4BC +_037FB4B8: ldmia sp!, {pc} -_020036A4: +_037FB4BC: mov r3, #1 mov r0, #0 -_020036AC: +_037FB4C4: ands r2, r1, r3, lsl r0 - beq _020036B8 - b _020036BC -_020036B8: + beq _037FB4D0 + b _037FB4D4 +_037FB4D0: add r0, r0, #1 -_020036BC: - beq _020036AC +_037FB4D4: + beq _037FB4C4 str r2, [ip, #4] - ldr r1, _020036D4 ; =0x038074F4 + ldr r1, _037FB4EC ; =0x038074F4 ldr r0, [r1, r0, lsl #2] - ldr lr, _020036D8 ; =0x037FB4F4 + ldr lr, _037FB4F0 ; =0x037FB4F4 bx r0 .align 2, 0 -_020036D4: .word 0x038074F4 -_020036D8: .word 0x037FB4F4 - arm_func_end sub_02003670 +_037FB4EC: .word 0x038074F4 +_037FB4F0: .word 0x037FB4F4 + arm_func_end sub_037FB488 - arm_func_start sub_020036DC -sub_020036DC: ; 0x020036DC - ldr ip, _02003818 ; =0x03807608 + arm_func_start sub_037FB4F4 +sub_037FB4F4: ; 0x037FB4F4 + ldr ip, _037FB630 ; =0x03807608 mov r3, #0 ldr ip, [ip] mov r2, #1 cmp ip, #0 - beq _0200372C -_020036F4: + beq _037FB544 +_037FB50C: str r2, [ip, #0x48] str r3, [ip, #0x5c] str r3, [ip, #0x60] @@ -3902,65 +3902,65 @@ _020036F4: str r3, [ip, #0x64] mov ip, r0 cmp ip, #0 - bne _020036F4 - ldr ip, _02003818 ; =0x03807608 + bne _037FB50C + ldr ip, _037FB630 ; =0x03807608 str r3, [ip] str r3, [ip, #4] - ldr ip, _0200381C ; =0x038076A4 + ldr ip, _037FB634 ; =0x038076A4 mov r1, #1 strh r1, [ip] -_0200372C: - ldr ip, _0200381C ; =0x038076A4 +_037FB544: + ldr ip, _037FB634 ; =0x038076A4 ldrh r1, [ip] cmp r1, #0 - beq _02003740 - b _02003744 -_02003740: - ldmia sp!, {pc} -_02003744: + beq _037FB558 + b _037FB55C +_037FB558: + ldr pc, [sp], #0x4 +_037FB55C: mov r1, #0 strh r1, [ip] mov r3, #0xd2 msr cpsr_c, r3 add r2, ip, #8 ldr r1, [r2] -_0200375C: +_037FB574: cmp r1, #0 - bne _02003768 - b _0200376C -_02003768: + bne _037FB580 + b _037FB584 +_037FB580: ldrh r0, [r1, #0x48] -_0200376C: - bne _02003774 - b _02003778 -_02003774: +_037FB584: + bne _037FB58C + b _037FB590 +_037FB58C: cmp r0, #1 -_02003778: - bne _02003780 - b _02003784 -_02003780: +_037FB590: + bne _037FB598 + b _037FB59C +_037FB598: ldr r1, [r1, #0x4c] -_02003784: - bne _0200375C +_037FB59C: + bne _037FB574 cmp r1, #0 - bne _0200379C -_02003790: + bne _037FB5B4 +_037FB5A8: mov r3, #0x92 msr cpsr_c, r3 - ldmia sp!, {pc} -_0200379C: + ldr pc, [sp], #0x4 +_037FB5B4: ldr r0, [ip, #4] cmp r1, r0 - beq _02003790 + beq _037FB5A8 ldr r3, [ip, #0xc] cmp r3, #0 - beq _020037C4 + beq _037FB5DC stmdb sp!, {r0, r1, ip} mov lr, pc bx r3 -_020037C0: +_037FB5D8: ldmia sp!, {r0, r1, ip} -_020037C4: +_037FB5DC: str r1, [ip, #4] mrs r2, spsr str r2, [r0, #0]! @@ -3983,22 +3983,22 @@ _020037C4: stmda sp!, {r0, r1, r2, r3, ip, lr} ldmia sp!, {pc} .align 2, 0 -_02003818: .word 0x03807608 -_0200381C: .word 0x038076A4 - arm_func_end sub_020036DC +_037FB630: .word 0x03807608 +_037FB634: .word 0x038076A4 + arm_func_end sub_037FB4F4 - arm_func_start sub_02003820 -sub_02003820: ; 0x02003820 + arm_func_start sub_037FB638 +sub_037FB638: ; 0x037FB638 bx lr - arm_func_end sub_02003820 + arm_func_end sub_037FB638 - arm_func_start sub_02003824 -sub_02003824: ; 0x02003824 + arm_func_start sub_037FB63C +sub_037FB63C: ; 0x037FB63C stmdb sp!, {r3, r4, r5, lr} mov r1, #0xc mul r5, r0, r1 - ldr r2, _0200389C ; =0x03807610 - ldr r3, _020038A0 ; =0x038074E0 + ldr r2, _037FB6B4 ; =0x03807610 + ldr r3, _037FB6B8 ; =0x038074E0 mov r4, r0, lsl #1 ldr r1, [r2, r5] mov r0, #0 @@ -4007,224 +4007,224 @@ sub_02003824: ; 0x02003824 str r0, [r2, r5] cmp r1, #0 mov r4, r4, lsl r3 - beq _0200386C - ldr r0, _020038A4 ; =0x03807618 + beq _037FB684 + ldr r0, _037FB6BC ; =0x03807618 ldr r0, [r0, r5] mov lr, pc bx r1 -_0200386C: - ldr r2, _020038A8 ; =0x0380FFF8 - ldr r0, _020038AC ; =0x03807614 +_037FB684: + ldr r2, _037FB6C0 ; =0x0380FFF8 + ldr r0, _037FB6C4 ; =0x03807614 ldr r1, [r2] orr r1, r1, r4 str r1, [r2] ldr r0, [r0, r5] cmp r0, #0 - bne _02003894 + bne _037FB6AC mov r0, r4 - bl sub_02003B10 -_02003894: + bl sub_037FB928 +_037FB6AC: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0200389C: .word 0x03807610 -_020038A0: .word 0x038074E0 -_020038A4: .word 0x03807618 -_020038A8: .word 0x0380FFF8 -_020038AC: .word 0x03807614 - arm_func_end sub_02003824 +_037FB6B4: .word 0x03807610 +_037FB6B8: .word 0x038074E0 +_037FB6BC: .word 0x03807618 +_037FB6C0: .word 0x0380FFF8 +_037FB6C4: .word 0x03807614 + arm_func_end sub_037FB63C - arm_func_start sub_020038B0 -sub_020038B0: ; 0x020038B0 - ldr ip, _020038BC ; =sub_037FB63C + arm_func_start sub_037FB6C8 +sub_037FB6C8: ; 0x037FB6C8 + ldr ip, _037FB6D4 ; =sub_037FB63C mov r0, #0 bx ip .align 2, 0 -_020038BC: .word sub_037FB63C - arm_func_end sub_020038B0 +_037FB6D4: .word sub_037FB63C + arm_func_end sub_037FB6C8 - arm_func_start sub_020038C0 -sub_020038C0: ; 0x020038C0 - ldr ip, _020038CC ; =sub_037FB63C + arm_func_start sub_037FB6D8 +sub_037FB6D8: ; 0x037FB6D8 + ldr ip, _037FB6E4 ; =sub_037FB63C mov r0, #1 bx ip .align 2, 0 -_020038CC: .word sub_037FB63C - arm_func_end sub_020038C0 +_037FB6E4: .word sub_037FB63C + arm_func_end sub_037FB6D8 - arm_func_start sub_020038D0 -sub_020038D0: ; 0x020038D0 - ldr ip, _020038DC ; =sub_037FB63C + arm_func_start sub_037FB6E8 +sub_037FB6E8: ; 0x037FB6E8 + ldr ip, _037FB6F4 ; =sub_037FB63C mov r0, #2 bx ip .align 2, 0 -_020038DC: .word sub_037FB63C - arm_func_end sub_020038D0 +_037FB6F4: .word sub_037FB63C + arm_func_end sub_037FB6E8 - arm_func_start sub_020038E0 -sub_020038E0: ; 0x020038E0 - ldr ip, _020038EC ; =sub_037FB63C + arm_func_start sub_037FB6F8 +sub_037FB6F8: ; 0x037FB6F8 + ldr ip, _037FB704 ; =sub_037FB63C mov r0, #3 bx ip .align 2, 0 -_020038EC: .word sub_037FB63C - arm_func_end sub_020038E0 +_037FB704: .word sub_037FB63C + arm_func_end sub_037FB6F8 - arm_func_start sub_020038F0 -sub_020038F0: ; 0x020038F0 - ldr ip, _020038FC ; =sub_037FB63C + arm_func_start sub_037FB708 +sub_037FB708: ; 0x037FB708 + ldr ip, _037FB714 ; =sub_037FB63C mov r0, #4 bx ip .align 2, 0 -_020038FC: .word sub_037FB63C - arm_func_end sub_020038F0 +_037FB714: .word sub_037FB63C + arm_func_end sub_037FB708 - arm_func_start sub_02003900 -sub_02003900: ; 0x02003900 - ldr ip, _0200390C ; =sub_037FB63C + arm_func_start sub_037FB718 +sub_037FB718: ; 0x037FB718 + ldr ip, _037FB724 ; =sub_037FB63C mov r0, #5 bx ip .align 2, 0 -_0200390C: .word sub_037FB63C - arm_func_end sub_02003900 +_037FB724: .word sub_037FB63C + arm_func_end sub_037FB718 - arm_func_start sub_02003910 -sub_02003910: ; 0x02003910 - ldr ip, _0200391C ; =sub_037FB63C + arm_func_start sub_037FB728 +sub_037FB728: ; 0x037FB728 + ldr ip, _037FB734 ; =sub_037FB63C mov r0, #6 bx ip .align 2, 0 -_0200391C: .word sub_037FB63C - arm_func_end sub_02003910 +_037FB734: .word sub_037FB63C + arm_func_end sub_037FB728 - arm_func_start sub_02003920 -sub_02003920: ; 0x02003920 - ldr ip, _0200392C ; =sub_037FB63C + arm_func_start sub_037FB738 +sub_037FB738: ; 0x037FB738 + ldr ip, _037FB744 ; =sub_037FB63C mov r0, #7 bx ip .align 2, 0 -_0200392C: .word sub_037FB63C - arm_func_end sub_02003920 +_037FB744: .word sub_037FB63C + arm_func_end sub_037FB738 - arm_func_start sub_02003930 -sub_02003930: ; 0x02003930 + arm_func_start sub_037FB748 +sub_037FB748: ; 0x037FB748 stmdb sp!, {r3, lr} - ldr r2, _02003974 ; =0x027FFC3C - ldr r0, _02003978 ; =0x03807610 + ldr r2, _037FB78C ; =0x027FFC3C + ldr r0, _037FB790 ; =0x03807610 ldr r1, [r2] ldr r3, [r0, #0x60] add r0, r1, #1 str r0, [r2] cmp r3, #0 - beq _0200395C + beq _037FB774 mov lr, pc bx r3 -_0200395C: - ldr r1, _0200397C ; =0x0380FFF8 +_037FB774: + ldr r1, _037FB794 ; =0x0380FFF8 ldr r0, [r1] orr r0, r0, #1 str r0, [r1] ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02003974: .word 0x027FFC3C -_02003978: .word 0x03807610 -_0200397C: .word 0x0380FFF8 - arm_func_end sub_02003930 +_037FB78C: .word 0x027FFC3C +_037FB790: .word 0x03807610 +_037FB794: .word 0x0380FFF8 + arm_func_end sub_037FB748 - arm_func_start sub_02003980 -sub_02003980: ; 0x02003980 - ldr r0, _0200399C ; =0x03807608 + arm_func_start sub_037FB798 +sub_037FB798: ; 0x037FB798 + ldr r0, _037FB7B4 ; =0x03807608 mov r2, #0 str r2, [r0, #4] - ldr r1, _020039A0 ; =0x027FFC3C + ldr r1, _037FB7B8 ; =0x027FFC3C str r2, [r0] str r2, [r1] bx lr .align 2, 0 -_0200399C: .word 0x03807608 -_020039A0: .word 0x027FFC3C - arm_func_end sub_02003980 +_037FB7B4: .word 0x03807608 +_037FB7B8: .word 0x027FFC3C + arm_func_end sub_037FB798 - arm_func_start sub_020039A4 -sub_020039A4: ; 0x020039A4 + arm_func_start sub_037FB7BC +sub_037FB7BC: ; 0x037FB7BC stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} - ldr r4, _02003A34 ; =0x038074F4 + ldr r4, _037FB84C ; =0x038074F4 mov sb, #0 mov r2, #0xc - ldr r5, _02003A38 ; =0x03807670 - ldr r7, _02003A3C ; =0x03807610 + ldr r5, _037FB850 ; =0x03807670 + ldr r7, _037FB854 ; =0x03807610 mov r8, sb mov lr, sb mov ip, #1 mov r3, r2 -_020039CC: +_037FB7E4: tst r0, #1 - beq _02003A1C + beq _037FB834 mov sl, r8 cmp sb, #8 - blt _020039F0 + blt _037FB808 cmp sb, #0xb suble r6, sb, #8 mlale sl, r6, r3, r7 - ble _02003A14 -_020039F0: + ble _037FB82C +_037FB808: cmp sb, #3 - blt _02003A08 + blt _037FB820 cmp sb, #6 addle r6, sb, #1 mlale sl, r6, r2, r7 - ble _02003A14 -_02003A08: + ble _037FB82C +_037FB820: cmp sb, #0 strne r1, [r4, sb, lsl #2] moveq sl, r5 -_02003A14: +_037FB82C: cmp sl, #0 stmneia sl, {r1, ip, lr} -_02003A1C: +_037FB834: add sb, sb, #1 cmp sb, #0x19 mov r0, r0, lsr #1 - blt _020039CC + blt _037FB7E4 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, lr} bx lr .align 2, 0 -_02003A34: .word 0x038074F4 -_02003A38: .word 0x03807670 -_02003A3C: .word 0x03807610 - arm_func_end sub_020039A4 +_037FB84C: .word 0x038074F4 +_037FB850: .word 0x03807670 +_037FB854: .word 0x03807610 + arm_func_end sub_037FB7BC - arm_func_start sub_02003A40 -sub_02003A40: ; 0x02003A40 + arm_func_start sub_037FB858 +sub_037FB858: ; 0x037FB858 stmdb sp!, {r4, lr} mov r3, #0xc mul r4, r0, r3 - ldr ip, _02003A80 ; =0x03807640 - ldr r3, _02003A84 ; =0x03807648 + ldr ip, _037FB898 ; =0x03807640 + ldr r3, _037FB89C ; =0x03807648 str r1, [ip, r4] add r0, r0, #3 mov r1, #1 mov r0, r1, lsl r0 str r2, [r3, r4] - bl sub_02003AD8 - ldr r0, _02003A88 ; =0x03807644 + bl sub_037FB8F0 + ldr r0, _037FB8A0 ; =0x03807644 mov r1, #1 str r1, [r0, r4] ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02003A80: .word 0x03807640 -_02003A84: .word 0x03807648 -_02003A88: .word 0x03807644 - arm_func_end sub_02003A40 +_037FB898: .word 0x03807640 +_037FB89C: .word 0x03807648 +_037FB8A0: .word 0x03807644 + arm_func_end sub_037FB858 - arm_func_start sub_02003A8C -sub_02003A8C: ; 0x02003A8C + arm_func_start sub_037FB8A4 +sub_037FB8A4: ; 0x037FB8A4 stmdb sp!, {r4, lr} mov r4, r0 - bl sub_02003AC0 - ldr r1, _02003ABC ; =0x04000210 + bl sub_037FB8D8 + ldr r1, _037FB8D4 ; =0x04000210 ldr r3, [r1] sub r2, r1, #8 str r4, [r1] @@ -4234,26 +4234,26 @@ sub_02003A8C: ; 0x02003A8C ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02003ABC: .word 0x04000210 - arm_func_end sub_02003A8C +_037FB8D4: .word 0x04000210 + arm_func_end sub_037FB8A4 - arm_func_start sub_02003AC0 -sub_02003AC0: ; 0x02003AC0 - ldr r2, _02003AD4 ; =0x04000208 + arm_func_start sub_037FB8D8 +sub_037FB8D8: ; 0x037FB8D8 + ldr r2, _037FB8EC ; =0x04000208 mov r1, #0 ldrh r0, [r2] strh r1, [r2] bx lr .align 2, 0 -_02003AD4: .word 0x04000208 - arm_func_end sub_02003AC0 +_037FB8EC: .word 0x04000208 + arm_func_end sub_037FB8D8 - arm_func_start sub_02003AD8 -sub_02003AD8: ; 0x02003AD8 + arm_func_start sub_037FB8F0 +sub_037FB8F0: ; 0x037FB8F0 stmdb sp!, {r4, lr} mov r4, r0 - bl sub_02003AC0 - ldr ip, _02003B0C ; =0x04000210 + bl sub_037FB8D8 + ldr ip, _037FB924 ; =0x04000210 ldr r3, [ip] sub r2, ip, #8 orr r1, r3, r4 @@ -4264,15 +4264,15 @@ sub_02003AD8: ; 0x02003AD8 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02003B0C: .word 0x04000210 - arm_func_end sub_02003AD8 +_037FB924: .word 0x04000210 + arm_func_end sub_037FB8F0 - arm_func_start sub_02003B10 -sub_02003B10: ; 0x02003B10 + arm_func_start sub_037FB928 +sub_037FB928: ; 0x037FB928 stmdb sp!, {r4, lr} mov r4, r0 - bl sub_02003AC0 - ldr ip, _02003B48 ; =0x04000210 + bl sub_037FB8D8 + ldr ip, _037FB960 ; =0x04000210 mvn r1, r4 ldr r3, [ip] sub r2, ip, #8 @@ -4284,15 +4284,15 @@ sub_02003B10: ; 0x02003B10 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02003B48: .word 0x04000210 - arm_func_end sub_02003B10 +_037FB960: .word 0x04000210 + arm_func_end sub_037FB928 - arm_func_start sub_02003B4C -sub_02003B4C: ; 0x02003B4C + arm_func_start sub_037FB964 +sub_037FB964: ; 0x037FB964 stmdb sp!, {r4, lr} mov r4, r0 - bl sub_02003AC0 - ldr r1, _02003B7C ; =0x04000214 + bl sub_037FB8D8 + ldr r1, _037FB994 ; =0x04000214 ldr r3, [r1] sub r2, r1, #0xc str r4, [r1] @@ -4302,56 +4302,56 @@ sub_02003B4C: ; 0x02003B4C ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02003B7C: .word 0x04000214 - arm_func_end sub_02003B4C +_037FB994: .word 0x04000214 + arm_func_end sub_037FB964 - arm_func_start sub_02003B80 -sub_02003B80: ; 0x02003B80 + arm_func_start sub_037FB998 +sub_037FB998: ; 0x037FB998 stmdb sp!, {r3, r4, r5, lr} - ldr r0, _02003BE8 ; =0x0380767C + ldr r0, _037FBA00 ; =0x0380767C ldr r1, [r0] cmp r1, #0 - bne _02003BE0 - ldr r4, _02003BEC ; =0x027FFFF0 + bne _037FB9F8 + ldr r4, _037FBA04 ; =0x027FFFF0 mov r2, #1 mov r1, #0 str r2, [r0] strh r1, [r4, #6] mov r5, #0x400 - b _02003BB8 -_02003BB0: + b _037FB9D0 +_037FB9C8: mov r0, r5 - bl sub_02003BF4 -_02003BB8: + bl sub_037FBA0C +_037FB9D0: ldrh r0, [r4, #4] cmp r0, #0x7f - bne _02003BB0 - ldr r1, _02003BF0 ; =0x027FFFB8 + bne _037FB9C8 + ldr r1, _037FBA08 ; =0x027FFFB8 mvn r0, #0 str r0, [r1] mov r0, r0, lsl #0x10 str r0, [r1, #4] mov r0, #0xbf strh r0, [r4, #6] -_02003BE0: +_037FB9F8: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02003BE8: .word 0x0380767C -_02003BEC: .word 0x027FFFF0 -_02003BF0: .word 0x027FFFB8 - arm_func_end sub_02003B80 +_037FBA00: .word 0x0380767C +_037FBA04: .word 0x027FFFF0 +_037FBA08: .word 0x027FFFB8 + arm_func_end sub_037FB998 - arm_func_start sub_02003BF4 -sub_02003BF4: ; 0x02003BF4 - ldr ip, _02003BFC ; =sub_038037B8 + arm_func_start sub_037FBA0C +sub_037FBA0C: ; 0x037FBA0C + ldr ip, _037FBA14 ; =sub_038037B8 bx ip .align 2, 0 -_02003BFC: .word sub_038037B8 - arm_func_end sub_02003BF4 +_037FBA14: .word sub_038037B8 + 1 + arm_func_end sub_037FBA0C - arm_func_start sub_02003C00 -sub_02003C00: ; 0x02003C00 + arm_func_start sub_037FBA18 +sub_037FBA18: ; 0x037FBA18 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r1 ldrh r1, [r7, #4] @@ -4359,234 +4359,234 @@ sub_02003C00: ; 0x02003C00 cmp r0, r1 mov r5, r3 mvnne r0, #1 - bne _02003C74 + bne _037FBA8C cmp r5, #0 - beq _02003C30 - bl sub_02005F14 - b _02003C34 -_02003C30: - bl sub_02005EE8 -_02003C34: + beq _037FBA48 + bl sub_037FDD2C + b _037FBA4C +_037FBA48: + bl sub_037FDD00 +_037FBA4C: mov r4, r0 mov r0, #0 strh r0, [r7, #4] cmp r6, #0 - beq _02003C50 + beq _037FBA68 mov lr, pc bx r6 -_02003C50: +_037FBA68: mov r0, #0 str r0, [r7] cmp r5, #0 mov r0, r4 - beq _02003C6C - bl sub_02005F28 - b _02003C70 -_02003C6C: - bl sub_02005EFC -_02003C70: + beq _037FBA84 + bl sub_037FDD40 + b _037FBA88 +_037FBA84: + bl sub_037FDD14 +_037FBA88: mov r0, #0 -_02003C74: +_037FBA8C: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr - arm_func_end sub_02003C00 + arm_func_end sub_037FBA18 - arm_func_start sub_02003C7C -sub_02003C7C: ; 0x02003C7C + arm_func_start sub_037FBA94 +sub_037FBA94: ; 0x037FBA94 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} movs r6, r3 mov sb, r0 mov r8, r1 mov r7, r2 - beq _02003C9C - bl sub_02005F14 - b _02003CA0 -_02003C9C: - bl sub_02005EE8 -_02003CA0: + beq _037FBAB4 + bl sub_037FDD2C + b _037FBAB8 +_037FBAB4: + bl sub_037FDD00 +_037FBAB8: mov r5, r0 mov r0, sb mov r1, r8 - bl sub_02006494 + bl sub_037FE2AC movs r4, r0 - bne _02003CCC + bne _037FBAE4 cmp r7, #0 - beq _02003CC8 + beq _037FBAE0 mov lr, pc bx r7 -_02003CC8: +_037FBAE0: strh sb, [r8, #4] -_02003CCC: +_037FBAE4: cmp r6, #0 mov r0, r5 - beq _02003CE0 - bl sub_02005F28 - b _02003CE4 -_02003CE0: - bl sub_02005EFC -_02003CE4: + beq _037FBAF8 + bl sub_037FDD40 + b _037FBAFC +_037FBAF8: + bl sub_037FDD14 +_037FBAFC: mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, lr} bx lr - arm_func_end sub_02003C7C + arm_func_end sub_037FBA94 - arm_func_start sub_02003CF0 -sub_02003CF0: ; 0x02003CF0 + arm_func_start sub_037FBB08 +sub_037FBB08: ; 0x037FBB08 stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r6, _02003D38 ; =0x027FFFE8 - ldr r5, _02003D3C ; =0x037FBBA4 + ldr r6, _037FBB50 ; =0x027FFFE8 + ldr r5, _037FBB54 ; =0x037FBBA4 mov r8, r0 mov r7, #0x400 mov r4, #1 - b _02003D14 -_02003D0C: + b _037FBB2C +_037FBB24: mov r0, r7 - bl sub_02003BF4 -_02003D14: + bl sub_037FBA0C +_037FBB2C: mov r0, r8 mov r1, r6 mov r2, r5 mov r3, r4 - bl sub_02003C7C + bl sub_037FBA94 cmp r0, #0 - bgt _02003D0C + bgt _037FBB24 ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_02003D38: .word 0x027FFFE8 -_02003D3C: .word 0x037FBBA4 - arm_func_end sub_02003CF0 +_037FBB50: .word 0x027FFFE8 +_037FBB54: .word 0x037FBBA4 + arm_func_end sub_037FBB08 - arm_func_start sub_02003D40 -sub_02003D40: ; 0x02003D40 - ldr ip, _02003D54 ; =sub_037FBA18 - ldr r1, _02003D58 ; =0x027FFFE8 - ldr r2, _02003D5C ; =0x037FBBA8 + arm_func_start sub_037FBB58 +sub_037FBB58: ; 0x037FBB58 + ldr ip, _037FBB6C ; =sub_037FBA18 + ldr r1, _037FBB70 ; =0x027FFFE8 + ldr r2, _037FBB74 ; =0x037FBBA8 mov r3, #1 bx ip .align 2, 0 -_02003D54: .word sub_037FBA18 -_02003D58: .word 0x027FFFE8 -_02003D5C: .word 0x037FBBA8 - arm_func_end sub_02003D40 +_037FBB6C: .word sub_037FBA18 +_037FBB70: .word 0x027FFFE8 +_037FBB74: .word 0x037FBBA8 + arm_func_end sub_037FBB58 - arm_func_start sub_02003D60 -sub_02003D60: ; 0x02003D60 - ldr r1, _02003D68 ; =sub_037FBB58 + arm_func_start sub_037FBB78 +sub_037FBB78: ; 0x037FBB78 + ldr r1, _037FBB80 ; =sub_037FBB58 bx r1 .align 2, 0 -_02003D68: .word sub_037FBB58 - arm_func_end sub_02003D60 +_037FBB80: .word sub_037FBB58 + arm_func_end sub_037FBB78 - arm_func_start sub_02003D6C -sub_02003D6C: ; 0x02003D6C - ldr ip, _02003D80 ; =sub_037FBA94 - ldr r1, _02003D84 ; =0x027FFFE8 - ldr r2, _02003D88 ; =0x037FBBA4 + arm_func_start sub_037FBB84 +sub_037FBB84: ; 0x037FBB84 + ldr ip, _037FBB98 ; =sub_037FBA94 + ldr r1, _037FBB9C ; =0x027FFFE8 + ldr r2, _037FBBA0 ; =0x037FBBA4 mov r3, #1 bx ip .align 2, 0 -_02003D80: .word sub_037FBA94 -_02003D84: .word 0x027FFFE8 -_02003D88: .word 0x037FBBA4 - arm_func_end sub_02003D6C +_037FBB98: .word sub_037FBA94 +_037FBB9C: .word 0x027FFFE8 +_037FBBA0: .word 0x037FBBA4 + arm_func_end sub_037FBB84 - arm_func_start sub_02003D8C -sub_02003D8C: ; 0x02003D8C + arm_func_start sub_037FBBA4 +sub_037FBBA4: ; 0x037FBBA4 bx lr - arm_func_end sub_02003D8C + arm_func_end sub_037FBBA4 - arm_func_start sub_02003D90 -sub_02003D90: ; 0x02003D90 + arm_func_start sub_037FBBA8 +sub_037FBBA8: ; 0x037FBBA8 bx lr - arm_func_end sub_02003D90 + arm_func_end sub_037FBBA8 - arm_func_start sub_02003D94 -sub_02003D94: ; 0x02003D94 - ldr ip, _02003DA8 ; =sub_037FBA18 - ldr r1, _02003DAC ; =0x027FFFE0 - ldr r2, _02003DB0 ; =0x037FBBF0 + arm_func_start sub_037FBBAC +sub_037FBBAC: ; 0x037FBBAC + ldr ip, _037FBBC0 ; =sub_037FBA18 + ldr r1, _037FBBC4 ; =0x027FFFE0 + ldr r2, _037FBBC8 ; =0x037FBBF0 mov r3, #0 bx ip .align 2, 0 -_02003DA8: .word sub_037FBA18 -_02003DAC: .word 0x027FFFE0 -_02003DB0: .word 0x037FBBF0 - arm_func_end sub_02003D94 +_037FBBC0: .word sub_037FBA18 +_037FBBC4: .word 0x027FFFE0 +_037FBBC8: .word 0x037FBBF0 + arm_func_end sub_037FBBAC - arm_func_start sub_02003DB4 -sub_02003DB4: ; 0x02003DB4 - ldr ip, _02003DC8 ; =sub_037FBA94 - ldr r1, _02003DCC ; =0x027FFFE0 - ldr r2, _02003DD0 ; =0x037FBBEC + arm_func_start sub_037FBBCC +sub_037FBBCC: ; 0x037FBBCC + ldr ip, _037FBBE0 ; =sub_037FBA94 + ldr r1, _037FBBE4 ; =0x027FFFE0 + ldr r2, _037FBBE8 ; =0x037FBBEC mov r3, #0 bx ip .align 2, 0 -_02003DC8: .word sub_037FBA94 -_02003DCC: .word 0x027FFFE0 -_02003DD0: .word 0x037FBBEC - arm_func_end sub_02003DB4 +_037FBBE0: .word sub_037FBA94 +_037FBBE4: .word 0x027FFFE0 +_037FBBE8: .word 0x037FBBEC + arm_func_end sub_037FBBCC - arm_func_start sub_02003DD4 -sub_02003DD4: ; 0x02003DD4 + arm_func_start sub_037FBBEC +sub_037FBBEC: ; 0x037FBBEC bx lr - arm_func_end sub_02003DD4 + arm_func_end sub_037FBBEC - arm_func_start sub_02003DD8 -sub_02003DD8: ; 0x02003DD8 + arm_func_start sub_037FBBF0 +sub_037FBBF0: ; 0x037FBBF0 bx lr - arm_func_end sub_02003DD8 + arm_func_end sub_037FBBF0 - arm_func_start sub_02003DDC -sub_02003DDC: ; 0x02003DDC + arm_func_start sub_037FBBF4 +sub_037FBBF4: ; 0x037FBBF4 ldrh r0, [r0, #4] bx lr - arm_func_end sub_02003DDC + arm_func_end sub_037FBBF4 - arm_func_start sub_02003DE4 -sub_02003DE4: ; 0x02003DE4 - ldr r3, _02003E84 ; =0x027FFFB8 + arm_func_start sub_037FBBFC +sub_037FBBFC: ; 0x037FBBFC + ldr r3, _037FBC9C ; =0x027FFFB8 ldr r1, [r3] mov r2, #0 mov r0, #0x80000000 -_02003DF4: +_037FBC0C: tst r1, r0 - bne _02003E10 + bne _037FBC28 add r2, r2, #1 cmp r2, #0x20 - beq _02003E10 + beq _037FBC28 mov r0, r0, lsr #1 - b _02003DF4 -_02003E10: + b _037FBC0C +_037FBC28: cmp r2, #0x20 - bne _02003E1C - b _02003E20 -_02003E1C: + bne _037FBC34 + b _037FBC38 +_037FBC34: mov r0, #0x80 -_02003E20: - bne _02003E68 +_037FBC38: + bne _037FBC80 add r3, r3, #4 ldr r1, [r3] mov r2, #0 mov r0, #0x80000000 -_02003E34: +_037FBC4C: tst r1, r0 - bne _02003E50 + bne _037FBC68 add r2, r2, #1 cmp r2, #0x20 - beq _02003E50 + beq _037FBC68 mov r0, r0, lsr #1 - b _02003E34 -_02003E50: + b _037FBC4C +_037FBC68: cmp r2, #0x20 - ldr r0, _02003E88 ; =0xFFFFFFFD - beq _02003E60 - b _02003E64 -_02003E60: + ldr r0, _037FBCA0 ; =0xFFFFFFFD + beq _037FBC78 + b _037FBC7C +_037FBC78: bx lr -_02003E64: +_037FBC7C: mov r0, #0xa0 -_02003E68: +_037FBC80: add r0, r0, r2 mov r1, #0x80000000 mov r1, r1, lsr r2 @@ -4595,29 +4595,29 @@ _02003E68: str r2, [r3] bx lr .align 2, 0 -_02003E84: .word 0x027FFFB8 -_02003E88: .word 0xFFFFFFFD - arm_func_end sub_02003DE4 +_037FBC9C: .word 0x027FFFB8 +_037FBCA0: .word 0xFFFFFFFD + arm_func_end sub_037FBBFC - arm_func_start sub_02003E8C -sub_02003E8C: ; 0x02003E8C - ldr r3, _02003ED0 ; =0x027FFFB8 + arm_func_start sub_037FBCA4 +sub_037FBCA4: ; 0x037FBCA4 + ldr r3, _037FBCE8 ; =0x027FFFB8 cmp r0, #0xa0 - bpl _02003E9C - b _02003EA0 -_02003E9C: + bpl _037FBCB4 + b _037FBCB8 +_037FBCB4: add r3, r3, #4 -_02003EA0: - bpl _02003EA8 - b _02003EAC -_02003EA8: +_037FBCB8: + bpl _037FBCC0 + b _037FBCC4 +_037FBCC0: sub r0, r0, #0xa0 -_02003EAC: - bmi _02003EB4 - b _02003EB8 -_02003EB4: +_037FBCC4: + bmi _037FBCCC + b _037FBCD0 +_037FBCCC: sub r0, r0, #0x80 -_02003EB8: +_037FBCD0: mov r1, #0x80000000 mov r1, r1, lsr r0 ldr r2, [r3] @@ -4625,27 +4625,27 @@ _02003EB8: str r2, [r3] bx lr .align 2, 0 -_02003ED0: .word 0x027FFFB8 - arm_func_end sub_02003E8C +_037FBCE8: .word 0x027FFFB8 + arm_func_end sub_037FBCA4 - arm_func_start sub_02003ED4 -sub_02003ED4: ; 0x02003ED4 + arm_func_start sub_037FBCEC +sub_037FBCEC: ; 0x037FBCEC ldr ip, [r0] - b _02003EE8 -_02003EDC: + b _037FBD00 +_037FBCF4: cmp ip, r1 bxeq lr ldr ip, [ip, #0x64] -_02003EE8: +_037FBD00: cmp ip, #0 - beq _02003F00 + beq _037FBD18 ldr r3, [ip, #0x54] ldr r2, [r1, #0x54] cmp r3, r2 - bls _02003EDC -_02003F00: + bls _037FBCF4 +_037FBD18: cmp ip, #0 - bne _02003F2C + bne _037FBD44 ldr r2, [r0, #4] cmp r2, #0 streq r1, [r0] @@ -4655,7 +4655,7 @@ _02003F00: str r2, [r1, #0x64] str r1, [r0, #4] bx lr -_02003F2C: +_037FBD44: ldr r2, [ip, #0x60] cmp r2, #0 streq r1, [r0] @@ -4664,18 +4664,18 @@ _02003F2C: str ip, [r1, #0x64] str r1, [ip, #0x60] bx lr - arm_func_end sub_02003ED4 + arm_func_end sub_037FBCEC - arm_func_start sub_02003F4C -sub_02003F4C: ; 0x02003F4C + arm_func_start sub_037FBD64 +sub_037FBD64: ; 0x037FBD64 stmdb sp!, {r3, lr} ldr lr, [r0] mov r2, lr - b _02003F90 -_02003F5C: + b _037FBDA8 +_037FBD74: ldr r3, [r2, #0x64] cmp r2, r1 - bne _02003F8C + bne _037FBDA4 ldr ip, [r2, #0x60] cmp lr, r2 streq r3, [r0] @@ -4684,23 +4684,23 @@ _02003F5C: cmp r1, r2 streq ip, [r0, #4] strne ip, [r3, #0x60] - b _02003F98 -_02003F8C: + b _037FBDB0 +_037FBDA4: mov r2, r3 -_02003F90: +_037FBDA8: cmp r2, #0 - bne _02003F5C -_02003F98: + bne _037FBD74 +_037FBDB0: mov r0, r2 ldmia sp!, {r3, lr} bx lr - arm_func_end sub_02003F4C + arm_func_end sub_037FBD64 - arm_func_start sub_02003FA4 -sub_02003FA4: ; 0x02003FA4 + arm_func_start sub_037FBDBC +sub_037FBDBC: ; 0x037FBDBC ldr r2, [r0] cmp r2, #0 - beq _02003FCC + beq _037FBDE4 ldr r1, [r2, #0x10] str r1, [r0] cmp r1, #0 @@ -4708,32 +4708,32 @@ sub_02003FA4: ; 0x02003FA4 strne r0, [r1, #0x14] moveq r1, #0 streq r1, [r0, #4] -_02003FCC: +_037FBDE4: mov r0, r2 bx lr - arm_func_end sub_02003FA4 + arm_func_end sub_037FBDBC - arm_func_start sub_02003FD4 -sub_02003FD4: ; 0x02003FD4 + arm_func_start sub_037FBDEC +sub_037FBDEC: ; 0x037FBDEC stmdb sp!, {r3, lr} - ldr r1, _02004030 ; =0x03807680 + ldr r1, _037FBE48 ; =0x03807680 mov ip, #0 ldr lr, [r1, #0x2c] mov r3, lr - b _02003FF4 -_02003FEC: + b _037FBE0C +_037FBE04: mov ip, r3 ldr r3, [r3, #0x4c] -_02003FF4: +_037FBE0C: cmp r3, #0 - beq _0200400C + beq _037FBE24 ldr r2, [r3, #0x54] ldr r1, [r0, #0x54] cmp r2, r1 - blo _02003FEC -_0200400C: + blo _037FBE04 +_037FBE24: cmp ip, #0 - ldreq r1, _02004030 ; =0x03807680 + ldreq r1, _037FBE48 ; =0x03807680 streq lr, [r0, #0x4c] streq r0, [r1, #0x2c] ldrne r1, [ip, #0x4c] @@ -4742,105 +4742,105 @@ _0200400C: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02004030: .word 0x03807680 - arm_func_end sub_02003FD4 +_037FBE48: .word 0x03807680 + arm_func_end sub_037FBDEC - arm_func_start sub_02004034 -sub_02004034: ; 0x02004034 - ldr r1, _02004074 ; =0x03807680 + arm_func_start sub_037FBE4C +sub_037FBE4C: ; 0x037FBE4C + ldr r1, _037FBE8C ; =0x03807680 mov r2, #0 ldr r1, [r1, #0x2c] - b _0200404C -_02004044: + b _037FBE64 +_037FBE5C: mov r2, r1 ldr r1, [r1, #0x4c] -_0200404C: +_037FBE64: cmp r1, #0 cmpne r1, r0 - bne _02004044 + bne _037FBE5C cmp r2, #0 ldreq r1, [r0, #0x4c] - ldreq r0, _02004074 ; =0x03807680 + ldreq r0, _037FBE8C ; =0x03807680 streq r1, [r0, #0x2c] ldrne r0, [r0, #0x4c] strne r0, [r2, #0x4c] bx lr .align 2, 0 -_02004074: .word 0x03807680 - arm_func_end sub_02004034 +_037FBE8C: .word 0x03807680 + arm_func_end sub_037FBE4C - arm_func_start sub_02004078 -sub_02004078: ; 0x02004078 + arm_func_start sub_037FBE90 +sub_037FBE90: ; 0x037FBE90 stmdb sp!, {r4, r5, r6, lr} - ldr r0, _02004144 ; =0x03807680 + ldr r0, _037FBF5C ; =0x03807680 ldr r1, [r0, #4] cmp r1, #0 - bne _0200413C + bne _037FBF54 ldrh r0, [r0, #0x26] - ldr r4, _02004148 ; =0x038076A4 + ldr r4, _037FBF60 ; =0x038076A4 cmp r0, #0 - bne _020040A8 - bl sub_02005F40 + bne _037FBEC0 + bl sub_037FDD58 cmp r0, #0x12 - bne _020040B4 -_020040A8: + bne _037FBECC +_037FBEC0: mov r0, #1 strh r0, [r4] - b _0200413C -_020040B4: - ldr r0, _02004144 ; =0x03807680 + b _037FBF54 +_037FBECC: + ldr r0, _037FBF5C ; =0x03807680 ldr r0, [r0, #8] ldr r6, [r0] - bl sub_02004580 + bl sub_037FC398 mov r5, r0 cmp r6, r5 cmpne r5, #0 - beq _0200413C + beq _037FBF54 ldr r0, [r6, #0x48] cmp r0, #2 - beq _020040F0 + beq _037FBF08 mov r0, r6 - bl sub_02004834 + bl sub_037FC64C cmp r0, #0 - bne _0200413C -_020040F0: - ldr r0, _02004144 ; =0x03807680 + bne _037FBF54 +_037FBF08: + ldr r0, _037FBF5C ; =0x03807680 ldr r2, [r0] cmp r2, #0 - beq _02004110 + beq _037FBF28 mov r0, r6 mov r1, r5 mov lr, pc bx r2 -_02004110: +_037FBF28: ldr r2, [r4, #0xc] cmp r2, #0 - beq _0200412C + beq _037FBF44 mov r0, r6 mov r1, r5 mov lr, pc bx r2 -_0200412C: - ldr r1, _02004144 ; =0x03807680 +_037FBF44: + ldr r1, _037FBF5C ; =0x03807680 mov r0, r5 str r5, [r1, #0x28] - bl sub_02004868 -_0200413C: + bl sub_037FC680 +_037FBF54: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_02004144: .word 0x03807680 -_02004148: .word 0x038076A4 - arm_func_end sub_02004078 +_037FBF5C: .word 0x03807680 +_037FBF60: .word 0x038076A4 + arm_func_end sub_037FBE90 - arm_func_start sub_0200414C -sub_0200414C: ; 0x0200414C + arm_func_start sub_037FBF64 +sub_037FBF64: ; 0x037FBF64 stmdb sp!, {r3, lr} - ldr r0, _02004210 ; =0x03807680 + ldr r0, _037FC028 ; =0x03807680 ldr r1, [r0, #0xc] cmp r1, #0 - bne _02004208 - ldr r1, _02004214 ; =0x038076A8 + bne _037FC020 + ldr r1, _037FC02C ; =0x038076A8 mov r2, #1 str r2, [r0, #0xc] str r1, [r0, #8] @@ -4850,64 +4850,64 @@ sub_0200414C: ; 0x0200414C str r3, [r0, #0x128] str r2, [r0, #0x120] str r3, [r0, #0x124] - ldr r2, _02004218 ; =0x00000400 - ldr r1, _0200421C ; =0x03807758 + ldr r2, _037FC030 ; =0x00000400 + ldr r1, _037FC034 ; =0x03807758 str r3, [r0, #0x130] str r1, [r0, #0x2c] str r1, [r0, #0x28] cmp r2, #0 - ldrle r0, _02004220 ; =0x037F8000 - ldrgt r1, _02004224 ; =0x00000400 - ldrgt r0, _02004228 ; =0x0380FF80 + ldrle r0, _037FC038 ; =0x037F8000 + ldrgt r1, _037FC03C ; =0x00000400 + ldrgt r0, _037FC040 ; =0x0380FF80 subgt r0, r0, r1 sub ip, r0, r2 - ldr r2, _02004224 ; =0x00000400 - ldr r0, _02004228 ; =0x0380FF80 - ldr r1, _02004210 ; =0x03807680 + ldr r2, _037FC03C ; =0x00000400 + ldr r0, _037FC040 ; =0x0380FF80 + ldr r1, _037FC028 ; =0x03807680 sub r3, r0, r2 str r3, [r1, #0x150] str ip, [r1, #0x14c] mov r0, #0 - ldr r2, _0200422C ; =0xD73BFDF7 + ldr r2, _037FC044 ; =0xD73BFDF7 str r0, [r1, #0x154] str r2, [r3, #-4] ldr r2, [r1, #0x14c] - ldr ip, _02004230 ; =0xFBDD37BB - ldr r3, _02004234 ; =0x038076A4 + ldr ip, _037FC048 ; =0xFBDD37BB + ldr r3, _037FC04C ; =0x038076A4 str ip, [r2] str r0, [r1, #0x15c] str r0, [r1, #0x158] strh r0, [r1, #0x24] - ldr r2, _02004238 ; =0x027FFFA4 + ldr r2, _037FC050 ; =0x027FFFA4 strh r0, [r1, #0x26] str r3, [r2] - bl sub_02004714 -_02004208: + bl sub_037FC52C +_037FC020: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02004210: .word 0x03807680 -_02004214: .word 0x038076A8 -_02004218: .word 0x00000400 -_0200421C: .word 0x03807758 -_02004220: .word 0x037F8000 -_02004224: .word 0x00000400 -_02004228: .word 0x0380FF80 -_0200422C: .word 0xD73BFDF7 -_02004230: .word 0xFBDD37BB -_02004234: .word 0x038076A4 -_02004238: .word 0x027FFFA4 - arm_func_end sub_0200414C +_037FC028: .word 0x03807680 +_037FC02C: .word 0x038076A8 +_037FC030: .word 0x00000400 +_037FC034: .word 0x03807758 +_037FC038: .word 0x037F8000 +_037FC03C: .word 0x00000400 +_037FC040: .word 0x0380FF80 +_037FC044: .word 0xD73BFDF7 +_037FC048: .word 0xFBDD37BB +_037FC04C: .word 0x038076A4 +_037FC050: .word 0x027FFFA4 + arm_func_end sub_037FBF64 - arm_func_start sub_0200423C -sub_0200423C: ; 0x0200423C + arm_func_start sub_037FC054 +sub_037FC054: ; 0x037FC054 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r5, r1 mov r7, r2 mov r6, r3 - bl sub_02005EE8 - ldr r1, _02004334 ; =0x03807680 + bl sub_037FDD00 + ldr r1, _037FC14C ; =0x03807680 ldr r2, [sp, #0x1c] ldr r3, [r1, #0x20] mov r4, r0 @@ -4919,7 +4919,7 @@ sub_0200423C: ; 0x0200423C str r1, [r8, #0x48] mov r0, r8 str r1, [r8, #0x58] - bl sub_02003FD4 + bl sub_037FBDEC ldr r0, [sp, #0x18] mov r1, r5 str r6, [r8, #0x78] @@ -4928,24 +4928,24 @@ sub_0200423C: ; 0x0200423C str r5, [r8, #0x74] mov ip, #0 str ip, [r8, #0x7c] - ldr r6, _02004338 ; =0xD73BFDF7 + ldr r6, _037FC150 ; =0xD73BFDF7 ldr r0, [r8, #0x78] - ldr r3, _0200433C ; =0xFBDD37BB + ldr r3, _037FC154 ; =0xFBDD37BB str r6, [r0, #-4] ldr r0, [r8, #0x74] str r3, [r0] str ip, [r8, #0x84] mov r0, r8 str ip, [r8, #0x80] - bl sub_020047B0 - ldr r2, _02004340 ; =0x037FC15C + bl sub_037FC5C8 + ldr r2, _037FC158 ; =0x037FC15C str r7, [r8, #4] str r2, [r8, #0x3c] ldr r2, [sp, #0x18] add r1, r5, #4 mov r0, #0 sub r2, r2, #8 - bl sub_020061B8 + bl sub_037FDFD0 mov r0, #0 str r0, [r8, #0x68] str r0, [r8, #0x6c] @@ -4956,45 +4956,45 @@ sub_0200423C: ; 0x0200423C str r0, [r8, #0x60] add r1, r8, #0x88 mov r2, #0xc - bl sub_020061B8 + bl sub_037FDFD0 mov r1, #0 mov r0, r4 str r1, [r8, #0x94] - bl sub_02005EFC + bl sub_037FDD14 ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_02004334: .word 0x03807680 -_02004338: .word 0xD73BFDF7 -_0200433C: .word 0xFBDD37BB -_02004340: .word 0x037FC15C - arm_func_end sub_0200423C +_037FC14C: .word 0x03807680 +_037FC150: .word 0xD73BFDF7 +_037FC154: .word 0xFBDD37BB +_037FC158: .word 0x037FC15C + arm_func_end sub_037FC054 - arm_func_start sub_02004344 -sub_02004344: ; 0x02004344 + arm_func_start sub_037FC15C +sub_037FC15C: ; 0x037FC15C stmdb sp!, {r3, lr} - bl sub_02005EE8 - ldr r0, _02004364 ; =0x03807680 + bl sub_037FDD00 + ldr r0, _037FC17C ; =0x03807680 mov r1, #0 ldr r0, [r0, #0x28] - bl sub_02004368 + bl sub_037FC180 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02004364: .word 0x03807680 - arm_func_end sub_02004344 +_037FC17C: .word 0x03807680 + arm_func_end sub_037FC15C - arm_func_start sub_02004368 -sub_02004368: ; 0x02004368 + arm_func_start sub_037FC180 +sub_037FC180: ; 0x037FC180 stmdb sp!, {r3, r4, r5, lr} - ldr r2, _020043C0 ; =0x03807680 + ldr r2, _037FC1D8 ; =0x03807680 mov r5, r0 ldr r2, [r2, #0x1c] mov r4, r1 cmp r2, #0 - beq _020043B0 - ldr r1, _020043C4 ; =0x037FC1E0 - bl sub_020047B0 + beq _037FC1C8 + ldr r1, _037FC1DC ; =0x037FC1E0 + bl sub_037FC5C8 str r4, [r5, #4] ldr r1, [r5] mov r0, r5 @@ -5002,242 +5002,242 @@ sub_02004368: ; 0x02004368 str r1, [r5] mov r1, #1 str r1, [r5, #0x48] - bl sub_02004868 - b _020043B8 -_020043B0: + bl sub_037FC680 + b _037FC1D0 +_037FC1C8: mov r0, r4 - bl sub_020043C8 -_020043B8: + bl sub_037FC1E0 +_037FC1D0: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_020043C0: .word 0x03807680 -_020043C4: .word 0x037FC1E0 - arm_func_end sub_02004368 +_037FC1D8: .word 0x03807680 +_037FC1DC: .word 0x037FC1E0 + arm_func_end sub_037FC180 - arm_func_start sub_020043C8 -sub_020043C8: ; 0x020043C8 + arm_func_start sub_037FC1E0 +sub_037FC1E0: ; 0x037FC1E0 stmdb sp!, {r3, lr} - ldr r1, _02004404 ; =0x03807680 + ldr r1, _037FC21C ; =0x03807680 ldr r1, [r1, #8] ldr r3, [r1] ldr r2, [r3, #0x98] cmp r2, #0 - beq _020043F8 + beq _037FC210 mov r1, #0 str r1, [r3, #0x98] mov lr, pc bx r2 -_020043F4: - bl sub_02005EE8 -_020043F8: - bl sub_02004408 +_037FC20C: + bl sub_037FDD00 +_037FC210: + bl sub_037FC220 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02004404: .word 0x03807680 - arm_func_end sub_020043C8 +_037FC21C: .word 0x03807680 + arm_func_end sub_037FC1E0 - arm_func_start sub_02004408 -sub_02004408: ; 0x02004408 + arm_func_start sub_037FC220 +sub_037FC220: ; 0x037FC220 stmdb sp!, {r4, lr} - ldr r0, _02004474 ; =0x03807680 + ldr r0, _037FC28C ; =0x03807680 ldr r0, [r0, #8] ldr r4, [r0] - bl sub_02004740 + bl sub_037FC558 mov r0, r4 - bl sub_02004B54 + bl sub_037FC96C ldr r0, [r4, #0x5c] cmp r0, #0 - beq _02004438 + beq _037FC250 mov r1, r4 - bl sub_02003F4C -_02004438: + bl sub_037FBD64 +_037FC250: mov r0, r4 - bl sub_02004034 + bl sub_037FBE4C mov r1, #2 add r0, r4, #0x80 str r1, [r4, #0x48] - bl sub_020044CC - bl sub_02004778 - bl sub_02005EE8 + bl sub_037FC2E4 + bl sub_037FC590 + bl sub_037FDD00 mov r4, r0 - bl sub_02004078 + bl sub_037FBE90 mov r0, r4 - bl sub_02005EFC - bl sub_02006058 + bl sub_037FDD14 + bl sub_037FDE70 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02004474: .word 0x03807680 - arm_func_end sub_02004408 +_037FC28C: .word 0x03807680 + arm_func_end sub_037FC220 - arm_func_start sub_02004478 -sub_02004478: ; 0x02004478 + arm_func_start sub_037FC290 +sub_037FC290: ; 0x037FC290 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 - bl sub_02005EE8 - ldr r1, _020044C8 ; =0x03807680 + bl sub_037FDD00 + ldr r1, _037FC2E0 ; =0x03807680 mov r4, r0 ldr r0, [r1, #8] cmp r6, #0 ldr r5, [r0] - beq _020044AC + beq _037FC2C4 mov r0, r6 mov r1, r5 str r6, [r5, #0x5c] - bl sub_02003ED4 -_020044AC: + bl sub_037FBCEC +_037FC2C4: mov r0, #0 str r0, [r5, #0x48] - bl sub_02004078 + bl sub_037FBE90 mov r0, r4 - bl sub_02005EFC + bl sub_037FDD14 ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_020044C8: .word 0x03807680 - arm_func_end sub_02004478 +_037FC2E0: .word 0x03807680 + arm_func_end sub_037FC290 - arm_func_start sub_020044CC -sub_020044CC: ; 0x020044CC + arm_func_start sub_037FC2E4 +sub_037FC2E4: ; 0x037FC2E4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 - bl sub_02005EE8 + bl sub_037FDD00 ldr r1, [r5] mov r4, r0 cmp r1, #0 - beq _02004544 + beq _037FC35C mov r2, #0 mov r3, r2 mov r1, #1 mov r0, r2 - b _02004528 -_020044FC: - beq _02004518 + b _037FC340 +_037FC314: + beq _037FC330 ldr ip, [lr, #0x64] str ip, [r5] cmp ip, #0 strne r3, [ip, #0x60] streq r2, [r5, #4] streq r2, [lr, #0x5c] -_02004518: +_037FC330: str r1, [lr, #0x48] str r0, [lr, #0x5c] str r0, [lr, #0x64] str r0, [lr, #0x60] -_02004528: +_037FC340: ldr lr, [r5] cmp lr, #0 - bne _020044FC + bne _037FC314 mov r0, #0 str r0, [r5, #4] str r0, [r5] - bl sub_02004078 -_02004544: + bl sub_037FBE90 +_037FC35C: mov r0, r4 - bl sub_02005EFC + bl sub_037FDD14 ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_020044CC + arm_func_end sub_037FC2E4 - arm_func_start sub_02004554 -sub_02004554: ; 0x02004554 + arm_func_start sub_037FC36C +sub_037FC36C: ; 0x037FC36C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 - bl sub_02005EE8 + bl sub_037FDD00 mov r1, #1 mov r4, r0 str r1, [r5, #0x48] - bl sub_02004078 + bl sub_037FBE90 mov r0, r4 - bl sub_02005EFC + bl sub_037FDD14 ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_02004554 + arm_func_end sub_037FC36C - arm_func_start sub_02004580 -sub_02004580: ; 0x02004580 - ldr r0, _020045A4 ; =0x03807680 + arm_func_start sub_037FC398 +sub_037FC398: ; 0x037FC398 + ldr r0, _037FC3BC ; =0x03807680 ldr r0, [r0, #0x2c] - b _02004590 -_0200458C: + b _037FC3A8 +_037FC3A4: ldr r0, [r0, #0x4c] -_02004590: +_037FC3A8: cmp r0, #0 ldrne r1, [r0, #0x48] cmpne r1, #1 - bne _0200458C + bne _037FC3A4 bx lr .align 2, 0 -_020045A4: .word 0x03807680 - arm_func_end sub_02004580 +_037FC3BC: .word 0x03807680 + arm_func_end sub_037FC398 - arm_func_start sub_020045A8 -sub_020045A8: ; 0x020045A8 + arm_func_start sub_037FC3C0 +sub_037FC3C0: ; 0x037FC3C0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r2, _02004648 ; =0x03807680 + ldr r2, _037FC460 ; =0x03807680 mov r7, r0 ldr r8, [r2, #0x2c] mov r6, r1 mov r4, #0 - bl sub_02005EE8 + bl sub_037FDD00 mov r5, r0 - b _020045D4 -_020045CC: + b _037FC3EC +_037FC3E4: mov r4, r8 ldr r8, [r8, #0x4c] -_020045D4: +_037FC3EC: cmp r8, #0 cmpne r8, r7 - bne _020045CC + bne _037FC3E4 cmp r8, #0 - ldrne r0, _0200464C ; =0x038076B4 + ldrne r0, _037FC464 ; =0x038076B4 cmpne r8, r0 - bne _02004600 + bne _037FC418 mov r0, r5 - bl sub_02005EFC + bl sub_037FDD14 mov r0, #0 - b _02004640 -_02004600: + b _037FC458 +_037FC418: ldr r0, [r8, #0x54] cmp r0, r6 - beq _02004634 + beq _037FC44C cmp r4, #0 ldreq r1, [r7, #0x4c] - ldreq r0, _02004648 ; =0x03807680 + ldreq r0, _037FC460 ; =0x03807680 streq r1, [r0, #0x2c] ldrne r0, [r7, #0x4c] strne r0, [r4, #0x4c] mov r0, r7 str r6, [r7, #0x54] - bl sub_02003FD4 - bl sub_02004078 -_02004634: + bl sub_037FBDEC + bl sub_037FBE90 +_037FC44C: mov r0, r5 - bl sub_02005EFC + bl sub_037FDD14 mov r0, #1 -_02004640: +_037FC458: ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_02004648: .word 0x03807680 -_0200464C: .word 0x038076B4 - arm_func_end sub_020045A8 +_037FC460: .word 0x03807680 +_037FC464: .word 0x038076B4 + arm_func_end sub_037FC3C0 - arm_func_start sub_02004650 -sub_02004650: ; 0x02004650 + arm_func_start sub_037FC468 +sub_037FC468: ; 0x037FC468 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x34 mov r4, r0 add r0, sp, #8 - bl sub_02005588 - ldr r0, _020046E8 ; =0x03807680 + bl sub_037FD3A0 + ldr r0, _037FC500 ; =0x03807680 ldr r0, [r0, #8] ldr r0, [r0] str r0, [sp, #4] - bl sub_02005EE8 - ldr r1, _020046EC ; =0x000082EA + bl sub_037FDD00 + ldr r1, _037FC504 ; =0x000082EA mov r2, #0 umull ip, r3, r4, r1 mla r3, r4, r2, r3 @@ -5251,119 +5251,119 @@ sub_02004650: ; 0x02004650 str r2, [sp] mov r2, r3, lsr #6 orr r1, r1, r3, lsl #26 - ldr r3, _020046F0 ; =0x037FC50C - bl sub_020056C4 + ldr r3, _037FC508 ; =0x037FC50C + bl sub_037FD4DC mov r4, #0 - b _020046C8 -_020046C0: + b _037FC4E0 +_037FC4D8: mov r0, r4 - bl sub_02004478 -_020046C8: + bl sub_037FC290 +_037FC4E0: ldr r0, [sp, #4] cmp r0, #0 - bne _020046C0 + bne _037FC4D8 mov r0, r5 - bl sub_02005EFC + bl sub_037FDD14 add sp, sp, #0x34 ldmia sp!, {r4, r5, lr} bx lr .align 2, 0 -_020046E8: .word 0x03807680 -_020046EC: .word 0x000082EA -_020046F0: .word 0x037FC50C - arm_func_end sub_02004650 +_037FC500: .word 0x03807680 +_037FC504: .word 0x000082EA +_037FC508: .word 0x037FC50C + arm_func_end sub_037FC468 - arm_func_start sub_020046F4 -sub_020046F4: ; 0x020046F4 + arm_func_start sub_037FC50C +sub_037FC50C: ; 0x037FC50C ldr r2, [r0] mov r1, #0 str r1, [r0] - ldr ip, _02004710 ; =sub_037FC36C + ldr ip, _037FC528 ; =sub_037FC36C mov r0, r2 str r1, [r2, #0x94] bx ip .align 2, 0 -_02004710: .word sub_037FC36C - arm_func_end sub_020046F4 +_037FC528: .word sub_037FC36C + arm_func_end sub_037FC50C - arm_func_start sub_02004714 -sub_02004714: ; 0x02004714 + arm_func_start sub_037FC52C +sub_037FC52C: ; 0x037FC52C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 - bl sub_02005EE8 - ldr r1, _0200473C ; =0x03807680 + bl sub_037FDD00 + ldr r1, _037FC554 ; =0x03807680 ldr r4, [r1, #0x30] str r5, [r1, #0x30] - bl sub_02005EFC + bl sub_037FDD14 mov r0, r4 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0200473C: .word 0x03807680 - arm_func_end sub_02004714 +_037FC554: .word 0x03807680 + arm_func_end sub_037FC52C - arm_func_start sub_02004740 -sub_02004740: ; 0x02004740 + arm_func_start sub_037FC558 +sub_037FC558: ; 0x037FC558 stmdb sp!, {r4, lr} - bl sub_02005EE8 - ldr r2, _02004774 ; =0x03807680 + bl sub_037FDD00 + ldr r2, _037FC58C ; =0x03807680 mvn r1, #0 ldr r3, [r2, #4] cmp r3, r1 addlo r1, r3, #1 strlo r1, [r2, #4] movlo r4, r3 - bl sub_02005EFC + bl sub_037FDD14 mov r0, r4 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02004774: .word 0x03807680 - arm_func_end sub_02004740 +_037FC58C: .word 0x03807680 + arm_func_end sub_037FC558 - arm_func_start sub_02004778 -sub_02004778: ; 0x02004778 + arm_func_start sub_037FC590 +sub_037FC590: ; 0x037FC590 stmdb sp!, {r4, lr} - bl sub_02005EE8 - ldr r1, _020047AC ; =0x03807680 + bl sub_037FDD00 + ldr r1, _037FC5C4 ; =0x03807680 mov r4, #0 ldr r3, [r1, #4] cmp r3, #0 subne r2, r3, #1 strne r2, [r1, #4] movne r4, r3 - bl sub_02005EFC + bl sub_037FDD14 mov r0, r4 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_020047AC: .word 0x03807680 - arm_func_end sub_02004778 +_037FC5C4: .word 0x03807680 + arm_func_end sub_037FC590 - arm_func_start sub_020047B0 -sub_020047B0: ; 0x020047B0 + arm_func_start sub_037FC5C8 +sub_037FC5C8: ; 0x037FC5C8 add r1, r1, #4 str r1, [r0, #0x40] str r2, [r0, #0x44] sub r2, r2, #0x40 tst r2, #4 - bne _020047CC - b _020047D0 -_020047CC: + bne _037FC5E4 + b _037FC5E8 +_037FC5E4: sub r2, r2, #4 -_020047D0: +_037FC5E8: str r2, [r0, #0x38] ands r1, r1, #1 - bne _020047E0 - b _020047E4 -_020047E0: + bne _037FC5F8 + b _037FC5FC +_037FC5F8: mov r1, #0x3f -_020047E4: - beq _020047EC - b _020047F0 -_020047EC: +_037FC5FC: + beq _037FC604 + b _037FC608 +_037FC604: mov r1, #0x1f -_020047F0: +_037FC608: str r1, [r0] mov r1, #0 str r1, [r0, #4] @@ -5381,10 +5381,10 @@ _020047F0: str r1, [r0, #0x34] str r1, [r0, #0x3c] bx lr - arm_func_end sub_020047B0 + arm_func_end sub_037FC5C8 - arm_func_start sub_02004834 -sub_02004834: ; 0x02004834 + arm_func_start sub_037FC64C +sub_037FC64C: ; 0x037FC64C add r1, r0, #0 mrs r2, cpsr str r2, [r1], #4 @@ -5394,14 +5394,14 @@ sub_02004834: ; 0x02004834 msr cpsr_c, r2 mov r0, #1 stmia r1, {r0, r1, r2, r3, r4, r5, r6, r7, r8, sb, sl, fp, ip, sp, lr} - add r0, pc, #0x8 ; =sub_02004868 + add r0, pc, #0x8 ; =sub_037FC680 str r0, [r1, #0x3c] mov r0, #0 bx lr - arm_func_end sub_02004834 + arm_func_end sub_037FC64C - arm_func_start sub_02004868 -sub_02004868: ; 0x02004868 + arm_func_start sub_037FC680 +sub_037FC680: ; 0x037FC680 mrs r1, cpsr bic r1, r1, #0x1f orr r1, r1, #0xd3 @@ -5413,10 +5413,10 @@ sub_02004868: ; 0x02004868 ldmia r0, {r0, r1, r2, r3, r4, r5, r6, r7, r8, sb, sl, fp, ip, sp, lr} ^ mov r0, r0 subs pc, lr, #4 - arm_func_end sub_02004868 + arm_func_end sub_037FC680 - arm_func_start sub_02004894 -sub_02004894: ; 0x02004894 + arm_func_start sub_037FC6AC +sub_037FC6AC: ; 0x037FC6AC mov r3, #0 str r3, [r0, #4] str r3, [r0] @@ -5427,75 +5427,75 @@ sub_02004894: ; 0x02004894 str r3, [r0, #0x18] str r3, [r0, #0x1c] bx lr - arm_func_end sub_02004894 + arm_func_end sub_037FC6AC - arm_func_start sub_020048BC -sub_020048BC: ; 0x020048BC + arm_func_start sub_037FC6D4 +sub_037FC6D4: ; 0x037FC6D4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r2 mov r6, r0 mov r5, r1 - bl sub_02005EE8 + bl sub_037FDD00 mov r4, r0 and r7, r7, #1 - b _020048FC -_020048DC: + b _037FC714 +_037FC6F4: cmp r7, #0 - bne _020048F4 + bne _037FC70C mov r0, r4 - bl sub_02005EFC + bl sub_037FDD14 mov r0, #0 - b _02004940 -_020048F4: + b _037FC758 +_037FC70C: mov r0, r6 - bl sub_02004478 -_020048FC: + bl sub_037FC290 +_037FC714: ldr r2, [r6, #0x1c] ldr r1, [r6, #0x14] cmp r1, r2 - ble _020048DC + ble _037FC6F4 ldr r0, [r6, #0x18] add r0, r0, r2 - bl sub_0200EDB0 + bl sub_03806BC8 ldr r2, [r6, #0x10] add r0, r6, #8 str r5, [r2, r1, lsl #2] ldr r1, [r6, #0x1c] add r1, r1, #1 str r1, [r6, #0x1c] - bl sub_020044CC + bl sub_037FC2E4 mov r0, r4 - bl sub_02005EFC + bl sub_037FDD14 mov r0, #1 -_02004940: +_037FC758: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr - arm_func_end sub_020048BC + arm_func_end sub_037FC6D4 - arm_func_start sub_02004948 -sub_02004948: ; 0x02004948 + arm_func_start sub_037FC760 +sub_037FC760: ; 0x037FC760 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r2 mov r6, r0 mov r5, r1 - bl sub_02005EE8 + bl sub_037FDD00 mov r4, r0 and r7, r7, #1 - b _02004988 -_02004968: + b _037FC7A0 +_037FC780: cmp r7, #0 - bne _02004980 + bne _037FC798 mov r0, r4 - bl sub_02005EFC + bl sub_037FDD14 mov r0, #0 - b _020049DC -_02004980: + b _037FC7F4 +_037FC798: add r0, r6, #8 - bl sub_02004478 -_02004988: + bl sub_037FC290 +_037FC7A0: ldr r0, [r6, #0x1c] cmp r0, #0 - beq _02004968 + beq _037FC780 cmp r5, #0 ldrne r1, [r6, #0x10] ldrne r0, [r6, #0x18] @@ -5504,161 +5504,161 @@ _02004988: ldr r0, [r6, #0x18] ldr r1, [r6, #0x14] add r0, r0, #1 - bl sub_0200EDB0 + bl sub_03806BC8 str r1, [r6, #0x18] ldr r1, [r6, #0x1c] mov r0, r6 sub r1, r1, #1 str r1, [r6, #0x1c] - bl sub_020044CC + bl sub_037FC2E4 mov r0, r4 - bl sub_02005EFC + bl sub_037FDD14 mov r0, #1 -_020049DC: +_037FC7F4: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr - arm_func_end sub_02004948 + arm_func_end sub_037FC760 - arm_func_start sub_020049E4 -sub_020049E4: ; 0x020049E4 + arm_func_start sub_037FC7FC +sub_037FC7FC: ; 0x037FC7FC stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r2 mov r7, r0 mov r4, r1 - bl sub_02005EE8 + bl sub_037FDD00 mov r5, r0 and r6, r6, #1 - b _02004A24 -_02004A04: + b _037FC83C +_037FC81C: cmp r6, #0 - bne _02004A1C + bne _037FC834 mov r0, r5 - bl sub_02005EFC + bl sub_037FDD14 mov r0, #0 - b _02004A50 -_02004A1C: + b _037FC868 +_037FC834: add r0, r7, #8 - bl sub_02004478 -_02004A24: + bl sub_037FC290 +_037FC83C: ldr r0, [r7, #0x1c] cmp r0, #0 - beq _02004A04 + beq _037FC81C cmp r4, #0 ldrne r1, [r7, #0x10] ldrne r0, [r7, #0x18] ldrne r0, [r1, r0, lsl #2] strne r0, [r4] mov r0, r5 - bl sub_02005EFC + bl sub_037FDD14 mov r0, #1 -_02004A50: +_037FC868: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr - arm_func_end sub_020049E4 + arm_func_end sub_037FC7FC - arm_func_start sub_02004A58 -sub_02004A58: ; 0x02004A58 + arm_func_start sub_037FC870 +sub_037FC870: ; 0x037FC870 mov r1, #0 str r1, [r0, #4] str r1, [r0] str r1, [r0, #8] str r1, [r0, #0xc] bx lr - arm_func_end sub_02004A58 + arm_func_end sub_037FC870 - arm_func_start sub_02004A70 -sub_02004A70: ; 0x02004A70 + arm_func_start sub_037FC888 +sub_037FC888: ; 0x037FC888 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r0 - bl sub_02005EE8 - ldr r1, _02004AF0 ; =0x038076A4 + bl sub_037FDD00 + ldr r1, _037FC908 ; =0x038076A4 mov r4, r0 ldr r7, [r1, #4] mov r6, #0 -_02004A8C: +_037FC8A4: ldr r0, [r5, #8] cmp r0, #0 - bne _02004AB8 + bne _037FC8D0 str r7, [r5, #8] ldr r1, [r5, #0xc] mov r0, r7 add r2, r1, #1 mov r1, r5 str r2, [r5, #0xc] - bl sub_02004B8C - b _02004AE0 -_02004AB8: + bl sub_037FC9A4 + b _037FC8F8 +_037FC8D0: cmp r0, r7 ldreq r0, [r5, #0xc] addeq r0, r0, #1 streq r0, [r5, #0xc] - beq _02004AE0 + beq _037FC8F8 str r5, [r7, #0x68] mov r0, r5 - bl sub_02004478 + bl sub_037FC290 str r6, [r7, #0x68] - b _02004A8C -_02004AE0: + b _037FC8A4 +_037FC8F8: mov r0, r4 - bl sub_02005EFC + bl sub_037FDD14 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02004AF0: .word 0x038076A4 - arm_func_end sub_02004A70 +_037FC908: .word 0x038076A4 + arm_func_end sub_037FC888 - arm_func_start sub_02004AF4 -sub_02004AF4: ; 0x02004AF4 + arm_func_start sub_037FC90C +sub_037FC90C: ; 0x037FC90C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 - bl sub_02005EE8 - ldr r1, _02004B50 ; =0x038076A4 + bl sub_037FDD00 + ldr r1, _037FC968 ; =0x038076A4 mov r4, r0 ldr r0, [r1, #4] ldr r1, [r5, #8] cmp r1, r0 - bne _02004B40 + bne _037FC958 ldr r1, [r5, #0xc] subs r1, r1, #1 str r1, [r5, #0xc] - bne _02004B40 + bne _037FC958 mov r1, r5 - bl sub_02004BB0 + bl sub_037FC9C8 mov r1, #0 mov r0, r5 str r1, [r5, #8] - bl sub_020044CC -_02004B40: + bl sub_037FC2E4 +_037FC958: mov r0, r4 - bl sub_02005EFC + bl sub_037FDD14 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02004B50: .word 0x038076A4 - arm_func_end sub_02004AF4 +_037FC968: .word 0x038076A4 + arm_func_end sub_037FC90C - arm_func_start sub_02004B54 -sub_02004B54: ; 0x02004B54 + arm_func_start sub_037FC96C +sub_037FC96C: ; 0x037FC96C stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, #0 - b _02004B78 -_02004B64: + b _037FC990 +_037FC97C: add r0, r5, #0x6c - bl sub_02003FA4 + bl sub_037FBDBC str r4, [r0, #0xc] str r4, [r0, #8] - bl sub_020044CC -_02004B78: + bl sub_037FC2E4 +_037FC990: ldr r0, [r5, #0x6c] cmp r0, #0 - bne _02004B64 + bne _037FC97C ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_02004B54 + arm_func_end sub_037FC96C - arm_func_start sub_02004B8C -sub_02004B8C: ; 0x02004B8C + arm_func_start sub_037FC9A4 +sub_037FC9A4: ; 0x037FC9A4 ldr r2, [r0, #0x70] cmp r2, #0 streq r1, [r0, #0x6c] @@ -5668,10 +5668,10 @@ sub_02004B8C: ; 0x02004B8C str r2, [r1, #0x10] str r1, [r0, #0x70] bx lr - arm_func_end sub_02004B8C + arm_func_end sub_037FC9A4 - arm_func_start sub_02004BB0 -sub_02004BB0: ; 0x02004BB0 + arm_func_start sub_037FC9C8 +sub_037FC9C8: ; 0x037FC9C8 ldr r2, [r1, #0x10] ldr r1, [r1, #0x14] cmp r2, #0 @@ -5681,164 +5681,164 @@ sub_02004BB0: ; 0x02004BB0 streq r2, [r0, #0x6c] strne r2, [r1, #0x10] bx lr - arm_func_end sub_02004BB0 + arm_func_end sub_037FC9C8 - arm_func_start sub_02004BD4 -sub_02004BD4: ; 0x02004BD4 + arm_func_start sub_037FC9EC +sub_037FC9EC: ; 0x037FC9EC stmdb sp!, {r3, lr} - bl sub_02004C04 - bl sub_0200649C - bl sub_02003B80 - bl sub_02003980 - bl sub_02005310 - bl sub_02005534 - bl sub_0200414C - bl sub_02005F64 - bl sub_0200E570 + bl sub_037FCA1C + bl sub_037FE2B4 + bl sub_037FB998 + bl sub_037FB798 + bl sub_037FD128 + bl sub_037FD34C + bl sub_037FBF64 + bl sub_037FDD7C + bl sub_03806388 ldmia sp!, {r3, lr} bx lr - arm_func_end sub_02004BD4 + arm_func_end sub_037FC9EC - arm_func_start sub_02004C04 -sub_02004C04: ; 0x02004C04 + arm_func_start sub_037FCA1C +sub_037FCA1C: ; 0x037FCA1C stmdb sp!, {r3, lr} - ldr r1, _02004C3C ; =0x038077FC + ldr r1, _037FCA54 ; =0x038077FC ldr r0, [r1] cmp r0, #0 - bne _02004C34 + bne _037FCA4C mov r0, #1 str r0, [r1] - bl sub_02004C40 + bl sub_037FCA58 mov r0, #7 - bl sub_02004C40 + bl sub_037FCA58 mov r0, #8 - bl sub_02004C40 -_02004C34: + bl sub_037FCA58 +_037FCA4C: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02004C3C: .word 0x038077FC - arm_func_end sub_02004C04 +_037FCA54: .word 0x038077FC + arm_func_end sub_037FCA1C - arm_func_start sub_02004C40 -sub_02004C40: ; 0x02004C40 + arm_func_start sub_037FCA58 +sub_037FCA58: ; 0x037FCA58 stmdb sp!, {r4, lr} mov r4, r0 - bl sub_02004CA4 + bl sub_037FCABC mov r1, r4, lsl #2 add r1, r1, #0x2700000 add r1, r1, #0xff000 str r0, [r1, #0xdc4] mov r0, r4 - bl sub_02004D20 + bl sub_037FCB38 mov r1, r4, lsl #2 add r1, r1, #0x2700000 add r1, r1, #0xff000 str r0, [r1, #0xda0] ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02004C40 + arm_func_end sub_037FCA58 - arm_func_start sub_02004C7C -sub_02004C7C: ; 0x02004C7C + arm_func_start sub_037FCA94 +sub_037FCA94: ; 0x037FCA94 mov r0, r0, lsl #2 add r0, r0, #0x2700000 add r0, r0, #0xff000 ldr r0, [r0, #0xdc4] bx lr - arm_func_end sub_02004C7C + arm_func_end sub_037FCA94 - arm_func_start sub_02004C90 -sub_02004C90: ; 0x02004C90 + arm_func_start sub_037FCAA8 +sub_037FCAA8: ; 0x037FCAA8 mov r0, r0, lsl #2 add r0, r0, #0x2700000 add r0, r0, #0xff000 ldr r0, [r0, #0xda0] bx lr - arm_func_end sub_02004C90 + arm_func_end sub_037FCAA8 - arm_func_start sub_02004CA4 -sub_02004CA4: ; 0x02004CA4 + arm_func_start sub_037FCABC +sub_037FCABC: ; 0x037FCABC cmp r0, #1 - beq _02004CC0 + beq _037FCAD8 cmp r0, #7 - beq _02004CC8 + beq _037FCAE0 cmp r0, #8 - beq _02004CD0 - b _02004D04 -_02004CC0: - ldr r0, _02004D0C ; =0x027FF000 + beq _037FCAE8 + b _037FCB1C +_037FCAD8: + ldr r0, _037FCB24 ; =0x027FF000 bx lr -_02004CC8: +_037FCAE0: mov r0, #0x3800000 bx lr -_02004CD0: - ldr r2, _02004D10 ; =0x00000400 - ldr r0, _02004D14 ; =0x0380FF80 - ldr r1, _02004D18 ; =0x0380B488 +_037FCAE8: + ldr r2, _037FCB28 ; =0x00000400 + ldr r0, _037FCB2C ; =0x0380FF80 + ldr r1, _037FCB30 ; =0x0380B488 sub r2, r0, r2 mov r0, #0x3800000 cmp r1, #0x3800000 movhi r0, r1 - ldr r1, _02004D1C ; =0x00000400 + ldr r1, _037FCB34 ; =0x00000400 cmp r1, #0 bxeq lr sublt r0, r0, r1 subge r0, r2, r1 bx lr -_02004D04: +_037FCB1C: mov r0, #0 bx lr .align 2, 0 -_02004D0C: .word 0x027FF000 -_02004D10: .word 0x00000400 -_02004D14: .word 0x0380FF80 -_02004D18: .word 0x0380B488 -_02004D1C: .word 0x00000400 - arm_func_end sub_02004CA4 +_037FCB24: .word 0x027FF000 +_037FCB28: .word 0x00000400 +_037FCB2C: .word 0x0380FF80 +_037FCB30: .word 0x0380B488 +_037FCB34: .word 0x00000400 + arm_func_end sub_037FCABC - arm_func_start sub_02004D20 -sub_02004D20: ; 0x02004D20 + arm_func_start sub_037FCB38 +sub_037FCB38: ; 0x037FCB38 cmp r0, #1 - beq _02004D3C + beq _037FCB54 cmp r0, #7 - beq _02004D44 + beq _037FCB5C cmp r0, #8 - beq _02004D54 - b _02004D68 -_02004D3C: - ldr r0, _02004D70 ; =0x027F91E0 + beq _037FCB6C + b _037FCB80 +_037FCB54: + ldr r0, _037FCB88 ; =0x027F91E0 bx lr -_02004D44: - ldr r0, _02004D74 ; =0x0380B488 +_037FCB5C: + ldr r0, _037FCB8C ; =0x0380B488 cmp r0, #0x3800000 movhi r0, #0x3800000 bx lr -_02004D54: - ldr r1, _02004D74 ; =0x0380B488 +_037FCB6C: + ldr r1, _037FCB8C ; =0x0380B488 mov r0, #0x3800000 cmp r1, #0x3800000 movhi r0, r1 bx lr -_02004D68: +_037FCB80: mov r0, #0 bx lr .align 2, 0 -_02004D70: .word 0x027F91E0 -_02004D74: .word 0x0380B488 - arm_func_end sub_02004D20 +_037FCB88: .word 0x027F91E0 +_037FCB8C: .word 0x0380B488 + arm_func_end sub_037FCB38 - arm_func_start sub_02004D78 -sub_02004D78: ; 0x02004D78 + arm_func_start sub_037FCB90 +sub_037FCB90: ; 0x037FCB90 mov r0, r0, lsl #2 add r0, r0, #0x2700000 add r0, r0, #0xff000 str r1, [r0, #0xda0] bx lr - arm_func_end sub_02004D78 + arm_func_end sub_037FCB90 - arm_func_start sub_02004D8C -sub_02004D8C: ; 0x02004D8C + arm_func_start sub_037FCBA4 +sub_037FCBA4: ; 0x037FCBA4 ldr r3, [r1, #4] cmp r3, #0 ldrne r2, [r1] @@ -5849,31 +5849,31 @@ sub_02004D8C: ; 0x02004D8C ldrne r1, [r1, #4] strne r1, [r2, #4] bx lr - arm_func_end sub_02004D8C + arm_func_end sub_037FCBA4 - arm_func_start sub_02004DB4 -sub_02004DB4: ; 0x02004DB4 + arm_func_start sub_037FCBCC +sub_037FCBCC: ; 0x037FCBCC stmdb sp!, {r3, lr} mov lr, r0 mov ip, #0 - b _02004DD4 -_02004DC4: + b _037FCBEC +_037FCBDC: cmp r1, lr - bls _02004DDC + bls _037FCBF4 mov ip, lr ldr lr, [lr, #4] -_02004DD4: +_037FCBEC: cmp lr, #0 - bne _02004DC4 -_02004DDC: + bne _037FCBDC +_037FCBF4: stmia r1, {ip, lr} cmp lr, #0 - beq _02004E18 + beq _037FCC30 str r1, [lr] ldr r3, [r1, #8] add r2, r1, r3 cmp r2, lr - bne _02004E18 + bne _037FCC30 ldr r2, [lr, #8] add r2, r3, r2 str r2, [r1, #8] @@ -5881,44 +5881,44 @@ _02004DDC: str lr, [r1, #4] cmp lr, #0 strne r1, [lr] -_02004E18: +_037FCC30: cmp ip, #0 - beq _02004E50 + beq _037FCC68 str r1, [ip, #4] ldr r2, [ip, #8] add r3, ip, r2 cmp r3, r1 - bne _02004E54 + bne _037FCC6C ldr r1, [r1, #8] cmp lr, #0 add r1, r2, r1 str r1, [ip, #8] str lr, [ip, #4] strne ip, [lr] - b _02004E54 -_02004E50: + b _037FCC6C +_037FCC68: mov r0, r1 -_02004E54: +_037FCC6C: ldmia sp!, {r3, lr} bx lr - arm_func_end sub_02004DB4 + arm_func_end sub_037FCBCC - arm_func_start sub_02004E5C -sub_02004E5C: ; 0x02004E5C + arm_func_start sub_037FCC74 +sub_037FCC74: ; 0x037FCC74 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r0 mov r5, r1 mov r7, r2 - bl sub_02005EE8 - ldr r1, _02004F68 ; =0x03807800 + bl sub_037FDD00 + ldr r1, _037FCD80 ; =0x03807800 mov r6, r0 ldr r1, [r1, r4, lsl #2] cmp r1, #0 - bne _02004E90 - bl sub_02005EFC + bne _037FCCA8 + bl sub_037FDD14 mov r0, #0 - b _02004F60 -_02004E90: + b _037FCD78 +_037FCCA8: cmp r5, #0 ldrlt r5, [r1] ldr r1, [r1, #0x10] @@ -5928,32 +5928,32 @@ _02004E90: add r1, r7, #0x3f mov r5, r0 bic r7, r1, #0x1f - b _02004EC8 -_02004EB8: + b _037FCCE0 +_037FCCD0: ldr r1, [r5, #8] cmp r7, r1 - ble _02004ED0 + ble _037FCCE8 ldr r5, [r5, #4] -_02004EC8: +_037FCCE0: cmp r5, #0 - bne _02004EB8 -_02004ED0: + bne _037FCCD0 +_037FCCE8: cmp r5, #0 - bne _02004EE8 + bne _037FCD00 mov r0, r6 - bl sub_02005EFC + bl sub_037FDD14 mov r0, #0 - b _02004F60 -_02004EE8: + b _037FCD78 +_037FCD00: ldr r1, [r5, #8] sub r1, r1, r7 cmp r1, #0x40 - bhs _02004F08 + bhs _037FCD20 mov r1, r5 - bl sub_02004D8C + bl sub_037FCBA4 str r0, [r4, #4] - b _02004F3C -_02004F08: + b _037FCD54 +_037FCD20: str r7, [r5, #8] add r2, r5, r7 str r1, [r2, #8] @@ -5967,7 +5967,7 @@ _02004F08: cmp r0, #0 strne r2, [r0, #4] streq r2, [r4, #4] -_02004F3C: +_037FCD54: ldr r1, [r4, #8] mov r0, #0 stmia r5, {r0, r1} @@ -5975,23 +5975,23 @@ _02004F3C: strne r5, [r1] mov r0, r6 str r5, [r4, #8] - bl sub_02005EFC + bl sub_037FDD14 add r0, r5, #0x20 -_02004F60: +_037FCD78: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02004F68: .word 0x03807800 - arm_func_end sub_02004E5C +_037FCD80: .word 0x03807800 + arm_func_end sub_037FCC74 - arm_func_start sub_02004F6C -sub_02004F6C: ; 0x02004F6C + arm_func_start sub_037FCD84 +sub_037FCD84: ; 0x037FCD84 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 - bl sub_02005EE8 - ldr r1, _02004FD4 ; =0x03807800 + bl sub_037FDD00 + ldr r1, _037FCDEC ; =0x03807800 mov r4, r0 ldr r0, [r1, r7, lsl #2] cmp r6, #0 @@ -6002,47 +6002,47 @@ sub_02004F6C: ; 0x02004F6C sub r5, r5, #0x20 ldr r0, [r7, #8] mov r1, r5 - bl sub_02004D8C + bl sub_037FCBA4 str r0, [r7, #8] ldr r0, [r7, #4] mov r1, r5 - bl sub_02004DB4 + bl sub_037FCBCC str r0, [r7, #4] mov r0, r4 - bl sub_02005EFC + bl sub_037FDD14 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02004FD4: .word 0x03807800 - arm_func_end sub_02004F6C +_037FCDEC: .word 0x03807800 + arm_func_end sub_037FCD84 - arm_func_start sub_02004FD8 -sub_02004FD8: ; 0x02004FD8 + arm_func_start sub_037FCDF0 +sub_037FCDF0: ; 0x037FCDF0 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r5, r1 - bl sub_02005EE8 - ldr r1, _02005008 ; =0x03807800 + bl sub_037FDD00 + ldr r1, _037FCE20 ; =0x03807800 ldr r1, [r1, r4, lsl #2] ldr r4, [r1] str r5, [r1] - bl sub_02005EFC + bl sub_037FDD14 mov r0, r4 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02005008: .word 0x03807800 - arm_func_end sub_02004FD8 +_037FCE20: .word 0x03807800 + arm_func_end sub_037FCDF0 - arm_func_start sub_0200500C -sub_0200500C: ; 0x0200500C + arm_func_start sub_037FCE24 +sub_037FCE24: ; 0x037FCE24 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r5, r1 mov r4, r2 mov r6, r3 - bl sub_02005EE8 - ldr r2, _020050B0 ; =0x03807800 + bl sub_037FDD00 + ldr r2, _037FCEC8 ; =0x03807800 mov r1, #0xc str r5, [r2, r7, lsl #2] add r2, r5, #0x14 @@ -6053,8 +6053,8 @@ sub_0200500C: ; 0x0200500C mvn lr, #0 mov ip, r7 mov r2, #0xc - b _02005070 -_02005054: + b _037FCE88 +_037FCE6C: mul r3, r7, r2 ldr r6, [r5, #0x10] add r7, r7, #1 @@ -6062,10 +6062,10 @@ _02005054: add r3, r6, r3 str ip, [r3, #8] str ip, [r3, #4] -_02005070: +_037FCE88: ldr r3, [r5, #4] cmp r7, r3 - blt _02005054 + blt _037FCE6C mvn r2, #0 str r2, [r5] ldr r3, [r5, #0x10] @@ -6075,22 +6075,22 @@ _02005070: bic r1, r1, #0x1f str r1, [r5, #8] str r2, [r5, #0xc] - bl sub_02005EFC + bl sub_037FDD14 ldr r0, [r5, #8] ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_020050B0: .word 0x03807800 - arm_func_end sub_0200500C +_037FCEC8: .word 0x03807800 + arm_func_end sub_037FCE24 - arm_func_start sub_020050B4 -sub_020050B4: ; 0x020050B4 + arm_func_start sub_037FCECC +sub_037FCECC: ; 0x037FCECC stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r0 mov r6, r1 mov r5, r2 - bl sub_02005EE8 - ldr r2, _02005150 ; =0x03807800 + bl sub_037FDD00 + ldr r2, _037FCF68 ; =0x03807800 add r1, r6, #0x1f ldr lr, [r2, r4, lsl #2] bic r6, r1, #0x1f @@ -6098,14 +6098,14 @@ sub_020050B4: ; 0x020050B4 bic r5, r5, #0x1f mov r4, #0 mov r1, #0xc - b _02005138 -_020050EC: + b _037FCF50 +_037FCF04: mul r3, r4, r1 ldr ip, [lr, #0x10] ldr r2, [ip, r3] add r3, ip, r3 cmp r2, #0 - bge _02005134 + bge _037FCF4C sub r1, r5, r6 str r1, [r3] mov r2, #0 @@ -6115,199 +6115,199 @@ _020050EC: str r1, [r6, #8] str r6, [r3, #4] str r2, [r3, #8] - bl sub_02005EFC + bl sub_037FDD14 mov r0, r4 - b _02005148 -_02005134: + b _037FCF60 +_037FCF4C: add r4, r4, #1 -_02005138: +_037FCF50: cmp r4, r7 - blt _020050EC - bl sub_02005EFC + blt _037FCF04 + bl sub_037FDD14 mvn r0, #0 -_02005148: +_037FCF60: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02005150: .word 0x03807800 - arm_func_end sub_020050B4 +_037FCF68: .word 0x03807800 + arm_func_end sub_037FCECC - arm_func_start sub_02005154 -sub_02005154: ; 0x02005154 + arm_func_start sub_037FCF6C +sub_037FCF6C: ; 0x037FCF6C stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r4, #0 mov r8, r0 mov r7, r1 mov r5, r4 sub r6, r4, #1 - bl sub_02005EE8 - ldr r1, _020052F0 ; =0x03807800 + bl sub_037FDD00 + ldr r1, _037FD108 ; =0x03807800 mvn r2, #0 ldr r1, [r1, r8, lsl #2] cmp r7, r2 ldr ip, [r1, #0x10] ldreq r7, [r1] cmp ip, #0 - beq _020052E0 + beq _037FD0F8 cmp r7, #0 - blt _020052E0 + blt _037FD0F8 ldr r2, [r1, #4] cmp r7, r2 - bge _020052E0 + bge _037FD0F8 mov r2, #0xc mul r3, r7, r2 ldr r2, [ip, r3] add r7, ip, r3 cmp r2, #0 - blt _020052E0 + blt _037FD0F8 ldr ip, [r7, #8] cmp ip, #0 ldrne r3, [ip] cmpne r3, #0 - bne _020052E0 - b _02005234 -_020051D4: + bne _037FD0F8 + b _037FD04C +_037FCFEC: ldr r3, [r1, #8] cmp r3, ip - bhi _020052E0 + bhi _037FD0F8 ldr r3, [r1, #0xc] cmp ip, r3 - bhs _020052E0 + bhs _037FD0F8 tst ip, #0x1f - bne _020052E0 + bne _037FD0F8 ldr lr, [ip, #4] cmp lr, #0 ldrne r3, [lr] cmpne r3, ip - bne _020052E0 + bne _037FD0F8 ldr r3, [ip, #8] cmp r3, #0x40 - blo _020052E0 + blo _037FD0F8 tst r3, #0x1f - bne _020052E0 + bne _037FD0F8 add r4, r4, r3 cmp r4, #0 - ble _020052E0 + ble _037FD0F8 cmp r4, r2 - bgt _020052E0 + bgt _037FD0F8 mov ip, lr -_02005234: +_037FD04C: cmp ip, #0 - bne _020051D4 + bne _037FCFEC ldr lr, [r7, #4] cmp lr, #0 ldrne r3, [lr] cmpne r3, #0 - bne _020052E0 - b _020052D0 -_02005254: + bne _037FD0F8 + b _037FD0E8 +_037FD06C: ldr r3, [r1, #8] cmp r3, lr - bhi _020052E0 + bhi _037FD0F8 ldr r3, [r1, #0xc] cmp lr, r3 - bhs _020052E0 + bhs _037FD0F8 tst lr, #0x1f - bne _020052E0 + bne _037FD0F8 ldr r7, [lr, #4] cmp r7, #0 ldrne r3, [r7] cmpne r3, lr - bne _020052E0 + bne _037FD0F8 ldr ip, [lr, #8] cmp ip, #0x40 - blo _020052E0 + blo _037FD0F8 tst ip, #0x1f - bne _020052E0 + bne _037FD0F8 cmp r7, #0 - beq _020052B0 + beq _037FD0C8 add r3, lr, ip cmp r3, r7 - bhs _020052E0 -_020052B0: + bhs _037FD0F8 +_037FD0C8: add r4, r4, ip sub r3, ip, #0x20 cmp r4, #0 add r5, r5, r3 - ble _020052E0 + ble _037FD0F8 cmp r4, r2 - bgt _020052E0 + bgt _037FD0F8 mov lr, r7 -_020052D0: +_037FD0E8: cmp lr, #0 - bne _02005254 + bne _037FD06C cmp r4, r2 moveq r6, r5 -_020052E0: - bl sub_02005EFC +_037FD0F8: + bl sub_037FDD14 mov r0, r6 ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_020052F0: .word 0x03807800 - arm_func_end sub_02005154 +_037FD108: .word 0x03807800 + arm_func_end sub_037FCF6C - arm_func_start sub_020052F4 -sub_020052F4: ; 0x020052F4 - ldr r1, _0200530C ; =0x03807824 + arm_func_start sub_037FD10C +sub_037FD10C: ; 0x037FD10C + ldr r1, _037FD124 ; =0x03807824 mov r2, #1 ldrh r3, [r1] orr r0, r3, r2, lsl r0 strh r0, [r1] bx lr .align 2, 0 -_0200530C: .word 0x03807824 - arm_func_end sub_020052F4 +_037FD124: .word 0x03807824 + arm_func_end sub_037FD10C - arm_func_start sub_02005310 -sub_02005310: ; 0x02005310 + arm_func_start sub_037FD128 +sub_037FD128: ; 0x037FD128 stmdb sp!, {r3, lr} - ldr r1, _02005380 ; =0x03807828 + ldr r1, _037FD198 ; =0x03807828 ldrh r0, [r1] cmp r0, #0 - bne _02005378 + bne _037FD190 mov r2, #1 mov r0, #0 strh r2, [r1] - bl sub_020052F4 - ldr r0, _02005380 ; =0x03807828 + bl sub_037FD10C + ldr r0, _037FD198 ; =0x03807828 mov r2, #0 str r2, [r0, #8] - ldr r3, _02005384 ; =0x04000102 + ldr r3, _037FD19C ; =0x04000102 str r2, [r0, #0xc] strh r2, [r3] - ldr r1, _02005388 ; =0x037FD1B4 + ldr r1, _037FD1A0 ; =0x037FD1B4 strh r2, [r3, #-2] mov r2, #0xc1 mov r0, #8 strh r2, [r3] - bl sub_020039A4 + bl sub_037FB7BC mov r0, #8 - bl sub_02003AD8 - ldr r0, _02005380 ; =0x03807828 + bl sub_037FB8F0 + ldr r0, _037FD198 ; =0x03807828 mov r1, #0 str r1, [r0, #4] -_02005378: +_037FD190: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02005380: .word 0x03807828 -_02005384: .word 0x04000102 -_02005388: .word 0x037FD1B4 - arm_func_end sub_02005310 +_037FD198: .word 0x03807828 +_037FD19C: .word 0x04000102 +_037FD1A0: .word 0x037FD1B4 + arm_func_end sub_037FD128 - arm_func_start sub_0200538C -sub_0200538C: ; 0x0200538C - ldr r0, _02005398 ; =0x03807828 + arm_func_start sub_037FD1A4 +sub_037FD1A4: ; 0x037FD1A4 + ldr r0, _037FD1B0 ; =0x03807828 ldrh r0, [r0] bx lr .align 2, 0 -_02005398: .word 0x03807828 - arm_func_end sub_0200538C +_037FD1B0: .word 0x03807828 + arm_func_end sub_037FD1A4 - arm_func_start sub_0200539C -sub_0200539C: ; 0x0200539C - ldr r0, _020053F4 ; =0x03807828 + arm_func_start sub_037FD1B4 +sub_037FD1B4: ; 0x037FD1B4 + ldr r0, _037FD20C ; =0x03807828 mov r3, #0 ldr r2, [r0, #8] ldr r1, [r0, #0xc] @@ -6317,35 +6317,35 @@ sub_0200539C: ; 0x0200539C str r1, [r0, #0xc] ldr r1, [r0, #4] cmp r1, #0 - beq _020053E0 - ldr r2, _020053F8 ; =0x04000102 + beq _037FD1F8 + ldr r2, _037FD210 ; =0x04000102 mov r1, #0xc1 strh r3, [r2] strh r3, [r2, #-2] strh r1, [r2] str r3, [r0, #4] -_020053E0: - ldr ip, _020053FC ; =sub_037FB858 +_037FD1F8: + ldr ip, _037FD214 ; =sub_037FB858 mov r0, #0 - ldr r1, _02005400 ; =0x037FD1B4 + ldr r1, _037FD218 ; =0x037FD1B4 mov r2, r0 bx ip .align 2, 0 -_020053F4: .word 0x03807828 -_020053F8: .word 0x04000102 -_020053FC: .word sub_037FB858 -_02005400: .word 0x037FD1B4 - arm_func_end sub_0200539C +_037FD20C: .word 0x03807828 +_037FD210: .word 0x04000102 +_037FD214: .word sub_037FB858 +_037FD218: .word 0x037FD1B4 + arm_func_end sub_037FD1B4 - arm_func_start sub_02005404 -sub_02005404: ; 0x02005404 + arm_func_start sub_037FD21C +sub_037FD21C: ; 0x037FD21C stmdb sp!, {lr} sub sp, sp, #0xc - bl sub_02005EE8 - ldr lr, _0200549C ; =sub_04000100 - ldr r1, _020054A0 ; =0x03807828 + bl sub_037FDD00 + ldr lr, _037FD2B4 ; =0x04000100 + ldr r1, _037FD2B8 ; =0x03807828 ldrh r3, [lr] - ldr r2, _020054A4 ; =0x0000FFFF + ldr r2, _037FD2BC ; =0x0000FFFF strh r3, [sp] ldr ip, [r1, #8] ldr r3, [r1, #0xc] @@ -6356,18 +6356,18 @@ sub_02005404: ; 0x02005404 str r1, [sp, #8] ldr r1, [lr, #0x114] tst r1, #8 - beq _02005470 + beq _037FD288 ldrh r1, [sp] tst r1, #0x8000 - bne _02005470 + bne _037FD288 ldr r2, [sp, #4] ldr r1, [sp, #8] adds r2, r2, #1 adc r1, r1, #0 str r2, [sp, #4] str r1, [sp, #8] -_02005470: - bl sub_02005EFC +_037FD288: + bl sub_037FDD14 ldr r2, [sp, #4] ldr r1, [sp, #8] ldrh r0, [sp] @@ -6379,94 +6379,94 @@ _02005470: ldmia sp!, {lr} bx lr .align 2, 0 -_0200549C: .word sub_04000100 -_020054A0: .word 0x03807828 -_020054A4: .word 0x0000FFFF - arm_func_end sub_02005404 +_037FD2B4: .word 0x04000100 +_037FD2B8: .word 0x03807828 +_037FD2BC: .word 0x0000FFFF + arm_func_end sub_037FD21C - arm_func_start sub_020054A8 -sub_020054A8: ; 0x020054A8 + arm_func_start sub_037FD2C0 +sub_037FD2C0: ; 0x037FD2C0 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 - bl sub_02005404 - ldr r3, _02005524 ; =0x04000106 + bl sub_037FD21C + ldr r3, _037FD33C ; =0x04000106 mov r2, #0 strh r2, [r3] ldr ip, [r4, #0xc] ldr r3, [r4, #0x10] subs r5, ip, r0 sbc r4, r3, r1 - ldr r1, _02005528 ; =0x037FD648 + ldr r1, _037FD340 ; =0x037FD648 mov r0, #1 - bl sub_02003A40 + bl sub_037FB858 subs r0, r5, #0 mov r3, #0 sbcs r0, r4, #0 - ldrlt r3, _0200552C ; =0x0000FFFE - blt _02005504 + ldrlt r3, _037FD344 ; =0x0000FFFE + blt _037FD31C subs r0, r5, #0x10000 sbcs r0, r4, r3 mvnlt r0, r5 movlt r0, r0, lsl #0x10 movlt r3, r0, lsr #0x10 -_02005504: - ldr r2, _02005530 ; =0x04000104 +_037FD31C: + ldr r2, _037FD348 ; =0x04000104 mov r1, #0xc1 strh r3, [r2] mov r0, #0x10 strh r1, [r2, #2] - bl sub_02003AD8 + bl sub_037FB8F0 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02005524: .word 0x04000106 -_02005528: .word 0x037FD648 -_0200552C: .word 0x0000FFFE -_02005530: .word 0x04000104 - arm_func_end sub_020054A8 +_037FD33C: .word 0x04000106 +_037FD340: .word 0x037FD648 +_037FD344: .word 0x0000FFFE +_037FD348: .word 0x04000104 + arm_func_end sub_037FD2C0 - arm_func_start sub_02005534 -sub_02005534: ; 0x02005534 + arm_func_start sub_037FD34C +sub_037FD34C: ; 0x037FD34C stmdb sp!, {r3, lr} - ldr r1, _02005574 ; =0x03807838 + ldr r1, _037FD38C ; =0x03807838 ldrh r0, [r1] cmp r0, #0 - bne _0200556C + bne _037FD384 mov r0, #1 strh r0, [r1] - bl sub_020052F4 - ldr r1, _02005574 ; =0x03807838 + bl sub_037FD10C + ldr r1, _037FD38C ; =0x03807838 mov r2, #0 str r2, [r1, #4] mov r0, #0x10 str r2, [r1, #8] - bl sub_02003B10 -_0200556C: + bl sub_037FB928 +_037FD384: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02005574: .word 0x03807838 - arm_func_end sub_02005534 +_037FD38C: .word 0x03807838 + arm_func_end sub_037FD34C - arm_func_start sub_02005578 -sub_02005578: ; 0x02005578 - ldr r0, _02005584 ; =0x03807838 + arm_func_start sub_037FD390 +sub_037FD390: ; 0x037FD390 + ldr r0, _037FD39C ; =0x03807838 ldrh r0, [r0] bx lr .align 2, 0 -_02005584: .word 0x03807838 - arm_func_end sub_02005578 +_037FD39C: .word 0x03807838 + arm_func_end sub_037FD390 - arm_func_start sub_02005588 -sub_02005588: ; 0x02005588 + arm_func_start sub_037FD3A0 +sub_037FD3A0: ; 0x037FD3A0 mov r1, #0 str r1, [r0] str r1, [r0, #8] bx lr - arm_func_end sub_02005588 + arm_func_end sub_037FD3A0 - arm_func_start sub_02005598 -sub_02005598: ; 0x02005598 + arm_func_start sub_037FD3B0 +sub_037FD3B0: ; 0x037FD3B0 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 ldr r0, [r8, #0x20] @@ -6475,20 +6475,20 @@ sub_02005598: ; 0x02005598 mov r7, r1 mov r6, r2 cmpeq r3, #0 - beq _0200560C - bl sub_02005404 + beq _037FD424 + bl sub_037FD21C ldr r6, [r8, #0x28] ldr r7, [r8, #0x24] cmp r6, r1 cmpeq r7, r0 - bhs _0200560C + bhs _037FD424 ldr r5, [r8, #0x1c] ldr r4, [r8, #0x20] subs r0, r0, r7 mov r2, r5 mov r3, r4 sbc r1, r1, r6 - bl sub_0200ED68 + bl sub_03806B80 adds r2, r0, #1 adc r0, r1, #0 umull r3, r1, r5, r2 @@ -6496,22 +6496,22 @@ sub_02005598: ; 0x02005598 mla r1, r4, r2, r1 adds r7, r7, r3 adc r6, r6, r1 -_0200560C: +_037FD424: str r7, [r8, #0xc] - ldr r0, _020056C0 ; =0x03807838 + ldr r0, _037FD4D8 ; =0x03807838 str r6, [r8, #0x10] mov r2, #0 ldr r5, [r0, #4] mov r1, r2 - b _0200567C -_02005628: + b _037FD494 +_037FD440: ldr r3, [r5, #0xc] ldr r0, [r5, #0x10] subs r4, r7, r3 sbc r3, r6, r0 subs r0, r4, r1 sbcs r0, r3, r2 - bge _02005678 + bge _037FD490 ldr r0, [r5, #0x14] str r0, [r8, #0x14] str r8, [r5, #0x14] @@ -6519,18 +6519,18 @@ _02005628: ldr r0, [r8, #0x14] cmp r0, #0 strne r8, [r0, #0x18] - bne _020056B8 - ldr r1, _020056C0 ; =0x03807838 + bne _037FD4D0 + ldr r1, _037FD4D8 ; =0x03807838 mov r0, r8 str r8, [r1, #4] - bl sub_020054A8 - b _020056B8 -_02005678: + bl sub_037FD2C0 + b _037FD4D0 +_037FD490: ldr r5, [r5, #0x18] -_0200567C: +_037FD494: cmp r5, #0 - bne _02005628 - ldr r1, _020056C0 ; =0x03807838 + bne _037FD440 + ldr r1, _037FD4D8 ; =0x03807838 mov r0, #0 str r0, [r8, #0x18] ldr r0, [r1, #8] @@ -6538,33 +6538,33 @@ _0200567C: str r0, [r8, #0x14] cmp r0, #0 strne r8, [r0, #0x18] - bne _020056B8 + bne _037FD4D0 str r8, [r1, #8] mov r0, r8 str r8, [r1, #4] - bl sub_020054A8 -_020056B8: + bl sub_037FD2C0 +_037FD4D0: ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_020056C0: .word 0x03807838 - arm_func_end sub_02005598 +_037FD4D8: .word 0x03807838 + arm_func_end sub_037FD3B0 - arm_func_start sub_020056C4 -sub_020056C4: ; 0x020056C4 + arm_func_start sub_037FD4DC +sub_037FD4DC: ; 0x037FD4DC stmdb sp!, {r3, r4, r5, r6, r7, lr} movs r6, r0 mov r5, r1 mov r4, r2 mov r7, r3 - beq _020056E8 + beq _037FD500 ldr r0, [r6] cmp r0, #0 - beq _020056EC -_020056E8: - bl sub_02006058 -_020056EC: - bl sub_02005EE8 + beq _037FD504 +_037FD500: + bl sub_037FDE70 +_037FD504: + bl sub_037FDD00 mov r1, #0 str r1, [r6, #0x1c] str r1, [r6, #0x20] @@ -6572,34 +6572,34 @@ _020056EC: ldr r1, [sp, #0x18] mov r7, r0 str r1, [r6, #4] - bl sub_02005404 + bl sub_037FD21C adds r3, r5, r0 adc r2, r4, r1 mov r0, r6 mov r1, r3 - bl sub_02005598 + bl sub_037FD3B0 mov r0, r7 - bl sub_02005EFC + bl sub_037FDD14 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr - arm_func_end sub_020056C4 + arm_func_end sub_037FD4DC - arm_func_start sub_02005734 -sub_02005734: ; 0x02005734 + arm_func_start sub_037FD54C +sub_037FD54C: ; 0x037FD54C stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r5, [sp, #0x18] movs r4, r0 mov r8, r1 mov r7, r2 mov r6, r3 - beq _0200575C + beq _037FD574 ldr r0, [r4] cmp r0, #0 - beq _02005760 -_0200575C: - bl sub_02006058 -_02005760: - bl sub_02005EE8 + beq _037FD578 +_037FD574: + bl sub_037FDE70 +_037FD578: + bl sub_037FDD00 str r6, [r4, #0x1c] str r5, [r4, #0x20] str r8, [r4, #0x24] @@ -6612,89 +6612,89 @@ _02005760: mov r0, r4 mov r2, r1 str r3, [r4, #4] - bl sub_02005598 + bl sub_037FD3B0 mov r0, r5 - bl sub_02005EFC + bl sub_037FDD14 ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr - arm_func_end sub_02005734 + arm_func_end sub_037FD54C - arm_func_start sub_020057A8 -sub_020057A8: ; 0x020057A8 + arm_func_start sub_037FD5C0 +sub_037FD5C0: ; 0x037FD5C0 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 - bl sub_02005EE8 + bl sub_037FDD00 ldr r1, [r5] mov r4, r0 cmp r1, #0 - bne _020057CC - bl sub_02005EFC - b _02005824 -_020057CC: + bne _037FD5E4 + bl sub_037FDD14 + b _037FD63C +_037FD5E4: ldr r0, [r5, #0x18] cmp r0, #0 ldreq r2, [r5, #0x14] - ldreq r1, _0200582C ; =0x03807838 + ldreq r1, _037FD644 ; =0x03807838 streq r2, [r1, #8] ldrne r1, [r5, #0x14] strne r1, [r0, #0x14] ldr r1, [r5, #0x14] cmp r1, #0 strne r0, [r1, #0x18] - bne _0200580C - ldr r1, _0200582C ; =0x03807838 + bne _037FD624 + ldr r1, _037FD644 ; =0x03807838 cmp r0, #0 str r0, [r1, #4] - beq _0200580C - bl sub_020054A8 -_0200580C: + beq _037FD624 + bl sub_037FD2C0 +_037FD624: mov r1, #0 str r1, [r5] str r1, [r5, #0x1c] mov r0, r4 str r1, [r5, #0x20] - bl sub_02005EFC -_02005824: + bl sub_037FDD14 +_037FD63C: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0200582C: .word 0x03807838 - arm_func_end sub_020057A8 +_037FD644: .word 0x03807838 + arm_func_end sub_037FD5C0 - arm_func_start sub_02005830 -sub_02005830: ; 0x02005830 + arm_func_start sub_037FD648 +sub_037FD648: ; 0x037FD648 stmdb sp!, {r0, lr} - bl sub_02005840 + bl sub_037FD658 ldmia sp!, {r0, lr} bx lr - arm_func_end sub_02005830 + arm_func_end sub_037FD648 - arm_func_start sub_02005840 -sub_02005840: ; 0x02005840 + arm_func_start sub_037FD658 +sub_037FD658: ; 0x037FD658 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _02005928 ; =0x04000106 + ldr r1, _037FD740 ; =0x04000106 mov r2, #0 mov r0, #0x10 strh r2, [r1] - bl sub_02003B10 - ldr r1, _0200592C ; =0x0380FFF8 + bl sub_037FB928 + ldr r1, _037FD744 ; =0x0380FFF8 ldr r0, [r1] orr r0, r0, #0x10 str r0, [r1] - bl sub_02005404 - ldr r2, _02005930 ; =0x03807838 + bl sub_037FD21C + ldr r2, _037FD748 ; =0x03807838 ldr r4, [r2, #4] cmp r4, #0 - beq _02005920 + beq _037FD738 ldr r3, [r4, #0x10] ldr ip, [r4, #0xc] cmp r1, r3 cmpeq r0, ip - bhs _0200589C + bhs _037FD6B4 mov r0, r4 - bl sub_020054A8 - b _02005920 -_0200589C: + bl sub_037FD2C0 + b _037FD738 +_037FD6B4: ldr r1, [r4, #0x18] mov r0, #0 str r1, [r2, #4] @@ -6709,104 +6709,104 @@ _0200589C: cmpeq r1, #0 streq r0, [r4] cmp r5, #0 - beq _020058E4 + beq _037FD6FC ldr r0, [r4, #4] mov lr, pc bx r5 -_020058E4: +_037FD6FC: ldr r0, [r4, #0x20] ldr r1, [r4, #0x1c] cmp r0, #0 cmpeq r1, #0 mov r1, #0 - beq _0200590C + beq _037FD724 mov r0, r4 mov r2, r1 str r5, [r4] - bl sub_02005598 -_0200590C: - ldr r0, _02005930 ; =0x03807838 + bl sub_037FD3B0 +_037FD724: + ldr r0, _037FD748 ; =0x03807838 ldr r0, [r0, #4] cmp r0, #0 - beq _02005920 - bl sub_020054A8 -_02005920: + beq _037FD738 + bl sub_037FD2C0 +_037FD738: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02005928: .word 0x04000106 -_0200592C: .word 0x0380FFF8 -_02005930: .word 0x03807838 - arm_func_end sub_02005840 +_037FD740: .word 0x04000106 +_037FD744: .word 0x0380FFF8 +_037FD748: .word 0x03807838 + arm_func_end sub_037FD658 - arm_func_start sub_02005934 -sub_02005934: ; 0x02005934 + arm_func_start sub_037FD74C +sub_037FD74C: ; 0x037FD74C stmdb sp!, {r3, lr} - ldr r1, _0200597C ; =0x03807844 + ldr r1, _037FD794 ; =0x03807844 ldrh r0, [r1] cmp r0, #0 - bne _02005974 + bne _037FD78C mov r0, #1 strh r0, [r1] mov r2, #0 str r2, [r1, #0xc] mov r0, #4 str r2, [r1, #0x10] - bl sub_02003B10 - ldr r0, _0200597C ; =0x03807844 + bl sub_037FB928 + ldr r0, _037FD794 ; =0x03807844 mov r1, #0 str r1, [r0, #8] str r1, [r0, #4] -_02005974: +_037FD78C: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200597C: .word 0x03807844 - arm_func_end sub_02005934 +_037FD794: .word 0x03807844 + arm_func_end sub_037FD74C - arm_func_start sub_02005980 -sub_02005980: ; 0x02005980 - ldr r0, _0200598C ; =0x03807844 + arm_func_start sub_037FD798 +sub_037FD798: ; 0x037FD798 + ldr r0, _037FD7A4 ; =0x03807844 ldrh r0, [r0] bx lr .align 2, 0 -_0200598C: .word 0x03807844 - arm_func_end sub_02005980 +_037FD7A4: .word 0x03807844 + arm_func_end sub_037FD798 - arm_func_start sub_02005990 -sub_02005990: ; 0x02005990 + arm_func_start sub_037FD7A8 +sub_037FD7A8: ; 0x037FD7A8 stmdb sp!, {r3, lr} - ldr r1, _02005A30 ; =0x03807844 + ldr r1, _037FD848 ; =0x03807844 ldr r3, [r1, #0xc] - b _020059F4 -_020059A0: + b _037FD80C +_037FD7B8: ldr r2, [r0, #0xc] ldr r1, [r3, #0xc] cmp r1, r2 - blo _020059F0 - bne _020059C4 + blo _037FD808 + bne _037FD7DC ldrsh r2, [r3, #0x10] ldrsh r1, [r0, #0x10] cmp r2, r1 - ble _020059F0 -_020059C4: + ble _037FD808 +_037FD7DC: ldr r1, [r3, #0x14] str r1, [r0, #0x14] str r3, [r0, #0x18] str r0, [r3, #0x14] cmp r1, #0 strne r0, [r1, #0x18] - bne _02005A28 - ldr r1, _02005A30 ; =0x03807844 + bne _037FD840 + ldr r1, _037FD848 ; =0x03807844 str r0, [r1, #0xc] - bl sub_02005BA0 - b _02005A28 -_020059F0: + bl sub_037FD9B8 + b _037FD840 +_037FD808: ldr r3, [r3, #0x18] -_020059F4: +_037FD80C: cmp r3, #0 - bne _020059A0 - ldr r1, _02005A30 ; =0x03807844 + bne _037FD7B8 + ldr r1, _037FD848 ; =0x03807844 mov r2, #0 ldr r3, [r1, #0x10] str r3, [r0, #0x14] @@ -6814,65 +6814,65 @@ _020059F4: str r0, [r1, #0x10] cmp r3, #0 strne r0, [r3, #0x18] - bne _02005A28 + bne _037FD840 str r0, [r1, #0xc] - bl sub_02005BA0 -_02005A28: + bl sub_037FD9B8 +_037FD840: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02005A30: .word 0x03807844 - arm_func_end sub_02005990 +_037FD848: .word 0x03807844 + arm_func_end sub_037FD7A8 - arm_func_start sub_02005A34 -sub_02005A34: ; 0x02005A34 + arm_func_start sub_037FD84C +sub_037FD84C: ; 0x037FD84C cmp r0, #0 bxeq lr ldr r2, [r0, #0x18] ldr r1, [r0, #0x14] cmp r2, #0 - ldreq r0, _02005A68 ; =0x03807844 + ldreq r0, _037FD880 ; =0x03807844 strne r1, [r2, #0x14] streq r1, [r0, #0x10] cmp r1, #0 - ldreq r0, _02005A68 ; =0x03807844 + ldreq r0, _037FD880 ; =0x03807844 strne r2, [r1, #0x18] streq r2, [r0, #0xc] bx lr .align 2, 0 -_02005A68: .word 0x03807844 - arm_func_end sub_02005A34 +_037FD880: .word 0x03807844 + arm_func_end sub_037FD84C - arm_func_start sub_02005A6C -sub_02005A6C: ; 0x02005A6C + arm_func_start sub_037FD884 +sub_037FD884: ; 0x037FD884 mov r1, #0 str r1, [r0] str r1, [r0, #8] str r1, [r0, #0x20] bx lr - arm_func_end sub_02005A6C + arm_func_end sub_037FD884 - arm_func_start sub_02005A80 -sub_02005A80: ; 0x02005A80 + arm_func_start sub_037FD898 +sub_037FD898: ; 0x037FD898 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r8, r0 mov r7, r1 mov r6, r2 mov r5, r3 - bl sub_02005EE8 + bl sub_037FDD00 mov r4, r0 cmp r8, #0 - beq _02005AB0 + beq _037FD8C8 ldr r0, [r8] cmp r0, #0 - beq _02005AB4 -_02005AB0: - bl sub_02006058 -_02005AB4: - ldr r0, _02005B0C ; =0x04000006 + beq _037FD8CC +_037FD8C8: + bl sub_037FDE70 +_037FD8CC: + ldr r0, _037FD924 ; =0x04000006 ldrh sb, [r0] mov r0, sb - bl sub_02005E90 + bl sub_037FDCA8 mov r1, #0 str r1, [r8, #0x1c] cmp r7, sb @@ -6886,36 +6886,36 @@ _02005AB4: mov r1, #0 mov r0, r8 str r1, [r8, #0x24] - bl sub_02005990 + bl sub_037FD7A8 mov r0, r4 - bl sub_02005EFC + bl sub_037FDD14 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, lr} bx lr .align 2, 0 -_02005B0C: .word 0x04000006 - arm_func_end sub_02005A80 +_037FD924: .word 0x04000006 + arm_func_end sub_037FD898 - arm_func_start sub_02005B10 -sub_02005B10: ; 0x02005B10 + arm_func_start sub_037FD928 +sub_037FD928: ; 0x037FD928 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r8, r0 mov r7, r1 mov r6, r2 mov r5, r3 - bl sub_02005EE8 + bl sub_037FDD00 mov r4, r0 cmp r8, #0 - beq _02005B40 + beq _037FD958 ldr r0, [r8] cmp r0, #0 - beq _02005B44 -_02005B40: - bl sub_02006058 -_02005B44: - ldr r0, _02005B9C ; =0x04000006 + beq _037FD95C +_037FD958: + bl sub_037FDE70 +_037FD95C: + ldr r0, _037FD9B4 ; =0x04000006 ldrh sb, [r0] mov r0, sb - bl sub_02005E90 + bl sub_037FDCA8 mov r1, #1 str r1, [r8, #0x1c] cmp r7, sb @@ -6929,24 +6929,24 @@ _02005B44: mov r1, #0 mov r0, r8 str r1, [r8, #0x24] - bl sub_02005990 + bl sub_037FD7A8 mov r0, r4 - bl sub_02005EFC + bl sub_037FDD14 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, lr} bx lr .align 2, 0 -_02005B9C: .word 0x04000006 - arm_func_end sub_02005B10 +_037FD9B4: .word 0x04000006 + arm_func_end sub_037FD928 - arm_func_start sub_02005BA0 -sub_02005BA0: ; 0x02005BA0 + arm_func_start sub_037FD9B8 +sub_037FD9B8: ; 0x037FD9B8 stmdb sp!, {r4, lr} - ldr r1, _02005BF4 ; =0x037FDAF8 + ldr r1, _037FDA0C ; =0x037FDAF8 mov r4, r0 mov r0, #4 - bl sub_020039A4 + bl sub_037FB7BC ldrsh r3, [r4, #0x10] - ldr r2, _02005BF8 ; =0x04000004 + ldr r2, _037FDA10 ; =0x04000004 mov r0, r3, lsl #0x18 ldrh r1, [r2] and r3, r3, #0x100 @@ -6958,98 +6958,98 @@ sub_02005BA0: ; 0x02005BA0 mov r0, #4 orr r1, r1, #0x20 strh r1, [r2] - bl sub_02003AD8 + bl sub_037FB8F0 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02005BF4: .word 0x037FDAF8 -_02005BF8: .word 0x04000004 - arm_func_end sub_02005BA0 +_037FDA0C: .word 0x037FDAF8 +_037FDA10: .word 0x04000004 + arm_func_end sub_037FD9B8 - arm_func_start sub_02005BFC -sub_02005BFC: ; 0x02005BFC + arm_func_start sub_037FDA14 +sub_037FDA14: ; 0x037FDA14 stmdb sp!, {r3, r4, r5, lr} movs r4, r1 mov r5, r0 - bne _02005C10 - bl sub_02006058 -_02005C10: + bne _037FDA28 + bl sub_037FDE70 +_037FDA28: cmp r5, #0 strne r4, [r5, #8] ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_02005BFC + arm_func_end sub_037FDA14 - arm_func_start sub_02005C20 -sub_02005C20: ; 0x02005C20 + arm_func_start sub_037FDA38 +sub_037FDA38: ; 0x037FDA38 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 - bl sub_02005EE8 + bl sub_037FDD00 mov r1, #1 str r1, [r5, #0x24] ldr r1, [r5] mov r4, r0 cmp r1, #0 - bne _02005C4C - bl sub_02005EFC - b _02005C64 -_02005C4C: + bne _037FDA64 + bl sub_037FDD14 + b _037FDA7C +_037FDA64: mov r0, r5 - bl sub_02005A34 + bl sub_037FD84C mov r1, #0 mov r0, r4 str r1, [r5] - bl sub_02005EFC -_02005C64: + bl sub_037FDD14 +_037FDA7C: ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_02005C20 + arm_func_end sub_037FDA38 - arm_func_start sub_02005C6C -sub_02005C6C: ; 0x02005C6C + arm_func_start sub_037FDA84 +sub_037FDA84: ; 0x037FDA84 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 - bl sub_02005EE8 + bl sub_037FDD00 mov r5, r0 cmp r7, #0 - bne _02005C88 - bl sub_02006058 -_02005C88: - ldr r0, _02005CDC ; =0x03807844 + bne _037FDAA0 + bl sub_037FDE70 +_037FDAA0: + ldr r0, _037FDAF4 ; =0x03807844 mov r4, #0 ldr r0, [r0, #0xc] cmp r0, #0 ldrne r6, [r0, #0x18] moveq r6, #0 - b _02005CC4 -_02005CA4: + b _037FDADC +_037FDABC: ldr r1, [r0, #8] cmp r1, r7 - bne _02005CB4 - bl sub_02005C20 -_02005CB4: + bne _037FDACC + bl sub_037FDA38 +_037FDACC: mov r0, r6 cmp r6, #0 ldrne r6, [r6, #0x18] moveq r6, r4 -_02005CC4: +_037FDADC: cmp r0, #0 - bne _02005CA4 + bne _037FDABC mov r0, r5 - bl sub_02005EFC + bl sub_037FDD14 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02005CDC: .word 0x03807844 - arm_func_end sub_02005C6C +_037FDAF4: .word 0x03807844 + arm_func_end sub_037FDA84 - arm_func_start sub_02005CE0 -sub_02005CE0: ; 0x02005CE0 + arm_func_start sub_037FDAF8 +sub_037FDAF8: ; 0x037FDAF8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r0, #4 - bl sub_02003B10 - ldr r2, _02005E80 ; =0x04000004 - ldr r1, _02005E84 ; =0x0380FFF8 + bl sub_037FB928 + ldr r2, _037FDC98 ; =0x04000004 + ldr r1, _037FDC9C ; =0x0380FFF8 ldrh r0, [r2] bic r0, r0, #0x20 strh r0, [r2] @@ -7063,32 +7063,32 @@ sub_02005CE0: ; 0x02005CE0 and r0, r0, #0x100 orr r0, r1, r0 sub r0, r0, #1 - bl sub_02005E90 - ldr sl, _02005E88 ; =0x04000006 + bl sub_037FDCA8 + ldr sl, _037FDCA0 ; =0x04000006 mov r6, #0 - ldr r5, _02005E8C ; =0x03807844 + ldr r5, _037FDCA4 ; =0x03807844 sub r7, sl, #2 mov fp, #1 mov r8, r6 - b _02005E6C -_02005D48: + b _037FDC84 +_037FDB60: ldrh sb, [sl] mov r0, sb - bl sub_02005E90 + bl sub_037FDCA8 ldrsh r1, [r4, #0x10] ldr r2, [r4, #0xc] sub r1, sb, r1 mov sb, r0 subs r0, sb, r2 - bmi _02005D7C + bmi _037FDB94 cmp r0, #0 - bne _02005D84 + bne _037FDB9C cmp r1, #0 - bge _02005D84 -_02005D7C: + bge _037FDB9C +_037FDB94: mov r0, r8 - b _02005DA0 -_02005D84: + b _037FDBB8 +_037FDB9C: cmp r1, #0 addlt r0, r1, #7 addlt r1, r0, #0x100 @@ -7096,274 +7096,274 @@ _02005D84: cmp r1, r0 movle r0, fp movgt r0, #2 -_02005DA0: +_037FDBB8: cmp r0, #0 - beq _02005DBC + beq _037FDBD4 cmp r0, #1 - beq _02005DF8 + beq _037FDC10 cmp r0, #2 - beq _02005E50 - b _02005E6C -_02005DBC: + beq _037FDC68 + b _037FDC84 +_037FDBD4: mov r0, r4 - bl sub_02005BA0 + bl sub_037FD9B8 ldrh r1, [sl] ldrsh r0, [r4, #0x10] cmp r0, r1 ldreq r0, [r4, #0xc] cmpeq r0, sb - bne _02005E78 + bne _037FDC90 mov r0, #4 - bl sub_02003B10 + bl sub_037FB928 ldrh r1, [r7] mov r0, #4 bic r1, r1, #0x20 strh r1, [r7] - bl sub_02003B4C -_02005DF8: + bl sub_037FB964 +_037FDC10: ldr sb, [r4] mov r0, r4 - bl sub_02005A34 + bl sub_037FD84C str r6, [r4] cmp sb, #0 - beq _02005E1C + beq _037FDC34 ldr r0, [r4, #4] mov lr, pc bx sb -_02005E1C: +_037FDC34: ldr r0, [r4, #0x1c] cmp r0, #0 - beq _02005E6C + beq _037FDC84 ldr r0, [r4, #0x24] cmp r0, #0 - bne _02005E6C + bne _037FDC84 str sb, [r4] ldr r1, [r5, #8] mov r0, r4 add r1, r1, #1 str r1, [r4, #0xc] - bl sub_02005990 - b _02005E6C -_02005E50: + bl sub_037FD7A8 + b _037FDC84 +_037FDC68: mov r0, r4 - bl sub_02005A34 + bl sub_037FD84C ldr r1, [r5, #8] mov r0, r4 add r1, r1, #1 str r1, [r4, #0xc] - bl sub_02005990 -_02005E6C: + bl sub_037FD7A8 +_037FDC84: ldr r4, [r5, #0xc] cmp r4, #0 - bne _02005D48 -_02005E78: + bne _037FDB60 +_037FDC90: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_02005E80: .word 0x04000004 -_02005E84: .word 0x0380FFF8 -_02005E88: .word 0x04000006 -_02005E8C: .word 0x03807844 - arm_func_end sub_02005CE0 +_037FDC98: .word 0x04000004 +_037FDC9C: .word 0x0380FFF8 +_037FDCA0: .word 0x04000006 +_037FDCA4: .word 0x03807844 + arm_func_end sub_037FDAF8 - arm_func_start sub_02005E90 -sub_02005E90: ; 0x02005E90 + arm_func_start sub_037FDCA8 +sub_037FDCA8: ; 0x037FDCA8 stmdb sp!, {r4, lr} mov r4, r0 - bl sub_02005EE8 - ldr r1, _02005ED0 ; =0x03807844 + bl sub_037FDD00 + ldr r1, _037FDCE8 ; =0x03807844 ldr r2, [r1, #4] cmp r4, r2 ldrlt r2, [r1, #8] addlt r2, r2, #1 strlt r2, [r1, #8] - ldr r1, _02005ED0 ; =0x03807844 + ldr r1, _037FDCE8 ; =0x03807844 str r4, [r1, #4] - bl sub_02005EFC - ldr r0, _02005ED0 ; =0x03807844 + bl sub_037FDD14 + ldr r0, _037FDCE8 ; =0x03807844 ldr r0, [r0, #8] ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02005ED0: .word 0x03807844 - arm_func_end sub_02005E90 +_037FDCE8: .word 0x03807844 + arm_func_end sub_037FDCA8 - arm_func_start sub_02005ED4 -sub_02005ED4: ; 0x02005ED4 + arm_func_start sub_037FDCEC +sub_037FDCEC: ; 0x037FDCEC mrs r0, cpsr bic r1, r0, #0x80 msr cpsr_c, r1 and r0, r0, #0x80 bx lr - arm_func_end sub_02005ED4 + arm_func_end sub_037FDCEC - arm_func_start sub_02005EE8 -sub_02005EE8: ; 0x02005EE8 + arm_func_start sub_037FDD00 +sub_037FDD00: ; 0x037FDD00 mrs r0, cpsr orr r1, r0, #0x80 msr cpsr_c, r1 and r0, r0, #0x80 bx lr - arm_func_end sub_02005EE8 + arm_func_end sub_037FDD00 - arm_func_start sub_02005EFC -sub_02005EFC: ; 0x02005EFC + arm_func_start sub_037FDD14 +sub_037FDD14: ; 0x037FDD14 mrs r1, cpsr bic r2, r1, #0x80 orr r2, r2, r0 msr cpsr_c, r2 and r0, r1, #0x80 bx lr - arm_func_end sub_02005EFC + arm_func_end sub_037FDD14 - arm_func_start sub_02005F14 -sub_02005F14: ; 0x02005F14 + arm_func_start sub_037FDD2C +sub_037FDD2C: ; 0x037FDD2C mrs r0, cpsr orr r1, r0, #0xc0 msr cpsr_c, r1 and r0, r0, #0xc0 bx lr - arm_func_end sub_02005F14 + arm_func_end sub_037FDD2C - arm_func_start sub_02005F28 -sub_02005F28: ; 0x02005F28 + arm_func_start sub_037FDD40 +sub_037FDD40: ; 0x037FDD40 mrs r1, cpsr bic r2, r1, #0xc0 orr r2, r2, r0 msr cpsr_c, r2 and r0, r1, #0xc0 bx lr - arm_func_end sub_02005F28 + arm_func_end sub_037FDD40 - arm_func_start sub_02005F40 -sub_02005F40: ; 0x02005F40 + arm_func_start sub_037FDD58 +sub_037FDD58: ; 0x037FDD58 mrs r0, cpsr and r0, r0, #0x1f bx lr - arm_func_end sub_02005F40 + arm_func_end sub_037FDD58 - arm_func_start sub_02005F4C -sub_02005F4C: ; 0x02005F4C - ldr ip, _02005F60 ; =sub_038037B8 + arm_func_start sub_037FDD64 +sub_037FDD64: ; 0x037FDD64 + ldr ip, _037FDD78 ; =sub_038037B8 mov r1, r0, asr #1 add r0, r0, r1, lsr #30 mov r0, r0, asr #2 bx ip .align 2, 0 -_02005F60: .word sub_038037B8 - arm_func_end sub_02005F4C +_037FDD78: .word sub_038037B8 + 1 + arm_func_end sub_037FDD64 - arm_func_start sub_02005F64 -sub_02005F64: ; 0x02005F64 + arm_func_start sub_037FDD7C +sub_037FDD7C: ; 0x037FDD7C stmdb sp!, {r3, lr} - ldr r2, _02005F94 ; =0x03807858 + ldr r2, _037FDDAC ; =0x03807858 ldrh r0, [r2] cmp r0, #0 - bne _02005F8C - ldr r1, _02005F98 ; =0x037FDDC4 + bne _037FDDA4 + ldr r1, _037FDDB0 ; =0x037FDDC4 mov r3, #1 mov r0, #0xc strh r3, [r2] - bl sub_02006584 -_02005F8C: + bl sub_037FE39C +_037FDDA4: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02005F94: .word 0x03807858 -_02005F98: .word 0x037FDDC4 - arm_func_end sub_02005F64 +_037FDDAC: .word 0x03807858 +_037FDDB0: .word 0x037FDDC4 + arm_func_end sub_037FDD7C - arm_func_start sub_02005F9C -sub_02005F9C: ; 0x02005F9C - ldr r0, _02005FA8 ; =0x03807858 + arm_func_start sub_037FDDB4 +sub_037FDDB4: ; 0x037FDDB4 + ldr r0, _037FDDC0 ; =0x03807858 ldrh r0, [r0, #2] bx lr .align 2, 0 -_02005FA8: .word 0x03807858 - arm_func_end sub_02005F9C +_037FDDC0: .word 0x03807858 + arm_func_end sub_037FDDB4 - arm_func_start sub_02005FAC -sub_02005FAC: ; 0x02005FAC + arm_func_start sub_037FDDC4 +sub_037FDDC4: ; 0x037FDDC4 stmdb sp!, {r3, lr} and r0, r1, #0x7f00 mov r0, r0, lsl #8 mov r0, r0, lsr #0x10 cmp r0, #0x10 - ldreq r0, _02005FDC ; =0x03807858 + ldreq r0, _037FDDF4 ; =0x03807858 moveq r1, #1 streqh r1, [r0, #2] - beq _02005FD4 - bl sub_02006058 -_02005FD4: + beq _037FDDEC + bl sub_037FDE70 +_037FDDEC: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02005FDC: .word 0x03807858 - arm_func_end sub_02005FAC +_037FDDF4: .word 0x03807858 + arm_func_end sub_037FDDC4 - arm_func_start sub_02005FE0 -sub_02005FE0: ; 0x02005FE0 + arm_func_start sub_037FDDF8 +sub_037FDDF8: ; 0x037FDDF8 stmdb sp!, {r4, r5, r6, lr} mov r0, #0 - bl sub_020060DC + bl sub_037FDEF4 mov r0, #1 - bl sub_020060DC + bl sub_037FDEF4 mov r0, #2 - bl sub_020060DC + bl sub_037FDEF4 mov r0, #3 - bl sub_020060DC + bl sub_037FDEF4 mov r0, #0x40000 - bl sub_02003A8C + bl sub_037FB8A4 mvn r0, #0 - bl sub_02003B4C - bl sub_0200689C + bl sub_037FB964 + bl sub_037FE6B4 mov r6, #0xc mov r5, #0x1000 mov r4, #0 -_02006024: +_037FDE3C: mov r0, r6 mov r1, r5 mov r2, r4 - bl sub_020065F8 + bl sub_037FE410 cmp r0, #0 - bne _02006024 - ldr r0, _02006054 ; =0x04000208 + bne _037FDE3C + ldr r0, _037FDE6C ; =0x04000208 mov r1, #0 strh r1, [r0] - bl sub_0200F4A8 + bl sub_038072C0 ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_02006054: .word 0x04000208 - arm_func_end sub_02005FE0 +_037FDE6C: .word 0x04000208 + arm_func_end sub_037FDDF8 - arm_func_start sub_02006058 -sub_02006058: ; 0x02006058 + arm_func_start sub_037FDE70 +sub_037FDE70: ; 0x037FDE70 stmdb sp!, {r3, lr} mov r0, #0 - bl sub_0200E7F8 -_02006064: - bl sub_02005EE8 - bl sub_02000660 - b _02006064 - arm_func_end sub_02006058 + bl sub_03806610 +_037FDE7C: + bl sub_037FDD00 + bl sub_037F8478 + b _037FDE7C + arm_func_end sub_037FDE70 - arm_func_start sub_02006070 -sub_02006070: ; 0x02006070 + arm_func_start sub_037FDE88 +sub_037FDE88: ; 0x037FDE88 stmdb sp!, {r4, lr} mov r4, r0 - bl sub_02005EE8 + bl sub_037FDD00 add r1, r4, r4, lsl #1 add r1, r1, #2 mov r1, r1, lsl #2 add r1, r1, #0xb0 add r2, r1, #0x4000000 -_02006090: +_037FDEA8: ldr r1, [r2] tst r1, #0x80000000 - bne _02006090 + bne _037FDEA8 cmp r4, #0 - bne _020060CC + bne _037FDEE4 mov r1, #0xc mul r1, r4, r1 add r2, r1, #0x4000000 @@ -7371,22 +7371,22 @@ _02006090: add r1, r1, #0xb0 str r3, [r2, #0xb0] add r2, r1, #0x4000000 - ldr r1, _020060D8 ; =0x81400001 + ldr r1, _037FDEF0 ; =0x81400001 str r3, [r2, #4] str r1, [r2, #8] -_020060CC: - bl sub_02005EFC +_037FDEE4: + bl sub_037FDD14 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_020060D8: .word 0x81400001 - arm_func_end sub_02006070 +_037FDEF0: .word 0x81400001 + arm_func_end sub_037FDE88 - arm_func_start sub_020060DC -sub_020060DC: ; 0x020060DC + arm_func_start sub_037FDEF4 +sub_037FDEF4: ; 0x037FDEF4 stmdb sp!, {r4, lr} mov r4, r0 - bl sub_02005EE8 + bl sub_037FDD00 mov r1, #6 mul r1, r4, r1 add r1, r1, #5 @@ -7401,7 +7401,7 @@ sub_020060DC: ; 0x020060DC strh r2, [r1, #0xb0] ldrh r2, [r1, #0xb0] ldrh r1, [r1, #0xb0] - bne _0200614C + bne _037FDF64 mov r1, #0xc mul r1, r4, r1 add r2, r1, #0x4000000 @@ -7409,95 +7409,95 @@ sub_020060DC: ; 0x020060DC add r1, r1, #0xb0 str r3, [r2, #0xb0] add r2, r1, #0x4000000 - ldr r1, _02006158 ; =0x81400001 + ldr r1, _037FDF70 ; =0x81400001 str r3, [r2, #4] str r1, [r2, #8] -_0200614C: - bl sub_02005EFC +_037FDF64: + bl sub_037FDD14 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02006158: .word 0x81400001 - arm_func_end sub_020060DC +_037FDF70: .word 0x81400001 + arm_func_end sub_037FDEF4 - arm_func_start sub_0200615C -sub_0200615C: ; 0x0200615C + arm_func_start sub_037FDF74 +sub_037FDF74: ; 0x037FDF74 mov r3, #0 -_02006160: +_037FDF78: cmp r3, r2 - blt _0200616C - b _02006170 -_0200616C: + blt _037FDF84 + b _037FDF88 +_037FDF84: strh r0, [r1, r3] -_02006170: - blt _02006178 - b _0200617C -_02006178: +_037FDF88: + blt _037FDF90 + b _037FDF94 +_037FDF90: add r3, r3, #2 -_0200617C: - blt _02006160 +_037FDF94: + blt _037FDF78 bx lr - arm_func_end sub_0200615C + arm_func_end sub_037FDF74 - arm_func_start sub_02006184 -sub_02006184: ; 0x02006184 + arm_func_start sub_037FDF9C +sub_037FDF9C: ; 0x037FDF9C mov ip, #0 -_02006188: +_037FDFA0: cmp ip, r2 - blt _02006194 - b _02006198 -_02006194: + blt _037FDFAC + b _037FDFB0 +_037FDFAC: ldrh r3, [r0, ip] -_02006198: - blt _020061A0 - b _020061A4 -_020061A0: +_037FDFB0: + blt _037FDFB8 + b _037FDFBC +_037FDFB8: strh r3, [r1, ip] -_020061A4: - blt _020061AC - b _020061B0 -_020061AC: +_037FDFBC: + blt _037FDFC4 + b _037FDFC8 +_037FDFC4: add ip, ip, #2 -_020061B0: - blt _02006188 +_037FDFC8: + blt _037FDFA0 bx lr - arm_func_end sub_02006184 + arm_func_end sub_037FDF9C - arm_func_start sub_020061B8 -sub_020061B8: ; 0x020061B8 + arm_func_start sub_037FDFD0 +sub_037FDFD0: ; 0x037FDFD0 add ip, r1, r2 -_020061BC: +_037FDFD4: cmp r1, ip - blt _020061C8 - b _020061CC -_020061C8: + blt _037FDFE0 + b _037FDFE4 +_037FDFE0: stmia r1!, {r0} -_020061CC: - blt _020061BC +_037FDFE4: + blt _037FDFD4 bx lr - arm_func_end sub_020061B8 + arm_func_end sub_037FDFD0 - arm_func_start sub_020061D4 -sub_020061D4: ; 0x020061D4 + arm_func_start sub_037FDFEC +sub_037FDFEC: ; 0x037FDFEC add ip, r1, r2 -_020061D8: +_037FDFF0: cmp r1, ip - blt _020061E4 - b _020061E8 -_020061E4: + blt _037FDFFC + b _037FE000 +_037FDFFC: ldmia r0!, {r2} -_020061E8: - blt _020061F0 - b _020061F4 -_020061F0: +_037FE000: + blt _037FE008 + b _037FE00C +_037FE008: stmia r1!, {r2} -_020061F4: - blt _020061D8 +_037FE00C: + blt _037FDFF0 bx lr - arm_func_end sub_020061D4 + arm_func_end sub_037FDFEC - arm_func_start sub_020061FC -sub_020061FC: ; 0x020061FC + arm_func_start sub_037FE014 +sub_037FE014: ; 0x037FE014 stmdb sp!, {r4, r5, r6, r7, r8, sb} add sb, r1, r2 mov ip, r2, lsr #5 @@ -7509,207 +7509,207 @@ sub_020061FC: ; 0x020061FC mov r6, r2 mov r7, r2 mov r8, r2 -_02006228: +_037FE040: cmp r1, ip - blt _02006234 - b _02006238 -_02006234: + blt _037FE04C + b _037FE050 +_037FE04C: stmia r1!, {r0, r2, r3, r4, r5, r6, r7, r8} -_02006238: - blt _02006228 -_0200623C: +_037FE050: + blt _037FE040 +_037FE054: cmp r1, sb - blt _02006248 - b _0200624C -_02006248: + blt _037FE060 + b _037FE064 +_037FE060: stmia r1!, {r0} -_0200624C: - blt _0200623C +_037FE064: + blt _037FE054 ldmia sp!, {r4, r5, r6, r7, r8, sb} bx lr - arm_func_end sub_020061FC + arm_func_end sub_037FE014 - arm_func_start sub_02006258 -sub_02006258: ; 0x02006258 + arm_func_start sub_037FE070 +sub_037FE070: ; 0x037FE070 cmp r2, #0 - beq _02006264 - b _02006268 -_02006264: + beq _037FE07C + b _037FE080 +_037FE07C: bx lr -_02006268: +_037FE080: tst r0, #1 - beq _02006294 + beq _037FE0AC ldrh ip, [r0, #-1] and ip, ip, #0xff orr r3, ip, r1, lsl #8 strh r3, [r0, #-1] add r0, r0, #1 subs r2, r2, #1 - beq _02006290 - b _02006294 -_02006290: + beq _037FE0A8 + b _037FE0AC +_037FE0A8: bx lr -_02006294: +_037FE0AC: cmp r2, #2 - blo _020062EC + blo _037FE104 orr r1, r1, r1, lsl #8 tst r0, #2 - beq _020062BC + beq _037FE0D4 strh r1, [r0], #2 subs r2, r2, #2 - beq _020062B8 - b _020062BC -_020062B8: + beq _037FE0D0 + b _037FE0D4 +_037FE0D0: bx lr -_020062BC: +_037FE0D4: orr r1, r1, r1, lsl #16 bics r3, r2, #3 - beq _020062DC + beq _037FE0F4 sub r2, r2, r3 add ip, r3, r0 -_020062D0: +_037FE0E8: str r1, [r0], #4 cmp r0, ip - blo _020062D0 -_020062DC: + blo _037FE0E8 +_037FE0F4: tst r2, #2 - bne _020062E8 - b _020062EC -_020062E8: + bne _037FE100 + b _037FE104 +_037FE100: strh r1, [r0], #2 -_020062EC: +_037FE104: tst r2, #1 - beq _020062F8 - b _020062FC -_020062F8: + beq _037FE110 + b _037FE114 +_037FE110: bx lr -_020062FC: +_037FE114: ldrh r3, [r0] and r3, r3, #0xff00 and r1, r1, #0xff orr r1, r1, r3 strh r1, [r0] bx lr - arm_func_end sub_02006258 + arm_func_end sub_037FE070 - arm_func_start sub_02006314 -sub_02006314: ; 0x02006314 + arm_func_start sub_037FE12C +sub_037FE12C: ; 0x037FE12C cmp r2, #0 - beq _02006320 - b _02006324 -_02006320: + beq _037FE138 + b _037FE13C +_037FE138: bx lr -_02006324: +_037FE13C: tst r1, #1 - beq _0200637C + beq _037FE194 ldrh ip, [r1, #-1] and ip, ip, #0xff tst r0, #1 - bne _02006340 - b _02006344 -_02006340: + bne _037FE158 + b _037FE15C +_037FE158: ldrh r3, [r0, #-1] -_02006344: - bne _0200634C - b _02006350 -_0200634C: +_037FE15C: + bne _037FE164 + b _037FE168 +_037FE164: mov r3, r3, lsr #8 -_02006350: - beq _02006358 - b _0200635C -_02006358: +_037FE168: + beq _037FE170 + b _037FE174 +_037FE170: ldrh r3, [r0] -_0200635C: +_037FE174: orr r3, ip, r3, lsl #8 strh r3, [r1, #-1] add r0, r0, #1 add r1, r1, #1 subs r2, r2, #1 - beq _02006378 - b _0200637C -_02006378: + beq _037FE190 + b _037FE194 +_037FE190: bx lr -_0200637C: +_037FE194: eor ip, r1, r0 tst ip, #1 - beq _020063D8 + beq _037FE1F0 bic r0, r0, #1 ldrh ip, [r0], #2 mov r3, ip, lsr #8 subs r2, r2, #2 - blo _020063B4 -_0200639C: + blo _037FE1CC +_037FE1B4: ldrh ip, [r0], #2 orr ip, r3, ip, lsl #8 strh ip, [r1], #2 mov r3, ip, lsr #0x10 subs r2, r2, #2 - bhs _0200639C -_020063B4: + bhs _037FE1B4 +_037FE1CC: tst r2, #1 - beq _020063C0 - b _020063C4 -_020063C0: + beq _037FE1D8 + b _037FE1DC +_037FE1D8: bx lr -_020063C4: +_037FE1DC: ldrh ip, [r1] and ip, ip, #0xff00 orr ip, ip, r3 strh ip, [r1] bx lr -_020063D8: +_037FE1F0: tst ip, #2 - beq _02006404 + beq _037FE21C bics r3, r2, #1 - beq _02006468 + beq _037FE280 sub r2, r2, r3 add ip, r3, r1 -_020063F0: +_037FE208: ldrh r3, [r0], #2 strh r3, [r1], #2 cmp r1, ip - blo _020063F0 - b _02006468 -_02006404: + blo _037FE208 + b _037FE280 +_037FE21C: cmp r2, #2 - blo _02006468 + blo _037FE280 tst r1, #2 - beq _0200642C + beq _037FE244 ldrh r3, [r0], #2 strh r3, [r1], #2 subs r2, r2, #2 - beq _02006428 - b _0200642C -_02006428: + beq _037FE240 + b _037FE244 +_037FE240: bx lr -_0200642C: +_037FE244: bics r3, r2, #3 - beq _0200644C + beq _037FE264 sub r2, r2, r3 add ip, r3, r1 -_0200643C: +_037FE254: ldr r3, [r0], #4 str r3, [r1], #4 cmp r1, ip - blo _0200643C -_0200644C: + blo _037FE254 +_037FE264: tst r2, #2 - bne _02006458 - b _0200645C -_02006458: + bne _037FE270 + b _037FE274 +_037FE270: ldrh r3, [r0], #2 -_0200645C: - bne _02006464 - b _02006468 -_02006464: +_037FE274: + bne _037FE27C + b _037FE280 +_037FE27C: strh r3, [r1], #2 -_02006468: +_037FE280: tst r2, #1 - beq _02006474 - b _02006478 -_02006474: + beq _037FE28C + b _037FE290 +_037FE28C: bx lr -_02006478: +_037FE290: ldrh r2, [r1] ldrh r0, [r0] and r2, r2, #0xff00 @@ -7717,94 +7717,94 @@ _02006478: orr r0, r2, r0 strh r0, [r1] bx lr - arm_func_end sub_02006314 + arm_func_end sub_037FE12C - arm_func_start sub_02006494 -sub_02006494: ; 0x02006494 + arm_func_start sub_037FE2AC +sub_037FE2AC: ; 0x037FE2AC .word 0xE1010090 bx lr - arm_func_end sub_02006494 + arm_func_end sub_037FE2AC - arm_func_start sub_0200649C -sub_0200649C: ; 0x0200649C - ldr ip, _020064A4 ; =sub_037FE2C0 + arm_func_start sub_037FE2B4 +sub_037FE2B4: ; 0x037FE2B4 + ldr ip, _037FE2BC ; =sub_037FE2C0 bx ip .align 2, 0 -_020064A4: .word sub_037FE2C0 - arm_func_end sub_0200649C +_037FE2BC: .word sub_037FE2C0 + arm_func_end sub_037FE2B4 - arm_func_start sub_020064A8 -sub_020064A8: ; 0x020064A8 + arm_func_start sub_037FE2C0 +sub_037FE2C0: ; 0x037FE2C0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - bl sub_02005EE8 - ldr r1, _02006568 ; =0x0380785C + bl sub_037FDD00 + ldr r1, _037FE380 ; =0x0380785C mov r4, r0 ldrh r0, [r1] cmp r0, #0 - bne _02006558 - ldr r0, _0200656C ; =0x027FFC00 + bne _037FE370 + ldr r0, _037FE384 ; =0x027FFC00 mov r2, #1 strh r2, [r1] mov r2, #0 str r2, [r0, #0x38c] - ldr r0, _02006570 ; =0x03807860 + ldr r0, _037FE388 ; =0x03807860 mov r1, r2 -_020064E0: +_037FE2F8: str r1, [r0, r2, lsl #2] add r2, r2, #1 cmp r2, #0x20 - blt _020064E0 - ldr r2, _02006574 ; =0x0000C408 - ldr r1, _02006578 ; =0x04000184 + blt _037FE2F8 + ldr r2, _037FE38C ; =0x0000C408 + ldr r1, _037FE390 ; =0x04000184 mov r0, #0x40000 strh r2, [r1] - bl sub_02003B4C - ldr r1, _0200657C ; =0x037FE4A8 + bl sub_037FB964 + ldr r1, _037FE394 ; =0x037FE4A8 mov r0, #0x40000 - bl sub_020039A4 + bl sub_037FB7BC mov r0, #0x40000 - bl sub_02003AD8 + bl sub_037FB8F0 mov r5, #8 - ldr r8, _02006580 ; =0x04000180 + ldr r8, _037FE398 ; =0x04000180 mov r6, r5 mov r7, #0x3e8 - b _02006550 -_0200652C: + b _037FE368 +_037FE344: mov r0, r5, lsl #8 strh r0, [r8] mov r0, r7 - bl sub_02005F4C + bl sub_037FDD64 ldrh r0, [r8] and r0, r0, #0xf cmp r0, r5 movne r5, r6 sub r5, r5, #1 -_02006550: +_037FE368: cmp r5, #0 - bge _0200652C -_02006558: + bge _037FE344 +_037FE370: mov r0, r4 - bl sub_02005EFC + bl sub_037FDD14 ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_02006568: .word 0x0380785C -_0200656C: .word 0x027FFC00 -_02006570: .word 0x03807860 -_02006574: .word 0x0000C408 -_02006578: .word 0x04000184 -_0200657C: .word 0x037FE4A8 -_02006580: .word 0x04000180 - arm_func_end sub_020064A8 +_037FE380: .word 0x0380785C +_037FE384: .word 0x027FFC00 +_037FE388: .word 0x03807860 +_037FE38C: .word 0x0000C408 +_037FE390: .word 0x04000184 +_037FE394: .word 0x037FE4A8 +_037FE398: .word 0x04000180 + arm_func_end sub_037FE2C0 - arm_func_start sub_02006584 -sub_02006584: ; 0x02006584 + arm_func_start sub_037FE39C +sub_037FE39C: ; 0x037FE39C stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r5, r1 - bl sub_02005EE8 - ldr r1, _020065CC ; =0x03807860 - ldr r3, _020065D0 ; =0x027FFC00 + bl sub_037FDD00 + ldr r1, _037FE3E4 ; =0x03807860 + ldr r3, _037FE3E8 ; =0x027FFC00 str r5, [r1, r4, lsl #2] cmp r5, #0 ldrne r2, [r3, #0x38c] @@ -7814,17 +7814,17 @@ sub_02006584: ; 0x02006584 mvneq r1, r1, lsl r4 andeq r1, r2, r1 str r1, [r3, #0x38c] - bl sub_02005EFC + bl sub_037FDD14 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_020065CC: .word 0x03807860 -_020065D0: .word 0x027FFC00 - arm_func_end sub_02006584 +_037FE3E4: .word 0x03807860 +_037FE3E8: .word 0x027FFC00 + arm_func_end sub_037FE39C - arm_func_start sub_020065D4 -sub_020065D4: ; 0x020065D4 - ldr r2, _020065F4 ; =0x027FFC00 + arm_func_start sub_037FE3EC +sub_037FE3EC: ; 0x037FE3EC + ldr r2, _037FE40C ; =0x027FFC00 mov r3, #1 add r1, r2, r1, lsl #2 ldr r1, [r1, #0x388] @@ -7833,11 +7833,11 @@ sub_020065D4: ; 0x020065D4 mov r0, r3 bx lr .align 2, 0 -_020065F4: .word 0x027FFC00 - arm_func_end sub_020065D4 +_037FE40C: .word 0x027FFC00 + arm_func_end sub_037FE3EC - arm_func_start sub_020065F8 -sub_020065F8: ; 0x020065F8 + arm_func_start sub_037FE410 +sub_037FE410: ; 0x037FE410 stmdb sp!, {r3, lr} ldr r3, [sp] and r0, r0, #0x1f @@ -7849,15 +7849,15 @@ sub_020065F8: ; 0x020065F8 and r0, r0, #0x3f orr r0, r0, r1, lsl #6 str r0, [sp] - bl sub_02006630 + bl sub_037FE448 ldmia sp!, {r3, lr} bx lr - arm_func_end sub_020065F8 + arm_func_end sub_037FE410 - arm_func_start sub_02006630 -sub_02006630: ; 0x02006630 + arm_func_start sub_037FE448 +sub_037FE448: ; 0x037FE448 stmdb sp!, {r4, lr} - ldr r2, _0200668C ; =0x04000184 + ldr r2, _037FE4A4 ; =0x04000184 mov r4, r0 ldrh r0, [r2] tst r0, #0x4000 @@ -7865,96 +7865,96 @@ sub_02006630: ; 0x02006630 mvnne r0, #0 orrne r1, r1, #0xc000 strneh r1, [r2] - bne _02006684 - bl sub_02005EE8 - ldr r2, _0200668C ; =0x04000184 + bne _037FE49C + bl sub_037FDD00 + ldr r2, _037FE4A4 ; =0x04000184 ldrh r1, [r2] tst r1, #2 - beq _02006678 - bl sub_02005EFC + beq _037FE490 + bl sub_037FDD14 mvn r0, #1 - b _02006684 -_02006678: + b _037FE49C +_037FE490: str r4, [r2, #4] - bl sub_02005EFC + bl sub_037FDD14 mov r0, #0 -_02006684: +_037FE49C: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200668C: .word 0x04000184 - arm_func_end sub_02006630 +_037FE4A4: .word 0x04000184 + arm_func_end sub_037FE448 - arm_func_start sub_02006690 -sub_02006690: ; 0x02006690 + arm_func_start sub_037FE4A8 +sub_037FE4A8: ; 0x037FE4A8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #4 ldr r6, [sp] mvn r8, #3 - ldr r4, _02006768 ; =0x03807860 - ldr sb, _0200676C ; =0x04000184 + ldr r4, _037FE580 ; =0x03807860 + ldr sb, _037FE584 ; =0x04000184 add sl, r8, #1 mov r7, #0x4100000 mov r5, #0 -_020066B4: +_037FE4CC: ldrh r0, [sb] tst r0, #0x4000 ldrneh r0, [sb] addne r1, r8, #1 orrne r0, r0, #0xc000 strneh r0, [sb] - bne _020066FC - bl sub_02005EE8 + bne _037FE514 + bl sub_037FDD00 ldrh r1, [sb] tst r1, #0x100 - beq _020066EC - bl sub_02005EFC + beq _037FE504 + bl sub_037FDD14 mov r1, r8 - b _020066FC -_020066EC: + b _037FE514 +_037FE504: ldr r6, [r7] str r6, [sp] - bl sub_02005EFC + bl sub_037FDD14 mov r1, r5 -_020066FC: +_037FE514: cmp r1, r8 - beq _0200675C + beq _037FE574 cmp r1, sl - beq _020066B4 + beq _037FE4CC mov r0, r6, lsl #0x1b movs r0, r0, lsr #0x1b - beq _020066B4 + beq _037FE4CC ldr r3, [r4, r0, lsl #2] cmp r3, #0 - beq _0200673C + beq _037FE554 mov r2, r6, lsl #0x1a mov r1, r6, lsr #6 mov r2, r2, lsr #0x1f mov lr, pc bx r3 -_02006738: - b _020066B4 -_0200673C: +_037FE550: + b _037FE4CC +_037FE554: mov r0, r6, lsl #0x1a movs r0, r0, lsr #0x1f - bne _020066B4 + bne _037FE4CC orr r6, r6, #0x20 mov r0, r6 str r6, [sp] - bl sub_02006630 - b _020066B4 -_0200675C: + bl sub_037FE448 + b _037FE4CC +_037FE574: add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} bx lr .align 2, 0 -_02006768: .word 0x03807860 -_0200676C: .word 0x04000184 - arm_func_end sub_02006690 +_037FE580: .word 0x03807860 +_037FE584: .word 0x04000184 + arm_func_end sub_037FE4A8 - arm_func_start sub_02006770 -sub_02006770: ; 0x02006770 - ldr r2, _0200678C ; =0x04000134 + arm_func_start sub_037FE588 +sub_037FE588: ; 0x037FE588 + ldr r2, _037FE5A4 ; =0x04000134 mvn r3, r0 ldrh r0, [r2] and r0, r3, r0 @@ -7962,76 +7962,76 @@ sub_02006770: ; 0x02006770 strh r0, [r2] bx lr .align 2, 0 -_0200678C: .word 0x04000134 - arm_func_end sub_02006770 +_037FE5A4: .word 0x04000134 + arm_func_end sub_037FE588 - arm_func_start sub_02006790 -sub_02006790: ; 0x02006790 - ldr ip, _020067A4 ; =sub_037FE588 + arm_func_start sub_037FE5A8 +sub_037FE5A8: ; 0x037FE5A8 + ldr ip, _037FE5BC ; =sub_037FE588 mov r0, r0, lsl #0x10 mov r1, r0, lsr #0x10 mov r0, #0xc000 bx ip .align 2, 0 -_020067A4: .word sub_037FE588 - arm_func_end sub_02006790 +_037FE5BC: .word sub_037FE588 + arm_func_end sub_037FE5A8 - arm_func_start sub_020067A8 -sub_020067A8: ; 0x020067A8 + arm_func_start sub_037FE5C0 +sub_037FE5C0: ; 0x037FE5C0 stmdb sp!, {lr} sub sp, sp, #0xc - bl sub_0200538C + bl sub_037FD1A4 cmp r0, #0 - beq _020067C8 - bl sub_02005578 + beq _037FE5E0 + bl sub_037FD390 cmp r0, #0 - bne _020067D0 -_020067C8: + bne _037FE5E8 +_037FE5E0: mov r0, #0 - b _02006828 -_020067D0: - ldr r0, _02006834 ; =0x038078E0 + b _037FE640 +_037FE5E8: + ldr r0, _037FE64C ; =0x038078E0 ldr r0, [r0] cmp r0, #0 movne r0, #0 - bne _02006828 - ldr r0, _02006838 ; =0x038078E4 - bl sub_02005588 - bl sub_02005404 - ldr r2, _0200683C ; =0x037FE65C - ldr r3, _02006840 ; =0x0000082E + bne _037FE640 + ldr r0, _037FE650 ; =0x038078E4 + bl sub_037FD3A0 + bl sub_037FD21C + ldr r2, _037FE654 ; =0x037FE65C + ldr r3, _037FE658 ; =0x0000082E str r2, [sp, #4] adds ip, r0, r3 mov lr, #0 str lr, [sp, #8] adc r2, r1, #0 - ldr r0, _02006838 ; =0x038078E4 + ldr r0, _037FE650 ; =0x038078E4 mov r1, ip str lr, [sp] - bl sub_02005734 - ldr r1, _02006834 ; =0x038078E0 + bl sub_037FD54C + ldr r1, _037FE64C ; =0x038078E0 mov r0, #1 str r0, [r1] -_02006828: +_037FE640: add sp, sp, #0xc ldmia sp!, {lr} bx lr .align 2, 0 -_02006834: .word 0x038078E0 -_02006838: .word 0x038078E4 -_0200683C: .word 0x037FE65C -_02006840: .word 0x0000082E - arm_func_end sub_020067A8 +_037FE64C: .word 0x038078E0 +_037FE650: .word 0x038078E4 +_037FE654: .word 0x037FE65C +_037FE658: .word 0x0000082E + arm_func_end sub_037FE5C0 - arm_func_start sub_02006844 -sub_02006844: ; 0x02006844 + arm_func_start sub_037FE65C +sub_037FE65C: ; 0x037FE65C stmdb sp!, {r4, lr} mov r0, #0x8000 mov r4, #0 - bl sub_02006790 - ldr r0, _0200687C ; =0x04000136 + bl sub_037FE5A8 + ldr r0, _037FE694 ; =0x04000136 ldrh r1, [r0] - ldr r0, _02006880 ; =0x027FFFA8 + ldr r0, _037FE698 ; =0x027FFFA8 tst r1, #0x80 movne r4, #0x8000 and r1, r1, #0xb @@ -8040,125 +8040,125 @@ sub_02006844: ; 0x02006844 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200687C: .word 0x04000136 -_02006880: .word 0x027FFFA8 - arm_func_end sub_02006844 +_037FE694: .word 0x04000136 +_037FE698: .word 0x027FFFA8 + arm_func_end sub_037FE65C - arm_func_start sub_02006884 -sub_02006884: ; 0x02006884 - ldr r1, _02006898 ; =0x04000501 + arm_func_start sub_037FE69C +sub_037FE69C: ; 0x037FE69C + ldr r1, _037FE6B0 ; =0x04000501 ldrb r0, [r1] orr r0, r0, #0x80 strb r0, [r1] bx lr .align 2, 0 -_02006898: .word 0x04000501 - arm_func_end sub_02006884 +_037FE6B0: .word 0x04000501 + arm_func_end sub_037FE69C - arm_func_start sub_0200689C -sub_0200689C: ; 0x0200689C + arm_func_start sub_037FE6B4 +sub_037FE6B4: ; 0x037FE6B4 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _020068E8 ; =0x04000501 + ldr r1, _037FE700 ; =0x04000501 mov r5, #0 ldrb r0, [r1] bic r0, r0, #0x80 strb r0, [r1] mov r4, #1 -_020068B8: +_037FE6D0: mov r0, r5 mov r1, r4 - bl sub_02006C08 + bl sub_037FEA20 add r5, r5, #1 cmp r5, #0x10 - blt _020068B8 - ldr r0, _020068EC ; =0x04000508 + blt _037FE6D0 + ldr r0, _037FE704 ; =0x04000508 mov r1, #0 strb r1, [r0] strb r1, [r0, #1] ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_020068E8: .word 0x04000501 -_020068EC: .word 0x04000508 - arm_func_end sub_0200689C +_037FE700: .word 0x04000501 +_037FE704: .word 0x04000508 + arm_func_end sub_037FE6B4 - arm_func_start sub_020068F0 -sub_020068F0: ; 0x020068F0 + arm_func_start sub_037FE708 +sub_037FE708: ; 0x037FE708 stmdb sp!, {r3, lr} - ldr r2, _02006934 ; =0x04000501 + ldr r2, _037FE74C ; =0x04000501 mov r0, #0x80 ldrb r1, [r2] bic r1, r1, #0x80 strb r1, [r2] - bl sub_0200693C + bl sub_037FE754 mov r0, #0x40000 - bl sub_02005F4C + bl sub_037FDD64 mov r0, #1 - bl sub_0200CF4C - ldr r1, _02006938 ; =0x04000304 + bl sub_03804D64 + ldr r1, _037FE750 ; =0x04000304 ldrh r0, [r1] bic r0, r0, #1 strh r0, [r1] ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02006934: .word 0x04000501 -_02006938: .word 0x04000304 - arm_func_end sub_020068F0 +_037FE74C: .word 0x04000501 +_037FE750: .word 0x04000304 + arm_func_end sub_037FE708 - arm_func_start sub_0200693C -sub_0200693C: ; 0x0200693C - ldr ip, _02006944 ; =sub_038037E6 + arm_func_start sub_037FE754 +sub_037FE754: ; 0x037FE754 + ldr ip, _037FE75C ; =sub_038037E6 bx ip .align 2, 0 -_02006944: .word sub_038037E6 - arm_func_end sub_0200693C +_037FE75C: .word sub_038037E6 + 1 + arm_func_end sub_037FE754 - arm_func_start sub_02006948 -sub_02006948: ; 0x02006948 + arm_func_start sub_037FE760 +sub_037FE760: ; 0x037FE760 stmdb sp!, {r3, lr} - ldr r2, _0200698C ; =0x04000304 + ldr r2, _037FE7A4 ; =0x04000304 mov r0, #1 ldrh r1, [r2] orr r1, r1, #1 strh r1, [r2] - bl sub_0200CF28 + bl sub_03804D40 mov r0, #0x100 - bl sub_02006998 - ldr r0, _02006990 ; =0x0007AB80 - bl sub_02005F4C - ldr r1, _02006994 ; =0x04000501 + bl sub_037FE7B0 + ldr r0, _037FE7A8 ; =0x0007AB80 + bl sub_037FDD64 + ldr r1, _037FE7AC ; =0x04000501 ldrb r0, [r1] orr r0, r0, #0x80 strb r0, [r1] ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200698C: .word 0x04000304 -_02006990: .word 0x0007AB80 -_02006994: .word 0x04000501 - arm_func_end sub_02006948 +_037FE7A4: .word 0x04000304 +_037FE7A8: .word 0x0007AB80 +_037FE7AC: .word 0x04000501 + arm_func_end sub_037FE760 - arm_func_start sub_02006998 -sub_02006998: ; 0x02006998 - ldr ip, _020069A0 ; =sub_038037DE + arm_func_start sub_037FE7B0 +sub_037FE7B0: ; 0x037FE7B0 + ldr ip, _037FE7B8 ; =sub_038037DE bx ip .align 2, 0 -_020069A0: .word sub_038037DE - arm_func_end sub_02006998 +_037FE7B8: .word sub_038037DE + 1 + arm_func_end sub_037FE7B0 - arm_func_start sub_020069A4 -sub_020069A4: ; 0x020069A4 - ldr r1, _020069B0 ; =0x04000500 + arm_func_start sub_037FE7BC +sub_037FE7BC: ; 0x037FE7BC + ldr r1, _037FE7C8 ; =0x04000500 strb r0, [r1] bx lr .align 2, 0 -_020069B0: .word 0x04000500 - arm_func_end sub_020069A4 +_037FE7C8: .word 0x04000500 + arm_func_end sub_037FE7BC - arm_func_start sub_020069B4 -sub_020069B4: ; 0x020069B4 - ldr ip, _020069E8 ; =0x04000501 + arm_func_start sub_037FE7CC +sub_037FE7CC: ; 0x037FE7CC + ldr ip, _037FE800 ; =0x04000501 mov r3, r3, lsl #5 ldrb ip, [ip] tst ip, #0x80 @@ -8167,26 +8167,26 @@ sub_020069B4: ; 0x020069B4 orr r3, r3, ip, lsl #7 orr r2, r3, r2, lsl #4 orr r2, r2, r1, lsl #2 - ldr r1, _020069E8 ; =0x04000501 + ldr r1, _037FE800 ; =0x04000501 orr r0, r0, r2 strb r0, [r1] bx lr .align 2, 0 -_020069E8: .word 0x04000501 - arm_func_end sub_020069B4 +_037FE800: .word 0x04000501 + arm_func_end sub_037FE7CC - arm_func_start sub_020069EC -sub_020069EC: ; 0x020069EC + arm_func_start sub_037FE804 +sub_037FE804: ; 0x037FE804 stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r4, _02006AA4 ; =0x03807558 + ldr r4, _037FE8BC ; =0x03807558 mov r8, r1 ldr lr, [r4] - ldr r1, _02006AA8 ; =0x03807910 + ldr r1, _037FE8C0 ; =0x03807910 mov r7, r2 ldr r5, [sp, #0x2c] - ldr r4, _02006AAC ; =0x03807914 + ldr r4, _037FE8C4 ; =0x03807914 ldr ip, [sp, #0x20] - ldr r2, _02006AB0 ; =0x03807924 + ldr r2, _037FE8C8 ; =0x03807924 strb r5, [r4, r0] cmp lr, #0 ldr r1, [r1] @@ -8195,16 +8195,16 @@ sub_020069EC: ; 0x020069EC mov r4, r0, lsl #4 strb ip, [r2, r0] cmp r1, #0 - ble _02006A58 - ldr r1, _02006AB4 ; =0x0000FFF5 + ble _037FE870 + ldr r1, _037FE8CC ; =0x0000FFF5 mov r2, #1 tst r1, r2, lsl r0 - beq _02006A58 + beq _037FE870 mov r0, ip mov r1, r5 - bl sub_02006E28 + bl sub_037FEC40 mov ip, r0 -_02006A58: +_037FE870: ldr r2, [sp, #0x24] mov r0, r6, lsl #0x1b orr r0, r0, r7, lsl #29 @@ -8225,24 +8225,24 @@ _02006A58: ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_02006AA4: .word 0x03807558 -_02006AA8: .word 0x03807910 -_02006AAC: .word 0x03807914 -_02006AB0: .word 0x03807924 -_02006AB4: .word 0x0000FFF5 - arm_func_end sub_020069EC +_037FE8BC: .word 0x03807558 +_037FE8C0: .word 0x03807910 +_037FE8C4: .word 0x03807914 +_037FE8C8: .word 0x03807924 +_037FE8CC: .word 0x0000FFF5 + arm_func_end sub_037FE804 - arm_func_start sub_02006AB8 -sub_02006AB8: ; 0x02006AB8 + arm_func_start sub_037FE8D0 +sub_037FE8D0: ; 0x037FE8D0 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r4, _02006B50 ; =0x03807558 + ldr r4, _037FE968 ; =0x03807558 mov r7, r1 ldr ip, [r4] - ldr r1, _02006B54 ; =0x03807910 + ldr r1, _037FE96C ; =0x03807910 mov r6, r3 - ldr r3, _02006B58 ; =0x03807924 + ldr r3, _037FE970 ; =0x03807924 ldr r5, [sp, #0x1c] - ldr r4, _02006B5C ; =0x03807914 + ldr r4, _037FE974 ; =0x03807914 ldr r1, [r1] strb r5, [r4, r0] cmp ip, #0 @@ -8250,16 +8250,16 @@ sub_02006AB8: ; 0x02006AB8 mov r4, r0, lsl #4 strb r2, [r3, r0] cmp r1, #0 - ble _02006B1C - ldr r1, _02006B60 ; =0x0000FFF5 + ble _037FE934 + ldr r1, _037FE978 ; =0x0000FFF5 mov r3, #1 tst r1, r3, lsl r0 - beq _02006B1C + beq _037FE934 mov r0, r2 mov r1, r5 - bl sub_02006E28 + bl sub_037FEC40 mov r2, r0 -_02006B1C: +_037FE934: mov r0, r7, lsl #0x18 orr r0, r0, #0x60000000 orr r0, r0, r5, lsl #16 @@ -8274,24 +8274,24 @@ _02006B1C: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02006B50: .word 0x03807558 -_02006B54: .word 0x03807910 -_02006B58: .word 0x03807924 -_02006B5C: .word 0x03807914 -_02006B60: .word 0x0000FFF5 - arm_func_end sub_02006AB8 +_037FE968: .word 0x03807558 +_037FE96C: .word 0x03807910 +_037FE970: .word 0x03807924 +_037FE974: .word 0x03807914 +_037FE978: .word 0x0000FFF5 + arm_func_end sub_037FE8D0 - arm_func_start sub_02006B64 -sub_02006B64: ; 0x02006B64 + arm_func_start sub_037FE97C +sub_037FE97C: ; 0x037FE97C stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r4, _02006BF4 ; =0x03807558 + ldr r4, _037FEA0C ; =0x03807558 mov r7, r2 ldr ip, [r4] - ldr r2, _02006BF8 ; =0x03807910 + ldr r2, _037FEA10 ; =0x03807910 mov r6, r3 - ldr r3, _02006BFC ; =0x03807924 + ldr r3, _037FEA14 ; =0x03807924 ldr r5, [sp, #0x18] - ldr r4, _02006C00 ; =0x03807914 + ldr r4, _037FEA18 ; =0x03807914 ldr r2, [r2] strb r5, [r4, r0] cmp ip, #0 @@ -8299,16 +8299,16 @@ sub_02006B64: ; 0x02006B64 mov r4, r0, lsl #4 strb r1, [r3, r0] cmp r2, #0 - ble _02006BC8 - ldr r2, _02006C04 ; =0x0000FFF5 + ble _037FE9E0 + ldr r2, _037FEA1C ; =0x0000FFF5 mov r3, #1 tst r2, r3, lsl r0 - beq _02006BC8 + beq _037FE9E0 mov r0, r1 mov r1, r5 - bl sub_02006E28 + bl sub_037FEC40 mov r1, r0 -_02006BC8: +_037FE9E0: mov r0, r5, lsl #0x10 orr r0, r0, #0x60000000 orr r2, r0, r7, lsl #8 @@ -8321,15 +8321,15 @@ _02006BC8: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02006BF4: .word 0x03807558 -_02006BF8: .word 0x03807910 -_02006BFC: .word 0x03807924 -_02006C00: .word 0x03807914 -_02006C04: .word 0x0000FFF5 - arm_func_end sub_02006B64 +_037FEA0C: .word 0x03807558 +_037FEA10: .word 0x03807910 +_037FEA14: .word 0x03807924 +_037FEA18: .word 0x03807914 +_037FEA1C: .word 0x0000FFF5 + arm_func_end sub_037FE97C - arm_func_start sub_02006C08 -sub_02006C08: ; 0x02006C08 + arm_func_start sub_037FEA20 +sub_037FEA20: ; 0x037FEA20 mov r3, r0, lsl #4 add r0, r3, #0x4000000 ldr r2, [r0, #0x400] @@ -8340,31 +8340,31 @@ sub_02006C08: ; 0x02006C08 orrne r1, r1, #0x8000 str r1, [r0] bx lr - arm_func_end sub_02006C08 + arm_func_end sub_037FEA20 - arm_func_start sub_02006C30 -sub_02006C30: ; 0x02006C30 + arm_func_start sub_037FEA48 +sub_037FEA48: ; 0x037FEA48 stmdb sp!, {r3, r4, r5, lr} - ldr r3, _02006C9C ; =0x03807910 - ldr ip, _02006CA0 ; =0x03807924 + ldr r3, _037FEAB4 ; =0x03807910 + ldr ip, _037FEAB8 ; =0x03807924 ldr r3, [r3] mov r5, r0 mov r4, r2 strb r1, [ip, r5] cmp r3, #0 - ble _02006C80 - ldr r0, _02006CA4 ; =0x0000FFF5 + ble _037FEA98 + ldr r0, _037FEABC ; =0x0000FFF5 mov r2, #1 tst r0, r2, lsl r5 - beq _02006C80 + beq _037FEA98 mov r0, r5, lsl #4 add r0, r0, #0x4000000 ldrb r2, [r0, #0x402] mov r0, r1 mov r1, r2 - bl sub_02006E28 + bl sub_037FEC40 mov r1, r0 -_02006C80: +_037FEA98: mov r0, r5, lsl #4 add r0, r0, #0x4000000 orr r1, r1, r4, lsl #8 @@ -8373,59 +8373,59 @@ _02006C80: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_02006C9C: .word 0x03807910 -_02006CA0: .word 0x03807924 -_02006CA4: .word 0x0000FFF5 - arm_func_end sub_02006C30 +_037FEAB4: .word 0x03807910 +_037FEAB8: .word 0x03807924 +_037FEABC: .word 0x0000FFF5 + arm_func_end sub_037FEA48 - arm_func_start sub_02006CA8 -sub_02006CA8: ; 0x02006CA8 + arm_func_start sub_037FEAC0 +sub_037FEAC0: ; 0x037FEAC0 mov r0, r0, lsl #4 add r0, r0, #0x4000000 rsb r1, r1, #0x10000 add r0, r0, #0x400 strh r1, [r0, #8] bx lr - arm_func_end sub_02006CA8 + arm_func_end sub_037FEAC0 - arm_func_start sub_02006CC0 -sub_02006CC0: ; 0x02006CC0 + arm_func_start sub_037FEAD8 +sub_037FEAD8: ; 0x037FEAD8 stmdb sp!, {r4, lr} - ldr r2, _02006D24 ; =0x03807558 - ldr r3, _02006D28 ; =0x03807914 + ldr r2, _037FEB3C ; =0x03807558 + ldr r3, _037FEB40 ; =0x03807914 ldr r2, [r2] strb r1, [r3, r0] cmp r2, #0 - ldr r3, _02006D2C ; =0x03807910 + ldr r3, _037FEB44 ; =0x03807910 mov r4, r0, lsl #4 movge r1, r2 add r2, r4, #0x4000000 strb r1, [r2, #0x402] ldr r2, [r3] cmp r2, #0 - ble _02006D1C - ldr r2, _02006D30 ; =0x0000FFF5 + ble _037FEB34 + ldr r2, _037FEB48 ; =0x0000FFF5 mov r3, #1 tst r2, r3, lsl r0 - beq _02006D1C - ldr r2, _02006D34 ; =0x03807924 + beq _037FEB34 + ldr r2, _037FEB4C ; =0x03807924 ldrb r0, [r2, r0] - bl sub_02006E28 + bl sub_037FEC40 add r1, r4, #0x4000000 strb r0, [r1, #0x400] -_02006D1C: +_037FEB34: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02006D24: .word 0x03807558 -_02006D28: .word 0x03807914 -_02006D2C: .word 0x03807910 -_02006D30: .word 0x0000FFF5 -_02006D34: .word 0x03807924 - arm_func_end sub_02006CC0 +_037FEB3C: .word 0x03807558 +_037FEB40: .word 0x03807914 +_037FEB44: .word 0x03807910 +_037FEB48: .word 0x0000FFF5 +_037FEB4C: .word 0x03807924 + arm_func_end sub_037FEAD8 - arm_func_start sub_02006D38 -sub_02006D38: ; 0x02006D38 + arm_func_start sub_037FEB50 +sub_037FEB50: ; 0x037FEB50 mov r0, r0, lsl #4 add r0, r0, #0x4000000 ldrb r0, [r0, #0x403] @@ -8433,98 +8433,98 @@ sub_02006D38: ; 0x02006D38 movne r0, #1 moveq r0, #0 bx lr - arm_func_end sub_02006D38 + arm_func_end sub_037FEB50 - arm_func_start sub_02006D54 -sub_02006D54: ; 0x02006D54 - ldr r1, _02006DB0 ; =0x03807558 + arm_func_start sub_037FEB6C +sub_037FEB6C: ; 0x037FEB6C + ldr r1, _037FEBC8 ; =0x03807558 cmp r0, #0 str r0, [r1] - blt _02006D88 + blt _037FEBA0 mov r2, #0 and r1, r0, #0xff -_02006D6C: +_037FEB84: mov r0, r2, lsl #4 add r0, r0, #0x4000000 add r2, r2, #1 strb r1, [r0, #0x402] cmp r2, #0x10 - blt _02006D6C + blt _037FEB84 bx lr -_02006D88: - ldr r2, _02006DB4 ; =0x03807914 +_037FEBA0: + ldr r2, _037FEBCC ; =0x03807914 mov r3, #0 -_02006D90: +_037FEBA8: ldrb r1, [r2, r3] mov r0, r3, lsl #4 add r0, r0, #0x4000000 add r3, r3, #1 strb r1, [r0, #0x402] cmp r3, #0x10 - blt _02006D90 + blt _037FEBA8 bx lr .align 2, 0 -_02006DB0: .word 0x03807558 -_02006DB4: .word 0x03807914 - arm_func_end sub_02006D54 +_037FEBC8: .word 0x03807558 +_037FEBCC: .word 0x03807914 + arm_func_end sub_037FEB6C - arm_func_start sub_02006DB8 -sub_02006DB8: ; 0x02006DB8 + arm_func_start sub_037FEBD0 +sub_037FEBD0: ; 0x037FEBD0 mov r0, r0, lsl #4 add r0, r0, #0x4000000 ldr r0, [r0, #0x400] bx lr - arm_func_end sub_02006DB8 + arm_func_end sub_037FEBD0 - arm_func_start sub_02006DC8 -sub_02006DC8: ; 0x02006DC8 + arm_func_start sub_037FEBE0 +sub_037FEBE0: ; 0x037FEBE0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r1, _02006E1C ; =0x03807910 - ldr r5, _02006E20 ; =0x03807924 - ldr r4, _02006E24 ; =0x0000FFF5 + ldr r1, _037FEC34 ; =0x03807910 + ldr r5, _037FEC38 ; =0x03807924 + ldr r4, _037FEC3C ; =0x0000FFF5 str r0, [r1] mov r7, #0 mov r6, #1 -_02006DE4: +_037FEBFC: tst r4, r6, lsl r7 - beq _02006E08 + beq _037FEC20 mov r8, r7, lsl #4 add r0, r8, #0x4000000 ldrb r1, [r0, #0x402] ldrb r0, [r5, r7] - bl sub_02006E28 + bl sub_037FEC40 add r1, r8, #0x4000000 strb r0, [r1, #0x400] -_02006E08: +_037FEC20: add r7, r7, #1 cmp r7, #0x10 - blt _02006DE4 + blt _037FEBFC ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_02006E1C: .word 0x03807910 -_02006E20: .word 0x03807924 -_02006E24: .word 0x0000FFF5 - arm_func_end sub_02006DC8 +_037FEC34: .word 0x03807910 +_037FEC38: .word 0x03807924 +_037FEC3C: .word 0x0000FFF5 + arm_func_end sub_037FEBE0 - arm_func_start sub_02006E28 -sub_02006E28: ; 0x02006E28 + arm_func_start sub_037FEC40 +sub_037FEC40: ; 0x037FEC40 cmp r1, #0x18 - bge _02006E58 - ldr r2, _02006E8C ; =0x03807910 + bge _037FEC70 + ldr r2, _037FECA4 ; =0x03807910 add r3, r1, #0x28 ldr ip, [r2] - ldr r1, _02006E90 ; =0x00007FFF + ldr r1, _037FECA8 ; =0x00007FFF mul r2, ip, r3 sub r1, r1, ip add r1, r2, r1, lsl #6 mul r1, r0, r1 mov r0, r1, asr #0x15 bx lr -_02006E58: +_037FEC70: cmp r1, #0x68 bxle lr - ldr r2, _02006E8C ; =0x03807910 + ldr r2, _037FECA4 ; =0x03807910 sub r1, r1, #0x28 ldr ip, [r2] rsb r2, ip, #0 @@ -8536,31 +8536,31 @@ _02006E58: mov r0, r1, asr #0x15 bx lr .align 2, 0 -_02006E8C: .word 0x03807910 -_02006E90: .word 0x00007FFF - arm_func_end sub_02006E28 +_037FECA4: .word 0x03807910 +_037FECA8: .word 0x00007FFF + arm_func_end sub_037FEC40 - arm_func_start sub_02006E94 -sub_02006E94: ; 0x02006E94 + arm_func_start sub_037FECAC +sub_037FECAC: ; 0x037FECAC stmdb sp!, {r4, r5, r6, lr} mov r5, r0 rsb r0, r1, #0 mov r4, #0 - b _02006EB0 -_02006EA8: + b _037FECC8 +_037FECC0: sub r4, r4, #1 add r0, r0, #0x300 -_02006EB0: +_037FECC8: cmp r0, #0 - blt _02006EA8 - b _02006EC4 -_02006EBC: + blt _037FECC0 + b _037FECDC +_037FECD4: add r4, r4, #1 sub r0, r0, #0x300 -_02006EC4: +_037FECDC: cmp r0, #0x300 - bge _02006EBC - bl sub_02006FB4 + bge _037FECD4 + bl sub_037FEDCC adds r3, r0, #0x10000 mov r0, r5, asr #0x1f umull r2, r1, r3, r5 @@ -8571,7 +8571,7 @@ _02006EC4: mla r1, r3, r5, r1 cmp r0, #0 mov r4, #0x10000 - bgt _02006F1C + bgt _037FED34 rsb r3, r0, #0 mov r4, r2, lsr r3 rsb r0, r3, #0x20 @@ -8579,10 +8579,10 @@ _02006EC4: sub r0, r3, #0x20 mov r3, r1, lsr r3 orr r4, r4, r1, lsr r0 - b _02006F78 -_02006F1C: + b _037FED90 +_037FED34: cmp r0, #0x20 - bge _02006F70 + bge _037FED88 rsb r5, r0, #0x20 sub lr, ip, #1 mov r6, lr, lsl r5 @@ -8595,111 +8595,111 @@ _02006F1C: cmp r3, ip cmpeq r6, ip subne r0, r4, #1 - bne _02006FA8 + bne _037FEDC0 mov r3, r1, lsl r0 orr r3, r3, r2, lsr r5 sub r1, r0, #0x20 mov r4, r2, lsl r0 orr r3, r3, r2, lsl r1 - b _02006F78 -_02006F70: + b _037FED90 +_037FED88: sub r0, r4, #1 - b _02006FA8 -_02006F78: + b _037FEDC0 +_037FED90: mov r0, #0x10 cmp r3, #0 cmpeq r4, #0x10 mov r1, #0 movlo r4, r0 - blo _02006FA0 - ldr r0, _02006FB0 ; =0x0000FFFF + blo _037FEDB8 + ldr r0, _037FEDC8 ; =0x0000FFFF cmp r3, r1 cmpeq r4, r0 movhi r4, r0 -_02006FA0: +_037FEDB8: mov r0, r4, lsl #0x10 mov r0, r0, lsr #0x10 -_02006FA8: +_037FEDC0: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_02006FB0: .word 0x0000FFFF - arm_func_end sub_02006E94 +_037FEDC8: .word 0x0000FFFF + arm_func_end sub_037FECAC - arm_func_start sub_02006FB4 -sub_02006FB4: ; 0x02006FB4 - ldr ip, _02006FBC ; =sub_03803828 + arm_func_start sub_037FEDCC +sub_037FEDCC: ; 0x037FEDCC + ldr ip, _037FEDD4 ; =sub_03803828 bx ip .align 2, 0 -_02006FBC: .word sub_03803828 - arm_func_end sub_02006FB4 +_037FEDD4: .word sub_03803828 + 1 + arm_func_end sub_037FEDCC - arm_func_start sub_02006FC0 -sub_02006FC0: ; 0x02006FC0 + arm_func_start sub_037FEDD8 +sub_037FEDD8: ; 0x037FEDD8 stmdb sp!, {r4, lr} - ldr r1, _02007030 ; =0xFFFFFD2D + ldr r1, _037FEE48 ; =0xFFFFFD2D mov r4, r0 cmp r4, r1 movlt r4, r1 - blt _02006FE0 + blt _037FEDF8 cmp r4, #0 movgt r4, #0 -_02006FE0: +_037FEDF8: add r0, r4, #0xd3 add r0, r0, #0x200 - bl sub_02007034 + bl sub_037FEE4C mvn r2, #0xef cmp r4, r2 movlt r1, #3 - blt _0200701C + blt _037FEE34 add r1, r2, #0x78 cmp r4, r1 movlt r1, #2 - blt _0200701C + blt _037FEE34 add r1, r2, #0xb4 cmp r4, r1 movlt r1, #1 movge r1, #0 -_0200701C: +_037FEE34: orr r0, r0, r1, lsl #8 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02007030: .word 0xFFFFFD2D - arm_func_end sub_02006FC0 +_037FEE48: .word 0xFFFFFD2D + arm_func_end sub_037FEDD8 - arm_func_start sub_02007034 -sub_02007034: ; 0x02007034 - ldr ip, _0200703C ; =sub_0380382C + arm_func_start sub_037FEE4C +sub_037FEE4C: ; 0x037FEE4C + ldr ip, _037FEE54 ; =sub_0380382C bx ip .align 2, 0 -_0200703C: .word sub_0380382C - arm_func_end sub_02007034 +_037FEE54: .word sub_0380382C + 1 + arm_func_end sub_037FEE4C - arm_func_start sub_02007040 -sub_02007040: ; 0x02007040 + arm_func_start sub_037FEE58 +sub_037FEE58: ; 0x037FEE58 cmp r0, #0x20 - ldrlt r1, _020070A8 ; =0x03806FB8 + ldrlt r1, _037FEEC0 ; =0x03806FB8 ldrltsb r0, [r1, r0] bxlt lr cmp r0, #0x40 - ldrlt r1, _020070A8 ; =0x03806FB8 + ldrlt r1, _037FEEC0 ; =0x03806FB8 rsblt r0, r0, #0x40 ldrltsb r0, [r1, r0] bxlt lr cmp r0, #0x60 - bge _02007088 - ldr r1, _020070A8 ; =0x03806FB8 + bge _037FEEA0 + ldr r1, _037FEEC0 ; =0x03806FB8 sub r0, r0, #0x40 ldrsb r0, [r1, r0] rsb r0, r0, #0 mov r0, r0, lsl #0x18 mov r0, r0, asr #0x18 bx lr -_02007088: - ldr r1, _020070A8 ; =0x03806FB8 +_037FEEA0: + ldr r1, _037FEEC0 ; =0x03806FB8 sub r0, r0, #0x60 rsb r0, r0, #0x20 ldrsb r0, [r1, r0] @@ -8708,15 +8708,15 @@ _02007088: mov r0, r0, asr #0x18 bx lr .align 2, 0 -_020070A8: .word 0x03806FB8 - arm_func_end sub_02007040 +_037FEEC0: .word 0x03806FB8 + arm_func_end sub_037FEE58 - arm_func_start sub_020070AC -sub_020070AC: ; 0x020070AC - ldr r2, _020070D4 ; =0x0380755C - ldr r0, _020070D8 ; =0x0019660D + arm_func_start sub_037FEEC4 +sub_037FEEC4: ; 0x037FEEC4 + ldr r2, _037FEEEC ; =0x0380755C + ldr r0, _037FEEF0 ; =0x0019660D ldr r3, [r2] - ldr r1, _020070DC ; =0x3C6EF35F + ldr r1, _037FEEF4 ; =0x3C6EF35F mla r1, r3, r0, r1 mov r0, r1, lsr #0x10 mov r0, r0, lsl #0x10 @@ -8724,184 +8724,184 @@ sub_020070AC: ; 0x020070AC mov r0, r0, lsr #0x10 bx lr .align 2, 0 -_020070D4: .word 0x0380755C -_020070D8: .word 0x0019660D -_020070DC: .word 0x3C6EF35F - arm_func_end sub_020070AC +_037FEEEC: .word 0x0380755C +_037FEEF0: .word 0x0019660D +_037FEEF4: .word 0x3C6EF35F + arm_func_end sub_037FEEC4 - arm_func_start sub_020070E0 -sub_020070E0: ; 0x020070E0 + arm_func_start sub_037FEEF8 +sub_037FEEF8: ; 0x037FEEF8 stmdb sp!, {r4, lr} sub sp, sp, #8 - ldr r1, _0200713C ; =0x03807934 + ldr r1, _037FEF54 ; =0x03807934 mov r4, r0 ldr r0, [r1] cmp r0, #0 - bne _02007130 + bne _037FEF48 mov r0, #1 str r0, [r1] - bl sub_0200A0C0 + bl sub_03801ED8 mov r0, #0x400 str r0, [sp] - ldr r0, _02007140 ; =0x038079A4 - ldr r1, _02007144 ; =0x037FF008 - ldr r3, _02007148 ; =0x03807E48 + ldr r0, _037FEF58 ; =0x038079A4 + ldr r1, _037FEF5C ; =0x037FF008 + ldr r3, _037FEF60 ; =0x03807E48 mov r2, #0 str r4, [sp, #4] - bl sub_0200423C - ldr r0, _02007140 ; =0x038079A4 - bl sub_02004554 -_02007130: + bl sub_037FC054 + ldr r0, _037FEF58 ; =0x038079A4 + bl sub_037FC36C +_037FEF48: add sp, sp, #8 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200713C: .word 0x03807934 -_02007140: .word 0x038079A4 -_02007144: .word 0x037FF008 -_02007148: .word 0x03807E48 - arm_func_end sub_020070E0 +_037FEF54: .word 0x03807934 +_037FEF58: .word 0x038079A4 +_037FEF5C: .word 0x037FF008 +_037FEF60: .word 0x03807E48 + arm_func_end sub_037FEEF8 - arm_func_start sub_0200714C -sub_0200714C: ; 0x0200714C + arm_func_start sub_037FEF64 +sub_037FEF64: ; 0x037FEF64 stmdb sp!, {lr} sub sp, sp, #0xc - bl sub_02005404 - ldr r3, _02007190 ; =0x037FEFEC + bl sub_037FD21C + ldr r3, _037FEFA8 ; =0x037FEFEC adds ip, r0, #0x10000 str r3, [sp, #4] mov lr, #0 str lr, [sp, #8] adc r2, r1, #0 - ldr r3, _02007194 ; =0x00000AA8 - ldr r0, _02007198 ; =0x03807978 + ldr r3, _037FEFAC ; =0x00000AA8 + ldr r0, _037FEFB0 ; =0x03807978 mov r1, ip str lr, [sp] - bl sub_02005734 + bl sub_037FD54C add sp, sp, #0xc ldmia sp!, {lr} bx lr .align 2, 0 -_02007190: .word 0x037FEFEC -_02007194: .word 0x00000AA8 -_02007198: .word 0x03807978 - arm_func_end sub_0200714C +_037FEFA8: .word 0x037FEFEC +_037FEFAC: .word 0x00000AA8 +_037FEFB0: .word 0x03807978 + arm_func_end sub_037FEF64 - arm_func_start sub_0200719C -sub_0200719C: ; 0x0200719C - ldr ip, _020071A8 ; =sub_037FD5C0 - ldr r0, _020071AC ; =0x03807978 + arm_func_start sub_037FEFB4 +sub_037FEFB4: ; 0x037FEFB4 + ldr ip, _037FEFC0 ; =sub_037FD5C0 + ldr r0, _037FEFC4 ; =0x03807978 bx ip .align 2, 0 -_020071A8: .word sub_037FD5C0 -_020071AC: .word 0x03807978 - arm_func_end sub_0200719C +_037FEFC0: .word sub_037FD5C0 +_037FEFC4: .word 0x03807978 + arm_func_end sub_037FEFB4 - arm_func_start sub_020071B0 -sub_020071B0: ; 0x020071B0 - ldr ip, _020071C4 ; =sub_037FC6D4 - ldr r0, _020071C8 ; =0x03807958 + arm_func_start sub_037FEFC8 +sub_037FEFC8: ; 0x037FEFC8 + ldr ip, _037FEFDC ; =sub_037FC6D4 + ldr r0, _037FEFE0 ; =0x03807958 mov r1, #2 mov r2, #0 bx ip .align 2, 0 -_020071C4: .word sub_037FC6D4 -_020071C8: .word 0x03807958 - arm_func_end sub_020071B0 +_037FEFDC: .word sub_037FC6D4 +_037FEFE0: .word 0x03807958 + arm_func_end sub_037FEFC8 - arm_func_start sub_020071CC -sub_020071CC: ; 0x020071CC + arm_func_start sub_037FEFE4 +sub_037FEFE4: ; 0x037FEFE4 bx lr - arm_func_end sub_020071CC + arm_func_end sub_037FEFE4 - arm_func_start sub_020071D0 -sub_020071D0: ; 0x020071D0 + arm_func_start sub_037FEFE8 +sub_037FEFE8: ; 0x037FEFE8 bx lr - arm_func_end sub_020071D0 + arm_func_end sub_037FEFE8 - arm_func_start sub_020071D4 -sub_020071D4: ; 0x020071D4 - ldr ip, _020071E8 ; =sub_037FC6D4 - ldr r0, _020071EC ; =0x03807958 + arm_func_start sub_037FEFEC +sub_037FEFEC: ; 0x037FEFEC + ldr ip, _037FF000 ; =sub_037FC6D4 + ldr r0, _037FF004 ; =0x03807958 mov r1, #1 mov r2, #0 bx ip .align 2, 0 -_020071E8: .word sub_037FC6D4 -_020071EC: .word 0x03807958 - arm_func_end sub_020071D4 +_037FF000: .word sub_037FC6D4 +_037FF004: .word 0x03807958 + arm_func_end sub_037FEFEC - arm_func_start sub_020071F0 -sub_020071F0: ; 0x020071F0 + arm_func_start sub_037FF008 +sub_037FF008: ; 0x037FF008 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x10 - ldr r0, _020072D0 ; =0x03807958 - ldr r1, _020072D4 ; =0x03807938 + ldr r0, _037FF0E8 ; =0x03807958 + ldr r1, _037FF0EC ; =0x03807938 mov r2, #8 - bl sub_02004894 - ldr r0, _020072D8 ; =0x03807978 - bl sub_02005588 - bl sub_0200734C - bl sub_020080D8 - bl sub_02009F0C - bl sub_02006884 + bl sub_037FC6AC + ldr r0, _037FF0F0 ; =0x03807978 + bl sub_037FD3A0 + bl sub_037FF164 + bl sub_037FFEF0 + bl sub_03801D24 + bl sub_037FE69C mov r0, #0 mov r1, r0 mov r2, r0 mov r3, r0 - bl sub_020069B4 + bl sub_037FE7CC mov r0, #0x7f - bl sub_020069A4 - bl sub_02005404 - ldr r2, _020072DC ; =0x037FEFEC + bl sub_037FE7BC + bl sub_037FD21C + ldr r2, _037FF0F4 ; =0x037FEFEC adds r4, r0, #0x10000 str r2, [sp, #4] mov r0, #0 str r0, [sp, #8] str r0, [sp] adc r2, r1, #0 - ldr r3, _020072E0 ; =0x00000AA8 - ldr r0, _020072D8 ; =0x03807978 + ldr r3, _037FF0F8 ; =0x00000AA8 + ldr r0, _037FF0F0 ; =0x03807978 mov r1, r4 - bl sub_02005734 - ldr r7, _020072D0 ; =0x03807958 + bl sub_037FD54C + ldr r7, _037FF0E8 ; =0x03807958 mov r4, #1 add r6, sp, #0xc mov r8, #0 mov r5, r4 -_02007280: +_037FF098: mov r0, r7 mov r1, r6 mov r2, r5 mov sb, r8 - bl sub_02004948 + bl sub_037FC760 ldr r0, [sp, #0xc] cmp r0, #1 - beq _020072A8 + beq _037FF0C0 cmp r0, #2 - b _020072AC -_020072A8: + b _037FF0C4 +_037FF0C0: mov sb, r4 -_020072AC: - bl sub_020073A8 - bl sub_0200A104 +_037FF0C4: + bl sub_037FF1C0 + bl sub_03801F1C mov r0, sb - bl sub_0200813C + bl sub_037FFF54 mov r0, sb - bl sub_02007594 - bl sub_02009E74 - bl sub_020070AC - b _02007280 + bl sub_037FF3AC + bl sub_03801C8C + bl sub_037FEEC4 + b _037FF098 .align 2, 0 -_020072D0: .word 0x03807958 -_020072D4: .word 0x03807938 -_020072D8: .word 0x03807978 -_020072DC: .word 0x037FEFEC -_020072E0: .word 0x00000AA8 - arm_func_end sub_020071F0 +_037FF0E8: .word 0x03807958 +_037FF0EC: .word 0x03807938 +_037FF0F0: .word 0x03807978 +_037FF0F4: .word 0x037FEFEC +_037FF0F8: .word 0x00000AA8 + arm_func_end sub_037FF008 - arm_func_start sub_020072E4 -sub_020072E4: ; 0x020072E4 + arm_func_start sub_037FF0FC +sub_037FF0FC: ; 0x037FF0FC stmdb sp!, {r3, r4, r5, lr} ldr r4, [sp, #0x10] mov r5, r0, lsl #3 @@ -8922,25 +8922,25 @@ sub_020072E4: ; 0x020072E4 strh r3, [r0, #0x14] ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_020072E4 + arm_func_end sub_037FF0FC - arm_func_start sub_02007334 -sub_02007334: ; 0x02007334 + arm_func_start sub_037FF14C +sub_037FF14C: ; 0x037FF14C add r0, r0, #0x4000000 ldrb r0, [r0, #0x508] tst r0, #0x80 movne r0, #1 moveq r0, #0 bx lr - arm_func_end sub_02007334 + arm_func_end sub_037FF14C - arm_func_start sub_0200734C -sub_0200734C: ; 0x0200734C + arm_func_start sub_037FF164 +sub_037FF164: ; 0x037FF164 stmdb sp!, {r3, lr} - ldr r3, _020073A0 ; =0x03807E70 + ldr r3, _037FF1B8 ; =0x03807E70 mov lr, #0 mov r0, #0x54 -_0200735C: +_037FF174: mul r1, lr, r0 add ip, r3, r1 strb lr, [r3, r1] @@ -8951,54 +8951,54 @@ _0200735C: bic r1, r1, #1 strb r1, [ip, #3] cmp lr, #0x10 - blt _0200735C - ldr r0, _020073A4 ; =0x03807E48 + blt _037FF174 + ldr r0, _037FF1BC ; =0x03807E48 mov r1, #0 str r1, [r0, #4] str r1, [r0] ldmia sp!, {r3, lr} bx lr .align 2, 0 -_020073A0: .word 0x03807E70 -_020073A4: .word 0x03807E48 - arm_func_end sub_0200734C +_037FF1B8: .word 0x03807E70 +_037FF1BC: .word 0x03807E48 + arm_func_end sub_037FF164 - arm_func_start sub_020073A8 -sub_020073A8: ; 0x020073A8 + arm_func_start sub_037FF1C0 +sub_037FF1C0: ; 0x037FF1C0 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x18 - ldr r7, _02007590 ; =0x03807E70 + ldr r7, _037FF3A8 ; =0x03807E70 mov sb, #0 mov r4, #2 mov r5, #1 mov r6, sb mov sl, #0x54 -_020073C8: +_037FF1E0: mla r8, sb, sl, r7 ldrb r0, [r8, #3] mov r0, r0, lsl #0x18 movs r0, r0, lsr #0x1b - beq _02007528 + beq _037FF340 tst r0, #2 - beq _020073F0 + beq _037FF208 mov r0, sb mov r1, r6 - bl sub_02006C08 -_020073F0: + bl sub_037FEA20 +_037FF208: ldrb r0, [r8, #3] mov r0, r0, lsl #0x18 mov r0, r0, lsr #0x1b tst r0, #1 - beq _020074CC + beq _037FF2E4 ldrb r0, [r8, #1] cmp r0, #0 - beq _02007424 + beq _037FF23C cmp r0, #1 - beq _0200747C + beq _037FF294 cmp r0, #2 - beq _020074A8 - b _02007528 -_02007424: + beq _037FF2C0 + b _037FF340 +_037FF23C: ldrb r0, [r8, #0x39] ldrh ip, [r8, #0x24] cmp r0, #0 @@ -9019,9 +9019,9 @@ _02007424: str r1, [sp, #0x14] ldr r1, [r8, #0x44] ldrb r2, [r8, #0x38] - bl sub_020069EC - b _02007528 -_0200747C: + bl sub_037FE804 + b _037FF340 +_037FF294: ldrh r3, [r8, #0x24] ldrh r1, [r8, #0x26] mov r0, sb @@ -9031,9 +9031,9 @@ _0200747C: str r1, [sp, #4] ldr r1, [r8, #0x44] mov r3, r3, asr #8 - bl sub_02006AB8 - b _02007528 -_020074A8: + bl sub_037FE8D0 + b _037FF340 +_037FF2C0: ldrh r2, [r8, #0x24] ldrb r1, [r8, #0x23] mov r0, sb @@ -9041,47 +9041,47 @@ _020074A8: ldrh r3, [r8, #0x26] and r1, r2, #0xff mov r2, r2, asr #8 - bl sub_02006B64 - b _02007528 -_020074CC: + bl sub_037FE97C + b _037FF340 +_037FF2E4: tst r0, #4 - beq _020074E0 + beq _037FF2F8 ldrh r1, [r8, #0x26] mov r0, sb - bl sub_02006CA8 -_020074E0: + bl sub_037FEAC0 +_037FF2F8: ldrb r0, [r8, #3] mov r0, r0, lsl #0x18 mov r0, r0, lsr #0x1b tst r0, #8 - beq _02007508 + beq _037FF320 ldrh r2, [r8, #0x24] mov r0, sb and r1, r2, #0xff mov r2, r2, asr #8 - bl sub_02006C30 -_02007508: + bl sub_037FEA48 +_037FF320: ldrb r0, [r8, #3] mov r0, r0, lsl #0x18 mov r0, r0, lsr #0x1b tst r0, #0x10 - beq _02007528 + beq _037FF340 ldrb r1, [r8, #0x23] mov r0, sb - bl sub_02006CC0 -_02007528: + bl sub_037FEAD8 +_037FF340: add sb, sb, #1 cmp sb, #0x10 - blt _020073C8 - ldr r3, _02007590 ; =0x03807E70 + blt _037FF1E0 + ldr r3, _037FF3A8 ; =0x03807E70 mov r4, #0 mov r1, #0x54 -_02007540: +_037FF358: mla r5, r4, r1, r3 ldrb r0, [r5, #3] mov r0, r0, lsl #0x18 movs r0, r0, lsr #0x1b - beq _02007578 + beq _037FF390 tst r0, #1 movne r0, r4, lsl #4 addne r0, r0, #0x4000000 @@ -9091,26 +9091,26 @@ _02007540: ldrb r0, [r5, #3] bic r0, r0, #0xf8 strb r0, [r5, #3] -_02007578: +_037FF390: add r4, r4, #1 cmp r4, #0x10 - blt _02007540 + blt _037FF358 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, lr} bx lr .align 2, 0 -_02007590: .word 0x03807E70 - arm_func_end sub_020073A8 +_037FF3A8: .word 0x03807E70 + arm_func_end sub_037FF1C0 - arm_func_start sub_02007594 -sub_02007594: ; 0x02007594 + arm_func_start sub_037FF3AC +sub_037FF3AC: ; 0x037FF3AC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov fp, #0x8000 mov sl, r0 mov r5, #0 rsb fp, fp, #0 -_020075A8: - ldr r0, _02007938 ; =0x03807E70 +_037FF3C0: + ldr r0, _037FF750 ; =0x03807E70 mov r1, #0x54 mla r4, r5, r1, r0 ldrb r2, [r4, #3] @@ -9119,10 +9119,10 @@ _020075A8: mov r7, r6 mov r8, r6 movs r0, r0, lsr #0x1f - beq _02007924 + beq _037FF73C mov r0, r2, lsl #0x1e movs r0, r0, lsr #0x1f - beq _0200760C + beq _037FF424 bic r1, r2, #0xf8 mov r0, r2, lsl #0x18 mov r0, r0, lsr #0x1b @@ -9134,34 +9134,34 @@ _020075A8: and r0, r0, #0xff bic r0, r0, #2 strb r0, [r4, #3] - b _0200765C -_0200760C: + b _037FF474 +_037FF424: mov r0, r5 - bl sub_02006D38 + bl sub_037FEB50 cmp r0, #0 - bne _0200765C + bne _037FF474 ldr r3, [r4, #0x48] cmp r3, #0 moveq r0, r6 streqb r0, [r4, #0x22] - beq _02007644 + beq _037FF45C ldr r2, [r4, #0x4c] mov r0, r4 mov r1, #1 mov lr, pc bx r3 -_02007644: +_037FF45C: mov r0, #0 strh r0, [r4, #0x24] ldrb r0, [r4, #3] bic r0, r0, #1 strb r0, [r4, #3] - b _02007924 -_0200765C: + b _037FF73C +_037FF474: ldrb r0, [r4, #9] ldrb r1, [r4, #8] mov r2, r0, lsl #1 - ldr r0, _0200793C ; =0x03806FDC + ldr r0, _037FF754 ; =0x03806FDC ldrsh r2, [r0, r2] ldrb r0, [r4, #5] add r6, r6, r2 @@ -9169,30 +9169,30 @@ _0200765C: add r7, r7, r0, lsl #6 mov r0, r4 mov r1, sl - bl sub_02007A14 + bl sub_037FF82C ldrsh r3, [r4, #0x32] add r6, r6, r0 cmp r3, #0 moveq r0, #0 - beq _020076E4 + beq _037FF4FC ldr r0, [r4, #0x14] ldr r2, [r4, #0x18] cmp r0, r2 movge r0, #0 - bge _020076E4 + bge _037FF4FC sub r0, r2, r0 smull r0, r1, r3, r0 mov r3, r2, asr #0x1f - bl sub_0200EBB8 + bl sub_038069D0 cmp sl, #0 - beq _020076E4 + beq _037FF4FC ldrb r1, [r4, #3] mov r1, r1, lsl #0x1d movs r1, r1, lsr #0x1f ldrne r1, [r4, #0x14] addne r1, r1, #1 strne r1, [r4, #0x14] -_020076E4: +_037FF4FC: ldrsh r1, [r4, #0xc] add r2, r7, r0 ldrsh r0, [r4, #6] @@ -9201,23 +9201,23 @@ _020076E4: ldrsh r1, [r4, #0xe] add r0, r4, #0x28 add r7, r2, r1 - bl sub_02007FFC + bl sub_037FFE14 mov r1, r0, asr #0x1f cmp r1, #0 mov sb, r0 cmpeq r0, #0 - beq _02007778 + beq _037FF590 ldrb r2, [r4, #0x28] cmp r2, #0 - beq _02007764 + beq _037FF57C cmp r2, #1 - beq _02007744 + beq _037FF55C cmp r2, #2 moveq r1, r1, lsl #6 orreq r1, r1, r0, lsr #26 moveq sb, r0, lsl #6 - b _02007770 -_02007744: + b _037FF588 +_037FF55C: mov r2, #0x3c umull sb, r3, r0, r2 mov r2, #0 @@ -9225,35 +9225,35 @@ _02007744: mov r0, #0x3c mla r3, r1, r0, r3 mov r1, r3 - b _02007770 -_02007764: + b _037FF588 +_037FF57C: mov r1, r1, lsl #6 orr r1, r1, r0, lsr #26 mov sb, r0, lsl #6 -_02007770: +_037FF588: mov sb, sb, lsr #0xe orr sb, sb, r1, lsl #18 -_02007778: +_037FF590: cmp sl, #0 - beq _02007788 + beq _037FF5A0 add r0, r4, #0x28 - bl sub_02007F9C -_02007788: + bl sub_037FFDB4 +_037FF5A0: ldrb r0, [r4, #0x28] cmp r0, #0 - beq _020077B4 + beq _037FF5CC cmp r0, #1 - beq _020077A8 + beq _037FF5C0 cmp r0, #2 addeq r8, r8, sb - b _020077B8 -_020077A8: + b _037FF5D0 +_037FF5C0: cmp r6, fp addgt r6, r6, sb - b _020077B8 -_020077B4: + b _037FF5D0 +_037FF5CC: add r7, r7, sb -_020077B8: +_037FF5D0: ldrsb r1, [r4, #0xa] ldrb r0, [r4, #4] add r8, r8, r1 @@ -9265,10 +9265,10 @@ _020077B8: ldrb r0, [r4, #2] add r8, r8, r1 cmp r0, #3 - bne _02007844 - ldr r0, _02007940 ; =0xFFFFFD2D + bne _037FF65C + ldr r0, _037FF758 ; =0xFFFFFD2D cmp r6, r0 - bgt _02007844 + bgt _037FF65C ldrb r0, [r4, #3] bic r0, r0, #0xf8 orr r0, r0, #0x10 @@ -9277,41 +9277,41 @@ _020077B8: cmp r3, #0 moveq r0, #0 streqb r0, [r4, #0x22] - beq _0200782C + beq _037FF644 ldr r2, [r4, #0x4c] mov r0, r4 mov r1, #1 mov lr, pc bx r3 -_0200782C: +_037FF644: mov r0, #0 strh r0, [r4, #0x24] ldrb r0, [r4, #3] bic r0, r0, #1 strb r0, [r4, #3] - b _02007924 -_02007844: + b _037FF73C +_037FF65C: mov r0, r6 - bl sub_02006FC0 + bl sub_037FEDD8 mov r6, r0 ldrh r0, [r4, #0x3c] mov r1, r7 - bl sub_02006E94 + bl sub_037FECAC ldrb r1, [r4, #1] cmp r1, #1 - ldreq r1, _02007944 ; =0x0000FFFC + ldreq r1, _037FF75C ; =0x0000FFFC andeq r0, r0, r1 moveq r0, r0, lsl #0x10 moveq r0, r0, lsr #0x10 adds r8, r8, #0x40 movmi r8, #0 - bmi _02007888 + bmi _037FF6A0 cmp r8, #0x7f movgt r8, #0x7f -_02007888: +_037FF6A0: ldrh r1, [r4, #0x24] cmp r6, r1 - beq _020078BC + beq _037FF6D4 strh r6, [r4, #0x24] ldrb r1, [r4, #3] bic r2, r1, #0xf8 @@ -9322,10 +9322,10 @@ _02007888: mov r1, r1, lsl #0x1b orr r1, r2, r1, lsr #24 strb r1, [r4, #3] -_020078BC: +_037FF6D4: ldrh r1, [r4, #0x26] cmp r0, r1 - beq _020078F0 + beq _037FF708 strh r0, [r4, #0x26] ldrb r0, [r4, #3] bic r1, r0, #0xf8 @@ -9336,10 +9336,10 @@ _020078BC: mov r0, r0, lsl #0x1b orr r0, r1, r0, lsr #24 strb r0, [r4, #3] -_020078F0: +_037FF708: ldrb r0, [r4, #0x23] cmp r8, r0 - beq _02007924 + beq _037FF73C strb r8, [r4, #0x23] ldrb r0, [r4, #3] bic r1, r0, #0xf8 @@ -9350,21 +9350,21 @@ _020078F0: mov r0, r0, lsl #0x1b orr r0, r1, r0, lsr #24 strb r0, [r4, #3] -_02007924: +_037FF73C: add r5, r5, #1 cmp r5, #0x10 - blt _020075A8 + blt _037FF3C0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_02007938: .word 0x03807E70 -_0200793C: .word 0x03806FDC -_02007940: .word 0xFFFFFD2D -_02007944: .word 0x0000FFFC - arm_func_end sub_02007594 +_037FF750: .word 0x03807E70 +_037FF754: .word 0x03806FDC +_037FF758: .word 0xFFFFFD2D +_037FF75C: .word 0x0000FFFC + arm_func_end sub_037FF3AC - arm_func_start sub_02007948 -sub_02007948: ; 0x02007948 + arm_func_start sub_037FF760 +sub_037FF760: ; 0x037FF760 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0 @@ -9376,74 +9376,74 @@ sub_02007948: ; 0x02007948 mov r0, r4 mov r1, r3 str lr, [r4, #0x44] - bl sub_020080A0 + bl sub_037FFEB8 mov r0, #1 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02007948 + arm_func_end sub_037FF760 - arm_func_start sub_02007984 -sub_02007984: ; 0x02007984 + arm_func_start sub_037FF79C +sub_037FF79C: ; 0x037FF79C stmdb sp!, {r3, lr} ldrb r3, [r0] cmp r3, #8 movlo r0, #0 - blo _020079C4 + blo _037FF7DC cmp r3, #0xd movhi r0, #0 - bhi _020079C4 + bhi _037FF7DC mov r3, #1 strb r3, [r0, #1] str r1, [r0, #0x44] - ldr r3, _020079CC ; =0x00001F46 + ldr r3, _037FF7E4 ; =0x00001F46 mov r1, r2 strh r3, [r0, #0x3c] - bl sub_020080A0 + bl sub_037FFEB8 mov r0, #1 -_020079C4: +_037FF7DC: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_020079CC: .word 0x00001F46 - arm_func_end sub_02007984 +_037FF7E4: .word 0x00001F46 + arm_func_end sub_037FF79C - arm_func_start sub_020079D0 -sub_020079D0: ; 0x020079D0 + arm_func_start sub_037FF7E8 +sub_037FF7E8: ; 0x037FF7E8 stmdb sp!, {r3, lr} ldrb r2, [r0] cmp r2, #0xe movlo r0, #0 - blo _02007A08 + blo _037FF820 cmp r2, #0xf movhi r0, #0 - bhi _02007A08 - ldr r2, _02007A10 ; =0x00001F46 + bhi _037FF820 + ldr r2, _037FF828 ; =0x00001F46 mov r3, #2 strb r3, [r0, #1] strh r2, [r0, #0x3c] - bl sub_020080A0 + bl sub_037FFEB8 mov r0, #1 -_02007A08: +_037FF820: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02007A10: .word 0x00001F46 - arm_func_end sub_020079D0 +_037FF828: .word 0x00001F46 + arm_func_end sub_037FF7E8 - arm_func_start sub_02007A14 -sub_02007A14: ; 0x02007A14 + arm_func_start sub_037FF82C +sub_037FF82C: ; 0x037FF82C cmp r1, #0 - beq _02007AAC + beq _037FF8C4 ldrb r1, [r0, #2] cmp r1, #3 addls pc, pc, r1, lsl #2 - b _02007AAC -_02007A2C: ; jump table - b _02007A3C ; case 0 - b _02007A64 ; case 1 - b _02007AAC ; case 2 - b _02007A9C ; case 3 -_02007A3C: + b _037FF8C4 +_037FF844: ; jump table + b _037FF854 ; case 0 + b _037FF87C ; case 1 + b _037FF8C4 ; case 2 + b _037FF8B4 ; case 3 +_037FF854: ldr r2, [r0, #0x10] ldrb r1, [r0, #0x1c] rsb r2, r2, #0 @@ -9453,10 +9453,10 @@ _02007A3C: str r1, [r0, #0x10] moveq r1, #1 streqb r1, [r0, #2] - b _02007AAC -_02007A64: + b _037FF8C4 +_037FF87C: ldrb r2, [r0, #0x1d] - ldr r1, _02007AB8 ; =0x03806FDC + ldr r1, _037FF8D0 ; =0x03806FDC mov r2, r2, lsl #1 ldrsh r3, [r1, r2] ldr r2, [r0, #0x10] @@ -9468,80 +9468,80 @@ _02007A64: strle ip, [r0, #0x10] movle r1, #2 strleb r1, [r0, #2] - b _02007AAC -_02007A9C: + b _037FF8C4 +_037FF8B4: ldr r2, [r0, #0x10] ldrh r1, [r0, #0x20] sub r1, r2, r1 str r1, [r0, #0x10] -_02007AAC: +_037FF8C4: ldr r0, [r0, #0x10] mov r0, r0, asr #7 bx lr .align 2, 0 -_02007AB8: .word 0x03806FDC - arm_func_end sub_02007A14 +_037FF8D0: .word 0x03806FDC + arm_func_end sub_037FF82C - arm_func_start sub_02007ABC -sub_02007ABC: ; 0x02007ABC + arm_func_start sub_037FF8D4 +sub_037FF8D4: ; 0x037FF8D4 cmp r1, #0x6d - ldrge r2, _02007AD8 ; =0x038071F0 + ldrge r2, _037FF8F0 ; =0x038071F0 rsblt r1, r1, #0xff rsbge r1, r1, #0x7f ldrgeb r1, [r2, r1] strb r1, [r0, #0x1c] bx lr .align 2, 0 -_02007AD8: .word 0x038071F0 - arm_func_end sub_02007ABC +_037FF8F0: .word 0x038071F0 + arm_func_end sub_037FF8D4 - arm_func_start sub_02007ADC -sub_02007ADC: ; 0x02007ADC + arm_func_start sub_037FF8F4 +sub_037FF8F4: ; 0x037FF8F4 stmdb sp!, {r4, lr} mov r4, r0 mov r0, r1 - bl sub_0200804C + bl sub_037FFE64 strh r0, [r4, #0x1e] ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02007ADC + arm_func_end sub_037FF8F4 - arm_func_start sub_02007AF8 -sub_02007AF8: ; 0x02007AF8 + arm_func_start sub_037FF910 +sub_037FF910: ; 0x037FF910 strb r1, [r0, #0x1d] bx lr - arm_func_end sub_02007AF8 + arm_func_end sub_037FF910 - arm_func_start sub_02007B00 -sub_02007B00: ; 0x02007B00 + arm_func_start sub_037FF918 +sub_037FF918: ; 0x037FF918 stmdb sp!, {r4, lr} mov r4, r0 mov r0, r1 - bl sub_0200804C + bl sub_037FFE64 strh r0, [r4, #0x20] ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02007B00 + arm_func_end sub_037FF918 - arm_func_start sub_02007B1C -sub_02007B1C: ; 0x02007B1C + arm_func_start sub_037FF934 +sub_037FF934: ; 0x037FF934 mov r1, #3 strb r1, [r0, #2] bx lr - arm_func_end sub_02007B1C + arm_func_end sub_037FF934 - arm_func_start sub_02007B28 -sub_02007B28: ; 0x02007B28 + arm_func_start sub_037FF940 +sub_037FF940: ; 0x037FF940 ldrb r0, [r0, #3] mov r0, r0, lsl #0x1f mov r0, r0, lsr #0x1f bx lr - arm_func_end sub_02007B28 + arm_func_end sub_037FF940 - arm_func_start sub_02007B38 -sub_02007B38: ; 0x02007B38 + arm_func_start sub_037FF950 +sub_037FF950: ; 0x037FF950 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} - ldr r4, _02007CF0 ; =0x03807E48 + ldr r4, _037FFB08 ; =0x03807E48 mov r6, r1 ldr r1, [r4, #4] mov r5, r3 @@ -9552,26 +9552,26 @@ sub_02007B38: ; 0x02007B38 mov r4, #0 mvneq r1, r1 andeq r0, r0, r1 - ldr r3, _02007CF4 ; =0x038071DC - ldr r8, _02007CF8 ; =0x038071E0 + ldr r3, _037FFB0C ; =0x038071DC + ldr r8, _037FFB10 ; =0x038071E0 mov sb, r4 mvn r1, #0 mov fp, #1 -_02007B7C: +_037FF994: ldrb ip, [r8, sb] tst r0, fp, lsl ip - beq _02007BFC - ldr r2, _02007CFC ; =0x03807E70 + beq _037FFA14 + ldr r2, _037FFB14 ; =0x03807E70 mov r7, #0x54 mla sl, ip, r7, r2 cmp r4, #0 moveq r4, sl - beq _02007BFC + beq _037FFA14 ldrb r7, [r4, #0x22] ldrb r2, [sl, #0x22] cmp r2, r7 - bhi _02007BFC - bne _02007BF8 + bhi _037FFA14 + bne _037FFA10 ldrh r2, [r4, #0x24] ldrh r7, [sl, #0x24] mov ip, r2, lsl #0x18 @@ -9582,37 +9582,37 @@ _02007B7C: mov ip, lr, lsr #0x14 ldrb r7, [r3, r7, asr #8] cmp r2, ip, asr r7 - beq _02007BEC + beq _037FFA04 movlt r2, fp movge r2, r1 - b _02007BF0 -_02007BEC: + b _037FFA08 +_037FFA04: mov r2, #0 -_02007BF0: +_037FFA08: cmp r2, #0 - bge _02007BFC -_02007BF8: + bge _037FFA14 +_037FFA10: mov r4, sl -_02007BFC: +_037FFA14: add sb, sb, #1 cmp sb, #0x10 - blt _02007B7C + blt _037FF994 cmp r4, #0 moveq r0, #0 - beq _02007CE8 + beq _037FFB00 ldrb r0, [r4, #0x22] cmp r6, r0 movlt r0, #0 - blt _02007CE8 + blt _037FFB00 ldr r3, [r4, #0x48] cmp r3, #0 - beq _02007C44 + beq _037FFA5C ldr r2, [r4, #0x4c] mov r0, r4 mov r1, #0 mov lr, pc bx r3 -_02007C44: +_037FFA5C: ldrb r0, [r4, #3] mov r7, #0 bic r0, r0, #0xf8 @@ -9646,225 +9646,225 @@ _02007C44: strh r7, [r4, #0x32] str r7, [r4, #0x18] str r7, [r4, #0x14] - ldr r1, _02007D00 ; =0x0000FFFF + ldr r1, _037FFB18 ; =0x0000FFFF strb r7, [r4, #0x1c] strh r1, [r4, #0x1e] strb r3, [r4, #0x1d] add r0, r4, #0x28 strh r1, [r4, #0x20] - bl sub_02007F78 + bl sub_037FFD90 mov r0, r4 -_02007CE8: +_037FFB00: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_02007CF0: .word 0x03807E48 -_02007CF4: .word 0x038071DC -_02007CF8: .word 0x038071E0 -_02007CFC: .word 0x03807E70 -_02007D00: .word 0x0000FFFF - arm_func_end sub_02007B38 +_037FFB08: .word 0x03807E48 +_037FFB0C: .word 0x038071DC +_037FFB10: .word 0x038071E0 +_037FFB14: .word 0x03807E70 +_037FFB18: .word 0x0000FFFF + arm_func_end sub_037FF950 - arm_func_start sub_02007D04 -sub_02007D04: ; 0x02007D04 + arm_func_start sub_037FFB1C +sub_037FFB1C: ; 0x037FFB1C cmp r0, #0 movne r1, #0 strne r1, [r0, #0x48] strne r1, [r0, #0x4c] bx lr - arm_func_end sub_02007D04 + arm_func_end sub_037FFB1C - arm_func_start sub_02007D18 -sub_02007D18: ; 0x02007D18 + arm_func_start sub_037FFB30 +sub_037FFB30: ; 0x037FFB30 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sb, #0 - ldr r7, _02007DC0 ; =0x03807E70 - ldr r4, _02007DC4 ; =0x03807E48 + ldr r7, _037FFBD8 ; =0x03807E70 + ldr r4, _037FFBDC ; =0x03807E48 mov sl, r0 mov r5, sb mov r6, #1 mov fp, #0x54 - b _02007DA8 -_02007D3C: + b _037FFBC0 +_037FFB54: tst sl, #1 - beq _02007DA0 + beq _037FFBB8 ldr r0, [r4, #4] mla r8, sb, fp, r7 tst r0, r6, lsl sb - bne _02007DA0 + bne _037FFBB8 ldr r3, [r8, #0x48] cmp r3, #0 - beq _02007D74 + beq _037FFB8C ldr r2, [r8, #0x4c] mov r0, r8 mov r1, #0 mov lr, pc bx r3 -_02007D74: +_037FFB8C: mov r0, sb mov r1, #0 - bl sub_02006C08 + bl sub_037FEA20 strb r5, [r8, #0x22] mov r0, r8 - bl sub_02007D04 + bl sub_037FFB1C ldrb r0, [r8, #3] bic r1, r0, #0xf8 and r0, r1, #0xff bic r0, r0, #1 strb r0, [r8, #3] -_02007DA0: +_037FFBB8: add sb, sb, #1 mov sl, sl, lsr #1 -_02007DA8: +_037FFBC0: cmp sb, #0x10 - bge _02007DB8 + bge _037FFBD0 cmp sl, #0 - bne _02007D3C -_02007DB8: + bne _037FFB54 +_037FFBD0: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_02007DC0: .word 0x03807E70 -_02007DC4: .word 0x03807E48 - arm_func_end sub_02007D18 +_037FFBD8: .word 0x03807E70 +_037FFBDC: .word 0x03807E48 + arm_func_end sub_037FFB30 - arm_func_start sub_02007DC8 -sub_02007DC8: ; 0x02007DC8 + arm_func_start sub_037FFBE0 +sub_037FFBE0: ; 0x037FFBE0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 mov r8, #0 - ldr r5, _02007EA0 ; =0x03807E70 + ldr r5, _037FFCB8 ; =0x03807E70 mov sb, r1 mov r7, sl mov fp, r8 mov r4, #1 - b _02007E64 -_02007DEC: + b _037FFC7C +_037FFC04: tst r7, #1 - beq _02007E5C - ldr r0, _02007EA4 ; =0x03807E48 + beq _037FFC74 + ldr r0, _037FFCBC ; =0x03807E48 ldr r1, [r0, #4] mov r0, #0x54 mla r6, r8, r0, r5 tst r1, r4, lsl r8 - bne _02007E5C + bne _037FFC74 ldr r3, [r6, #0x48] cmp r3, #0 - beq _02007E2C + beq _037FFC44 ldr r2, [r6, #0x4c] mov r0, r6 mov r1, #0 mov lr, pc bx r3 -_02007E2C: +_037FFC44: mov r0, r8 mov r1, #0 - bl sub_02006C08 + bl sub_037FEA20 strb fp, [r6, #0x22] mov r0, r6 - bl sub_02007D04 + bl sub_037FFB1C ldrb r0, [r6, #3] bic r0, r0, #0xf8 strb r0, [r6, #3] and r0, r0, #0xff bic r0, r0, #1 strb r0, [r6, #3] -_02007E5C: +_037FFC74: add r8, r8, #1 mov r7, r7, lsr #1 -_02007E64: +_037FFC7C: cmp r8, #0x10 - bge _02007E74 + bge _037FFC8C cmp r7, #0 - bne _02007DEC -_02007E74: + bne _037FFC04 +_037FFC8C: tst sb, #1 - ldrne r0, _02007EA4 ; =0x03807E48 + ldrne r0, _037FFCBC ; =0x03807E48 ldrne r1, [r0] orrne r1, r1, sl strne r1, [r0] - ldreq r0, _02007EA4 ; =0x03807E48 + ldreq r0, _037FFCBC ; =0x03807E48 ldreq r1, [r0, #4] orreq r1, r1, sl streq r1, [r0, #4] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_02007EA0: .word 0x03807E70 -_02007EA4: .word 0x03807E48 - arm_func_end sub_02007DC8 +_037FFCB8: .word 0x03807E70 +_037FFCBC: .word 0x03807E48 + arm_func_end sub_037FFBE0 - arm_func_start sub_02007EA8 -sub_02007EA8: ; 0x02007EA8 + arm_func_start sub_037FFCC0 +sub_037FFCC0: ; 0x037FFCC0 tst r1, #1 - ldreq r1, _02007EDC ; =0x03807E48 + ldreq r1, _037FFCF4 ; =0x03807E48 mvneq r0, r0 ldreq r2, [r1, #4] andeq r0, r2, r0 streq r0, [r1, #4] bxeq lr - ldr r1, _02007EDC ; =0x03807E48 + ldr r1, _037FFCF4 ; =0x03807E48 mvn r0, r0 ldr r2, [r1] and r0, r2, r0 str r0, [r1] bx lr .align 2, 0 -_02007EDC: .word 0x03807E48 - arm_func_end sub_02007EA8 +_037FFCF4: .word 0x03807E48 + arm_func_end sub_037FFCC0 - arm_func_start sub_02007EE0 -sub_02007EE0: ; 0x02007EE0 + arm_func_start sub_037FFCF8 +sub_037FFCF8: ; 0x037FFCF8 tst r0, #1 - ldrne r0, _02007EF8 ; =0x03807E48 + ldrne r0, _037FFD10 ; =0x03807E48 ldrne r0, [r0] - ldreq r0, _02007EF8 ; =0x03807E48 + ldreq r0, _037FFD10 ; =0x03807E48 ldreq r0, [r0, #4] bx lr .align 2, 0 -_02007EF8: .word 0x03807E48 - arm_func_end sub_02007EE0 +_037FFD10: .word 0x03807E48 + arm_func_end sub_037FFCF8 - arm_func_start sub_02007EFC -sub_02007EFC: ; 0x02007EFC + arm_func_start sub_037FFD14 +sub_037FFD14: ; 0x037FFD14 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} - ldr r5, _02007F74 ; =0x03807E70 + ldr r5, _037FFD8C ; =0x03807E70 mov r6, #0 mov r8, r0 mov r7, r1 mov r4, r6 mov sb, #0x54 -_02007F18: +_037FFD30: mla r2, r6, sb, r5 ldrb r1, [r2, #3] mov r0, r1, lsl #0x1f movs r0, r0, lsr #0x1f - beq _02007F5C + beq _037FFD74 ldrb r0, [r2, #1] cmp r0, #0 - bne _02007F5C + bne _037FFD74 ldr r0, [r2, #0x44] cmp r8, r0 cmpls r0, r7 - bhi _02007F5C + bhi _037FFD74 bic r3, r1, #2 mov r0, r6 mov r1, r4 strb r3, [r2, #3] - bl sub_02006C08 -_02007F5C: + bl sub_037FEA20 +_037FFD74: add r0, r6, #1 and r6, r0, #0xff cmp r6, #0x10 - blo _02007F18 + blo _037FFD30 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, lr} bx lr .align 2, 0 -_02007F74: .word 0x03807E70 - arm_func_end sub_02007EFC +_037FFD8C: .word 0x03807E70 + arm_func_end sub_037FFD14 - arm_func_start sub_02007F78 -sub_02007F78: ; 0x02007F78 + arm_func_start sub_037FFD90 +sub_037FFD90: ; 0x037FFD90 mov r2, #0 strb r2, [r0] strb r2, [r0, #2] @@ -9874,10 +9874,10 @@ sub_02007F78: ; 0x02007F78 strb r1, [r0, #1] strh r2, [r0, #4] bx lr - arm_func_end sub_02007F78 + arm_func_end sub_037FFD90 - arm_func_start sub_02007F9C -sub_02007F9C: ; 0x02007F9C + arm_func_start sub_037FFDB4 +sub_037FFDB4: ; 0x037FFDB4 ldrh r2, [r0, #6] ldrh r1, [r0, #4] cmp r2, r1 @@ -9888,12 +9888,12 @@ sub_02007F9C: ; 0x02007F9C ldrb r2, [r0, #1] add r1, r1, r2, lsl #6 mov r3, r1, lsr #8 - b _02007FCC -_02007FC8: + b _037FFDE4 +_037FFDE0: sub r3, r3, #0x80 -_02007FCC: +_037FFDE4: cmp r3, #0x80 - bhs _02007FC8 + bhs _037FFDE0 ldrh r1, [r0, #8] add r1, r1, r2, lsl #6 strh r1, [r0, #8] @@ -9904,63 +9904,63 @@ _02007FCC: orr r1, r1, r3, lsl #8 strh r1, [r0, #8] bx lr - arm_func_end sub_02007F9C + arm_func_end sub_037FFDB4 - arm_func_start sub_02007FFC -sub_02007FFC: ; 0x02007FFC + arm_func_start sub_037FFE14 +sub_037FFE14: ; 0x037FFE14 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4, #2] cmp r0, #0 moveq r0, #0 - beq _02008044 + beq _037FFE5C ldrh r1, [r4, #6] ldrh r0, [r4, #4] cmp r1, r0 movlo r0, #0 - blo _02008044 + blo _037FFE5C ldrh r0, [r4, #8] mov r0, r0, lsr #8 - bl sub_02007040 + bl sub_037FEE58 ldrb r1, [r4, #2] ldrb r2, [r4, #3] mul r0, r1, r0 mul r0, r2, r0 -_02008044: +_037FFE5C: ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02007FFC + arm_func_end sub_037FFE14 - arm_func_start sub_0200804C -sub_0200804C: ; 0x0200804C + arm_func_start sub_037FFE64 +sub_037FFE64: ; 0x037FFE64 stmdb sp!, {r3, lr} cmp r0, #0x7f - ldreq r0, _0200809C ; =0x0000FFFF - beq _02008094 + ldreq r0, _037FFEB4 ; =0x0000FFFF + beq _037FFEAC cmp r0, #0x7e moveq r0, #0x3c00 - beq _02008094 + beq _037FFEAC cmp r0, #0x32 movlt r0, r0, lsl #1 addlt r0, r0, #1 movlt r0, r0, lsl #0x10 movlt r0, r0, lsr #0x10 - blt _02008094 + blt _037FFEAC rsb r1, r0, #0x7e mov r0, #0x1e00 - bl sub_0200EDB0 + bl sub_03806BC8 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 -_02008094: +_037FFEAC: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200809C: .word 0x0000FFFF - arm_func_end sub_0200804C +_037FFEB4: .word 0x0000FFFF + arm_func_end sub_037FFE64 - arm_func_start sub_020080A0 -sub_020080A0: ; 0x020080A0 - ldr r3, _020080D4 ; =0xFFFE9680 + arm_func_start sub_037FFEB8 +sub_037FFEB8: ; 0x037FFEB8 + ldr r3, _037FFEEC ; =0xFFFE9680 mov r2, #0 str r3, [r0, #0x10] strb r2, [r0, #2] @@ -9974,16 +9974,16 @@ sub_020080A0: ; 0x020080A0 strb r1, [r0, #3] bx lr .align 2, 0 -_020080D4: .word 0xFFFE9680 - arm_func_end sub_020080A0 +_037FFEEC: .word 0xFFFE9680 + arm_func_end sub_037FFEB8 - arm_func_start sub_020080D8 -sub_020080D8: ; 0x020080D8 + arm_func_start sub_037FFEF0 +sub_037FFEF0: ; 0x037FFEF0 stmdb sp!, {r3, lr} - ldr r3, _02008134 ; =0x038083B0 + ldr r3, _037FFF4C ; =0x038083B0 mov lr, #0 mov r0, #0x24 -_020080E8: +_037FFF00: mul r2, lr, r0 ldrb r1, [r3, r2] add ip, r3, r2 @@ -9992,136 +9992,136 @@ _020080E8: strb lr, [ip, #1] add lr, lr, #1 cmp lr, #0x10 - blt _020080E8 - ldr r1, _02008138 ; =0x038085F0 + blt _037FFF00 + ldr r1, _037FFF50 ; =0x038085F0 mov r2, #0 -_02008114: +_037FFF2C: ldrb r0, [r1, r2, lsl #6] bic r0, r0, #1 strb r0, [r1, r2, lsl #6] add r2, r2, #1 cmp r2, #0x20 - blt _02008114 + blt _037FFF2C ldmia sp!, {r3, lr} bx lr .align 2, 0 -_02008134: .word 0x038083B0 -_02008138: .word 0x038085F0 - arm_func_end sub_020080D8 +_037FFF4C: .word 0x038083B0 +_037FFF50: .word 0x038085F0 + arm_func_end sub_037FFEF0 - arm_func_start sub_0200813C -sub_0200813C: ; 0x0200813C + arm_func_start sub_037FFF54 +sub_037FFF54: ; 0x037FFF54 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov r6, #0 mov sb, r0 mov r5, r6 -_0200814C: +_037FFF64: mov r0, #0x24 mul r0, r5, r0 - ldr r2, _02008294 ; =0x038083B0 + ldr r2, _038000AC ; =0x038083B0 ldrb r1, [r2, r0] add r4, r2, r0 mov r0, r1, lsl #0x1f movs r0, r0, lsr #0x1f - beq _02008270 + beq _03800088 mov r0, r1, lsl #0x1e movs r0, r0, lsr #0x1f - beq _0200825C + beq _03800074 cmp sb, #0 - beq _02008228 + beq _03800040 mov r0, r1, lsl #0x1d movs r0, r0, lsr #0x1f - bne _02008228 + bne _03800040 mov r8, #0 - b _020081A4 -_02008194: + b _037FFFBC +_037FFFAC: ldrh r0, [r4, #0x1c] add r8, r8, #1 sub r0, r0, #0xf0 strh r0, [r4, #0x1c] -_020081A4: +_037FFFBC: ldrh r0, [r4, #0x1c] cmp r0, #0xf0 - bhs _02008194 + bhs _037FFFAC mov r7, #0 mov sl, #1 - b _020081E0 -_020081BC: + b _037FFFF8 +_037FFFD4: mov r0, r4 mov r1, sl - bl sub_02008ED8 + bl sub_03800CF0 cmp r0, #0 - beq _020081DC + beq _037FFFF4 mov r0, r4 - bl sub_02008CE8 - b _020081E8 -_020081DC: + bl sub_03800B00 + b _03800000 +_037FFFF4: add r7, r7, #1 -_020081E0: +_037FFFF8: cmp r7, r8 - blt _020081BC -_020081E8: - ldr r0, _02008298 ; =0x03807E6C + blt _037FFFD4 +_03800000: + ldr r0, _038000B0 ; =0x03807E6C ldr r2, [r0] cmp r2, #0 - beq _02008210 + beq _03800028 ldrb r1, [r4, #1] mov r0, #0x24 mla r2, r1, r0, r2 ldr r0, [r2, #0x40] add r0, r0, r7 str r0, [r2, #0x40] -_02008210: +_03800028: ldrh r2, [r4, #0x18] ldrh r1, [r4, #0x1a] ldrh r0, [r4, #0x1c] mul r1, r2, r1 add r0, r0, r1, asr #8 strh r0, [r4, #0x1c] -_02008228: +_03800040: mov r8, #0 mov r7, #1 -_02008230: +_03800048: mov r0, r4 mov r1, r8 - bl sub_02008C64 + bl sub_03800A7C cmp r0, #0 - beq _02008250 + beq _03800068 mov r1, r4 mov r2, r7 - bl sub_02008D80 -_02008250: + bl sub_03800B98 +_03800068: add r8, r8, #1 cmp r8, #0x10 - blt _02008230 -_0200825C: + blt _03800048 +_03800074: ldrb r0, [r4] mov r0, r0, lsl #0x1f movs r0, r0, lsr #0x1f movne r0, #1 orrne r6, r6, r0, lsl r5 -_02008270: +_03800088: add r5, r5, #1 cmp r5, #0x10 - blt _0200814C - ldr r0, _02008298 ; =0x03807E6C + blt _037FFF64 + ldr r0, _038000B0 ; =0x03807E6C ldr r0, [r0] cmp r0, #0 strne r6, [r0, #4] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, lr} bx lr .align 2, 0 -_02008294: .word 0x038083B0 -_02008298: .word 0x03807E6C - arm_func_end sub_0200813C +_038000AC: .word 0x038083B0 +_038000B0: .word 0x03807E6C + arm_func_end sub_037FFF54 - arm_func_start sub_0200829C -sub_0200829C: ; 0x0200829C + arm_func_start sub_038000B4 +sub_038000B4: ; 0x038000B4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov sb, r0 mov r0, #0x24 mul r5, sb, r0 - ldr r6, _0200846C ; =0x038083B0 + ldr r6, _03800284 ; =0x038083B0 mov r8, r1 ldrb r0, [r6, r5] mov r7, r2 @@ -10129,10 +10129,10 @@ sub_0200829C: ; 0x0200829C mov r4, r3 add r5, r6, r5 movs r0, r0, lsr #0x1f - beq _020082D8 + beq _038000F0 mov r0, r5 - bl sub_02008CE8 -_020082D8: + bl sub_03800B00 +_038000F0: ldrb r1, [r5] mov r0, #0x78 bic r1, r1, #4 @@ -10150,16 +10150,16 @@ _020082D8: mov r0, #0x40 strb r0, [r5, #4] mov r1, #0xff -_0200831C: +_03800134: add r0, r5, r2 add r2, r2, #1 strb r1, [r0, #8] cmp r2, #0x10 - blt _0200831C - ldr r1, _02008470 ; =0x03807E6C + blt _03800134 + ldr r1, _03800288 ; =0x03807E6C ldr r3, [r1] cmp r3, #0 - beq _0200837C + beq _03800194 ldrb r2, [r5, #1] mov r0, #0x24 mla r0, r2, r0, r3 @@ -10167,7 +10167,7 @@ _0200831C: str r6, [r0, #0x40] mvn r4, #0 mov r0, #0x24 -_0200835C: +_03800174: ldr r2, [r1] ldrb r3, [r5, #1] mla r2, r3, r0, r2 @@ -10175,59 +10175,59 @@ _0200835C: add r6, r6, #1 strh r4, [r2, #0x20] cmp r6, #0x10 - blt _0200835C -_0200837C: - bl sub_02009A6C + blt _03800174 +_03800194: + bl sub_03801884 movs r4, r0 - bmi _02008464 - ldr r0, _02008474 ; =0x038085F0 + bmi _0380027C + ldr r0, _0380028C ; =0x038085F0 add r6, r0, r4, lsl #6 mov r0, r6 - bl sub_02008AD8 + bl sub_038008F0 str r8, [r6, #0x24] add r0, r8, r7 str r0, [r6, #0x28] strb r4, [r5, #8] ldr r0, [r6, #0x28] - bl sub_0200896C + bl sub_03800784 mov r0, r6 - bl sub_02008478 + bl sub_03800290 cmp r0, #0xfe ldrne r0, [r6, #0x28] subne r0, r0, #1 strne r0, [r6, #0x28] - bne _02008430 + bne _03800248 mov r0, r6 - bl sub_02008478 + bl sub_03800290 mov r4, r0 mov r0, r6 - bl sub_02008478 + bl sub_03800290 orr r0, r4, r0, lsl #8 mov r0, r0, lsl #0x10 - ldr r4, _02008474 ; =0x038085F0 + ldr r4, _0380028C ; =0x038085F0 mov r8, r0, lsr #0x11 mov r7, #1 - b _02008428 -_020083F8: + b _03800240 +_03800210: tst r8, #1 - beq _0200841C - bl sub_02009A6C + beq _03800234 + bl sub_03801884 movs r6, r0 - bmi _02008430 + bmi _03800248 add r0, r4, r6, lsl #6 - bl sub_02008AD8 + bl sub_038008F0 add r0, r5, r7 strb r6, [r0, #8] -_0200841C: +_03800234: mov r0, r8, lsl #0xf add r7, r7, #1 mov r8, r0, lsr #0x10 -_02008428: +_03800240: cmp r8, #0 - bne _020083F8 -_02008430: + bne _03800210 +_03800248: ldrb r1, [r5] - ldr r0, _02008470 ; =0x03807E6C + ldr r0, _03800288 ; =0x03807E6C bic r1, r1, #1 ldr r2, [r0] orr r1, r1, #1 @@ -10239,35 +10239,35 @@ _02008430: movne r0, #1 orrne r0, r1, r0, lsl sb strne r0, [r2, #4] -_02008464: +_0380027C: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, lr} bx lr .align 2, 0 -_0200846C: .word 0x038083B0 -_02008470: .word 0x03807E6C -_02008474: .word 0x038085F0 - arm_func_end sub_0200829C +_03800284: .word 0x038083B0 +_03800288: .word 0x03807E6C +_0380028C: .word 0x038085F0 + arm_func_end sub_038000B4 - arm_func_start sub_02008478 -sub_02008478: ; 0x02008478 + arm_func_start sub_03800290 +sub_03800290: ; 0x03800290 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _020084D0 ; =0x03807E50 + ldr r1, _038002E8 ; =0x03807E50 mov r5, r0 ldr r4, [r5, #0x28] ldr r0, [r1, #4] cmp r4, r0 - blo _020084A0 + blo _038002B8 ldr r0, [r1, #8] cmp r4, r0 - blo _020084A8 -_020084A0: + blo _038002C0 +_038002B8: mov r0, r4 - bl sub_0200896C -_020084A8: - ldr r0, _020084D0 ; =0x03807E50 + bl sub_03800784 +_038002C0: + ldr r0, _038002E8 ; =0x03807E50 ldr r1, [r5, #0x28] ldr r2, [r0, #4] - ldr r0, _020084D4 ; =0x03807E5C + ldr r0, _038002EC ; =0x03807E5C sub r2, r4, r2 ldrb r0, [r0, r2] add r1, r1, #1 @@ -10275,54 +10275,54 @@ _020084A8: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_020084D0: .word 0x03807E50 -_020084D4: .word 0x03807E5C - arm_func_end sub_02008478 +_038002E8: .word 0x03807E50 +_038002EC: .word 0x03807E5C + arm_func_end sub_03800290 - arm_func_start sub_020084D8 -sub_020084D8: ; 0x020084D8 + arm_func_start sub_038002F0 +sub_038002F0: ; 0x038002F0 mov r1, #0x24 mul r1, r0, r1 - ldr r2, _020084F4 ; =0x038083B0 + ldr r2, _0380030C ; =0x038083B0 ldrb r0, [r2, r1] orr r0, r0, #2 strb r0, [r2, r1] bx lr .align 2, 0 -_020084F4: .word 0x038083B0 - arm_func_end sub_020084D8 +_0380030C: .word 0x038083B0 + arm_func_end sub_038002F0 - arm_func_start sub_020084F8 -sub_020084F8: ; 0x020084F8 + arm_func_start sub_03800310 +sub_03800310: ; 0x03800310 stmdb sp!, {r4, lr} mov r4, r0 - bl sub_0200829C + bl sub_038000B4 mov r0, #0x24 mul r1, r4, r0 - ldr r2, _02008524 ; =0x038083B0 + ldr r2, _0380033C ; =0x038083B0 ldrb r0, [r2, r1] orr r0, r0, #2 strb r0, [r2, r1] ldmia sp!, {r4, lr} bx lr .align 2, 0 -_02008524: .word 0x038083B0 - arm_func_end sub_020084F8 +_0380033C: .word 0x038083B0 + arm_func_end sub_03800310 - arm_func_start sub_02008528 -sub_02008528: ; 0x02008528 + arm_func_start sub_03800340 +sub_03800340: ; 0x03800340 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x24 mul r1, r4, r0 - ldr r2, _0200857C ; =0x038083B0 + ldr r2, _03800394 ; =0x038083B0 ldrb r0, [r2, r1] mov r0, r0, lsl #0x1f movs r0, r0, lsr #0x1f - beq _02008574 + beq _0380038C add r0, r2, r1 - bl sub_02008CE8 - ldr r0, _02008580 ; =0x03807E6C + bl sub_03800B00 + ldr r0, _03800398 ; =0x03807E6C ldr r2, [r0] cmp r2, #0 movne r0, #1 @@ -10330,20 +10330,20 @@ sub_02008528: ; 0x02008528 mvnne r0, r0, lsl r4 andne r0, r1, r0 strne r0, [r2, #4] -_02008574: +_0380038C: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200857C: .word 0x038083B0 -_02008580: .word 0x03807E6C - arm_func_end sub_02008528 +_03800394: .word 0x038083B0 +_03800398: .word 0x03807E6C + arm_func_end sub_03800340 - arm_func_start sub_02008584 -sub_02008584: ; 0x02008584 + arm_func_start sub_0380039C +sub_0380039C: ; 0x0380039C stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r2, #0x24 mul r4, r0, r2 - ldr r5, _020085F8 ; =0x038083B0 + ldr r5, _03800410 ; =0x038083B0 and r0, r1, #0xff ldrb r2, [r5, r4] mov r0, r0, lsl #0x1f @@ -10351,79 +10351,79 @@ sub_02008584: ; 0x02008584 orr r0, r2, r0, lsr #29 strb r0, [r5, r4] cmp r1, #0 - beq _020085F0 + beq _03800408 mov r8, #0 mov r6, #0x7f -_020085BC: +_038003D4: mov r1, r8 add r0, r5, r4 - bl sub_02008C64 + bl sub_03800A7C movs r7, r0 - beq _020085E4 + beq _038003FC mov r2, r6 add r1, r5, r4 - bl sub_02008BC8 + bl sub_038009E0 mov r0, r7 - bl sub_02008C30 -_020085E4: + bl sub_03800A48 +_038003FC: add r8, r8, #1 cmp r8, #0x10 - blt _020085BC -_020085F0: + blt _038003D4 +_03800408: ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_020085F8: .word 0x038083B0 - arm_func_end sub_02008584 +_03800410: .word 0x038083B0 + arm_func_end sub_0380039C - arm_func_start sub_020085FC -sub_020085FC: ; 0x020085FC + arm_func_start sub_03800414 +sub_03800414: ; 0x03800414 stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r3, _020086C0 ; =0x038083B0 + ldr r3, _038004D8 ; =0x038083B0 mov r2, #0x24 mla r6, r0, r2, r3 mov r8, r1 mov r7, #0 mov r4, #0x7f -_02008618: +_03800430: mov r0, r6 mov r1, r7 - bl sub_02008C64 + bl sub_03800A7C movs r5, r0 - beq _02008640 + beq _03800458 mov r1, r6 mov r2, r4 - bl sub_02008BC8 + bl sub_038009E0 mov r0, r5 - bl sub_02008C30 -_02008640: + bl sub_03800A48 +_03800458: add r7, r7, #1 cmp r7, #0x10 - blt _02008618 - bl sub_0200719C + blt _03800430 + bl sub_037FEFB4 mov r4, #0 mov r5, r4 - b _02008680 -_0200865C: + b _03800498 +_03800474: mov r0, r6 mov r1, r5 - bl sub_02008ED8 + bl sub_03800CF0 cmp r0, #0 - beq _0200867C + beq _03800494 mov r0, r6 - bl sub_02008CE8 - b _02008688 -_0200867C: + bl sub_03800B00 + b _038004A0 +_03800494: add r4, r4, #1 -_02008680: +_03800498: cmp r4, r8 - blo _0200865C -_02008688: - bl sub_0200714C - ldr r0, _020086C4 ; =0x03807E6C + blo _03800474 +_038004A0: + bl sub_037FEF64 + ldr r0, _038004DC ; =0x03807E6C ldr r3, [r0] cmp r3, #0 - beq _020086B8 + beq _038004D0 ldrb r1, [r6, #1] mov r0, #0x24 mul r2, r1, r0 @@ -10431,189 +10431,189 @@ _02008688: ldr r0, [r1, r2] add r0, r0, r4 str r0, [r1, r2] -_020086B8: +_038004D0: ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_020086C0: .word 0x038083B0 -_020086C4: .word 0x03807E6C - arm_func_end sub_020085FC +_038004D8: .word 0x038083B0 +_038004DC: .word 0x03807E6C + arm_func_end sub_03800414 - arm_func_start sub_020086C8 -sub_020086C8: ; 0x020086C8 + arm_func_start sub_038004E0 +sub_038004E0: ; 0x038004E0 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r3, #0x24 mul r4, r0, r3 - ldr r5, _02008730 ; =0x038083B0 + ldr r5, _03800548 ; =0x038083B0 mov r8, r1 mov r7, r2 mov r6, #0 - b _02008718 -_020086E8: + b _03800530 +_03800500: tst r8, #1 - beq _02008710 + beq _03800528 mov r1, r6 add r0, r5, r4 - bl sub_02008C64 + bl sub_03800A7C cmp r0, #0 - beq _02008710 + beq _03800528 mov r2, r7 add r1, r5, r4 - bl sub_02009AB0 -_02008710: + bl sub_038018C8 +_03800528: add r6, r6, #1 mov r8, r8, lsr #1 -_02008718: +_03800530: cmp r6, #0x10 - bge _02008728 + bge _03800540 cmp r8, #0 - bne _020086E8 -_02008728: + bne _03800500 +_03800540: ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_02008730: .word 0x038083B0 - arm_func_end sub_020086C8 +_03800548: .word 0x038083B0 + arm_func_end sub_038004E0 - arm_func_start sub_02008734 -sub_02008734: ; 0x02008734 + arm_func_start sub_0380054C +sub_0380054C: ; 0x0380054C stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r3, #0x24 mul r4, r0, r3 mov r0, r2, lsl #0x10 - ldr r5, _020087A0 ; =0x038083B0 + ldr r5, _038005B8 ; =0x038083B0 mov r7, r1 mov r6, #0 mov r8, r0, lsr #0x10 - b _02008788 -_02008758: + b _038005A0 +_03800570: tst r7, #1 - beq _02008780 + beq _03800598 mov r1, r6 add r0, r5, r4 - bl sub_02008C64 + bl sub_03800A7C cmp r0, #0 strneh r8, [r0, #0x1e] ldrneb r1, [r0] orrne r1, r1, #0x80 strneb r1, [r0] -_02008780: +_03800598: add r6, r6, #1 mov r7, r7, lsr #1 -_02008788: +_038005A0: cmp r6, #0x10 - bge _02008798 + bge _038005B0 cmp r7, #0 - bne _02008758 -_02008798: + bne _03800570 +_038005B0: ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_020087A0: .word 0x038083B0 - arm_func_end sub_02008734 +_038005B8: .word 0x038083B0 + arm_func_end sub_0380054C - arm_func_start sub_020087A4 -sub_020087A4: ; 0x020087A4 + arm_func_start sub_038005BC +sub_038005BC: ; 0x038005BC stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} - ldr r6, _0200882C ; =0x038083B0 + ldr r6, _03800644 ; =0x038083B0 mov r7, #0 mov sl, r0 mov sb, r1 mov fp, r7 mov r4, #0x24 -_020087C0: +_038005D8: mul r5, r7, r4 ldrb r0, [r6, r5] mov r0, r0, lsl #0x1f movs r0, r0, lsr #0x1f - beq _02008818 + beq _03800630 mov r8, fp - b _02008810 -_020087DC: + b _03800628 +_038005F4: mov r1, r8 add r0, r6, r5 - bl sub_02008C64 + bl sub_03800A7C cmp r0, #0 - beq _0200880C + beq _03800624 ldr r0, [r0, #0x28] cmp sl, r0 cmpls r0, sb - bhi _0200880C + bhi _03800624 add r0, r6, r5 - bl sub_02008CE8 - b _02008818 -_0200880C: + bl sub_03800B00 + b _03800630 +_03800624: add r8, r8, #1 -_02008810: +_03800628: cmp r8, #0x10 - blt _020087DC -_02008818: + blt _038005F4 +_03800630: add r7, r7, #1 cmp r7, #0x10 - blt _020087C0 + blt _038005D8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_0200882C: .word 0x038083B0 - arm_func_end sub_020087A4 +_03800644: .word 0x038083B0 + arm_func_end sub_038005BC - arm_func_start sub_02008830 -sub_02008830: ; 0x02008830 + arm_func_start sub_03800648 +sub_03800648: ; 0x03800648 stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r4, _02008888 ; =0x038083B0 + ldr r4, _038006A0 ; =0x038083B0 mov r7, r0 mov r6, r1 mov r5, #0 mov r8, #0x24 -_02008848: +_03800660: mul r0, r5, r8 ldrb r1, [r4, r0] add r0, r4, r0 mov r1, r1, lsl #0x1f movs r1, r1, lsr #0x1f - beq _02008874 + beq _0380068C ldr r1, [r0, #0x20] cmp r7, r1 cmpls r1, r6 - bhi _02008874 - bl sub_02008CE8 -_02008874: + bhi _0380068C + bl sub_03800B00 +_0380068C: add r5, r5, #1 cmp r5, #0x10 - blt _02008848 + blt _03800660 ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_02008888: .word 0x038083B0 - arm_func_end sub_02008830 +_038006A0: .word 0x038083B0 + arm_func_end sub_03800648 - arm_func_start sub_0200888C -sub_0200888C: ; 0x0200888C + arm_func_start sub_038006A4 +sub_038006A4: ; 0x038006A4 stmdb sp!, {r3, lr} - ldr lr, _020088CC ; =0x038083B0 + ldr lr, _038006E4 ; =0x038083B0 mov ip, #0x24 mla ip, r0, ip, lr cmp r3, #1 - beq _020088B8 + beq _038006D0 cmp r3, #2 - beq _020088C0 + beq _038006D8 cmp r3, #4 streq r2, [ip, r1] - b _020088C4 -_020088B8: + b _038006DC +_038006D0: strb r2, [ip, r1] - b _020088C4 -_020088C0: + b _038006DC +_038006D8: strh r2, [ip, r1] -_020088C4: +_038006DC: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_020088CC: .word 0x038083B0 - arm_func_end sub_0200888C +_038006E4: .word 0x038083B0 + arm_func_end sub_038006A4 - arm_func_start sub_020088D0 -sub_020088D0: ; 0x020088D0 + arm_func_start sub_038006E8 +sub_038006E8: ; 0x038006E8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r4, #0x24 mul r5, r0, r4 @@ -10625,46 +10625,46 @@ sub_020088D0: ; 0x020088D0 mov r6, #0 mov fp, r0, lsr #0x10 and r4, r8, #0xff - b _02008950 -_02008900: + b _03800768 +_03800718: tst sl, #1 - beq _02008948 - ldr r0, _02008968 ; =0x038083B0 + beq _03800760 + ldr r0, _03800780 ; =0x038083B0 mov r1, r6 add r0, r0, r5 - bl sub_02008C64 + bl sub_03800A7C cmp r0, #0 - beq _02008948 + beq _03800760 cmp r7, #1 - beq _0200893C + beq _03800754 cmp r7, #2 - beq _02008944 + beq _0380075C cmp r7, #4 streq r8, [r0, sb] - b _02008948 -_0200893C: + b _03800760 +_03800754: strb r4, [r0, sb] - b _02008948 -_02008944: + b _03800760 +_0380075C: strh fp, [r0, sb] -_02008948: +_03800760: add r6, r6, #1 mov sl, sl, lsr #1 -_02008950: +_03800768: cmp r6, #0x10 - bge _02008960 + bge _03800778 cmp sl, #0 - bne _02008900 -_02008960: + bne _03800718 +_03800778: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_02008968: .word 0x038083B0 - arm_func_end sub_020088D0 +_03800780: .word 0x038083B0 + arm_func_end sub_038006E8 - arm_func_start sub_0200896C -sub_0200896C: ; 0x0200896C - ldr r1, _020089A4 ; =0x03807E50 + arm_func_start sub_03800784 +sub_03800784: ; 0x03800784 + ldr r1, _038007BC ; =0x03807E50 bic r2, r0, #3 str r2, [r1, #4] add r0, r2, #0x10 @@ -10679,88 +10679,88 @@ sub_0200896C: ; 0x0200896C str r0, [r1, #0x18] bx lr .align 2, 0 -_020089A4: .word 0x03807E50 - arm_func_end sub_0200896C +_038007BC: .word 0x03807E50 + arm_func_end sub_03800784 - arm_func_start sub_020089A8 -sub_020089A8: ; 0x020089A8 + arm_func_start sub_038007C0 +sub_038007C0: ; 0x038007C0 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 - bl sub_02008478 + bl sub_03800290 mov r4, r0 mov r0, r5 - bl sub_02008478 + bl sub_03800290 orr r4, r4, r0, lsl #8 mov r0, r5 - bl sub_02008478 + bl sub_03800290 orr r0, r4, r0, lsl #16 ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_020089A8 + arm_func_end sub_038007C0 - arm_func_start sub_020089D8 -sub_020089D8: ; 0x020089D8 + arm_func_start sub_038007F0 +sub_038007F0: ; 0x038007F0 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 mov r6, r1 cmp r2, #4 addls pc, pc, r2, lsl #2 - b _02008ACC -_020089F0: ; jump table - b _02008A04 ; case 0 - b _02008A10 ; case 1 - b _02008A30 ; case 2 - b _02008A6C ; case 3 - b _02008A50 ; case 4 -_02008A04: - bl sub_02008478 + b _038008E4 +_03800808: ; jump table + b _0380081C ; case 0 + b _03800828 ; case 1 + b _03800848 ; case 2 + b _03800884 ; case 3 + b _03800868 ; case 4 +_0380081C: + bl sub_03800290 mov r5, r0 - b _02008ACC -_02008A10: - bl sub_02008478 + b _038008E4 +_03800828: + bl sub_03800290 mov r5, r0 mov r0, r4 - bl sub_02008478 + bl sub_03800290 orr r0, r5, r0, lsl #8 mov r0, r0, lsl #0x10 mov r5, r0, lsr #0x10 - b _02008ACC -_02008A30: + b _038008E4 +_03800848: mov r5, #0 -_02008A34: +_0380084C: mov r0, r4 - bl sub_02008478 + bl sub_03800290 and r1, r0, #0x7f tst r0, #0x80 orr r5, r1, r5, lsl #7 - bne _02008A34 - b _02008ACC -_02008A50: - bl sub_02008478 + bne _0380084C + b _038008E4 +_03800868: + bl sub_03800290 mov r1, r0 mov r0, r6 - bl sub_02009A28 + bl sub_03801840 cmp r0, #0 ldrnesh r5, [r0] - b _02008ACC -_02008A6C: - bl sub_02008478 + b _038008E4 +_03800884: + bl sub_03800290 mov r5, r0 mov r0, r4 - bl sub_02008478 + bl sub_03800290 orr r0, r5, r0, lsl #8 mov r0, r0, lsl #0x10 mov r1, r0, lsr #0x10 mov r0, r4 mov r5, r1, lsl #0x10 - bl sub_02008478 + bl sub_03800290 mov r6, r0 mov r0, r4 - bl sub_02008478 + bl sub_03800290 orr r0, r6, r0, lsl #8 mov r0, r0, lsl #0x10 mov r4, r0, lsr #0x10 - bl sub_020070AC + bl sub_037FEEC4 mov r1, r4, lsl #0x10 mov r1, r1, asr #0x10 sub r1, r1, r5, asr #16 @@ -10768,14 +10768,14 @@ _02008A6C: mul r1, r0, r1 mov r0, r1, asr #0x10 add r5, r0, r5, asr #16 -_02008ACC: +_038008E4: mov r0, r5 ldmia sp!, {r4, r5, r6, lr} bx lr - arm_func_end sub_020089D8 + arm_func_end sub_038007F0 - arm_func_start sub_02008AD8 -sub_02008AD8: ; 0x02008AD8 + arm_func_start sub_038008F0 +sub_038008F0: ; 0x038008F0 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0 @@ -10826,77 +10826,77 @@ sub_02008AD8: ; 0x02008AD8 add r0, r2, #0xff00 strh r0, [r4, #0x1e] add r0, r4, #0x18 - bl sub_02007F78 + bl sub_037FFD90 mov r0, #0 str r0, [r4, #0x20] str r0, [r4, #0x3c] ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02008AD8 + arm_func_end sub_038008F0 - arm_func_start sub_02008BB8 -sub_02008BB8: ; 0x02008BB8 + arm_func_start sub_038009D0 +sub_038009D0: ; 0x038009D0 str r1, [r0, #0x24] add r1, r1, r2 str r1, [r0, #0x28] bx lr - arm_func_end sub_02008BB8 + arm_func_end sub_038009D0 - arm_func_start sub_02008BC8 -sub_02008BC8: ; 0x02008BC8 + arm_func_start sub_038009E0 +sub_038009E0: ; 0x038009E0 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r2 mov r4, r0 mov r2, #0 - bl sub_02008D80 + bl sub_03800B98 ldr r5, [r4, #0x3c] and r6, r7, #0xff mov r4, #1 - b _02008C20 -_02008BEC: + b _03800A38 +_03800A04: mov r0, r5 - bl sub_02007B28 + bl sub_037FF940 cmp r0, #0 - beq _02008C1C + beq _03800A34 cmp r7, #0 - blt _02008C10 + blt _03800A28 mov r0, r5 mov r1, r6 - bl sub_02007B00 -_02008C10: + bl sub_037FF918 +_03800A28: mov r0, r5 strb r4, [r5, #0x22] - bl sub_02007B1C -_02008C1C: + bl sub_037FF934 +_03800A34: ldr r5, [r5, #0x50] -_02008C20: +_03800A38: cmp r5, #0 - bne _02008BEC + bne _03800A04 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr - arm_func_end sub_02008BC8 + arm_func_end sub_038009E0 - arm_func_start sub_02008C30 -sub_02008C30: ; 0x02008C30 + arm_func_start sub_03800A48 +sub_03800A48: ; 0x03800A48 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r4, [r5, #0x3c] - b _02008C4C -_02008C40: + b _03800A64 +_03800A58: mov r0, r4 - bl sub_02007D04 + bl sub_037FFB1C ldr r4, [r4, #0x50] -_02008C4C: +_03800A64: cmp r4, #0 - bne _02008C40 + bne _03800A58 mov r0, #0 str r0, [r5, #0x3c] ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_02008C30 + arm_func_end sub_03800A48 - arm_func_start sub_02008C64 -sub_02008C64: ; 0x02008C64 + arm_func_start sub_03800A7C +sub_03800A7C: ; 0x03800A7C cmp r1, #0xf movgt r0, #0 bxgt lr @@ -10904,94 +10904,94 @@ sub_02008C64: ; 0x02008C64 ldrb r1, [r0, #8] cmp r1, #0xff moveq r0, #0 - ldrne r0, _02008C8C ; =0x038085F0 + ldrne r0, _03800AA4 ; =0x038085F0 addne r0, r0, r1, lsl #6 bx lr .align 2, 0 -_02008C8C: .word 0x038085F0 - arm_func_end sub_02008C64 +_03800AA4: .word 0x038085F0 + arm_func_end sub_03800A7C - arm_func_start sub_02008C90 -sub_02008C90: ; 0x02008C90 + arm_func_start sub_03800AA8 +sub_03800AA8: ; 0x03800AA8 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r4, r1 - bl sub_02008C64 + bl sub_03800A7C movs r5, r0 - beq _02008CDC + beq _03800AF4 mov r1, r6 mvn r2, #0 - bl sub_02008BC8 + bl sub_038009E0 mov r0, r5 - bl sub_02008C30 + bl sub_03800A48 add ip, r6, #8 ldrb r2, [ip, r4] - ldr r3, _02008CE4 ; =0x038085F0 + ldr r3, _03800AFC ; =0x038085F0 mov r0, #0xff ldrb r1, [r3, r2, lsl #6] bic r1, r1, #1 strb r1, [r3, r2, lsl #6] strb r0, [ip, r4] -_02008CDC: +_03800AF4: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_02008CE4: .word 0x038085F0 - arm_func_end sub_02008C90 +_03800AFC: .word 0x038085F0 + arm_func_end sub_03800AA8 - arm_func_start sub_02008CE8 -sub_02008CE8: ; 0x02008CE8 + arm_func_start sub_03800B00 +sub_03800B00: ; 0x03800B00 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, #0 -_02008CF4: +_03800B0C: mov r0, r5 mov r1, r4 - bl sub_02008C90 + bl sub_03800AA8 add r4, r4, #1 cmp r4, #0x10 - blt _02008CF4 + blt _03800B0C ldrb r0, [r5] bic r0, r0, #1 strb r0, [r5] ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_02008CE8 + arm_func_end sub_03800B00 - arm_func_start sub_02008D20 -sub_02008D20: ; 0x02008D20 + arm_func_start sub_03800B38 +sub_03800B38: ; 0x03800B38 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r2 cmp r1, #1 - bne _02008D40 + bne _03800B58 mov r1, #0 strb r1, [r5, #0x22] - bl sub_02007D04 -_02008D40: + bl sub_037FFB1C +_03800B58: ldr r1, [r4, #0x3c] cmp r1, r5 ldreq r0, [r5, #0x50] streq r0, [r4, #0x3c] - beq _02008D78 - b _02008D6C -_02008D58: + beq _03800B90 + b _03800B84 +_03800B70: cmp r0, r5 ldreq r0, [r5, #0x50] streq r0, [r1, #0x50] - beq _02008D78 + beq _03800B90 mov r1, r0 -_02008D6C: +_03800B84: ldr r0, [r1, #0x50] cmp r0, #0 - bne _02008D58 -_02008D78: + bne _03800B70 +_03800B90: ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_02008D20 + arm_func_end sub_03800B38 - arm_func_start sub_02008D80 -sub_02008D80: ; 0x02008D80 + arm_func_start sub_03800B98 +sub_03800B98: ; 0x03800B98 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 ldrb r0, [sl, #7] @@ -11003,7 +11003,7 @@ sub_02008D80: ; 0x02008D80 ldrb r4, [sl, #1] ldrsb r7, [sl, #6] mov sb, r6, lsl #1 - ldr r0, _02008ED4 ; =0x03806FDC + ldr r0, _03800CEC ; =0x03806FDC mul r6, r7, r5 mov r3, fp, lsl #1 ldrsh sb, [r0, sb] @@ -11035,10 +11035,10 @@ sub_02008D80: ; 0x02008D80 mvn r4, #0x7f cmp r3, r4 movlt r3, r4 - blt _02008E38 + blt _03800C50 cmp r3, #0x7f movgt r3, #0x7f -_02008E38: +_03800C50: mov r0, r0, lsl #0x10 mov r2, r2, lsl #0x10 mov r3, r3, lsl #0x18 @@ -11049,12 +11049,12 @@ _02008E38: mov r4, r3, asr #0x18 mov r7, r1, asr #0x10 mov fp, #1 - b _02008EC4 -_02008E64: + b _03800CDC +_03800C7C: strh r7, [r8, #6] ldrb r0, [r8, #2] cmp r0, #3 - beq _02008EC0 + beq _03800CD8 strh r6, [r8, #0xc] strh r5, [r8, #0xe] strb r4, [r8, #0xb] @@ -11068,25 +11068,25 @@ _02008E64: strh r0, [r8, #0x2c] ldr r0, [r8, #0x34] cmp r0, #0 - bne _02008EC0 + bne _03800CD8 cmp sb, #0 - beq _02008EC0 + beq _03800CD8 mov r0, r8 strb fp, [r8, #0x22] - bl sub_02007B1C -_02008EC0: + bl sub_037FF934 +_03800CD8: ldr r8, [r8, #0x50] -_02008EC4: +_03800CDC: cmp r8, #0 - bne _02008E64 + bne _03800C7C ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_02008ED4: .word 0x03806FDC - arm_func_end sub_02008D80 +_03800CEC: .word 0x03806FDC + arm_func_end sub_03800B98 - arm_func_start sub_02008ED8 -sub_02008ED8: ; 0x02008ED8 + arm_func_start sub_03800CF0 +sub_03800CF0: ; 0x03800CF0 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x24 mov r2, #0 @@ -11094,17 +11094,17 @@ sub_02008ED8: ; 0x02008ED8 str r1, [sp, #8] mov r7, r0 mov sl, r2 -_02008EF4: +_03800D0C: mov r0, r7 mov r1, sl - bl sub_02008C64 + bl sub_03800A7C movs r8, r0 ldrne r0, [r8, #0x28] cmpne r0, #0 - beq _020099F4 + beq _0380180C ldr r0, [r8, #0x3c] - b _02008F50 -_02008F18: + b _03800D68 +_03800D30: ldr r1, [r0, #0x34] cmp r1, #0 subgt r1, r1, #1 @@ -11112,100 +11112,100 @@ _02008F18: ldrb r1, [r0, #3] mov r1, r1, lsl #0x1d movs r1, r1, lsr #0x1f - bne _02008F4C + bne _03800D64 ldr r2, [r0, #0x14] ldr r1, [r0, #0x18] cmp r2, r1 addlt r1, r2, #1 strlt r1, [r0, #0x14] -_02008F4C: +_03800D64: ldr r0, [r0, #0x50] -_02008F50: +_03800D68: cmp r0, #0 - bne _02008F18 + bne _03800D30 ldrb r1, [r8] mov r0, r1, lsl #0x1b movs r0, r0, lsr #0x1f - beq _02008F80 + beq _03800D98 ldr r0, [r8, #0x3c] cmp r0, #0 movne r0, #0 - bne _020099D8 + bne _038017F0 bic r0, r1, #0x10 strb r0, [r8] -_02008F80: +_03800D98: ldr r0, [r8, #0x20] cmp r0, #0 subgt r0, r0, #1 strgt r0, [r8, #0x20] cmpgt r0, #0 movgt r0, #0 - bgt _020099D8 + bgt _038017F0 ldr r0, [r8, #0x28] - bl sub_0200896C - ldr r0, _02009A1C ; =0x0000FFFF + bl sub_03800784 + ldr r0, _03801834 ; =0x0000FFFF sub fp, r0, #0x10000 - b _020099B8 -_02008FB0: + b _038017D0 +_03800DC8: mov r0, r8 mov sb, #0 mov r4, #1 - bl sub_02008478 + bl sub_03800290 mov r6, r0 cmp r6, #0xa2 - bne _02008FE4 + bne _03800DFC mov r0, r8 - bl sub_02008478 + bl sub_03800290 mov r6, r0 ldrb r0, [r8] mov r0, r0, lsl #0x19 mov r4, r0, lsr #0x1f -_02008FE4: +_03800DFC: cmp r6, #0xa0 - bne _02009000 + bne _03800E18 mov r0, r8 - bl sub_02008478 + bl sub_03800290 mov r6, r0 mov r5, #3 mov sb, #1 -_02009000: +_03800E18: cmp r6, #0xa1 - bne _0200901C + bne _03800E34 mov r0, r8 - bl sub_02008478 + bl sub_03800290 mov r6, r0 mov r5, #4 mov sb, #1 -_0200901C: +_03800E34: tst r6, #0x80 - bne _020092A0 + bne _038010B8 mov r0, r8 - bl sub_02008478 + bl sub_03800290 cmp sb, #0 str r0, [sp, #0xc] movne r2, r5 moveq r2, #2 mov r0, r8 mov r1, r7 - bl sub_020089D8 + bl sub_038007F0 cmp r4, #0 mov r4, r0 ldrsb r0, [r8, #0x13] add sb, r6, r0 - beq _020099B8 + beq _038017D0 cmp sb, #0 movlt sb, #0 - blt _02009070 + blt _03800E88 cmp sb, #0x7f movgt sb, #0x7f -_02009070: +_03800E88: ldrb r1, [r8] mov r0, r1, lsl #0x1d movs r0, r0, lsr #0x1f - bne _02009274 + bne _0380108C ldr r0, [sp, #8] cmp r0, #0 - beq _02009274 + beq _0380108C mov r0, r1, lsl #0x1c mov r6, #0 movs r0, r0, lsr #0x1f @@ -11215,35 +11215,35 @@ _02009070: ldrne r0, [sp, #0xc] strneb r0, [r6, #9] cmp r6, #0 - bne _020091A4 + bne _03800FBC ldr r0, [r7, #0x20] ldrh r1, [r8, #2] mov r2, sb add r3, sp, #0x16 - bl sub_02009B30 + bl sub_03801948 cmp r0, #0 - beq _02009274 + beq _0380108C ldrb r0, [sp, #0x16] cmp r0, #4 addls pc, pc, r0, lsl #2 - b _02009274 -_020090E0: ; jump table - b _02009274 ; case 0 - b _020090F4 ; case 1 - b _020090FC ; case 2 - b _02009104 ; case 3 - b _020090F4 ; case 4 -_020090F4: - ldr r1, _02009A1C ; =0x0000FFFF - b _02009108 -_020090FC: + b _0380108C +_03800EF8: ; jump table + b _0380108C ; case 0 + b _03800F0C ; case 1 + b _03800F14 ; case 2 + b _03800F1C ; case 3 + b _03800F0C ; case 4 +_03800F0C: + ldr r1, _03801834 ; =0x0000FFFF + b _03800F20 +_03800F14: mov r1, #0x3f00 - b _02009108 -_02009104: + b _03800F20 +_03800F1C: mov r1, #0xc000 -_02009108: +_03800F20: ldrh r0, [r8, #0x1e] - ldr r3, _02009A20 ; =0x03800B38 + ldr r3, _03801838 ; =0x03800B38 str r8, [sp] ldrb r2, [r8] and r0, r1, r0 @@ -11252,18 +11252,18 @@ _02009108: ldrb r1, [r8, #0x12] mov r2, r2, lsr #0x1f add r1, r6, r1 - bl sub_02007B38 + bl sub_037FF950 movs r6, r0 - beq _02009274 + beq _0380108C ldrb r0, [r8] mov r0, r0, lsl #0x1c movs r0, r0, lsr #0x1f movne r3, fp - bne _0200915C + bne _03800F74 cmp r4, #0 movgt r3, r4 movle r3, fp -_0200915C: +_03800F74: ldr r2, [sp, #0xc] ldr r1, [r7, #0x20] mov r0, r6 @@ -11271,59 +11271,59 @@ _0200915C: add r1, sp, #0x16 str r1, [sp, #4] mov r1, sb - bl sub_02009CF0 + bl sub_03801B08 cmp r0, #0 - bne _02009198 + bne _03800FB0 mov r0, #0 strb r0, [r6, #0x22] mov r0, r6 - bl sub_02007D04 - b _02009274 -_02009198: + bl sub_037FFB1C + b _0380108C +_03800FB0: ldr r0, [r8, #0x3c] str r0, [r6, #0x50] str r6, [r8, #0x3c] -_020091A4: +_03800FBC: ldrb r1, [r8, #0xe] cmp r1, #0xff - beq _020091B8 + beq _03800FD0 mov r0, r6 - bl sub_02007ABC -_020091B8: + bl sub_037FF8D4 +_03800FD0: ldrb r1, [r8, #0xf] cmp r1, #0xff - beq _020091CC + beq _03800FE4 mov r0, r6 - bl sub_02007ADC -_020091CC: + bl sub_037FF8F4 +_03800FE4: ldrb r1, [r8, #0x10] cmp r1, #0xff - beq _020091E0 + beq _03800FF8 mov r0, r6 - bl sub_02007AF8 -_020091E0: + bl sub_037FF910 +_03800FF8: ldrb r1, [r8, #0x11] cmp r1, #0xff - beq _020091F4 + beq _0380100C mov r0, r6 - bl sub_02007B00 -_020091F4: + bl sub_037FF918 +_0380100C: ldrsh r0, [r8, #0x16] strh r0, [r6, #0x32] ldrb r0, [r8] mov r0, r0, lsl #0x1a movs r0, r0, lsr #0x1f - beq _02009224 + beq _0380103C ldrsh r1, [r6, #0x32] ldrb r0, [r8, #0x14] sub r0, r0, sb mov r0, r0, lsl #0x16 add r0, r1, r0, asr #16 strh r0, [r6, #0x32] -_02009224: +_0380103C: ldrb r0, [r8, #0x15] cmp r0, #0 - bne _02009250 + bne _03801068 cmp r4, #0 movgt r0, r4 movle r0, fp @@ -11331,8 +11331,8 @@ _02009224: ldrb r0, [r6, #3] bic r0, r0, #4 strb r0, [r6, #3] - b _0200926C -_02009250: + b _03801084 +_03801068: mul r1, r0, r0 ldrsh r0, [r6, #0x32] cmp r0, #0 @@ -11340,117 +11340,117 @@ _02009250: mul r0, r1, r0 mov r0, r0, asr #0xb str r0, [r6, #0x18] -_0200926C: +_03801084: mov r0, #0 str r0, [r6, #0x14] -_02009274: +_0380108C: strb sb, [r8, #0x14] ldrb r0, [r8] mov r0, r0, lsl #0x1e movs r0, r0, lsr #0x1f - beq _020099B8 + beq _038017D0 str r4, [r8, #0x20] cmp r4, #0 ldreqb r0, [r8] orreq r0, r0, #0x10 streqb r0, [r8] - b _020099B8 -_020092A0: + b _038017D0 +_038010B8: and r0, r6, #0xf0 cmp r0, #0xc0 - bgt _020092D4 - bge _0200941C + bgt _038010EC + bge _03801234 cmp r0, #0x90 - bgt _020092C8 - bge _02009340 + bgt _038010E0 + bge _03801158 cmp r0, #0x80 - beq _020092F8 - b _020099B8 -_020092C8: + beq _03801110 + b _038017D0 +_038010E0: cmp r0, #0xb0 - beq _020096CC - b _020099B8 -_020092D4: + beq _038014E4 + b _038017D0 +_038010EC: cmp r0, #0xe0 - bgt _020092EC - bge _02009678 + bgt _03801104 + bge _03801490 cmp r0, #0xd0 - beq _0200941C - b _020099B8 -_020092EC: + beq _03801234 + b _038017D0 +_03801104: cmp r0, #0xf0 - beq _02009914 - b _020099B8 -_020092F8: + beq _0380172C + b _038017D0 +_03801110: cmp sb, #0 movne r2, r5 moveq r2, #2 mov r0, r8 mov r1, r7 - bl sub_020089D8 + bl sub_038007F0 cmp r4, #0 - beq _020099B8 + beq _038017D0 cmp r6, #0x80 - beq _0200932C + beq _03801144 cmp r6, #0x81 - beq _02009334 - b _020099B8 -_0200932C: + beq _0380114C + b _038017D0 +_03801144: str r0, [r8, #0x20] - b _020099B8 -_02009334: + b _038017D0 +_0380114C: cmp r0, #0x10000 strlth r0, [r8, #2] - b _020099B8 -_02009340: + b _038017D0 +_03801158: cmp r6, #0x93 - beq _0200935C + beq _03801174 cmp r6, #0x94 - beq _020093BC + beq _038011D4 cmp r6, #0x95 - beq _020093D8 - b _020099B8 -_0200935C: + beq _038011F0 + b _038017D0 +_03801174: mov r0, r8 - bl sub_02008478 + bl sub_03800290 mov r6, r0 mov r0, r8 - bl sub_020089A8 + bl sub_038007C0 cmp r4, #0 mov sb, r0 - beq _020099B8 + beq _038017D0 mov r1, r6 mov r0, r7 - bl sub_02008C64 + bl sub_03800A7C movs r4, r0 cmpne r4, r8 - beq _020099B8 + beq _038017D0 mov r1, r7 mov r2, fp - bl sub_02008BC8 + bl sub_038009E0 mov r0, r4 - bl sub_02008C30 + bl sub_03800A48 mov r0, r4 mov r2, sb ldr r1, [r8, #0x24] - bl sub_02008BB8 - b _020099B8 -_020093BC: + bl sub_038009D0 + b _038017D0 +_038011D4: mov r0, r8 - bl sub_020089A8 + bl sub_038007C0 cmp r4, #0 ldrne r1, [r8, #0x24] addne r0, r1, r0 strne r0, [r8, #0x28] - b _020099B8 -_020093D8: + b _038017D0 +_038011F0: mov r0, r8 - bl sub_020089A8 + bl sub_038007C0 cmp r4, #0 - beq _020099B8 + beq _038017D0 ldrb r1, [r8, #0x3b] cmp r1, #3 - bhs _020099B8 + bhs _038017D0 add r1, r8, r1, lsl #2 ldr r2, [r8, #0x28] str r2, [r1, #0x2c] @@ -11460,114 +11460,114 @@ _020093D8: ldr r1, [r8, #0x24] add r0, r1, r0 str r0, [r8, #0x28] - b _020099B8 -_0200941C: + b _038017D0 +_03801234: cmp sb, #0 movne r2, r5 moveq r2, #0 mov r0, r8 mov r1, r7 - bl sub_020089D8 + bl sub_038007F0 cmp r4, #0 strb r0, [sp, #0x14] - beq _020099B8 + beq _038017D0 sub r1, r6, #0xc0 cmp r1, #0x17 addls pc, pc, r1, lsl #2 - b _020099B8 -_02009450: ; jump table - b _02009648 ; case 0 - b _020094B0 ; case 1 - b _020094C8 ; case 2 - b _02009630 ; case 3 - b _0200963C ; case 4 - b _020094D4 ; case 5 - b _020094E0 ; case 6 - b _020094EC ; case 7 - b _020095AC ; case 8 - b _020095F4 ; case 9 - b _02009514 ; case 10 - b _02009520 ; case 11 - b _0200952C ; case 12 - b _02009538 ; case 13 - b _02009614 ; case 14 - b _02009508 ; case 15 - b _02009544 ; case 16 - b _02009550 ; case 17 - b _0200955C ; case 18 - b _02009568 ; case 19 - b _02009574 ; case 20 - b _020094BC ; case 21 - b _02009658 ; case 22 - b _020095E0 ; case 23 -_020094B0: + b _038017D0 +_03801268: ; jump table + b _03801460 ; case 0 + b _038012C8 ; case 1 + b _038012E0 ; case 2 + b _03801448 ; case 3 + b _03801454 ; case 4 + b _038012EC ; case 5 + b _038012F8 ; case 6 + b _03801304 ; case 7 + b _038013C4 ; case 8 + b _0380140C ; case 9 + b _0380132C ; case 10 + b _03801338 ; case 11 + b _03801344 ; case 12 + b _03801350 ; case 13 + b _0380142C ; case 14 + b _03801320 ; case 15 + b _0380135C ; case 16 + b _03801368 ; case 17 + b _03801374 ; case 18 + b _03801380 ; case 19 + b _0380138C ; case 20 + b _038012D4 ; case 21 + b _03801470 ; case 22 + b _038013F8 ; case 23 +_038012C8: and r0, r0, #0xff strb r0, [r8, #4] - b _020099B8 -_020094BC: + b _038017D0 +_038012D4: and r0, r0, #0xff strb r0, [r8, #5] - b _020099B8 -_020094C8: + b _038017D0 +_038012E0: and r0, r0, #0xff strb r0, [r7, #5] - b _020099B8 -_020094D4: + b _038017D0 +_038012EC: and r0, r0, #0xff strb r0, [r8, #7] - b _020099B8 -_020094E0: + b _038017D0 +_038012F8: and r0, r0, #0xff strb r0, [r8, #0x12] - b _020099B8 -_020094EC: + b _038017D0 +_03801304: and r0, r0, #0xff mov r0, r0, lsl #0x1f ldrb r1, [r8] bic r1, r1, #2 orr r0, r1, r0, lsr #30 strb r0, [r8] - b _020099B8 -_02009508: + b _038017D0 +_03801320: and r0, r0, #0xff strb r0, [r8, #0x15] - b _020099B8 -_02009514: + b _038017D0 +_0380132C: and r0, r0, #0xff strb r0, [r8, #0x1a] - b _020099B8 -_02009520: + b _038017D0 +_03801338: and r0, r0, #0xff strb r0, [r8, #0x19] - b _020099B8 -_0200952C: + b _038017D0 +_03801344: and r0, r0, #0xff strb r0, [r8, #0x18] - b _020099B8 -_02009538: + b _038017D0 +_03801350: and r0, r0, #0xff strb r0, [r8, #0x1b] - b _020099B8 -_02009544: + b _038017D0 +_0380135C: and r0, r0, #0xff strb r0, [r8, #0xe] - b _020099B8 -_02009550: + b _038017D0 +_03801368: and r0, r0, #0xff strb r0, [r8, #0xf] - b _020099B8 -_0200955C: + b _038017D0 +_03801374: and r0, r0, #0xff strb r0, [r8, #0x10] - b _020099B8 -_02009568: + b _038017D0 +_03801380: and r0, r0, #0xff strb r0, [r8, #0x11] - b _020099B8 -_02009574: + b _038017D0 +_0380138C: ldrb r1, [r8, #0x3b] cmp r1, #3 - bhs _020099B8 + bhs _038017D0 add r2, r8, r1, lsl #2 and r1, r0, #0xff ldr r0, [r8, #0x28] @@ -11578,8 +11578,8 @@ _02009574: ldrb r0, [r8, #0x3b] add r0, r0, #1 strb r0, [r8, #0x3b] - b _020099B8 -_020095AC: + b _038017D0 +_038013C4: and r0, r0, #0xff mov r1, r0, lsl #0x1f ldrb r2, [r8] @@ -11589,17 +11589,17 @@ _020095AC: strb r1, [r8] mov r1, r7 mov r2, fp - bl sub_02008BC8 + bl sub_038009E0 mov r0, r8 - bl sub_02008C30 - b _020099B8 -_020095E0: + bl sub_03800A48 + b _038017D0 +_038013F8: and r2, r0, #0xff mov r0, r8 mov r1, r7 - bl sub_02009AB0 - b _020099B8 -_020095F4: + bl sub_038018C8 + b _038017D0 +_0380140C: and r1, r0, #0xff ldrsb r0, [r8, #0x13] add r0, r1, r0 @@ -11607,126 +11607,126 @@ _020095F4: ldrb r0, [r8] orr r0, r0, #0x20 strb r0, [r8] - b _020099B8 -_02009614: + b _038017D0 +_0380142C: and r0, r0, #0xff mov r0, r0, lsl #0x1f ldrb r1, [r8] bic r1, r1, #0x20 orr r0, r1, r0, lsr #26 strb r0, [r8] - b _020099B8 -_02009630: + b _038017D0 +_03801448: ldrsb r0, [sp, #0x14] strb r0, [r8, #0x13] - b _020099B8 -_0200963C: + b _038017D0 +_03801454: ldrsb r0, [sp, #0x14] strb r0, [r8, #6] - b _020099B8 -_02009648: + b _038017D0 +_03801460: and r0, r0, #0xff sub r0, r0, #0x40 strb r0, [r8, #8] - b _020099B8 -_02009658: - ldr r1, _02009A24 ; =0x03807E50 + b _038017D0 +_03801470: + ldr r1, _0380183C ; =0x03807E50 ldr r1, [r1] cmp r1, #0 - beq _020099B8 + beq _038017D0 and r1, r0, #0xff mov r0, r7 - bl sub_02009A28 - b _020099B8 -_02009678: + bl sub_03801840 + b _038017D0 +_03801490: cmp sb, #0 movne r2, r5 moveq r2, #1 mov r0, r8 mov r1, r7 - bl sub_020089D8 + bl sub_038007F0 mov r0, r0, lsl #0x10 cmp r4, #0 mov r0, r0, asr #0x10 - beq _020099B8 + beq _038017D0 cmp r6, #0xe0 - beq _020096C4 + beq _038014DC cmp r6, #0xe1 - beq _020096BC + beq _038014D4 cmp r6, #0xe3 streqh r0, [r8, #0x16] - b _020099B8 -_020096BC: + b _038017D0 +_038014D4: strh r0, [r7, #0x18] - b _020099B8 -_020096C4: + b _038017D0 +_038014DC: strh r0, [r8, #0x1c] - b _020099B8 -_020096CC: + b _038017D0 +_038014E4: mov r0, r8 - bl sub_02008478 + bl sub_03800290 cmp sb, #0 movne r2, r5 mov sb, r0 moveq r2, #1 mov r0, r8 mov r1, r7 - bl sub_020089D8 + bl sub_038007F0 mov r0, r0, lsl #0x10 mov r1, sb mov sb, r0, asr #0x10 mov r0, r7 - bl sub_02009A28 + bl sub_03801840 cmp r4, #0 mov r4, r0 cmpne r4, #0 - beq _020099B8 + beq _038017D0 sub r0, r6, #0xb0 cmp r0, #0xd addls pc, pc, r0, lsl #2 - b _020099B8 -_02009724: ; jump table - b _0200975C ; case 0 - b _02009764 ; case 1 - b _02009774 ; case 2 - b _02009784 ; case 3 - b _02009794 ; case 4 - b _020097B0 ; case 5 - b _020097D4 ; case 6 - b _020099B8 ; case 7 - b _0200980C ; case 8 - b _02009838 ; case 9 - b _02009864 ; case 10 - b _02009890 ; case 11 - b _020098BC ; case 12 - b _020098E8 ; case 13 -_0200975C: + b _038017D0 +_0380153C: ; jump table + b _03801574 ; case 0 + b _0380157C ; case 1 + b _0380158C ; case 2 + b _0380159C ; case 3 + b _038015AC ; case 4 + b _038015C8 ; case 5 + b _038015EC ; case 6 + b _038017D0 ; case 7 + b _03801624 ; case 8 + b _03801650 ; case 9 + b _0380167C ; case 10 + b _038016A8 ; case 11 + b _038016D4 ; case 12 + b _03801700 ; case 13 +_03801574: strh sb, [r4] - b _020099B8 -_02009764: + b _038017D0 +_0380157C: ldrsh r0, [r4] add r0, r0, sb strh r0, [r4] - b _020099B8 -_02009774: + b _038017D0 +_0380158C: ldrsh r0, [r4] sub r0, r0, sb strh r0, [r4] - b _020099B8 -_02009784: + b _038017D0 +_0380159C: ldrsh r0, [r4] mul r1, r0, sb strh r1, [r4] - b _020099B8 -_02009794: + b _038017D0 +_038015AC: cmp sb, #0 - beq _020099B8 + beq _038017D0 mov r1, sb ldrsh r0, [r4] - bl sub_0200EDB0 + bl sub_03806BC8 strh r0, [r4] - b _020099B8 -_020097B0: + b _038017D0 +_038015C8: cmp sb, #0 ldrgesh r0, [r4] movge r0, r0, lsl sb @@ -11735,23 +11735,23 @@ _020097B0: rsblt r0, sb, #0 movlt r0, r1, asr r0 strlth r0, [r4] - b _020099B8 -_020097D4: + b _038017D0 +_038015EC: cmp sb, #0 rsblt r0, sb, #0 movlt r0, r0, lsl #0x10 mov r6, #0 movlt sb, r0, asr #0x10 movlt r6, #1 - bl sub_020070AC + bl sub_037FEEC4 add r1, sb, #1 mul r1, r0, r1 mov r0, r1, asr #0x10 cmp r6, #0 rsbne r0, r0, #0 strh r0, [r4] - b _020099B8 -_0200980C: + b _038017D0 +_03801624: ldrsh r0, [r4] ldrb r1, [r8] cmp r0, sb @@ -11762,8 +11762,8 @@ _0200980C: bic r1, r1, #0x40 orr r0, r1, r0, lsr #25 strb r0, [r8] - b _020099B8 -_02009838: + b _038017D0 +_03801650: ldrsh r0, [r4] ldrb r1, [r8] cmp r0, sb @@ -11774,8 +11774,8 @@ _02009838: bic r1, r1, #0x40 orr r0, r1, r0, lsr #25 strb r0, [r8] - b _020099B8 -_02009864: + b _038017D0 +_0380167C: ldrsh r0, [r4] ldrb r1, [r8] cmp r0, sb @@ -11786,8 +11786,8 @@ _02009864: bic r1, r1, #0x40 orr r0, r1, r0, lsr #25 strb r0, [r8] - b _020099B8 -_02009890: + b _038017D0 +_038016A8: ldrsh r0, [r4] ldrb r1, [r8] cmp r0, sb @@ -11798,8 +11798,8 @@ _02009890: bic r1, r1, #0x40 orr r0, r1, r0, lsr #25 strb r0, [r8] - b _020099B8 -_020098BC: + b _038017D0 +_038016D4: ldrsh r0, [r4] ldrb r1, [r8] cmp r0, sb @@ -11810,8 +11810,8 @@ _020098BC: bic r1, r1, #0x40 orr r0, r1, r0, lsr #25 strb r0, [r8] - b _020099B8 -_020098E8: + b _038017D0 +_03801700: ldrsh r0, [r4] ldrb r1, [r8] cmp r0, sb @@ -11822,76 +11822,76 @@ _020098E8: bic r1, r1, #0x40 orr r0, r1, r0, lsr #25 strb r0, [r8] - b _020099B8 -_02009914: + b _038017D0 +_0380172C: cmp r4, #0 - beq _020099B8 + beq _038017D0 sub r0, r6, #0xfc cmp r0, #3 addls pc, pc, r0, lsl #2 - b _020099B8 -_0200992C: ; jump table - b _02009964 ; case 0 - b _0200993C ; case 1 - b _020099B8 ; case 2 - b _020099B0 ; case 3 -_0200993C: + b _038017D0 +_03801744: ; jump table + b _0380177C ; case 0 + b _03801754 ; case 1 + b _038017D0 ; case 2 + b _038017C8 ; case 3 +_03801754: ldrb r0, [r8, #0x3b] cmp r0, #0 - beq _020099B8 + beq _038017D0 sub r0, r0, #1 strb r0, [r8, #0x3b] and r0, r0, #0xff add r0, r8, r0, lsl #2 ldr r0, [r0, #0x2c] str r0, [r8, #0x28] - b _020099B8 -_02009964: + b _038017D0 +_0380177C: ldrb r0, [r8, #0x3b] cmp r0, #0 - beq _020099B8 + beq _038017D0 add r1, r8, r0 ldrb r0, [r1, #0x37] cmp r0, #0 - beq _02009998 + beq _038017B0 sub r0, r0, #1 ands r0, r0, #0xff ldreqb r0, [r8, #0x3b] subeq r0, r0, #1 streqb r0, [r8, #0x3b] - beq _020099B8 -_02009998: + beq _038017D0 +_038017B0: strb r0, [r1, #0x37] ldrb r0, [r8, #0x3b] add r0, r8, r0, lsl #2 ldr r0, [r0, #0x28] str r0, [r8, #0x28] - b _020099B8 -_020099B0: + b _038017D0 +_038017C8: mvn r0, #0 - b _020099D8 -_020099B8: + b _038017F0 +_038017D0: ldr r0, [r8, #0x20] cmp r0, #0 - bne _020099D4 + bne _038017EC ldrb r0, [r8] mov r0, r0, lsl #0x1b movs r0, r0, lsr #0x1f - beq _02008FB0 -_020099D4: + beq _03800DC8 +_038017EC: mov r0, #0 -_020099D8: +_038017F0: cmp r0, #0 moveq r0, #1 streq r0, [sp, #0x10] - beq _020099F4 + beq _0380180C mov r0, r7 mov r1, sl - bl sub_02008C90 -_020099F4: + bl sub_03800AA8 +_0380180C: add sl, sl, #1 cmp sl, #0x10 - blt _02008EF4 + blt _03800D0C ldr r0, [sp, #0x10] cmp r0, #0 moveq r0, #1 @@ -11900,14 +11900,14 @@ _020099F4: ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_02009A1C: .word 0x0000FFFF -_02009A20: .word 0x03800B38 -_02009A24: .word 0x03807E50 - arm_func_end sub_02008ED8 +_03801834: .word 0x0000FFFF +_03801838: .word 0x03800B38 +_0380183C: .word 0x03807E50 + arm_func_end sub_03800CF0 - arm_func_start sub_02009A28 -sub_02009A28: ; 0x02009A28 - ldr r2, _02009A68 ; =0x03807E6C + arm_func_start sub_03801840 +sub_03801840: ; 0x03801840 + ldr r2, _03801880 ; =0x03807E6C ldr r3, [r2] cmp r3, #0 moveq r0, #0 @@ -11924,15 +11924,15 @@ sub_02009A28: ; 0x02009A28 add r0, r0, r1, lsl #1 bx lr .align 2, 0 -_02009A68: .word 0x03807E6C - arm_func_end sub_02009A28 +_03801880: .word 0x03807E6C + arm_func_end sub_03801840 - arm_func_start sub_02009A6C -sub_02009A6C: ; 0x02009A6C - ldr ip, _02009AAC ; =0x038085F0 + arm_func_start sub_03801884 +sub_03801884: ; 0x03801884 + ldr ip, _038018C4 ; =0x038085F0 mov r0, #0 - b _02009A9C -_02009A78: + b _038018B4 +_03801890: ldrb r1, [ip, r0, lsl #6] mov r3, r0, lsl #6 mov r2, r1, lsl #0x1f @@ -11942,74 +11942,74 @@ _02009A78: streqb r1, [ip, r3] bxeq lr add r0, r0, #1 -_02009A9C: +_038018B4: cmp r0, #0x20 - blt _02009A78 + blt _03801890 mvn r0, #0 bx lr .align 2, 0 -_02009AAC: .word 0x038085F0 - arm_func_end sub_02009A6C +_038018C4: .word 0x038085F0 + arm_func_end sub_03801884 - arm_func_start sub_02009AB0 -sub_02009AB0: ; 0x02009AB0 + arm_func_start sub_038018C8 +sub_038018C8: ; 0x038018C8 stmdb sp!, {r4, lr} mov r4, r0 cmp r2, #3 addls pc, pc, r2, lsl #2 - b _02009B28 -_02009AC4: ; jump table - b _02009AD4 ; case 0 - b _02009AE4 ; case 1 - b _02009AF4 ; case 2 - b _02009B0C ; case 3 -_02009AD4: + b _03801940 +_038018DC: ; jump table + b _038018EC ; case 0 + b _038018FC ; case 1 + b _0380190C ; case 2 + b _03801924 ; case 3 +_038018EC: ldrb r0, [r4] bic r0, r0, #4 strb r0, [r4] - b _02009B28 -_02009AE4: + b _03801940 +_038018FC: ldrb r0, [r4] orr r0, r0, #4 strb r0, [r4] - b _02009B28 -_02009AF4: + b _03801940 +_0380190C: ldrb r3, [r4] mvn r2, #0 orr r3, r3, #4 strb r3, [r4] - bl sub_02008BC8 - b _02009B28 -_02009B0C: + bl sub_038009E0 + b _03801940 +_03801924: ldrb r3, [r4] mov r2, #0x7f orr r3, r3, #4 strb r3, [r4] - bl sub_02008BC8 + bl sub_038009E0 mov r0, r4 - bl sub_02008C30 -_02009B28: + bl sub_03800A48 +_03801940: ldmia sp!, {r4, lr} bx lr - arm_func_end sub_02009AB0 + arm_func_end sub_038018C8 - arm_func_start sub_02009B30 -sub_02009B30: ; 0x02009B30 + arm_func_start sub_03801948 +sub_03801948: ; 0x03801948 stmdb sp!, {r3, r4, r5, r6, r7, lr} movs r7, r1 mov r6, r0 mov r5, r2 mov r4, r3 movmi r0, #0 - bmi _02009CA8 - bl sub_020071CC + bmi _03801AC0 + bl sub_037FEFE4 ldr r0, [r6, #0x38] cmp r7, r0 - blo _02009B68 - bl sub_020071D0 + blo _03801980 + bl sub_037FEFE8 mov r0, #0 - b _02009CA8 -_02009B68: + b _03801AC0 +_03801980: add r0, r6, r7, lsl #2 ldr r1, [r0, #0x3c] and r0, r1, #0xff @@ -12017,121 +12017,121 @@ _02009B68: cmp r0, #0x11 mov r1, r1, lsr #8 addls pc, pc, r0, lsl #2 - b _02009C94 -_02009B88: ; jump table - b _02009C94 ; case 0 - b _02009BD0 ; case 1 - b _02009BD0 ; case 2 - b _02009BD0 ; case 3 - b _02009BD0 ; case 4 - b _02009BD0 ; case 5 - b _02009C94 ; case 6 - b _02009C94 ; case 7 - b _02009C94 ; case 8 - b _02009C94 ; case 9 - b _02009C94 ; case 10 - b _02009C94 ; case 11 - b _02009C94 ; case 12 - b _02009C94 ; case 13 - b _02009C94 ; case 14 - b _02009C94 ; case 15 - b _02009BF0 ; case 16 - b _02009C40 ; case 17 -_02009BD0: + b _03801AAC +_038019A0: ; jump table + b _03801AAC ; case 0 + b _038019E8 ; case 1 + b _038019E8 ; case 2 + b _038019E8 ; case 3 + b _038019E8 ; case 4 + b _038019E8 ; case 5 + b _03801AAC ; case 6 + b _03801AAC ; case 7 + b _03801AAC ; case 8 + b _03801AAC ; case 9 + b _03801AAC ; case 10 + b _03801AAC ; case 11 + b _03801AAC ; case 12 + b _03801AAC ; case 13 + b _03801AAC ; case 14 + b _03801AAC ; case 15 + b _03801A08 ; case 16 + b _03801A58 ; case 17 +_038019E8: add r3, r6, r1 add r2, r4, #2 mov r1, #5 -_02009BDC: +_038019F4: ldrh r0, [r3], #2 subs r1, r1, #1 strh r0, [r2], #2 - bne _02009BDC - b _02009CA0 -_02009BF0: + bne _038019F4 + b _03801AB8 +_03801A08: ldrb r0, [r6, r1] add r2, r6, r1 ldrb r1, [r2, #1] cmp r5, r0 - blt _02009C0C + blt _03801A24 cmp r5, r1 - ble _02009C18 -_02009C0C: - bl sub_020071D0 + ble _03801A30 +_03801A24: + bl sub_037FEFE8 mov r0, #0 - b _02009CA8 -_02009C18: + b _03801AC0 +_03801A30: sub r1, r5, r0 mov r0, #0xc mla r0, r1, r0, r2 add r2, r0, #2 mov r1, #6 -_02009C2C: +_03801A44: ldrh r0, [r2], #2 subs r1, r1, #1 strh r0, [r4], #2 - bne _02009C2C - b _02009CA0 -_02009C40: + bne _03801A44 + b _03801AB8 +_03801A58: add r2, r6, r1 mov r1, #0 - b _02009C64 -_02009C4C: + b _03801A7C +_03801A64: add r1, r1, #1 cmp r1, #8 - blt _02009C64 - bl sub_020071D0 + blt _03801A7C + bl sub_037FEFE8 mov r0, #0 - b _02009CA8 -_02009C64: + b _03801AC0 +_03801A7C: ldrb r0, [r2, r1] cmp r5, r0 - bgt _02009C4C + bgt _03801A64 mov r0, #0xc mla r0, r1, r0, r2 add r2, r0, #8 mov r1, #6 -_02009C80: +_03801A98: ldrh r0, [r2], #2 subs r1, r1, #1 strh r0, [r4], #2 - bne _02009C80 - b _02009CA0 -_02009C94: - bl sub_020071D0 + bne _03801A98 + b _03801AB8 +_03801AAC: + bl sub_037FEFE8 mov r0, #0 - b _02009CA8 -_02009CA0: - bl sub_020071D0 + b _03801AC0 +_03801AB8: + bl sub_037FEFE8 mov r0, #1 -_02009CA8: +_03801AC0: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr - arm_func_end sub_02009B30 + arm_func_end sub_03801948 - arm_func_start sub_02009CB0 -sub_02009CB0: ; 0x02009CB0 + arm_func_start sub_03801AC8 +sub_03801AC8: ; 0x03801AC8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 - bl sub_020071CC + bl sub_037FEFE4 add r0, r5, r4, lsl #2 ldr r4, [r0, #0x3c] cmp r4, #0 - beq _02009CDC + beq _03801AF4 cmp r4, #0x2000000 addlo r4, r5, r4 - b _02009CE0 -_02009CDC: + b _03801AF8 +_03801AF4: mov r4, #0 -_02009CE0: - bl sub_020071D0 +_03801AF8: + bl sub_037FEFE8 mov r0, r4 ldmia sp!, {r3, r4, r5, lr} bx lr - arm_func_end sub_02009CB0 + arm_func_end sub_03801AC8 - arm_func_start sub_02009CF0 -sub_02009CF0: ; 0x02009CF0 + arm_func_start sub_03801B08 +sub_03801B08: ; 0x03801B08 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r5, [sp, #0x24] mov sb, r0 @@ -12145,16 +12145,16 @@ sub_02009CF0: ; 0x02009CF0 moveq r4, #0 cmp r0, #4 addls pc, pc, r0, lsl #2 - b _02009DD0 -_02009D28: ; jump table - b _02009DD0 ; case 0 - b _02009D3C ; case 1 - b _02009DAC ; case 2 - b _02009DC0 ; case 3 - b _02009D3C ; case 4 -_02009D3C: + b _03801BE8 +_03801B40: ; jump table + b _03801BE8 ; case 0 + b _03801B54 ; case 1 + b _03801BC4 ; case 2 + b _03801BD8 ; case 3 + b _03801B54 ; case 4 +_03801B54: cmp r0, #1 - bne _02009D80 + bne _03801B98 ldr r2, [sp, #0x20] ldrh r0, [r5, #4] ldrh r1, [r5, #2] @@ -12162,72 +12162,72 @@ _02009D3C: ldr r0, [r0, #0x18] cmp r0, #0 moveq r1, #0 - beq _02009D8C + beq _03801BA4 ldr r2, [r0, #0x38] cmp r1, r2 movhs r1, #0 - bhs _02009D8C - bl sub_02009CB0 + bhs _03801BA4 + bl sub_03801AC8 mov r1, r0 - b _02009D8C -_02009D80: + b _03801BA4 +_03801B98: ldrh r1, [r5, #4] ldrh r0, [r5, #2] orr r1, r0, r1, lsl #16 -_02009D8C: +_03801BA4: cmp r1, #0 moveq r0, #0 - beq _02009DD4 + beq _03801BEC mov r0, sb mov r3, r6 add r2, r1, #0xc - bl sub_02007948 - b _02009DD4 -_02009DAC: + bl sub_037FF760 + b _03801BEC +_03801BC4: ldrh r1, [r5, #2] mov r0, sb mov r2, r6 - bl sub_02007984 - b _02009DD4 -_02009DC0: + bl sub_037FF79C + b _03801BEC +_03801BD8: mov r0, sb mov r1, r6 - bl sub_020079D0 - b _02009DD4 -_02009DD0: + bl sub_037FF7E8 + b _03801BEC +_03801BE8: mov r0, #0 -_02009DD4: +_03801BEC: cmp r0, #0 moveq r0, #0 - beq _02009E30 + beq _03801C48 strb r8, [sb, #8] ldrb r1, [r5, #6] mov r0, sb strb r1, [sb, #5] strb r7, [sb, #9] ldrb r1, [r5, #7] - bl sub_02007ABC + bl sub_037FF8D4 ldrb r1, [r5, #8] mov r0, sb - bl sub_02007ADC + bl sub_037FF8F4 ldrb r1, [r5, #9] mov r0, sb - bl sub_02007AF8 + bl sub_037FF910 mov r0, sb mov r1, r4 - bl sub_02007B00 + bl sub_037FF918 ldrb r1, [r5, #0xb] mov r0, #1 sub r1, r1, #0x40 strb r1, [sb, #0xa] -_02009E30: +_03801C48: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, lr} bx lr - arm_func_end sub_02009CF0 + arm_func_end sub_03801B08 - arm_func_start sub_02009E38 -sub_02009E38: ; 0x02009E38 - ldr ip, _02009E54 ; =0x03807E6C + arm_func_start sub_03801C50 +sub_03801C50: ; 0x03801C50 + ldr ip, _03801C6C ; =0x03807E6C mov r3, #0x24 ldr ip, [ip] mla r3, r0, r3, ip @@ -12235,87 +12235,87 @@ sub_02009E38: ; 0x02009E38 strh r2, [r0, #0x20] bx lr .align 2, 0 -_02009E54: .word 0x03807E6C - arm_func_end sub_02009E38 +_03801C6C: .word 0x03807E6C + arm_func_end sub_03801C50 - arm_func_start sub_02009E58 -sub_02009E58: ; 0x02009E58 - ldr r2, _02009E70 ; =0x03807E6C + arm_func_start sub_03801C70 +sub_03801C70: ; 0x03801C70 + ldr r2, _03801C88 ; =0x03807E6C ldr r2, [r2] add r0, r2, r0, lsl #1 add r0, r0, #0x200 strh r1, [r0, #0x60] bx lr .align 2, 0 -_02009E70: .word 0x03807E6C - arm_func_end sub_02009E58 +_03801C88: .word 0x03807E6C + arm_func_end sub_03801C70 - arm_func_start sub_02009E74 -sub_02009E74: ; 0x02009E74 + arm_func_start sub_03801C8C +sub_03801C8C: ; 0x03801C8C stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r0, _02009F08 ; =0x03807E6C + ldr r0, _03801D20 ; =0x03807E6C mov r4, #0 ldr r0, [r0] mov r5, r4 cmp r0, #0 - beq _02009F00 + beq _03801D18 mov r7, r4 mov r6, #1 -_02009E98: +_03801CB0: mov r0, r7 - bl sub_02006D38 + bl sub_037FEB50 cmp r0, #0 orrne r0, r4, r6, lsl r7 movne r0, r0, lsl #0x10 add r7, r7, #1 movne r4, r0, lsr #0x10 cmp r7, #0x10 - blt _02009E98 + blt _03801CB0 mov r0, #0 - bl sub_02007334 + bl sub_037FF14C cmp r0, #0 orrne r0, r5, #1 movne r0, r0, lsl #0x10 movne r5, r0, lsr #0x10 mov r0, #1 - bl sub_02007334 + bl sub_037FF14C cmp r0, #0 orrne r0, r5, #2 movne r0, r0, lsl #0x10 movne r5, r0, lsr #0x10 - ldr r0, _02009F08 ; =0x03807E6C + ldr r0, _03801D20 ; =0x03807E6C ldr r1, [r0] strh r4, [r1, #8] ldr r0, [r0] strh r5, [r0, #0xa] -_02009F00: +_03801D18: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_02009F08: .word 0x03807E6C - arm_func_end sub_02009E74 +_03801D20: .word 0x03807E6C + arm_func_end sub_03801C8C - arm_func_start sub_02009F0C -sub_02009F0C: ; 0x02009F0C - ldr r1, _02009F34 ; =0x03807E70 + arm_func_start sub_03801D24 +sub_03801D24: ; 0x03801D24 + ldr r1, _03801D4C ; =0x03807E70 mov r3, #0 mov r2, r3 -_02009F18: +_03801D30: add r0, r1, r3, lsl #6 strb r2, [r0, #0xf80] add r3, r3, #1 strb r2, [r0, #0xf81] cmp r3, #8 - blt _02009F18 + blt _03801D30 bx lr .align 2, 0 -_02009F34: .word 0x03807E70 - arm_func_end sub_02009F0C +_03801D4C: .word 0x03807E70 + arm_func_end sub_03801D24 - arm_func_start sub_02009F38 -sub_02009F38: ; 0x02009F38 + arm_func_start sub_03801D50 +sub_03801D50: ; 0x03801D50 stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr lr, _02009F90 ; =sub_03808DF0 + ldr lr, _03801DA8 ; =0x03808DF0 ldr r4, [sp, #0x18] ldrb ip, [lr, r0, lsl #6] mov r7, r1 @@ -12323,12 +12323,12 @@ sub_02009F38: ; 0x02009F38 mov r5, r3 cmp ip, #0 add r8, lr, r0, lsl #6 - beq _02009F70 + beq _03801D88 add r0, r8, #0x14 - bl sub_020057A8 + bl sub_037FD5C0 mov r0, #0 strb r0, [r8] -_02009F70: +_03801D88: str r7, [r8, #4] str r6, [r8, #8] str r5, [r8, #0xc] @@ -12338,24 +12338,24 @@ _02009F70: ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_02009F90: .word sub_03808DF0 - arm_func_end sub_02009F38 +_03801DA8: .word 0x03808DF0 + arm_func_end sub_03801D50 - arm_func_start sub_02009F94 -sub_02009F94: ; 0x02009F94 + arm_func_start sub_03801DAC +sub_03801DAC: ; 0x03801DAC stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0xc - ldr r1, _0200A048 ; =sub_03808DF0 + ldr r1, _03801E60 ; =0x03808DF0 mov sb, r0 ldrb r0, [r1, sb, lsl #6] add r8, r1, sb, lsl #6 cmp r0, #0 - beq _02009FC4 + beq _03801DDC add r0, r8, #0x14 - bl sub_020057A8 + bl sub_037FD5C0 mov r0, #0 strb r0, [r8] -_02009FC4: +_03801DDC: ldrb r1, [r8, #1] ldr r7, [r8, #0xc] ldr r6, [r8, #0x10] @@ -12363,20 +12363,20 @@ _02009FC4: ldr r5, [r8, #4] ldr r4, [r8, #8] orr sb, sb, r1, lsl #8 - bl sub_02005588 + bl sub_037FD3A0 cmp r6, #0 cmpeq r7, #0 - bne _0200A00C - ldr r3, _0200A04C ; =0x03801EA8 + bne _03801E24 + ldr r3, _03801E64 ; =0x03801EA8 mov r1, r5 mov r2, r4 add r0, r8, #0x14 str sb, [sp] - bl sub_020056C4 - b _0200A034 -_0200A00C: - bl sub_02005404 - ldr r2, _0200A04C ; =0x03801EA8 + bl sub_037FD4DC + b _03801E4C +_03801E24: + bl sub_037FD21C + ldr r2, _03801E64 ; =0x03801EA8 adds r0, r5, r0 stmib sp, {r2, sb} adc r2, r4, r1 @@ -12384,90 +12384,90 @@ _0200A00C: mov r3, r7 add r0, r8, #0x14 str r6, [sp] - bl sub_02005734 -_0200A034: + bl sub_037FD54C +_03801E4C: mov r0, #1 strb r0, [r8] add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, lr} bx lr .align 2, 0 -_0200A048: .word sub_03808DF0 -_0200A04C: .word 0x03801EA8 - arm_func_end sub_02009F94 +_03801E60: .word 0x03808DF0 +_03801E64: .word 0x03801EA8 + arm_func_end sub_03801DAC - arm_func_start sub_0200A050 -sub_0200A050: ; 0x0200A050 + arm_func_start sub_03801E68 +sub_03801E68: ; 0x03801E68 stmdb sp!, {r4, lr} - ldr r2, _0200A08C ; =sub_03808DF0 + ldr r2, _03801EA4 ; =0x03808DF0 ldrb r1, [r2, r0, lsl #6] add r4, r2, r0, lsl #6 cmp r1, #0 - beq _0200A084 + beq _03801E9C add r0, r4, #0x14 - bl sub_020057A8 + bl sub_037FD5C0 ldrb r1, [r4, #1] mov r0, #0 add r1, r1, #1 strb r1, [r4, #1] strb r0, [r4] -_0200A084: +_03801E9C: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200A08C: .word sub_03808DF0 - arm_func_end sub_0200A050 +_03801EA4: .word 0x03808DF0 + arm_func_end sub_03801E68 - arm_func_start sub_0200A090 -sub_0200A090: ; 0x0200A090 + arm_func_start sub_03801EA8 +sub_03801EA8: ; 0x03801EA8 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, #7 mov r4, #0 -_0200A0A0: +_03801EB8: mov r0, r5 mov r1, r6 mov r2, r4 - bl sub_020065F8 + bl sub_037FE410 cmp r0, #0 - blt _0200A0A0 + blt _03801EB8 ldmia sp!, {r4, r5, r6, lr} bx lr - arm_func_end sub_0200A090 + arm_func_end sub_03801EA8 - arm_func_start sub_0200A0C0 -sub_0200A0C0: ; 0x0200A0C0 + arm_func_start sub_03801ED8 +sub_03801ED8: ; 0x03801ED8 stmdb sp!, {r3, lr} - ldr r0, _0200A0F4 ; =0x03808FF0 - ldr r1, _0200A0F8 ; =0x03809010 + ldr r0, _03801F0C ; =0x03808FF0 + ldr r1, _03801F10 ; =0x03809010 mov r2, #8 - bl sub_02004894 - ldr r1, _0200A0FC ; =0x038025CC + bl sub_037FC6AC + ldr r1, _03801F14 ; =0x038025CC mov r0, #7 - bl sub_02006584 - ldr r0, _0200A100 ; =0x03807E6C + bl sub_037FE39C + ldr r0, _03801F18 ; =0x03807E6C mov r1, #0 str r1, [r0] ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200A0F4: .word 0x03808FF0 -_0200A0F8: .word 0x03809010 -_0200A0FC: .word 0x038025CC -_0200A100: .word 0x03807E6C - arm_func_end sub_0200A0C0 +_03801F0C: .word 0x03808FF0 +_03801F10: .word 0x03809010 +_03801F14: .word 0x038025CC +_03801F18: .word 0x03807E6C + arm_func_end sub_03801ED8 - arm_func_start sub_0200A104 -sub_0200A104: ; 0x0200A104 + arm_func_start sub_03801F1C +sub_03801F1C: ; 0x03801F1C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x34 - b _0200A77C -_0200A110: - ldr sl, _0200A7A0 ; =0x04000509 + b _03802594 +_03801F28: + ldr sl, _038025B8 ; =0x04000509 ldr r6, [sp, #0x18] sub r4, sl, #1 - b _0200A760 -_0200A120: + b _03802578 +_03801F38: add r5, sp, #0x1c ldmia r6!, {r0, r1, r2, r3} stmia r5!, {r0, r1, r2, r3} @@ -12476,82 +12476,82 @@ _0200A120: ldr r0, [sp, #0x20] cmp r0, #0x21 addls pc, pc, r0, lsl #2 - b _0200A75C -_0200A144: ; jump table - b _0200A1CC ; case 0 - b _0200A1E4 ; case 1 - b _0200A1F0 ; case 2 - b _0200A208 ; case 3 - b _0200A214 ; case 4 - b _0200A224 ; case 5 - b _0200A234 ; case 6 - b _0200A24C ; case 7 - b _0200A274 ; case 8 - b _0200A288 ; case 9 - b _0200A29C ; case 10 - b _0200A2B8 ; case 11 - b _0200A2D0 ; case 12 - b _0200A398 ; case 13 - b _0200A574 ; case 14 - b _0200A5F4 ; case 15 - b _0200A62C ; case 16 - b _0200A43C ; case 17 - b _0200A484 ; case 18 - b _0200A4AC ; case 19 - b _0200A4EC ; case 20 - b _0200A534 ; case 21 - b _0200A65C ; case 22 - b _0200A668 ; case 23 - b _0200A674 ; case 24 - b _0200A680 ; case 25 - b _0200A698 ; case 26 - b _0200A6A8 ; case 27 - b _0200A6B8 ; case 28 - b _0200A6F8 ; case 29 - b _0200A6C8 ; case 30 - b _0200A6D8 ; case 31 - b _0200A6E8 ; case 32 - b _0200A708 ; case 33 -_0200A1CC: + b _03802574 +_03801F5C: ; jump table + b _03801FE4 ; case 0 + b _03801FFC ; case 1 + b _03802008 ; case 2 + b _03802020 ; case 3 + b _0380202C ; case 4 + b _0380203C ; case 5 + b _0380204C ; case 6 + b _03802064 ; case 7 + b _0380208C ; case 8 + b _038020A0 ; case 9 + b _038020B4 ; case 10 + b _038020D0 ; case 11 + b _038020E8 ; case 12 + b _038021B0 ; case 13 + b _0380238C ; case 14 + b _0380240C ; case 15 + b _03802444 ; case 16 + b _03802254 ; case 17 + b _0380229C ; case 18 + b _038022C4 ; case 19 + b _03802304 ; case 20 + b _0380234C ; case 21 + b _03802474 ; case 22 + b _03802480 ; case 23 + b _0380248C ; case 24 + b _03802498 ; case 25 + b _038024B0 ; case 26 + b _038024C0 ; case 27 + b _038024D0 ; case 28 + b _03802510 ; case 29 + b _038024E0 ; case 30 + b _038024F0 ; case 31 + b _03802500 ; case 32 + b _03802520 ; case 33 +_03801FE4: ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] ldr r2, [sp, #0x2c] ldr r3, [sp, #0x30] - bl sub_020084F8 - b _0200A75C -_0200A1E4: + bl sub_03800310 + b _03802574 +_03801FFC: ldr r0, [sp, #0x24] - bl sub_02008528 - b _0200A75C -_0200A1F0: + bl sub_03800340 + b _03802574 +_03802008: ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] ldr r2, [sp, #0x2c] ldr r3, [sp, #0x30] - bl sub_0200829C - b _0200A75C -_0200A208: + bl sub_038000B4 + b _03802574 +_03802020: ldr r0, [sp, #0x24] - bl sub_020084D8 - b _0200A75C -_0200A214: + bl sub_038002F0 + b _03802574 +_0380202C: ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] - bl sub_02008584 - b _0200A75C -_0200A224: + bl sub_0380039C + b _03802574 +_0380203C: ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] - bl sub_020085FC - b _0200A75C -_0200A234: + bl sub_03800414 + b _03802574 +_0380204C: ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] ldr r2, [sp, #0x2c] ldr r3, [sp, #0x30] - bl sub_0200888C - b _0200A75C -_0200A24C: + bl sub_038006A4 + b _03802574 +_03802064: ldr r1, [sp, #0x24] mov r0, r1, lsr #0x18 and r0, r0, #0xff @@ -12560,44 +12560,44 @@ _0200A24C: ldr r1, [sp, #0x28] ldr r2, [sp, #0x2c] ldr r3, [sp, #0x30] - bl sub_020088D0 - b _0200A75C -_0200A274: + bl sub_038006E8 + b _03802574 +_0380208C: ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] ldr r2, [sp, #0x2c] - bl sub_020086C8 - b _0200A75C -_0200A288: + bl sub_038004E0 + b _03802574 +_038020A0: ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] ldr r2, [sp, #0x2c] - bl sub_02008734 - b _0200A75C -_0200A29C: + bl sub_0380054C + b _03802574 +_038020B4: ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] ldr r2, [sp, #0x2c] mov r2, r2, lsl #0x10 mov r2, r2, asr #0x10 - bl sub_02009E38 - b _0200A75C -_0200A2B8: + bl sub_03801C50 + b _03802574 +_038020D0: ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 - bl sub_02009E58 - b _0200A75C -_0200A2D0: + bl sub_03801C70 + b _03802574 +_038020E8: ldr r7, [sp, #0x2c] ldr r6, [sp, #0x28] ldr r5, [sp, #0x24] - bl sub_02005EE8 + bl sub_037FDD00 mov r8, r0 mov r2, #0 - b _0200A30C -_0200A2EC: + b _03802124 +_03802104: tst r5, #1 movne r0, r2, lsl #4 addne r0, r0, #0x4000000 @@ -12606,14 +12606,14 @@ _0200A2EC: orrne r1, r1, #0x80 strneb r1, [r0, #0x403] mov r5, r5, lsr #1 -_0200A30C: +_03802124: cmp r2, #0x10 - bge _0200A31C + bge _03802134 cmp r5, #0 - bne _0200A2EC -_0200A31C: + bne _03802104 +_03802134: tst r6, #1 - beq _0200A348 + beq _03802160 tst r6, #2 ldrneh r1, [r4] orrne r0, r1, #0x80 @@ -12622,73 +12622,73 @@ _0200A31C: ldreqb r0, [r4] orreq r0, r0, #0x80 streqb r0, [r4] - b _0200A358 -_0200A348: + b _03802170 +_03802160: tst r6, #2 ldrneb r0, [sl] orrne r0, r0, #0x80 strneb r0, [sl] -_0200A358: +_03802170: mov r5, #0 - b _0200A378 -_0200A360: + b _03802190 +_03802178: tst r7, #1 - beq _0200A370 + beq _03802188 mov r0, r5 - bl sub_02009F94 -_0200A370: + bl sub_03801DAC +_03802188: add r5, r5, #1 mov r7, r7, lsr #1 -_0200A378: +_03802190: cmp r5, #8 - bge _0200A388 + bge _038021A0 cmp r7, #0 - bne _0200A360 -_0200A388: + bne _03802178 +_038021A0: mov r0, r8 - bl sub_02005EFC - bl sub_02009E74 - b _0200A75C -_0200A398: + bl sub_037FDD14 + bl sub_03801C8C + b _03802574 +_038021B0: ldr sb, [sp, #0x30] ldr r7, [sp, #0x2c] ldr r6, [sp, #0x28] ldr r5, [sp, #0x24] - bl sub_02005EE8 + bl sub_037FDD00 mov fp, r0 mov r8, #0 - b _0200A3D0 -_0200A3B8: + b _038021E8 +_038021D0: tst r7, #1 - beq _0200A3C8 + beq _038021E0 mov r0, r8 - bl sub_0200A050 -_0200A3C8: + bl sub_03801E68 +_038021E0: add r8, r8, #1 mov r7, r7, lsr #1 -_0200A3D0: +_038021E8: cmp r8, #8 - bge _0200A3E0 + bge _038021F8 cmp r7, #0 - bne _0200A3B8 -_0200A3E0: + bne _038021D0 +_038021F8: mov r7, #0 - b _0200A404 -_0200A3E8: + b _0380221C +_03802200: tst r5, #1 - beq _0200A3FC + beq _03802214 mov r0, r7 mov r1, sb - bl sub_02006C08 -_0200A3FC: + bl sub_037FEA20 +_03802214: add r7, r7, #1 mov r5, r5, lsr #1 -_0200A404: +_0380221C: cmp r7, #0x10 - bge _0200A414 + bge _0380222C cmp r5, #0 - bne _0200A3E8 -_0200A414: + bne _03802200 +_0380222C: tst r6, #1 movne r0, #0 strneb r0, [r4] @@ -12696,10 +12696,10 @@ _0200A414: movne r0, #0 strneb r0, [sl] mov r0, fp - bl sub_02005EFC - bl sub_02009E74 - b _0200A75C -_0200A43C: + bl sub_037FDD14 + bl sub_03801C8C + b _03802574 +_03802254: ldr r1, [sp, #0x2c] mov r0, r1, lsr #0x1d and r0, r0, #1 @@ -12716,9 +12716,9 @@ _0200A43C: and r1, r1, #1 ldr r2, [sp, #0x24] ldr r3, [sp, #0x28] - bl sub_020072E4 - b _0200A75C -_0200A484: + bl sub_037FF0FC + b _03802574 +_0380229C: ldr r0, [sp, #0x30] mov r2, #0 str r0, [sp, #4] @@ -12727,78 +12727,78 @@ _0200A484: str r0, [sp] ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] - bl sub_02009F38 - b _0200A75C -_0200A4AC: + bl sub_03801D50 + b _03802574 +_038022C4: ldr r6, [sp, #0x28] ldr r5, [sp, #0x24] mov r7, #0 - b _0200A4D8 -_0200A4BC: + b _038022F0 +_038022D4: tst r5, #1 - beq _0200A4D0 + beq _038022E8 mov r0, r7 mov r1, r6 - bl sub_02006CA8 -_0200A4D0: + bl sub_037FEAC0 +_038022E8: add r7, r7, #1 mov r5, r5, lsr #1 -_0200A4D8: +_038022F0: cmp r7, #0x10 - bge _0200A75C + bge _03802574 cmp r5, #0 - bne _0200A4BC - b _0200A75C -_0200A4EC: + bne _038022D4 + b _03802574 +_03802304: ldr r7, [sp, #0x2c] ldr r6, [sp, #0x28] ldr r5, [sp, #0x24] mov r8, #0 - b _0200A520 -_0200A500: + b _03802338 +_03802318: tst r5, #1 - beq _0200A518 + beq _03802330 mov r0, r8 mov r1, r6 mov r2, r7 - bl sub_02006C30 -_0200A518: + bl sub_037FEA48 +_03802330: add r8, r8, #1 mov r5, r5, lsr #1 -_0200A520: +_03802338: cmp r8, #0x10 - bge _0200A75C + bge _03802574 cmp r5, #0 - bne _0200A500 - b _0200A75C -_0200A534: + bne _03802318 + b _03802574 +_0380234C: ldr r6, [sp, #0x28] ldr r5, [sp, #0x24] mov r7, #0 - b _0200A560 -_0200A544: + b _03802378 +_0380235C: tst r5, #1 - beq _0200A558 + beq _03802370 mov r0, r7 mov r1, r6 - bl sub_02006CC0 -_0200A558: + bl sub_037FEAD8 +_03802370: add r7, r7, #1 mov r5, r5, lsr #1 -_0200A560: +_03802378: cmp r7, #0x10 - bge _0200A75C + bge _03802574 cmp r5, #0 - bne _0200A544 - b _0200A75C -_0200A574: + bne _0380235C + b _03802574 +_0380238C: ldr r3, [sp, #0x30] ldr r0, [sp, #0x24] mov r1, r3, lsl #0x10 ldr r2, [sp, #0x2c] mov r1, r1, lsr #0x10 str r1, [sp] - ldr r1, _0200A7A4 ; =0x003FFFFF + ldr r1, _038025BC ; =0x003FFFFF and r1, r2, r1 str r1, [sp, #4] mov r1, r2, lsr #0x18 @@ -12822,9 +12822,9 @@ _0200A574: bic r1, r1, #0xf8000000 and r2, r2, #3 and r3, r3, #3 - bl sub_020069EC - b _0200A75C -_0200A5F4: + bl sub_037FE804 + b _03802574 +_0380240C: ldr r1, [sp, #0x2c] ldr r3, [sp, #0x28] mov r0, r1, lsl #8 @@ -12837,9 +12837,9 @@ _0200A5F4: and r2, r3, #0x7f mov r3, r3, lsr #8 and r3, r3, #3 - bl sub_02006AB8 - b _0200A75C -_0200A62C: + bl sub_037FE8D0 + b _03802574 +_03802444: ldr r1, [sp, #0x2c] ldr r2, [sp, #0x28] and r0, r1, #0x7f @@ -12850,152 +12850,152 @@ _0200A62C: and r1, r2, #0x7f mov r2, r2, lsr #8 and r2, r2, #3 - bl sub_02006B64 - b _0200A75C -_0200A65C: + bl sub_037FE97C + b _03802574 +_03802474: ldr r0, [sp, #0x24] - bl sub_02006DC8 - b _0200A75C -_0200A668: + bl sub_037FEBE0 + b _03802574 +_03802480: ldr r0, [sp, #0x24] - bl sub_020069A4 - b _0200A75C -_0200A674: + bl sub_037FE7BC + b _03802574 +_0380248C: ldr r0, [sp, #0x24] - bl sub_02006D54 - b _0200A75C -_0200A680: + bl sub_037FEB6C + b _03802574 +_03802498: ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] ldr r2, [sp, #0x2c] ldr r3, [sp, #0x30] - bl sub_020069B4 - b _0200A75C -_0200A698: + bl sub_037FE7CC + b _03802574 +_038024B0: ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] - bl sub_02007DC8 - b _0200A75C -_0200A6A8: + bl sub_037FFBE0 + b _03802574 +_038024C0: ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] - bl sub_02007EA8 - b _0200A75C -_0200A6B8: + bl sub_037FFCC0 + b _03802574 +_038024D0: ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] - bl sub_02007D18 - b _0200A75C -_0200A6C8: + bl sub_037FFB30 + b _03802574 +_038024E0: ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] - bl sub_020087A4 - b _0200A75C -_0200A6D8: + bl sub_038005BC + b _03802574 +_038024F0: ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] - bl sub_02008830 - b _0200A75C -_0200A6E8: + bl sub_03800648 + b _03802574 +_03802500: ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] - bl sub_02007EFC - b _0200A75C -_0200A6F8: + bl sub_037FFD14 + b _03802574 +_03802510: ldr r1, [sp, #0x24] - ldr r0, _0200A7A8 ; =0x03807E6C + ldr r0, _038025C0 ; =0x03807E6C str r1, [r0] - b _0200A75C -_0200A708: + b _03802574 +_03802520: ldr r5, [sp, #0x24] - ldr r0, _0200A7AC ; =0x03807E70 + ldr r0, _038025C4 ; =0x03807E70 mov r1, r5 mov r2, #0x1180 - bl sub_020061D4 - ldr r0, _0200A7AC ; =0x03807E70 + bl sub_037FDFEC + ldr r0, _038025C4 ; =0x03807E70 add r1, r5, #0x1000 str r0, [r1, #0x1c0] mov r6, #0 -_0200A72C: +_03802544: mov r0, r6 - bl sub_02006DB8 + bl sub_037FEBD0 add r1, r5, r6, lsl #2 add r1, r1, #0x1000 str r0, [r1, #0x180] add r6, r6, #1 cmp r6, #0x10 - blt _0200A72C + blt _03802544 mov r0, #0 - bl sub_02007EE0 + bl sub_037FFCF8 add r1, r5, #0x1000 str r0, [r1, #0x1c4] -_0200A75C: +_03802574: ldr r6, [sp, #0x1c] -_0200A760: +_03802578: cmp r6, #0 - bne _0200A120 - ldr r0, _0200A7A8 ; =0x03807E6C + bne _03801F38 + ldr r0, _038025C0 ; =0x03807E6C ldr r1, [r0] ldr r0, [r1] add r0, r0, #1 str r0, [r1] -_0200A77C: - ldr r0, _0200A7B0 ; =0x03808FF0 +_03802594: + ldr r0, _038025C8 ; =0x03808FF0 add r1, sp, #0x18 mov r2, #0 - bl sub_02004948 + bl sub_037FC760 cmp r0, #0 - bne _0200A110 + bne _03801F28 add sp, sp, #0x34 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_0200A7A0: .word 0x04000509 -_0200A7A4: .word 0x003FFFFF -_0200A7A8: .word 0x03807E6C -_0200A7AC: .word 0x03807E70 -_0200A7B0: .word 0x03808FF0 - arm_func_end sub_0200A104 +_038025B8: .word 0x04000509 +_038025BC: .word 0x003FFFFF +_038025C0: .word 0x03807E6C +_038025C4: .word 0x03807E70 +_038025C8: .word 0x03808FF0 + arm_func_end sub_03801F1C - arm_func_start sub_0200A7B4 -sub_0200A7B4: ; 0x0200A7B4 + arm_func_start sub_038025CC +sub_038025CC: ; 0x038025CC stmdb sp!, {r3, r4, r5, lr} mov r5, r1 - bl sub_02005EE8 + bl sub_037FDD00 mov r4, r0 cmp r5, #0x2000000 - blo _0200A7E0 - ldr r0, _0200A7FC ; =0x03808FF0 + blo _038025F8 + ldr r0, _03802614 ; =0x03808FF0 mov r1, r5 mov r2, #0 - bl sub_020048BC - b _0200A7EC -_0200A7E0: + bl sub_037FC6D4 + b _03802604 +_038025F8: cmp r5, #0 - bne _0200A7EC - bl sub_020071B0 -_0200A7EC: + bne _03802604 + bl sub_037FEFC8 +_03802604: mov r0, r4 - bl sub_02005EFC + bl sub_037FDD14 ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0200A7FC: .word 0x03808FF0 - arm_func_end sub_0200A7B4 +_03802614: .word 0x03808FF0 + arm_func_end sub_038025CC - arm_func_start sub_0200A800 -sub_0200A800: ; 0x0200A800 - ldr ip, _0200A808 ; =sub_03803168 + arm_func_start sub_03802618 +sub_03802618: ; 0x03802618 + ldr ip, _03802620 ; =sub_03803168 bx ip .align 2, 0 -_0200A808: .word sub_03803168 - arm_func_end sub_0200A800 +_03802620: .word sub_03803168 + arm_func_end sub_03802618 - arm_func_start sub_0200A80C -sub_0200A80C: ; 0x0200A80C + arm_func_start sub_03802624 +sub_03802624: ; 0x03802624 stmdb sp!, {r4, lr} sub sp, sp, #8 - ldr r4, _0200A8B0 ; =0x03809060 + ldr r4, _038026C8 ; =0x03809060 mov r2, #0 mvn r1, #2 str r1, [r4, #0xc] @@ -13012,150 +13012,150 @@ sub_0200A80C: ; 0x0200A80C mov r0, #0x400 str r0, [sp] ldr ip, [r4, #0xf0] - ldr r1, _0200A8B4 ; =0x038032B8 - ldr r3, _0200A8B8 ; =0x03809660 + ldr r1, _038026CC ; =0x038032B8 + ldr r3, _038026D0 ; =0x03809660 add r0, r4, #0x48 str ip, [sp, #4] - bl sub_0200423C + bl sub_037FC054 add r0, r4, #0x48 - bl sub_02004554 - ldr r1, _0200A8BC ; =0x038031D4 + bl sub_037FC36C + ldr r1, _038026D4 ; =0x038031D4 mov r0, #0xb - bl sub_02006584 - ldr r0, _0200A8C0 ; =0x027FFC40 + bl sub_037FE39C + ldr r0, _038026D8 ; =0x027FFC40 ldrh r0, [r0] cmp r0, #2 moveq r0, #1 movne r0, #0 cmp r0, #0 - ldreq r0, _0200A8C4 ; =0x03809040 + ldreq r0, _038026DC ; =0x03809040 moveq r1, #1 streq r1, [r0] add sp, sp, #8 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200A8B0: .word 0x03809060 -_0200A8B4: .word 0x038032B8 -_0200A8B8: .word 0x03809660 -_0200A8BC: .word 0x038031D4 -_0200A8C0: .word 0x027FFC40 -_0200A8C4: .word 0x03809040 - arm_func_end sub_0200A80C +_038026C8: .word 0x03809060 +_038026CC: .word 0x038032B8 +_038026D0: .word 0x03809660 +_038026D4: .word 0x038031D4 +_038026D8: .word 0x027FFC40 +_038026DC: .word 0x03809040 + arm_func_end sub_03802624 - arm_func_start sub_0200A8C8 -sub_0200A8C8: ; 0x0200A8C8 + arm_func_start sub_038026E0 +sub_038026E0: ; 0x038026E0 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r5, _0200A904 ; =0x03809060 + ldr r5, _0380271C ; =0x03809060 mov r7, r0 - bl sub_02005EE8 + bl sub_037FDD00 ldr r6, [r5, #0xf0] mov r4, r0 mov r1, r7 add r0, r5, #0x48 str r7, [r5, #0xf0] - bl sub_020045A8 + bl sub_037FC3C0 mov r0, r4 - bl sub_02005EFC + bl sub_037FDD14 mov r0, r6 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_0200A904: .word 0x03809060 - arm_func_end sub_0200A8C8 +_0380271C: .word 0x03809060 + arm_func_end sub_038026E0 - arm_func_start sub_0200A908 -sub_0200A908: ; 0x0200A908 - ldr r0, _0200A910 ; =0x027FFA80 + arm_func_start sub_03802720 +sub_03802720: ; 0x03802720 + ldr r0, _03802728 ; =0x027FFA80 bx lr .align 2, 0 -_0200A910: .word 0x027FFA80 - arm_func_end sub_0200A908 +_03802728: .word 0x027FFA80 + arm_func_end sub_03802720 - arm_func_start sub_0200A914 -sub_0200A914: ; 0x0200A914 + arm_func_start sub_0380272C +sub_0380272C: ; 0x0380272C stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r5, r0 mov r4, r1 adds r1, r5, r4 - beq _0200A9AC + beq _038027C4 cmp r5, #0 - beq _0200A934 - bl sub_02004650 -_0200A934: + beq _0380274C + bl sub_037FC468 +_0380274C: cmp r4, #0 - beq _0200A988 + beq _038027A0 sub r7, r4, r5 mov r4, #0 mov r5, #1 mov r6, #5 - b _0200A968 -_0200A950: + b _03802780 +_03802768: cmp r7, #5 movlt r8, r7 movge r8, r6 mov r0, r8 - bl sub_02004650 + bl sub_037FC468 sub r7, r7, r8 -_0200A968: - bl sub_0200A9B8 +_03802780: + bl sub_038027D0 tst r0, #1 moveq r0, r5 movne r0, r4 cmp r0, #0 - bne _0200A988 + bne _038027A0 cmp r7, #0 - bgt _0200A950 -_0200A988: - bl sub_0200A9B8 + bgt _03802768 +_038027A0: + bl sub_038027D0 tst r0, #1 moveq r0, #1 movne r0, #0 cmp r0, #0 - ldreq r0, _0200A9B4 ; =0x03809060 + ldreq r0, _038027CC ; =0x03809060 moveq r1, #4 ldreq r0, [r0] streq r1, [r0] -_0200A9AC: +_038027C4: ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_0200A9B4: .word 0x03809060 - arm_func_end sub_0200A914 +_038027CC: .word 0x03809060 + arm_func_end sub_0380272C - arm_func_start sub_0200A9B8 -sub_0200A9B8: ; 0x0200A9B8 + arm_func_start sub_038027D0 +sub_038027D0: ; 0x038027D0 stmdb sp!, {r3, lr} - ldr ip, _0200A9FC ; =0x03809660 + ldr ip, _03802814 ; =0x03809660 mov lr, #2 - ldr r0, _0200AA00 ; =0x0380720C - ldr r3, _0200AA04 ; =0x03802924 + ldr r0, _03802818 ; =0x0380720C + ldr r3, _0380281C ; =0x03802924 mov r1, #0 mov r2, #1 str lr, [ip, #4] - bl sub_0200AA48 - ldr r3, _0200AA08 ; =0x038028E4 + bl sub_03802860 + ldr r3, _03802820 ; =0x038028E4 add r1, sp, #0 mov r0, #0 mov r2, #1 - bl sub_0200AA48 + bl sub_03802860 ldrb r0, [sp] ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200A9FC: .word 0x03809660 -_0200AA00: .word 0x0380720C -_0200AA04: .word 0x03802924 -_0200AA08: .word 0x038028E4 - arm_func_end sub_0200A9B8 +_03802814: .word 0x03809660 +_03802818: .word 0x0380720C +_0380281C: .word 0x03802924 +_03802820: .word 0x038028E4 + arm_func_end sub_038027D0 - arm_func_start sub_0200AA0C -sub_0200AA0C: ; 0x0200AA0C + arm_func_start sub_03802824 +sub_03802824: ; 0x03802824 stmdb sp!, {r3, lr} mov r0, #0 mov r1, #0x32 - bl sub_0200A914 - ldr r0, _0200AA44 ; =0x03809060 + bl sub_0380272C + ldr r0, _0380285C ; =0x03809060 ldr r1, [r0] ldr r0, [r1] cmp r0, #4 @@ -13166,62 +13166,62 @@ sub_0200AA0C: ; 0x0200AA0C ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200AA44: .word 0x03809060 - arm_func_end sub_0200AA0C +_0380285C: .word 0x03809060 + arm_func_end sub_03802824 - arm_func_start sub_0200AA48 -sub_0200AA48: ; 0x0200AA48 + arm_func_start sub_03802860 +sub_03802860: ; 0x03802860 stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r5, _0200AAC0 ; =0x03809664 - ldr r8, _0200AAC4 ; =0x0000A040 - ldr r4, _0200AAC8 ; =0x040001A0 + ldr r5, _038028D8 ; =0x03809664 + ldr r8, _038028DC ; =0x0000A040 + ldr r4, _038028E0 ; =0x040001A0 stmib r5, {r0, r1} strh r8, [r4] mov r7, r2 mov r6, r3 mov r8, #0xa000 - b _0200AA9C -_0200AA70: + b _038028B4 +_03802888: ldr r0, [r5] subs r0, r0, #1 str r0, [r5] streqh r8, [r4] -_0200AA80: +_03802898: ldrh r0, [r4] tst r0, #0x80 - bne _0200AA80 + bne _03802898 mov r0, r5 mov lr, pc bx r6 -_0200AA98: +_038028B0: sub r7, r7, #1 -_0200AA9C: +_038028B4: cmp r7, #0 - bne _0200AA70 + bne _03802888 ldr r0, [r5] cmp r0, #0 - ldreq r0, _0200AAC8 ; =0x040001A0 + ldreq r0, _038028E0 ; =0x040001A0 moveq r1, #0 streqh r1, [r0] ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_0200AAC0: .word 0x03809664 -_0200AAC4: .word 0x0000A040 -_0200AAC8: .word 0x040001A0 - arm_func_end sub_0200AA48 +_038028D8: .word 0x03809664 +_038028DC: .word 0x0000A040 +_038028E0: .word 0x040001A0 + arm_func_end sub_03802860 - arm_func_start sub_0200AACC -sub_0200AACC: ; 0x0200AACC - ldr r1, _0200AB08 ; =0x040001A2 + arm_func_start sub_038028E4 +sub_038028E4: ; 0x038028E4 + ldr r1, _03802920 ; =0x040001A2 mov r2, #0 strh r2, [r1] sub r2, r1, #2 -_0200AADC: +_038028F4: ldrh r1, [r2] tst r1, #0x80 - bne _0200AADC - ldr r2, _0200AB08 ; =0x040001A2 + bne _038028F4 + ldr r2, _03802920 ; =0x040001A2 ldr r1, [r0, #8] ldrh r2, [r2] strb r2, [r1] @@ -13230,114 +13230,114 @@ _0200AADC: str r1, [r0, #8] bx lr .align 2, 0 -_0200AB08: .word 0x040001A2 - arm_func_end sub_0200AACC +_03802920: .word 0x040001A2 + arm_func_end sub_038028E4 - arm_func_start sub_0200AB0C -sub_0200AB0C: ; 0x0200AB0C + arm_func_start sub_03802924 +sub_03802924: ; 0x03802924 stmdb sp!, {r3} sub sp, sp, #4 ldr r1, [r0, #4] - ldr r2, _0200AB58 ; =0x040001A2 + ldr r2, _03802970 ; =0x040001A2 ldrb r1, [r1] strh r1, [r2] ldr r1, [r0, #4] add r1, r1, #1 str r1, [r0, #4] sub r1, r2, #2 -_0200AB34: +_0380294C: ldrh r0, [r1] tst r0, #0x80 - bne _0200AB34 - ldr r0, _0200AB58 ; =0x040001A2 + bne _0380294C + ldr r0, _03802970 ; =0x040001A2 ldrh r0, [r0] strh r0, [sp] add sp, sp, #4 ldmia sp!, {r3} bx lr .align 2, 0 -_0200AB58: .word 0x040001A2 - arm_func_end sub_0200AB0C +_03802970: .word 0x040001A2 + arm_func_end sub_03802924 - arm_func_start sub_0200AB5C -sub_0200AB5C: ; 0x0200AB5C - ldr r1, _0200ABBC ; =0x040001A2 + arm_func_start sub_03802974 +sub_03802974: ; 0x03802974 + ldr r1, _038029D4 ; =0x040001A2 mov r2, #0 strh r2, [r1] sub r2, r1, #2 -_0200AB6C: +_03802984: ldrh r1, [r2] tst r1, #0x80 - bne _0200AB6C - ldr r2, _0200ABBC ; =0x040001A2 + bne _03802984 + ldr r2, _038029D4 ; =0x040001A2 ldr r1, [r0, #4] ldrh r2, [r2] ldrb r1, [r1] and r2, r2, #0xff cmp r2, r1 - beq _0200ABAC + beq _038029C4 mov r1, #0 str r1, [r0, #0xc] ldr r1, [r0] cmp r1, #1 movhi r1, #1 strhi r1, [r0] -_0200ABAC: +_038029C4: ldr r1, [r0, #4] add r1, r1, #1 str r1, [r0, #4] bx lr .align 2, 0 -_0200ABBC: .word 0x040001A2 - arm_func_end sub_0200AB5C +_038029D4: .word 0x040001A2 + arm_func_end sub_03802974 - arm_func_start sub_0200ABC0 -sub_0200ABC0: ; 0x0200ABC0 + arm_func_start sub_038029D8 +sub_038029D8: ; 0x038029D8 stmdb sp!, {r3, lr} - ldr ip, _0200ABE8 ; =0x03809660 + ldr ip, _03802A00 ; =0x03809660 mov r2, #1 - ldr r0, _0200ABEC ; =0x03807204 - ldr r3, _0200ABF0 ; =0x03802924 + ldr r0, _03802A04 ; =0x03807204 + ldr r3, _03802A08 ; =0x03802924 mov r1, #0 str r2, [ip, #4] - bl sub_0200AA48 + bl sub_03802860 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200ABE8: .word 0x03809660 -_0200ABEC: .word 0x03807204 -_0200ABF0: .word 0x03802924 - arm_func_end sub_0200ABC0 +_03802A00: .word 0x03809660 +_03802A04: .word 0x03807204 +_03802A08: .word 0x03802924 + arm_func_end sub_038029D8 - arm_func_start sub_0200ABF4 -sub_0200ABF4: ; 0x0200ABF4 + arm_func_start sub_03802A0C +sub_03802A0C: ; 0x03802A0C stmdb sp!, {r3, lr} - ldr r2, _0200AC8C ; =0x03809060 + ldr r2, _03802AA4 ; =0x03809060 ldr r2, [r2] ldr r2, [r2, #0x28] cmp r2, #1 - beq _0200AC20 + beq _03802A38 cmp r2, #2 - beq _0200AC3C + beq _03802A54 cmp r2, #3 - beq _0200AC54 - b _0200AC70 -_0200AC20: + beq _03802A6C + b _03802A88 +_03802A38: mov r3, r0, lsr #5 and r3, r3, #8 mov ip, r0, lsl #0x18 orr r0, r1, r3 orr r0, r0, ip, lsr #16 str r0, [sp] - b _0200AC70 -_0200AC3C: + b _03802A88 +_03802A54: and r3, r0, #0xff00 mov ip, r0, lsl #0x18 orr r0, r1, r3 orr r0, r0, ip, lsr #8 str r0, [sp] - b _0200AC70 -_0200AC54: + b _03802A88 +_03802A6C: mov r3, r0, lsr #8 and r3, r3, #0xff00 and ip, r0, #0xff00 @@ -13345,59 +13345,59 @@ _0200AC54: orr r1, r1, ip, lsl #8 orr r0, r1, r0, lsl #24 str r0, [sp] -_0200AC70: - ldr r3, _0200AC90 ; =0x03802924 +_03802A88: + ldr r3, _03802AA8 ; =0x03802924 add r0, sp, #0 add r2, r2, #1 mov r1, #0 - bl sub_0200AA48 + bl sub_03802860 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200AC8C: .word 0x03809060 -_0200AC90: .word 0x03802924 - arm_func_end sub_0200ABF4 +_03802AA4: .word 0x03809060 +_03802AA8: .word 0x03802924 + arm_func_end sub_03802A0C - arm_func_start sub_0200AC94 -sub_0200AC94: ; 0x0200AC94 + arm_func_start sub_03802AAC +sub_03802AAC: ; 0x03802AAC stmdb sp!, {r4, lr} - ldr r0, _0200ACE4 ; =0x03809060 + ldr r0, _03802AFC ; =0x03809060 ldr r0, [r0] ldrb r4, [r0, #0x54] cmp r4, #0xff - beq _0200ACDC - ldr r0, _0200ACE8 ; =0x03809660 + beq _03802AF4 + ldr r0, _03802B00 ; =0x03809660 ldr r0, [r0] cmp r0, #0 - bne _0200ACDC - bl sub_0200A9B8 + bne _03802AF4 + bl sub_038027D0 cmp r4, r0 - beq _0200ACD0 + beq _03802AE8 mov r0, r4 - bl sub_0200B0EC -_0200ACD0: - ldr r0, _0200ACE8 ; =0x03809660 + bl sub_03802F04 +_03802AE8: + ldr r0, _03802B00 ; =0x03809660 mov r1, #1 str r1, [r0] -_0200ACDC: +_03802AF4: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200ACE4: .word 0x03809060 -_0200ACE8: .word 0x03809660 - arm_func_end sub_0200AC94 +_03802AFC: .word 0x03809060 +_03802B00: .word 0x03809660 + arm_func_end sub_03802AAC - arm_func_start sub_0200ACEC -sub_0200ACEC: ; 0x0200ACEC + arm_func_start sub_03802B04 +sub_03802B04: ; 0x03802B04 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 - bl sub_0200AA0C + bl sub_03802824 cmp r0, #0 - beq _0200AD44 - ldr r0, _0200AD4C ; =0x03809060 - ldr r2, _0200AD50 ; =0x03809660 + beq _03802B5C + ldr r0, _03802B64 ; =0x03809060 + ldr r2, _03802B68 ; =0x03809660 ldr r1, [r0] mov r0, r6 ldr r3, [r1, #0x28] @@ -13405,140 +13405,140 @@ sub_0200ACEC: ; 0x0200ACEC add r3, r3, #1 add r3, r3, r4 str r3, [r2, #4] - bl sub_0200ABF4 - ldr r3, _0200AD54 ; =0x038028E4 + bl sub_03802A0C + ldr r3, _03802B6C ; =0x038028E4 mov r1, r5 mov r2, r4 mov r0, #0 - bl sub_0200AA48 -_0200AD44: + bl sub_03802860 +_03802B5C: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_0200AD4C: .word 0x03809060 -_0200AD50: .word 0x03809660 -_0200AD54: .word 0x038028E4 - arm_func_end sub_0200ACEC +_03802B64: .word 0x03809060 +_03802B68: .word 0x03809660 +_03802B6C: .word 0x038028E4 + arm_func_end sub_03802B04 - arm_func_start sub_0200AD58 -sub_0200AD58: ; 0x0200AD58 + arm_func_start sub_03802B70 +sub_03802B70: ; 0x03802B70 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 mov sb, r1 mov r8, r2 - bl sub_0200AA0C + bl sub_03802824 cmp r0, #0 - beq _0200ADFC - ldr r0, _0200AE04 ; =0x03809060 - ldr fp, _0200AE08 ; =0x03809660 + beq _03802C14 + ldr r0, _03802C1C ; =0x03809060 + ldr fp, _03802C20 ; =0x03809660 ldr r5, [r0] ldr r6, [r5, #0x24] sub r4, r6, #1 - b _0200ADF4 -_0200AD8C: + b _03802C0C +_03802BA4: and r0, sl, r4 sub r7, r6, r0 cmp r7, r8 movhi r7, r8 - bl sub_0200ABC0 + bl sub_038029D8 ldr r1, [r5, #0x28] mov r0, sl add r1, r1, #1 add r1, r1, r7 str r1, [fp, #4] mov r1, #2 - bl sub_0200ABF4 - ldr r3, _0200AE0C ; =0x03802924 + bl sub_03802A0C + ldr r3, _03802C24 ; =0x03802924 mov r0, sb mov r1, #0 mov r2, r7 - bl sub_0200AA48 + bl sub_03802860 ldr r0, [r5, #0x2c] mov r1, #0 - bl sub_0200A914 + bl sub_0380272C ldr r0, [r5] cmp r0, #0 - bne _0200ADFC + bne _03802C14 add sb, sb, r7 add sl, sl, r7 sub r8, r8, r7 -_0200ADF4: +_03802C0C: cmp r8, #0 - bne _0200AD8C -_0200ADFC: + bne _03802BA4 +_03802C14: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_0200AE04: .word 0x03809060 -_0200AE08: .word 0x03809660 -_0200AE0C: .word 0x03802924 - arm_func_end sub_0200AD58 +_03802C1C: .word 0x03809060 +_03802C20: .word 0x03809660 +_03802C24: .word 0x03802924 + arm_func_end sub_03802B70 - arm_func_start sub_0200AE10 -sub_0200AE10: ; 0x0200AE10 + arm_func_start sub_03802C28 +sub_03802C28: ; 0x03802C28 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 mov sb, r1 mov r8, r2 - bl sub_0200AA0C + bl sub_03802824 cmp r0, #0 - beq _0200AEB4 - ldr r0, _0200AEBC ; =0x03809060 - ldr fp, _0200AEC0 ; =0x03809660 + beq _03802CCC + ldr r0, _03802CD4 ; =0x03809060 + ldr fp, _03802CD8 ; =0x03809660 ldr r5, [r0] ldr r6, [r5, #0x24] sub r4, r6, #1 - b _0200AEAC -_0200AE44: + b _03802CC4 +_03802C5C: and r0, sl, r4 sub r7, r6, r0 cmp r7, r8 movhi r7, r8 - bl sub_0200ABC0 + bl sub_038029D8 ldr r1, [r5, #0x28] mov r0, sl add r1, r1, #1 add r1, r1, r7 str r1, [fp, #4] mov r1, #0xa - bl sub_0200ABF4 - ldr r3, _0200AEC4 ; =0x03802924 + bl sub_03802A0C + ldr r3, _03802CDC ; =0x03802924 mov r0, sb mov r1, #0 mov r2, r7 - bl sub_0200AA48 + bl sub_03802860 ldr r0, [r5, #0x30] ldr r1, [r5, #0x34] - bl sub_0200A914 + bl sub_0380272C ldr r0, [r5] cmp r0, #0 - bne _0200AEB4 + bne _03802CCC add sb, sb, r7 add sl, sl, r7 sub r8, r8, r7 -_0200AEAC: +_03802CC4: cmp r8, #0 - bne _0200AE44 -_0200AEB4: + bne _03802C5C +_03802CCC: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_0200AEBC: .word 0x03809060 -_0200AEC0: .word 0x03809660 -_0200AEC4: .word 0x03802924 - arm_func_end sub_0200AE10 +_03802CD4: .word 0x03809060 +_03802CD8: .word 0x03809660 +_03802CDC: .word 0x03802924 + arm_func_end sub_03802C28 - arm_func_start sub_0200AEC8 -sub_0200AEC8: ; 0x0200AEC8 + arm_func_start sub_03802CE0 +sub_03802CE0: ; 0x03802CE0 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 - bl sub_0200AA0C + bl sub_03802824 cmp r0, #0 - beq _0200AF44 - ldr r0, _0200AF4C ; =0x03809060 - ldr r2, _0200AF50 ; =0x03809660 + beq _03802D5C + ldr r0, _03802D64 ; =0x03809060 + ldr r2, _03802D68 ; =0x03809660 ldr r4, [r0] mov r0, #1 str r0, [r2, #0x10] @@ -13548,32 +13548,32 @@ sub_0200AEC8: ; 0x0200AEC8 add r3, r1, r5 mov r1, #3 str r3, [r2, #4] - bl sub_0200ABF4 - ldr r3, _0200AF54 ; =0x03802974 + bl sub_03802A0C + ldr r3, _03802D6C ; =0x03802974 mov r0, r6 mov r2, r5 mov r1, #0 - bl sub_0200AA48 + bl sub_03802860 ldr r0, [r4] cmp r0, #0 - ldreq r0, _0200AF50 ; =0x03809660 + ldreq r0, _03802D68 ; =0x03809660 ldreq r0, [r0, #0x10] cmpeq r0, #0 moveq r0, #1 streq r0, [r4] -_0200AF44: +_03802D5C: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_0200AF4C: .word 0x03809060 -_0200AF50: .word 0x03809660 -_0200AF54: .word 0x03802974 - arm_func_end sub_0200AEC8 +_03802D64: .word 0x03809060 +_03802D68: .word 0x03809660 +_03802D6C: .word 0x03802974 + arm_func_end sub_03802CE0 - arm_func_start sub_0200AF58 -sub_0200AF58: ; 0x0200AF58 + arm_func_start sub_03802D70 +sub_03802D70: ; 0x03802D70 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} - ldr r2, _0200AFEC ; =0x03809060 + ldr r2, _03802E04 ; =0x03809060 mov r7, r0 ldr r4, [r2] mov r6, r1 @@ -13583,44 +13583,44 @@ sub_0200AF58: ; 0x0200AF58 tst r1, r0 movne r0, #2 strne r0, [r4] - bne _0200AFE4 - bl sub_0200AA0C + bne _03802DFC + bl sub_03802824 cmp r0, #0 - beq _0200AFE4 - ldr r8, _0200AFF0 ; =0x03809660 + beq _03802DFC + ldr r8, _03802E08 ; =0x03809660 mov sb, #0xd8 - b _0200AFDC -_0200AFA0: - bl sub_0200ABC0 + b _03802DF4 +_03802DB8: + bl sub_038029D8 ldr r1, [r4, #0x28] mov r0, r7 add r1, r1, #1 str r1, [r8, #4] mov r1, sb - bl sub_0200ABF4 + bl sub_03802A0C ldr r0, [r4, #0x40] ldr r1, [r4, #0x44] - bl sub_0200A914 + bl sub_0380272C ldr r0, [r4] cmp r0, #0 - bne _0200AFE4 + bne _03802DFC add r7, r7, r5 sub r6, r6, r5 -_0200AFDC: +_03802DF4: cmp r6, #0 - bne _0200AFA0 -_0200AFE4: + bne _03802DB8 +_03802DFC: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, lr} bx lr .align 2, 0 -_0200AFEC: .word 0x03809060 -_0200AFF0: .word 0x03809660 - arm_func_end sub_0200AF58 +_03802E04: .word 0x03809060 +_03802E08: .word 0x03809660 + arm_func_end sub_03802D70 - arm_func_start sub_0200AFF4 -sub_0200AFF4: ; 0x0200AFF4 + arm_func_start sub_03802E0C +sub_03802E0C: ; 0x03802E0C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} - ldr r2, _0200B088 ; =0x03809060 + ldr r2, _03802EA0 ; =0x03809060 mov r7, r0 ldr r4, [r2] mov r6, r1 @@ -13630,122 +13630,122 @@ sub_0200AFF4: ; 0x0200AFF4 tst r1, r0 movne r0, #2 strne r0, [r4] - bne _0200B080 - bl sub_0200AA0C + bne _03802E98 + bl sub_03802824 cmp r0, #0 - beq _0200B080 - ldr r8, _0200B08C ; =0x03809660 + beq _03802E98 + ldr r8, _03802EA4 ; =0x03809660 mov sb, #0x20 - b _0200B078 -_0200B03C: - bl sub_0200ABC0 + b _03802E90 +_03802E54: + bl sub_038029D8 ldr r1, [r4, #0x28] mov r0, r7 add r1, r1, #1 str r1, [r8, #4] mov r1, sb - bl sub_0200ABF4 + bl sub_03802A0C ldr r0, [r4, #0x48] ldr r1, [r4, #0x4c] - bl sub_0200A914 + bl sub_0380272C ldr r0, [r4] cmp r0, #0 - bne _0200B080 + bne _03802E98 add r7, r7, r5 sub r6, r6, r5 -_0200B078: +_03802E90: cmp r6, #0 - bne _0200B03C -_0200B080: + bne _03802E54 +_03802E98: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, lr} bx lr .align 2, 0 -_0200B088: .word 0x03809060 -_0200B08C: .word 0x03809660 - arm_func_end sub_0200AFF4 +_03802EA0: .word 0x03809060 +_03802EA4: .word 0x03809660 + arm_func_end sub_03802E0C - arm_func_start sub_0200B090 -sub_0200B090: ; 0x0200B090 + arm_func_start sub_03802EA8 +sub_03802EA8: ; 0x03802EA8 stmdb sp!, {r4, lr} - bl sub_0200AA0C + bl sub_03802824 cmp r0, #0 - beq _0200B0D4 - ldr r0, _0200B0DC ; =0x03809060 + beq _03802EEC + ldr r0, _03802EF4 ; =0x03809060 ldr r4, [r0] - bl sub_0200ABC0 - ldr r1, _0200B0E0 ; =0x03809660 + bl sub_038029D8 + ldr r1, _03802EF8 ; =0x03809660 mov r2, #1 - ldr r0, _0200B0E4 ; =0x03807208 - ldr r3, _0200B0E8 ; =0x03802924 + ldr r0, _03802EFC ; =0x03807208 + ldr r3, _03802F00 ; =0x03802924 str r2, [r1, #4] mov r1, #0 - bl sub_0200AA48 + bl sub_03802860 ldr r0, [r4, #0x38] ldr r1, [r4, #0x3c] - bl sub_0200A914 -_0200B0D4: + bl sub_0380272C +_03802EEC: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200B0DC: .word 0x03809060 -_0200B0E0: .word 0x03809660 -_0200B0E4: .word 0x03807208 -_0200B0E8: .word 0x03802924 - arm_func_end sub_0200B090 +_03802EF4: .word 0x03809060 +_03802EF8: .word 0x03809660 +_03802EFC: .word 0x03807208 +_03802F00: .word 0x03802924 + arm_func_end sub_03802EA8 - arm_func_start sub_0200B0EC -sub_0200B0EC: ; 0x0200B0EC + arm_func_start sub_03802F04 +sub_03802F04: ; 0x03802F04 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r4, r0 - bl sub_0200AA0C + bl sub_03802824 cmp r0, #0 - beq _0200B170 - ldr r0, _0200B178 ; =0x03809060 + beq _03802F88 + ldr r0, _03802F90 ; =0x03809060 strb r4, [sp, #1] mov r1, #1 ldr sb, [r0] - ldr r5, _0200B17C ; =0x03802924 - ldr r4, _0200B180 ; =0x03809660 + ldr r5, _03802F94 ; =0x03802924 + ldr r4, _03802F98 ; =0x03809660 strb r1, [sp] mov sl, #0xa add r7, sp, #0 mov r8, #2 mov r6, #0 mov fp, #5 -_0200B130: - bl sub_0200ABC0 +_03802F48: + bl sub_038029D8 mov r0, r7 str r8, [r4, #4] mov r1, r6 mov r2, r8 mov r3, r5 - bl sub_0200AA48 + bl sub_03802860 mov r0, fp mov r1, #0 - bl sub_0200A914 + bl sub_0380272C ldr r0, [sb] cmp r0, #4 - bne _0200B170 + bne _03802F88 sub sl, sl, #1 cmp sl, #0 - bgt _0200B130 -_0200B170: + bgt _03802F48 +_03802F88: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_0200B178: .word 0x03809060 -_0200B17C: .word 0x03802924 -_0200B180: .word 0x03809660 - arm_func_end sub_0200B0EC +_03802F90: .word 0x03809060 +_03802F94: .word 0x03802924 +_03802F98: .word 0x03809660 + arm_func_end sub_03802F04 - arm_func_start sub_0200B184 -sub_0200B184: ; 0x0200B184 - ldr r3, _0200B1DC ; =0x040001A4 -_0200B188: + arm_func_start sub_03802F9C +sub_03802F9C: ; 0x03802F9C + ldr r3, _03802FF4 ; =0x040001A4 +_03802FA0: ldr r2, [r3] tst r2, #0x80000000 - bne _0200B188 - ldr r3, _0200B1E0 ; =0x040001A1 + bne _03802FA0 + ldr r3, _03802FF8 ; =0x040001A1 mov r2, #0xc0 strb r2, [r3] mov r2, r0, lsr #0x18 @@ -13764,49 +13764,49 @@ _0200B188: strb r1, [r3, #0xe] bx lr .align 2, 0 -_0200B1DC: .word 0x040001A4 -_0200B1E0: .word 0x040001A1 - arm_func_end sub_0200B184 +_03802FF4: .word 0x040001A4 +_03802FF8: .word 0x040001A1 + arm_func_end sub_03802F9C - arm_func_start sub_0200B1E4 -sub_0200B1E4: ; 0x0200B1E4 + arm_func_start sub_03802FFC +sub_03802FFC: ; 0x03802FFC stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r4, _0200B254 ; =0x03809060 + ldr r4, _0380306C ; =0x03809060 mov r1, #0 ldr r0, [r4] str r1, [r0] ldr r7, [r4, #0x3c] ldr r6, [r4, #0x40] - bl sub_02005EE8 + bl sub_037FDD00 ldr r1, [r4, #0xfc] mov r5, r0 bic r0, r1, #0x4c str r0, [r4, #0xfc] add r0, r4, #0xf4 - bl sub_020044CC + bl sub_037FC2E4 ldr r0, [r4, #0xfc] tst r0, #0x10 - beq _0200B230 + beq _03803048 add r0, r4, #0x48 - bl sub_02004554 -_0200B230: + bl sub_037FC36C +_03803048: mov r0, r5 - bl sub_02005EFC + bl sub_037FDD14 cmp r7, #0 - beq _0200B24C + beq _03803064 mov r0, r6 mov lr, pc bx r7 -_0200B24C: +_03803064: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_0200B254: .word 0x03809060 - arm_func_end sub_0200B1E4 +_0380306C: .word 0x03809060 + arm_func_end sub_03802FFC - arm_func_start sub_0200B258 -sub_0200B258: ; 0x0200B258 - ldr r1, _0200B274 ; =0x03807560 + arm_func_start sub_03803070 +sub_03803070: ; 0x03803070 + ldr r1, _0380308C ; =0x03807560 ldr r1, [r1] ldr r1, [r1, #0x60] bic r1, r1, #0x7000000 @@ -13814,92 +13814,92 @@ sub_0200B258: ; 0x0200B258 orr r0, r0, #0xa0000000 bx lr .align 2, 0 -_0200B274: .word 0x03807560 - arm_func_end sub_0200B258 +_0380308C: .word 0x03807560 + arm_func_end sub_03803070 - arm_func_start sub_0200B278 -sub_0200B278: ; 0x0200B278 + arm_func_start sub_03803090 +sub_03803090: ; 0x03803090 bx lr - arm_func_end sub_0200B278 + arm_func_end sub_03803090 - arm_func_start sub_0200B27C -sub_0200B27C: ; 0x0200B27C + arm_func_start sub_03803094 +sub_03803094: ; 0x03803094 stmdb sp!, {r3, lr} mov r0, #0xb8000000 mov r1, #0 - bl sub_0200B184 + bl sub_03802F9C mov r0, #0x7000000 - bl sub_0200B258 + bl sub_03803070 mov r1, #0x2000 rsb r1, r1, #0 - ldr r2, _0200B2C4 ; =0x040001A4 + ldr r2, _038030DC ; =0x040001A4 and r0, r0, r1 str r0, [r2] -_0200B2A8: +_038030C0: ldr r0, [r2] tst r0, #0x800000 - beq _0200B2A8 - ldr r0, _0200B2C8 ; =0x04100010 + beq _038030C0 + ldr r0, _038030E0 ; =0x04100010 ldr r0, [r0] ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200B2C4: .word 0x040001A4 -_0200B2C8: .word 0x04100010 - arm_func_end sub_0200B27C +_038030DC: .word 0x040001A4 +_038030E0: .word 0x04100010 + arm_func_end sub_03803094 - arm_func_start sub_0200B2CC -sub_0200B2CC: ; 0x0200B2CC + arm_func_start sub_038030E4 +sub_038030E4: ; 0x038030E4 stmdb sp!, {r4, lr} - ldr r0, _0200B2F8 ; =0x03809060 + ldr r0, _03803110 ; =0x03809060 mov r1, #0 mov r2, r1 - bl sub_0200B2FC - bl sub_0200B27C + bl sub_03803114 + bl sub_03803094 mov r4, r0 - bl sub_0200B1E4 + bl sub_03802FFC mov r0, r4 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200B2F8: .word 0x03809060 - arm_func_end sub_0200B2CC +_03803110: .word 0x03809060 + arm_func_end sub_038030E4 - arm_func_start sub_0200B2FC -sub_0200B2FC: ; 0x0200B2FC + arm_func_start sub_03803114 +sub_03803114: ; 0x03803114 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 - bl sub_02005EE8 + bl sub_037FDD00 mov r4, r0 - b _0200B320 -_0200B318: + b _03803138 +_03803130: add r0, r7, #0xf4 - bl sub_02004478 -_0200B320: + bl sub_037FC290 +_03803138: ldr r0, [r7, #0xfc] tst r0, #4 - bne _0200B318 + bne _03803130 ldr r1, [r7, #0xfc] mov r0, r4 orr r1, r1, #4 str r1, [r7, #0xfc] str r6, [r7, #0x3c] str r5, [r7, #0x40] - bl sub_02005EFC + bl sub_037FDD14 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr - arm_func_end sub_0200B2FC + arm_func_end sub_03803114 - arm_func_start sub_0200B350 -sub_0200B350: ; 0x0200B350 + arm_func_start sub_03803168 +sub_03803168: ; 0x03803168 stmdb sp!, {r3, lr} - ldr ip, _0200B3B0 ; =0x03809060 + ldr ip, _038031C8 ; =0x03809060 ldr r0, [ip, #0xfc] cmp r0, #0 - bne _0200B3A8 - ldr r0, _0200B3B4 ; =0x03809680 + bne _038031C0 + ldr r0, _038031CC ; =0x03809680 mov r2, #0 sub r1, r2, #1 mov r3, #1 @@ -13911,104 +13911,104 @@ sub_0200B350: ; 0x0200B350 str r2, [ip, #0x3c] str r2, [ip, #0x40] str r2, [r0] - bl sub_0200A80C - ldr r1, _0200B3B8 ; =0x03803090 - ldr r0, _0200B3B4 ; =0x03809680 + bl sub_03802624 + ldr r1, _038031D0 ; =0x03803090 + ldr r0, _038031CC ; =0x03809680 str r1, [r0, #0x20] - bl sub_0200B6D4 -_0200B3A8: + bl sub_038034EC +_038031C0: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200B3B0: .word 0x03809060 -_0200B3B4: .word 0x03809680 -_0200B3B8: .word 0x03803090 - arm_func_end sub_0200B350 +_038031C8: .word 0x03809060 +_038031CC: .word 0x03809680 +_038031D0: .word 0x03803090 + arm_func_end sub_03803168 - arm_func_start sub_0200B3BC -sub_0200B3BC: ; 0x0200B3BC + arm_func_start sub_038031D4 +sub_038031D4: ; 0x038031D4 stmdb sp!, {r3, lr} cmp r0, #0xb - bne _0200B494 + bne _038032AC cmp r2, #0 - beq _0200B494 - ldr r0, _0200B49C ; =0x03809060 + beq _038032AC + ldr r0, _038032B4 ; =0x03809060 ldr r2, [r0, #8] cmp r2, #0 streq r1, [r0, #4] ldr r2, [r0, #4] cmp r2, #0xf addls pc, pc, r2, lsl #2 - b _0200B460 -_0200B3F0: ; jump table - b _0200B430 ; case 0 - b _0200B460 ; case 1 - b _0200B454 ; case 2 - b _0200B454 ; case 3 - b _0200B454 ; case 4 - b _0200B454 ; case 5 - b _0200B454 ; case 6 - b _0200B454 ; case 7 - b _0200B454 ; case 8 - b _0200B454 ; case 9 - b _0200B454 ; case 10 - b _0200B454 ; case 11 - b _0200B454 ; case 12 - b _0200B454 ; case 13 - b _0200B454 ; case 14 - b _0200B454 ; case 15 -_0200B430: + b _03803278 +_03803208: ; jump table + b _03803248 ; case 0 + b _03803278 ; case 1 + b _0380326C ; case 2 + b _0380326C ; case 3 + b _0380326C ; case 4 + b _0380326C ; case 5 + b _0380326C ; case 6 + b _0380326C ; case 7 + b _0380326C ; case 8 + b _0380326C ; case 9 + b _0380326C ; case 10 + b _0380326C ; case 11 + b _0380326C ; case 12 + b _0380326C ; case 13 + b _0380326C ; case 14 + b _0380326C ; case 15 +_03803248: ldr r2, [r0, #8] cmp r2, #0 - beq _0200B460 + beq _03803278 cmp r2, #1 ldreq r2, [r0, #0xfc] streq r1, [r0] orreq r1, r2, #0x10 streq r1, [r0, #0xfc] - b _0200B460 -_0200B454: + b _03803278 +_0380326C: ldr r1, [r0, #0xfc] orr r1, r1, #0x10 str r1, [r0, #0xfc] -_0200B460: +_03803278: ldr r1, [r0, #0xfc] tst r1, #0x10 ldreq r1, [r0, #8] addeq r1, r1, #1 streq r1, [r0, #8] - beq _0200B494 + beq _038032AC ldr r1, [r0, #0xfc] mov r2, #0 str r2, [r0, #8] tst r1, #4 ldrne r0, [r0, #0xec] addeq r0, r0, #0x48 - bl sub_02004554 -_0200B494: + bl sub_037FC36C +_038032AC: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200B49C: .word 0x03809060 - arm_func_end sub_0200B3BC +_038032B4: .word 0x03809060 + arm_func_end sub_038031D4 - arm_func_start sub_0200B4A0 -sub_0200B4A0: ; 0x0200B4A0 + arm_func_start sub_038032B8 +sub_038032B8: ; 0x038032B8 stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r4, _0200B6D0 ; =0x03809060 -_0200B4A8: + ldr r4, _038034E8 ; =0x03809060 +_038032C0: mov r5, #0 - bl sub_02005EE8 + bl sub_037FDD00 mov r6, r0 add r8, r4, #0x48 mov r7, r5 -_0200B4BC: +_038032D4: ldr r0, [r4, #0xfc] tst r0, #4 - bne _0200B4F4 + bne _0380330C ldr r0, [r4, #0xfc] tst r0, #0x10 - beq _0200B500 + beq _03803318 ldr r0, [r4, #0xfc] mov r5, #1 orr r0, r0, #4 @@ -14016,21 +14016,21 @@ _0200B4BC: ldr r0, [r4, #0xfc] bic r0, r0, #0x10 str r0, [r4, #0xfc] - b _0200B510 -_0200B4F4: + b _03803328 +_0380330C: ldr r0, [r4, #0xfc] tst r0, #8 - bne _0200B510 -_0200B500: + bne _03803328 +_03803318: mov r0, r7 str r8, [r4, #0xec] - bl sub_02004478 - b _0200B4BC -_0200B510: + bl sub_037FC290 + b _038032D4 +_03803328: mov r0, r6 - bl sub_02005EFC + bl sub_037FDD14 cmp r5, #0 - beq _0200B6BC + beq _038034D4 ldr r0, [r4] mov r1, #0 str r1, [r0] @@ -14041,247 +14041,247 @@ _0200B510: tst r1, r0, lsl r2 moveq r0, #3 streq r0, [r3] - beq _0200B660 + beq _03803478 cmp r2, #0xf addls pc, pc, r2, lsl #2 - b _0200B658 -_0200B558: ; jump table - b _0200B660 ; case 0 - b _0200B660 ; case 1 - b _0200B598 ; case 2 - b _0200B5A0 ; case 3 - b _0200B5B0 ; case 4 - b _0200B658 ; case 5 - b _0200B5BC ; case 6 - b _0200B5D0 ; case 7 - b _0200B5E4 ; case 8 - b _0200B5F8 ; case 9 - b _0200B658 ; case 10 - b _0200B60C ; case 11 - b _0200B62C ; case 12 - b _0200B634 ; case 13 - b _0200B648 ; case 14 - b _0200B61C ; case 15 -_0200B598: - bl sub_0200AC94 - b _0200B660 -_0200B5A0: - bl sub_0200B27C + b _03803470 +_03803370: ; jump table + b _03803478 ; case 0 + b _03803478 ; case 1 + b _038033B0 ; case 2 + b _038033B8 ; case 3 + b _038033C8 ; case 4 + b _03803470 ; case 5 + b _038033D4 ; case 6 + b _038033E8 ; case 7 + b _038033FC ; case 8 + b _03803410 ; case 9 + b _03803470 ; case 10 + b _03803424 ; case 11 + b _03803444 ; case 12 + b _0380344C ; case 13 + b _03803460 ; case 14 + b _03803434 ; case 15 +_038033B0: + bl sub_03802AAC + b _03803478 +_038033B8: + bl sub_03803094 ldr r1, [r4] str r0, [r1, #8] - b _0200B660 -_0200B5B0: + b _03803478 +_038033C8: mov r0, #3 str r0, [r3] - b _0200B660 -_0200B5BC: + b _03803478 +_038033D4: ldr r0, [r3, #0xc] ldr r1, [r3, #0x10] ldr r2, [r3, #0x14] - bl sub_0200ACEC - b _0200B660 -_0200B5D0: + bl sub_03802B04 + b _03803478 +_038033E8: ldr r0, [r3, #0x10] ldr r1, [r3, #0xc] ldr r2, [r3, #0x14] - bl sub_0200AE10 - b _0200B660 -_0200B5E4: + bl sub_03802C28 + b _03803478 +_038033FC: ldr r0, [r3, #0x10] ldr r1, [r3, #0xc] ldr r2, [r3, #0x14] - bl sub_0200AD58 - b _0200B660 -_0200B5F8: + bl sub_03802B70 + b _03803478 +_03803410: ldr r0, [r3, #0x10] ldr r1, [r3, #0xc] ldr r2, [r3, #0x14] - bl sub_0200AEC8 - b _0200B660 -_0200B60C: + bl sub_03802CE0 + b _03803478 +_03803424: ldr r0, [r3, #0x10] ldr r1, [r3, #0x14] - bl sub_0200AF58 - b _0200B660 -_0200B61C: + bl sub_03802D70 + b _03803478 +_03803434: ldr r0, [r3, #0x10] ldr r1, [r3, #0x14] - bl sub_0200AFF4 - b _0200B660 -_0200B62C: - bl sub_0200B090 - b _0200B660 -_0200B634: - bl sub_0200A9B8 + bl sub_03802E0C + b _03803478 +_03803444: + bl sub_03802EA8 + b _03803478 +_0380344C: + bl sub_038027D0 ldr r1, [r4] ldr r1, [r1, #0x10] strb r0, [r1] - b _0200B660 -_0200B648: + b _03803478 +_03803460: ldr r0, [r3, #0xc] ldrb r0, [r0] - bl sub_0200B0EC - b _0200B660 -_0200B658: + bl sub_03802F04 + b _03803478 +_03803470: mov r0, #3 str r0, [r3] -_0200B660: +_03803478: mov r6, #0xb mov r5, #1 -_0200B668: +_03803480: mov r0, r6 mov r1, r5 mov r2, r5 - bl sub_020065F8 + bl sub_037FE410 cmp r0, #0 - blt _0200B668 - bl sub_02005EE8 + blt _03803480 + bl sub_037FDD00 ldr r1, [r4, #0xfc] mov r5, r0 bic r0, r1, #0x4c str r0, [r4, #0xfc] add r0, r4, #0xf4 - bl sub_020044CC + bl sub_037FC2E4 ldr r0, [r4, #0xfc] tst r0, #0x10 - beq _0200B6B0 + beq _038034C8 add r0, r4, #0x48 - bl sub_02004554 -_0200B6B0: + bl sub_037FC36C +_038034C8: mov r0, r5 - bl sub_02005EFC - b _0200B4A8 -_0200B6BC: + bl sub_037FDD14 + b _038032C0 +_038034D4: ldr r1, [r4, #0x44] mov r0, r4 mov lr, pc bx r1 -_0200B6CC: - b _0200B4A8 +_038034E4: + b _038032C0 .align 2, 0 -_0200B6D0: .word 0x03809060 - arm_func_end sub_0200B4A0 +_038034E8: .word 0x03809060 + arm_func_end sub_038032B8 - arm_func_start sub_0200B6D4 -sub_0200B6D4: ; 0x0200B6D4 + arm_func_start sub_038034EC +sub_038034EC: ; 0x038034EC stmdb sp!, {r3, r4, r5, lr} - ldr r0, _0200B724 ; =0x038098C0 + ldr r0, _0380353C ; =0x038098C0 ldr r1, [r0, #8] cmp r1, #0 - bne _0200B71C + bne _03803534 mov r1, #1 str r1, [r0, #8] - bl sub_0200649C + bl sub_037FE2B4 mov r5, #0xe mov r4, #0 -_0200B6FC: +_03803514: mov r0, r5 mov r1, r4 - bl sub_020065D4 + bl sub_037FE3EC cmp r0, #0 - beq _0200B6FC - ldr r1, _0200B728 ; =0x03803544 + beq _03803514 + ldr r1, _03803540 ; =0x03803544 mov r0, #0xe - bl sub_02006584 -_0200B71C: + bl sub_037FE39C +_03803534: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0200B724: .word 0x038098C0 -_0200B728: .word 0x03803544 - arm_func_end sub_0200B6D4 +_0380353C: .word 0x038098C0 +_03803540: .word 0x03803544 + arm_func_end sub_038034EC - arm_func_start sub_0200B72C -sub_0200B72C: ; 0x0200B72C + arm_func_start sub_03803544 +sub_03803544: ; 0x03803544 stmdb sp!, {r4, lr} and r0, r1, #0x3f cmp r0, #1 - bne _0200B784 + bne _0380359C mov r0, #0 - bl sub_020060DC + bl sub_037FDEF4 mov r0, #1 - bl sub_020060DC + bl sub_037FDEF4 mov r0, #2 - bl sub_020060DC + bl sub_037FDEF4 mov r0, #3 - bl sub_020060DC + bl sub_037FDEF4 mov r0, #0 - bl sub_0200E7F8 - bl sub_02005EE8 + bl sub_03806610 + bl sub_037FDD00 mov r4, r0 - bl sub_020068F0 - bl sub_0200D474 + bl sub_037FE708 + bl sub_0380528C mov r0, r4 - bl sub_02005EFC - bl sub_02006058 - b _0200B788 -_0200B784: - bl sub_02006058 -_0200B788: + bl sub_037FDD14 + bl sub_037FDE70 + b _038035A0 +_0380359C: + bl sub_037FDE70 +_038035A0: ldmia sp!, {r4, lr} bx lr - arm_func_end sub_0200B72C + arm_func_end sub_03803544 - arm_func_start sub_0200B790 -sub_0200B790: ; 0x0200B790 + arm_func_start sub_038035A8 +sub_038035A8: ; 0x038035A8 stmdb sp!, {r3, lr} - ldr r0, _0200B7D0 ; =0x038098C0 + ldr r0, _038035E8 ; =0x038098C0 ldr r0, [r0, #0xc] cmp r0, #0 - bne _0200B7C0 - ldr r0, _0200B7D4 ; =0x027FFE1F + bne _038035D8 + ldr r0, _038035EC ; =0x027FFE1F ldrb r0, [r0] tst r0, #0x80 - beq _0200B7BC - bl sub_0200B7D8 - b _0200B7C0 -_0200B7BC: - bl sub_0200B878 -_0200B7C0: - ldr r0, _0200B7D0 ; =0x038098C0 + beq _038035D4 + bl sub_038035F0 + b _038035D8 +_038035D4: + bl sub_03803690 +_038035D8: + ldr r0, _038035E8 ; =0x038098C0 ldr r0, [r0, #0xc] ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200B7D0: .word 0x038098C0 -_0200B7D4: .word 0x027FFE1F - arm_func_end sub_0200B790 +_038035E8: .word 0x038098C0 +_038035EC: .word 0x027FFE1F + arm_func_end sub_038035A8 - arm_func_start sub_0200B7D8 -sub_0200B7D8: ; 0x0200B7D8 + arm_func_start sub_038035F0 +sub_038035F0: ; 0x038035F0 stmdb sp!, {r3, r4, r5, lr} mov r5, #1 - bl sub_02003DE4 + bl sub_037FBBFC mov r4, r0 mvn r0, #2 cmp r4, r0 - beq _0200B850 + beq _03803668 mov r0, r4, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_02003DB4 + bl sub_037FBBCC cmp r0, #0 - bne _0200B844 - ldr r1, _0200B870 ; =0x027FFC10 + bne _0380365C + ldr r1, _03803688 ; =0x027FFC10 ldrh r0, [r1] cmp r0, #0 subeq r0, r1, #0x410 subne r0, r1, #0x10 ldr r0, [r0] str r0, [sp] - bl sub_0200B2CC + bl sub_038030E4 ldr r1, [sp] cmp r0, r1 mov r0, r4, lsl #0x10 moveq r5, #1 mov r0, r0, lsr #0x10 movne r5, #0 - bl sub_02003D94 -_0200B844: + bl sub_037FBBAC +_0380365C: mov r0, r4, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_02003E8C -_0200B850: - ldr r1, _0200B874 ; =0x038098C0 + bl sub_037FBCA4 +_03803668: + ldr r1, _0380368C ; =0x038098C0 cmp r5, #0 moveq r2, #1 movne r2, #0 @@ -14290,265 +14290,265 @@ _0200B850: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0200B870: .word 0x027FFC10 -_0200B874: .word 0x038098C0 - arm_func_end sub_0200B7D8 +_03803688: .word 0x027FFC10 +_0380368C: .word 0x038098C0 + arm_func_end sub_038035F0 - arm_func_start sub_0200B878 -sub_0200B878: ; 0x0200B878 - ldr r0, _0200B89C ; =0x04000214 + arm_func_start sub_03803690 +sub_03803690: ; 0x03803690 + ldr r0, _038036B4 ; =0x04000214 mov r2, #1 ldr r1, [r0] mov r0, r2 tst r1, #0x100000 - ldrne r1, _0200B8A0 ; =0x038098C0 + ldrne r1, _038036B8 ; =0x038098C0 movne r0, #0 strne r2, [r1, #0xc] bx lr .align 2, 0 -_0200B89C: .word 0x04000214 -_0200B8A0: .word 0x038098C0 - arm_func_end sub_0200B878 +_038036B4: .word 0x04000214 +_038036B8: .word 0x038098C0 + arm_func_end sub_03803690 - arm_func_start sub_0200B8A4 -sub_0200B8A4: ; 0x0200B8A4 + arm_func_start sub_038036BC +sub_038036BC: ; 0x038036BC stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r0, _0200B990 ; =0x038098C0 + ldr r0, _038037A8 ; =0x038098C0 ldr r0, [r0, #4] cmp r0, #0 - bne _0200B988 - ldr r2, _0200B994 ; =0x027FFC40 + bne _038037A0 + ldr r2, _038037AC ; =0x027FFC40 ldrh r0, [r2] cmp r0, #2 - beq _0200B988 - ldr r1, _0200B998 ; =0x03807564 + beq _038037A0 + ldr r1, _038037B0 ; =0x03807564 mvn r0, #0 ldr r3, [r1] cmp r3, r0 ldreq r0, [r2, #-4] addeq r0, r0, #0xa streq r0, [r1] - beq _0200B988 + beq _038037A0 ldr r0, [r2, #-4]! cmp r0, r3 - blo _0200B988 + blo _038037A0 ldr r0, [r2] add r0, r0, #0xa str r0, [r1] - bl sub_0200B790 + bl sub_038035A8 cmp r0, #0 - beq _0200B938 - ldr r0, _0200B990 ; =0x038098C0 + beq _03803750 + ldr r0, _038037A8 ; =0x038098C0 mov r1, #1 str r1, [r0, #4] - bl sub_0200A908 + bl sub_03802720 ldr r0, [r0, #0xc] cmp r0, #0 - bne _0200B938 - ldr r0, _0200B998 ; =0x03807564 + bne _03803750 + ldr r0, _038037B0 ; =0x03807564 ldr r0, [r0, #4] cmp r0, #0 - bne _0200B988 -_0200B938: - ldr r0, _0200B990 ; =0x038098C0 - ldr r1, _0200B998 ; =0x03807564 + bne _038037A0 +_03803750: + ldr r0, _038037A8 ; =0x038098C0 + ldr r1, _038037B0 ; =0x03807564 ldr r0, [r0, #4] mov r2, #0 str r2, [r1, #4] cmp r0, #0 - beq _0200B988 + beq _038037A0 mov r7, #0x64 mov r6, #0xe mov r5, #0x11 mov r4, r2 - b _0200B970 -_0200B968: + b _03803788 +_03803780: mov r0, r7 - bl sub_02003BF4 -_0200B970: + bl sub_037FBA0C +_03803788: mov r0, r6 mov r1, r5 mov r2, r4 - bl sub_020065F8 + bl sub_037FE410 cmp r0, #0 - bne _0200B968 -_0200B988: + bne _03803780 +_038037A0: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_0200B990: .word 0x038098C0 -_0200B994: .word 0x027FFC40 -_0200B998: .word 0x03807564 - arm_func_end sub_0200B8A4 +_038037A8: .word 0x038098C0 +_038037AC: .word 0x027FFC40 +_038037B0: .word 0x03807564 + arm_func_end sub_038036BC - thumb_func_start sub_0200B99C -sub_0200B99C: ; 0x0200B99C + thumb_func_start sub_038037B4 +sub_038037B4: ; 0x038037B4 swi 0 bx lr - thumb_func_end sub_0200B99C + thumb_func_end sub_038037B4 - thumb_func_start sub_0200B9A0 -sub_0200B9A0: ; 0x0200B9A0 + thumb_func_start sub_038037B8 +sub_038037B8: ; 0x038037B8 swi 3 bx lr - thumb_func_end sub_0200B9A0 + thumb_func_end sub_038037B8 - thumb_func_start sub_0200B9A4 -sub_0200B9A4: ; 0x0200B9A4 - ldr r2, _0200B9B0 ; =0x04000000 + thumb_func_start sub_038037BC +sub_038037BC: ; 0x038037BC + ldr r2, _038037C8 ; =0x04000000 mov ip, r2 mov r2, #0 swi 4 bx lr .align 2, 0 -_0200B9B0: .word 0x04000000 - thumb_func_end sub_0200B9A4 +_038037C8: .word 0x04000000 + thumb_func_end sub_038037BC - thumb_func_start sub_0200B9B4 -sub_0200B9B4: ; 0x0200B9B4 + thumb_func_start sub_038037CC +sub_038037CC: ; 0x038037CC mov r2, #0 swi 5 bx lr - thumb_func_end sub_0200B9B4 + thumb_func_end sub_038037CC - non_word_aligned_thumb_func_start sub_0200B9BA -sub_0200B9BA: ; 0x0200B9BA + non_word_aligned_thumb_func_start sub_038037D2 +sub_038037D2: ; 0x038037D2 swi 6 bx lr - thumb_func_end sub_0200B9BA + thumb_func_end sub_038037D2 - non_word_aligned_thumb_func_start sub_0200B9BE -sub_0200B9BE: ; 0x0200B9BE + non_word_aligned_thumb_func_start sub_038037D6 +sub_038037D6: ; 0x038037D6 swi 7 bx lr - thumb_func_end sub_0200B9BE + thumb_func_end sub_038037D6 - non_word_aligned_thumb_func_start sub_0200B9C2 -sub_0200B9C2: ; 0x0200B9C2 + non_word_aligned_thumb_func_start sub_038037DA +sub_038037DA: ; 0x038037DA swi 8 bx lr - thumb_func_end sub_0200B9C2 + thumb_func_end sub_038037DA - non_word_aligned_thumb_func_start sub_0200B9C6 -sub_0200B9C6: ; 0x0200B9C6 + non_word_aligned_thumb_func_start sub_038037DE +sub_038037DE: ; 0x038037DE add r1, r0, #0 mov r0, #1 swi 8 bx lr - thumb_func_end sub_0200B9C6 + thumb_func_end sub_038037DE - non_word_aligned_thumb_func_start sub_0200B9CE -sub_0200B9CE: ; 0x0200B9CE + non_word_aligned_thumb_func_start sub_038037E6 +sub_038037E6: ; 0x038037E6 add r1, r0, #0 mov r0, #0 swi 8 bx lr - thumb_func_end sub_0200B9CE + thumb_func_end sub_038037E6 - non_word_aligned_thumb_func_start sub_0200B9D6 -sub_0200B9D6: ; 0x0200B9D6 + non_word_aligned_thumb_func_start sub_038037EE +sub_038037EE: ; 0x038037EE swi 9 bx lr - thumb_func_end sub_0200B9D6 + thumb_func_end sub_038037EE - non_word_aligned_thumb_func_start sub_0200B9DA -sub_0200B9DA: ; 0x0200B9DA + non_word_aligned_thumb_func_start sub_038037F2 +sub_038037F2: ; 0x038037F2 swi 9 add r0, r1, #0 bx lr - thumb_func_end sub_0200B9DA + thumb_func_end sub_038037F2 - thumb_func_start sub_0200B9E0 -sub_0200B9E0: ; 0x0200B9E0 + thumb_func_start sub_038037F8 +sub_038037F8: ; 0x038037F8 swi 0xb bx lr - thumb_func_end sub_0200B9E0 + thumb_func_end sub_038037F8 - thumb_func_start sub_0200B9E4 -sub_0200B9E4: ; 0x0200B9E4 + thumb_func_start sub_038037FC +sub_038037FC: ; 0x038037FC swi 0xc bx lr - thumb_func_end sub_0200B9E4 + thumb_func_end sub_038037FC - thumb_func_start sub_0200B9E8 -sub_0200B9E8: ; 0x0200B9E8 + thumb_func_start sub_03803800 +sub_03803800: ; 0x03803800 swi 0xd bx lr - thumb_func_end sub_0200B9E8 + thumb_func_end sub_03803800 - thumb_func_start sub_0200B9EC -sub_0200B9EC: ; 0x0200B9EC + thumb_func_start sub_03803804 +sub_03803804: ; 0x03803804 swi 0xe bx lr - thumb_func_end sub_0200B9EC + thumb_func_end sub_03803804 - thumb_func_start sub_0200B9F0 -sub_0200B9F0: ; 0x0200B9F0 + thumb_func_start sub_03803808 +sub_03803808: ; 0x03803808 swi 0xf bx lr - thumb_func_end sub_0200B9F0 + thumb_func_end sub_03803808 - thumb_func_start sub_0200B9F4 -sub_0200B9F4: ; 0x0200B9F4 + thumb_func_start sub_0380380C +sub_0380380C: ; 0x0380380C swi 0x10 bx lr - thumb_func_end sub_0200B9F4 + thumb_func_end sub_0380380C - thumb_func_start sub_0200B9F8 -sub_0200B9F8: ; 0x0200B9F8 + thumb_func_start sub_03803810 +sub_03803810: ; 0x03803810 swi 0x11 bx lr - thumb_func_end sub_0200B9F8 + thumb_func_end sub_03803810 - thumb_func_start sub_0200B9FC -sub_0200B9FC: ; 0x0200B9FC + thumb_func_start sub_03803814 +sub_03803814: ; 0x03803814 swi 0x12 bx lr - thumb_func_end sub_0200B9FC + thumb_func_end sub_03803814 - thumb_func_start sub_0200BA00 -sub_0200BA00: ; 0x0200BA00 + thumb_func_start sub_03803818 +sub_03803818: ; 0x03803818 swi 0x13 bx lr - thumb_func_end sub_0200BA00 + thumb_func_end sub_03803818 - thumb_func_start sub_0200BA04 -sub_0200BA04: ; 0x0200BA04 + thumb_func_start sub_0380381C +sub_0380381C: ; 0x0380381C swi 0x14 bx lr - thumb_func_end sub_0200BA04 + thumb_func_end sub_0380381C - thumb_func_start sub_0200BA08 -sub_0200BA08: ; 0x0200BA08 + thumb_func_start sub_03803820 +sub_03803820: ; 0x03803820 swi 0x15 bx lr - thumb_func_end sub_0200BA08 + thumb_func_end sub_03803820 - thumb_func_start sub_0200BA0C -sub_0200BA0C: ; 0x0200BA0C + thumb_func_start sub_03803824 +sub_03803824: ; 0x03803824 swi 0x1a bx lr - thumb_func_end sub_0200BA0C + thumb_func_end sub_03803824 - thumb_func_start sub_0200BA10 -sub_0200BA10: ; 0x0200BA10 + thumb_func_start sub_03803828 +sub_03803828: ; 0x03803828 swi 0x1b bx lr - thumb_func_end sub_0200BA10 + thumb_func_end sub_03803828 - thumb_func_start sub_0200BA14 -sub_0200BA14: ; 0x0200BA14 + thumb_func_start sub_0380382C +sub_0380382C: ; 0x0380382C swi 0x1c bx lr - thumb_func_end sub_0200BA14 + thumb_func_end sub_0380382C - arm_func_start sub_0200BA18 -sub_0200BA18: ; 0x0200BA18 - ldr r1, _0200BA50 ; =0x55555555 - ldr r2, _0200BA54 ; =0x33333333 + arm_func_start sub_03803830 +sub_03803830: ; 0x03803830 + ldr r1, _03803868 ; =0x55555555 + ldr r2, _0380386C ; =0x33333333 and r1, r1, r0, lsr #1 sub r1, r0, r1 - ldr r0, _0200BA58 ; =0x0F0F0F0F + ldr r0, _03803870 ; =0x0F0F0F0F and r3, r1, r2 and r1, r2, r1, lsr #2 add r1, r3, r1 @@ -14559,193 +14559,193 @@ sub_0200BA18: ; 0x0200BA18 and r0, r0, #0xff bx lr .align 2, 0 -_0200BA50: .word 0x55555555 -_0200BA54: .word 0x33333333 -_0200BA58: .word 0x0F0F0F0F - arm_func_end sub_0200BA18 +_03803868: .word 0x55555555 +_0380386C: .word 0x33333333 +_03803870: .word 0x0F0F0F0F + arm_func_end sub_03803830 - arm_func_start sub_0200BA5C -sub_0200BA5C: ; 0x0200BA5C + arm_func_start sub_03803874 +sub_03803874: ; 0x03803874 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #8 - ldr r1, _0200BB58 ; =0x038098D0 + ldr r1, _03803970 ; =0x038098D0 mov r4, r0 ldrh r0, [r1] cmp r0, #0 - bne _0200BB4C + bne _03803964 mov r0, #1 strh r0, [r1] mov r0, #0 str r0, [r1, #4] mov r0, #5 str r0, [r1, #8] - bl sub_0200BF38 - bl sub_00FFD194 - bl sub_0200D548 - bl sub_0200CA8C - bl sub_0200649C - ldr r1, _0200BB5C ; =0x03803CE8 + bl sub_03803D50 + bl sub_027F4FAC + bl sub_03805360 + bl sub_038048A4 + bl sub_037FE2B4 + ldr r1, _03803974 ; =0x03803CE8 mov r0, #6 - bl sub_02006584 - ldr r1, _0200BB5C ; =0x03803CE8 + bl sub_037FE39C + ldr r1, _03803974 ; =0x03803CE8 mov r0, #9 - bl sub_02006584 - ldr r1, _0200BB5C ; =0x03803CE8 + bl sub_037FE39C + ldr r1, _03803974 ; =0x03803CE8 mov r0, #8 - bl sub_02006584 - ldr r1, _0200BB5C ; =0x03803CE8 + bl sub_037FE39C + ldr r1, _03803974 ; =0x03803CE8 mov r0, #4 - bl sub_02006584 - ldr r0, _0200BB60 ; =0x03809B80 - ldr r1, _0200BB64 ; =0x03809BA0 + bl sub_037FE39C + ldr r0, _03803978 ; =0x03809B80 + ldr r1, _0380397C ; =0x03809BA0 mov r2, #0x10 - bl sub_02004894 + bl sub_037FC6AC mov sb, #0 mov r6, #0x18 - ldr r8, _0200BB68 ; =0x03809BE0 + ldr r8, _03803980 ; =0x03809BE0 mov r7, sb mov r5, r6 -_0200BAF8: +_03803910: mla r0, sb, r5, r8 mov r1, r7 mov r2, r6 - bl sub_02006258 + bl sub_037FE070 add sb, sb, #1 cmp sb, #0x10 - blt _0200BAF8 - ldr r0, _0200BB58 ; =0x038098D0 + blt _03803910 + ldr r0, _03803970 ; =0x038098D0 mov r2, #0 str r2, [r0, #0x490] str r2, [r0, #0x498] str r2, [r0, #0x494] mov r0, #0x200 str r0, [sp] - ldr r0, _0200BB6C ; =0x038098DC - ldr r1, _0200BB70 ; =0x03803C7C - ldr r3, _0200BB60 ; =0x03809B80 + ldr r0, _03803984 ; =0x038098DC + ldr r1, _03803988 ; =0x03803C7C + ldr r3, _03803978 ; =0x03809B80 str r4, [sp, #4] - bl sub_0200423C - ldr r0, _0200BB6C ; =0x038098DC - bl sub_02004554 -_0200BB4C: + bl sub_037FC054 + ldr r0, _03803984 ; =0x038098DC + bl sub_037FC36C +_03803964: add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, lr} bx lr .align 2, 0 -_0200BB58: .word 0x038098D0 -_0200BB5C: .word 0x03803CE8 -_0200BB60: .word 0x03809B80 -_0200BB64: .word 0x03809BA0 -_0200BB68: .word 0x03809BE0 -_0200BB6C: .word 0x038098DC -_0200BB70: .word 0x03803C7C - arm_func_end sub_0200BA5C +_03803970: .word 0x038098D0 +_03803974: .word 0x03803CE8 +_03803978: .word 0x03809B80 +_0380397C: .word 0x03809BA0 +_03803980: .word 0x03809BE0 +_03803984: .word 0x038098DC +_03803988: .word 0x03803C7C + arm_func_end sub_03803874 - arm_func_start sub_0200BB74 -sub_0200BB74: ; 0x0200BB74 + arm_func_start sub_0380398C +sub_0380398C: ; 0x0380398C stmdb sp!, {r4, r5, r6, lr} - ldr r5, _0200BBC8 ; =0x03809D64 - ldr r4, _0200BBCC ; =0x038098D0 + ldr r5, _038039E0 ; =0x03809D64 + ldr r4, _038039E4 ; =0x038098D0 mov r6, r0 -_0200BB84: - bl sub_02005EE8 +_0380399C: + bl sub_037FDD00 ldr r1, [r4, #4] cmp r1, #0 - beq _0200BBA4 - bl sub_02005EFC + beq _038039BC + bl sub_037FDD14 mov r0, r5 - bl sub_02004478 - b _0200BB84 -_0200BBA4: - ldr r1, _0200BBCC ; =0x038098D0 + bl sub_037FC290 + b _0380399C +_038039BC: + ldr r1, _038039E4 ; =0x038098D0 mov r2, #1 str r2, [r1, #4] mov r2, #4 str r2, [r1, #8] str r6, [r1, #0x49c] - bl sub_02005EFC + bl sub_037FDD14 ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_0200BBC8: .word 0x03809D64 -_0200BBCC: .word 0x038098D0 - arm_func_end sub_0200BB74 +_038039E0: .word 0x03809D64 +_038039E4: .word 0x038098D0 + arm_func_end sub_0380398C - arm_func_start sub_0200BBD0 -sub_0200BBD0: ; 0x0200BBD0 + arm_func_start sub_038039E8 +sub_038039E8: ; 0x038039E8 stmdb sp!, {r3, lr} - ldr r1, _0200BC28 ; =0x038098D0 + ldr r1, _03803A40 ; =0x038098D0 ldr r2, [r1, #4] cmp r2, #0 - beq _0200BC20 + beq _03803A38 ldr r2, [r1, #8] cmp r2, #4 ldreq r1, [r1, #0x49c] cmpeq r1, r0 - bne _0200BC20 - bl sub_02005EE8 - ldr r1, _0200BC28 ; =0x038098D0 + bne _03803A38 + bl sub_037FDD00 + ldr r1, _03803A40 ; =0x038098D0 mov r2, #5 str r2, [r1, #8] mov r2, #0 str r2, [r1, #4] str r2, [r1, #0x49c] - bl sub_02005EFC - ldr r0, _0200BC2C ; =0x03809D64 - bl sub_020044CC -_0200BC20: + bl sub_037FDD14 + ldr r0, _03803A44 ; =0x03809D64 + bl sub_037FC2E4 +_03803A38: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200BC28: .word 0x038098D0 -_0200BC2C: .word 0x03809D64 - arm_func_end sub_0200BBD0 +_03803A40: .word 0x038098D0 +_03803A44: .word 0x03809D64 + arm_func_end sub_038039E8 - arm_func_start sub_0200BC30 -sub_0200BC30: ; 0x0200BC30 + arm_func_start sub_03803A48 +sub_03803A48: ; 0x03803A48 stmdb sp!, {r4, r5, r6, lr} and r2, r0, #0x70 cmp r2, #0x30 - bgt _0200BC68 - bge _0200BCB4 + bgt _03803A80 + bge _03803ACC cmp r2, #0x10 - bgt _0200BC5C - bge _0200BC9C + bgt _03803A74 + bge _03803AB4 cmp r2, #0 - beq _0200BC9C - b _0200BCB8 -_0200BC5C: + beq _03803AB4 + b _03803AD0 +_03803A74: cmp r2, #0x20 - beq _0200BCB4 - b _0200BCB8 -_0200BC68: + beq _03803ACC + b _03803AD0 +_03803A80: cmp r2, #0x50 - bgt _0200BC80 - bge _0200BCA4 + bgt _03803A98 + bge _03803ABC cmp r2, #0x40 - beq _0200BCA4 - b _0200BCB8 -_0200BC80: + beq _03803ABC + b _03803AD0 +_03803A98: cmp r2, #0x60 - bgt _0200BC90 - beq _0200BCAC - b _0200BCB8 -_0200BC90: + bgt _03803AA8 + beq _03803AC4 + b _03803AD0 +_03803AA8: cmp r2, #0x70 - beq _0200BCAC - b _0200BCB8 -_0200BC9C: + beq _03803AC4 + b _03803AD0 +_03803AB4: mov r4, #6 - b _0200BCB8 -_0200BCA4: + b _03803AD0 +_03803ABC: mov r4, #9 - b _0200BCB8 -_0200BCAC: + b _03803AD0 +_03803AC4: mov r4, #8 - b _0200BCB8 -_0200BCB4: + b _03803AD0 +_03803ACC: mov r4, #4 -_0200BCB8: +_03803AD0: and r0, r0, #0xff orr r0, r0, #0x80 mov r0, r0, lsl #8 @@ -14753,63 +14753,63 @@ _0200BCB8: and r0, r1, #0xff orr r6, r2, r0 mov r5, #0 -_0200BCD4: +_03803AEC: mov r0, r4 mov r1, r6 mov r2, r5 - bl sub_020065F8 + bl sub_037FE410 cmp r0, #0 - blt _0200BCD4 + blt _03803AEC ldmia sp!, {r4, r5, r6, lr} bx lr - arm_func_end sub_0200BC30 + arm_func_end sub_03803A48 - arm_func_start sub_0200BCF4 -sub_0200BCF4: ; 0x0200BCF4 - ldr r0, _0200BD0C ; =0x038098D0 + arm_func_start sub_03803B0C +sub_03803B0C: ; 0x03803B0C + ldr r0, _03803B24 ; =0x038098D0 ldr r0, [r0, #4] cmp r0, #0 moveq r0, #1 movne r0, #0 bx lr .align 2, 0 -_0200BD0C: .word 0x038098D0 - arm_func_end sub_0200BCF4 +_03803B24: .word 0x038098D0 + arm_func_end sub_03803B0C - arm_func_start sub_0200BD10 -sub_0200BD10: ; 0x0200BD10 - ldr r1, _0200BD24 ; =0x038098D0 + arm_func_start sub_03803B28 +sub_03803B28: ; 0x03803B28 + ldr r1, _03803B3C ; =0x038098D0 mov r2, #1 str r2, [r1, #4] str r0, [r1, #8] bx lr .align 2, 0 -_0200BD24: .word 0x038098D0 - arm_func_end sub_0200BD10 +_03803B3C: .word 0x038098D0 + arm_func_end sub_03803B28 - arm_func_start sub_0200BD28 -sub_0200BD28: ; 0x0200BD28 + arm_func_start sub_03803B40 +sub_03803B40: ; 0x03803B40 stmdb sp!, {r3, lr} - ldr r1, _0200BD5C ; =0x038098D0 + ldr r1, _03803B74 ; =0x038098D0 ldr r2, [r1, #8] cmp r2, r0 - bne _0200BD54 - ldr r0, _0200BD60 ; =0x03809D64 + bne _03803B6C + ldr r0, _03803B78 ; =0x03809D64 mov r2, #5 str r2, [r1, #8] mov r2, #0 str r2, [r1, #4] - bl sub_020044CC -_0200BD54: + bl sub_037FC2E4 +_03803B6C: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200BD5C: .word 0x038098D0 -_0200BD60: .word 0x03809D64 - arm_func_end sub_0200BD28 +_03803B74: .word 0x038098D0 +_03803B78: .word 0x03809D64 + arm_func_end sub_03803B40 - arm_func_start sub_0200BD64 -sub_0200BD64: ; 0x0200BD64 + arm_func_start sub_03803B7C +sub_03803B7C: ; 0x03803B7C stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, r6, lr} ldrh r2, [sp, #0x18] @@ -14817,15 +14817,15 @@ sub_0200BD64: ; 0x0200BD64 cmp r2, #4 mov r4, r1 movhi r0, #0 - bhi _0200BE24 - bl sub_02005EE8 - ldr r3, _0200BE30 ; =0x038098D0 + bhi _03803C3C + bl sub_037FDD00 + ldr r3, _03803C48 ; =0x038098D0 add r2, sp, #0x18 ldr ip, [r3, #0x490] mov r1, #0x18 mul r6, ip, r1 - ldr lr, _0200BE34 ; =0x03809BE0 - ldr ip, _0200BE38 ; =0x03809BE4 + ldr lr, _03803C4C ; =0x03809BE0 + ldr ip, _03803C50 ; =0x03809BE4 str r5, [lr, r6] ldr r5, [r3, #0x490] bic r2, r2, #3 @@ -14833,11 +14833,11 @@ sub_0200BD64: ; 0x0200BD64 str r4, [ip, lr] add r6, r2, #4 ldrh r1, [sp, #0x18] - ldr r5, _0200BE3C ; =0x038098D4 + ldr r5, _03803C54 ; =0x038098D4 mov lr, #0 mov r2, #0x18 - b _0200BDEC -_0200BDD0: + b _03803C04 +_03803BE8: ldr ip, [r3, #0x490] add r6, r6, #4 mla r4, ip, r2, r5 @@ -14845,406 +14845,406 @@ _0200BDD0: ldr ip, [r6, #-4] add lr, lr, #1 str ip, [r4, #0x314] -_0200BDEC: +_03803C04: cmp lr, r1 - blt _0200BDD0 - ldr r1, _0200BE30 ; =0x038098D0 + blt _03803BE8 + ldr r1, _03803C48 ; =0x038098D0 ldr r4, [r1, #0x490] add r2, r4, #1 and r2, r2, #0xf str r2, [r1, #0x490] - bl sub_02005EFC - ldr r1, _0200BE34 ; =0x03809BE0 + bl sub_037FDD14 + ldr r1, _03803C4C ; =0x03809BE0 mov r0, #0x18 mla r1, r4, r0, r1 - ldr r0, _0200BE40 ; =0x03809B80 + ldr r0, _03803C58 ; =0x03809B80 mov r2, #0 - bl sub_020048BC -_0200BE24: + bl sub_037FC6D4 +_03803C3C: ldmia sp!, {r4, r5, r6, lr} add sp, sp, #0x10 bx lr .align 2, 0 -_0200BE30: .word 0x038098D0 -_0200BE34: .word 0x03809BE0 -_0200BE38: .word 0x03809BE4 -_0200BE3C: .word 0x038098D4 -_0200BE40: .word 0x03809B80 - arm_func_end sub_0200BD64 +_03803C48: .word 0x038098D0 +_03803C4C: .word 0x03809BE0 +_03803C50: .word 0x03809BE4 +_03803C54: .word 0x038098D4 +_03803C58: .word 0x03809B80 + arm_func_end sub_03803B7C - arm_func_start sub_0200BE44 -sub_0200BE44: ; 0x0200BE44 + arm_func_start sub_03803C5C +sub_03803C5C: ; 0x03803C5C stmdb sp!, {r3, lr} - ldr r0, _0200BE60 ; =0x03809B80 + ldr r0, _03803C78 ; =0x03809B80 add r1, sp, #0 mov r2, #0 - bl sub_020049E4 + bl sub_037FC7FC ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200BE60: .word 0x03809B80 - arm_func_end sub_0200BE44 +_03803C78: .word 0x03809B80 + arm_func_end sub_03803C5C - arm_func_start sub_0200BE64 -sub_0200BE64: ; 0x0200BE64 + arm_func_start sub_03803C7C +sub_03803C7C: ; 0x03803C7C stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 - ldr r6, _0200BECC ; =0x03809B80 + ldr r6, _03803CE4 ; =0x03809B80 add r5, sp, #0 mov r4, #1 -_0200BE78: +_03803C90: mov r0, r6 mov r1, r5 mov r2, r4 - bl sub_02004948 + bl sub_037FC760 ldr r0, [sp] ldr r1, [r0] cmp r1, #3 addls pc, pc, r1, lsl #2 - b _0200BE78 -_0200BE9C: ; jump table - b _0200BEAC ; case 0 - b _0200BEC4 ; case 1 - b _0200BEB4 ; case 2 - b _0200BEBC ; case 3 -_0200BEAC: - bl sub_0200C230 - b _0200BE78 -_0200BEB4: - bl sub_0200D8FC - b _0200BE78 -_0200BEBC: - bl sub_0200CC84 - b _0200BE78 -_0200BEC4: - bl sub_00FFD364 - b _0200BE78 + b _03803C90 +_03803CB4: ; jump table + b _03803CC4 ; case 0 + b _03803CDC ; case 1 + b _03803CCC ; case 2 + b _03803CD4 ; case 3 +_03803CC4: + bl sub_03804048 + b _03803C90 +_03803CCC: + bl sub_03805714 + b _03803C90 +_03803CD4: + bl sub_03804A9C + b _03803C90 +_03803CDC: + bl sub_027F517C + b _03803C90 .align 2, 0 -_0200BECC: .word 0x03809B80 - arm_func_end sub_0200BE64 +_03803CE4: .word 0x03809B80 + arm_func_end sub_03803C7C - arm_func_start sub_0200BED0 -sub_0200BED0: ; 0x0200BED0 + arm_func_start sub_03803CE8 +sub_03803CE8: ; 0x03803CE8 stmdb sp!, {r3, lr} cmp r2, #0 - bne _0200BF30 + bne _03803D48 sub r0, r0, #4 cmp r0, #5 addls pc, pc, r0, lsl #2 - b _0200BF30 -_0200BEEC: ; jump table - b _0200BF28 ; case 0 - b _0200BF30 ; case 1 - b _0200BF04 ; case 2 - b _0200BF30 ; case 3 - b _0200BF1C ; case 4 - b _0200BF10 ; case 5 -_0200BF04: + b _03803D48 +_03803D04: ; jump table + b _03803D40 ; case 0 + b _03803D48 ; case 1 + b _03803D1C ; case 2 + b _03803D48 ; case 3 + b _03803D34 ; case 4 + b _03803D28 ; case 5 +_03803D1C: mov r0, r1 - bl sub_0200C048 - b _0200BF30 -_0200BF10: + bl sub_03803E60 + b _03803D48 +_03803D28: mov r0, r1 - bl sub_0200D590 - b _0200BF30 -_0200BF1C: + bl sub_038053A8 + b _03803D48 +_03803D34: mov r0, r1 - bl sub_0200CAC8 - b _0200BF30 -_0200BF28: + bl sub_038048E0 + b _03803D48 +_03803D40: mov r0, r1 - bl sub_00FFD1BC -_0200BF30: + bl sub_027F4FD4 +_03803D48: ldmia sp!, {r3, lr} bx lr - arm_func_end sub_0200BED0 + arm_func_end sub_03803CE8 - arm_func_start sub_0200BF38 -sub_0200BF38: ; 0x0200BF38 + arm_func_start sub_03803D50 +sub_03803D50: ; 0x03803D50 stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r0, _0200C004 ; =0x03809D70 + ldr r0, _03803E1C ; =0x03809D70 mov r3, #0 str r3, [r0, #0x24] mov r1, #0x14 str r1, [r0, #0x28] str r1, [r0, #0x2c] - ldr r0, _0200C008 ; =0x03809D74 + ldr r0, _03803E20 ; =0x03809D74 mov r2, r3 -_0200BF5C: +_03803D74: mov r1, r3, lsl #1 add r3, r3, #1 strh r2, [r0, r1] cmp r3, #0x10 - blt _0200BF5C - bl sub_02005980 + blt _03803D74 + bl sub_037FD798 cmp r0, #0 - bne _0200BF80 - bl sub_02005934 -_0200BF80: - ldr r7, _0200C00C ; =0x03809DA0 - ldr r5, _0200C010 ; =0x54505641 + bne _03803D98 + bl sub_037FD74C +_03803D98: + ldr r7, _03803E24 ; =0x03809DA0 + ldr r5, _03803E28 ; =0x54505641 mov r8, #0 mov r4, #0x28 -_0200BF90: +_03803DA8: mul r6, r8, r4 add r0, r7, r6 - bl sub_02005A6C + bl sub_037FD884 mov r1, r5 add r0, r7, r6 - bl sub_02005BFC + bl sub_037FDA14 add r8, r8, #1 cmp r8, #4 - blt _0200BF90 - ldr r2, _0200C014 ; =0x040001C0 -_0200BFB8: + blt _03803DA8 + ldr r2, _03803E2C ; =0x040001C0 +_03803DD0: ldrh r0, [r2] tst r0, #0x80 - bne _0200BFB8 - ldr r1, _0200C018 ; =0x00008A01 - ldr r0, _0200C01C ; =0x040001C2 + bne _03803DD0 + ldr r1, _03803E30 ; =0x00008A01 + ldr r0, _03803E34 ; =0x040001C2 strh r1, [r2] mov r1, #0x84 strh r1, [r0] sub r1, r0, #2 -_0200BFDC: +_03803DF4: ldrh r0, [r1] tst r0, #0x80 - bne _0200BFDC - bl sub_0200C024 - ldr r1, _0200C020 ; =0x00008201 - ldr r0, _0200C014 ; =0x040001C0 + bne _03803DF4 + bl sub_03803E3C + ldr r1, _03803E38 ; =0x00008201 + ldr r0, _03803E2C ; =0x040001C0 strh r1, [r0] - bl sub_0200C024 + bl sub_03803E3C ldmia sp!, {r4, r5, r6, r7, r8, lr} bx lr .align 2, 0 -_0200C004: .word 0x03809D70 -_0200C008: .word 0x03809D74 -_0200C00C: .word 0x03809DA0 -_0200C010: .word 0x54505641 -_0200C014: .word 0x040001C0 -_0200C018: .word 0x00008A01 -_0200C01C: .word 0x040001C2 -_0200C020: .word 0x00008201 - arm_func_end sub_0200BF38 +_03803E1C: .word 0x03809D70 +_03803E20: .word 0x03809D74 +_03803E24: .word 0x03809DA0 +_03803E28: .word 0x54505641 +_03803E2C: .word 0x040001C0 +_03803E30: .word 0x00008A01 +_03803E34: .word 0x040001C2 +_03803E38: .word 0x00008201 + arm_func_end sub_03803D50 - arm_func_start sub_0200C024 -sub_0200C024: ; 0x0200C024 - ldr r0, _0200C044 ; =0x040001C2 + arm_func_start sub_03803E3C +sub_03803E3C: ; 0x03803E3C + ldr r0, _03803E5C ; =0x040001C2 mov r1, #0 strh r1, [r0] sub r1, r0, #2 -_0200C034: +_03803E4C: ldrh r0, [r1] tst r0, #0x80 - bne _0200C034 + bne _03803E4C bx lr .align 2, 0 -_0200C044: .word 0x040001C2 - arm_func_end sub_0200C024 +_03803E5C: .word 0x040001C2 + arm_func_end sub_03803E3C - arm_func_start sub_0200C048 -sub_0200C048: ; 0x0200C048 + arm_func_start sub_03803E60 +sub_03803E60: ; 0x03803E60 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 tst r0, #0x2000000 - beq _0200C078 - ldr r1, _0200C224 ; =0x03809D74 + beq _03803E90 + ldr r1, _0380403C ; =0x03809D74 mov r4, #0 mov r3, r4 -_0200C064: +_03803E7C: mov r2, r4, lsl #1 add r4, r4, #1 strh r3, [r1, r2] cmp r4, #0x10 - blt _0200C064 -_0200C078: - ldr r1, _0200C224 ; =0x03809D74 + blt _03803E7C +_03803E90: + ldr r1, _0380403C ; =0x03809D74 and r2, r0, #0xf0000 mov r2, r2, lsr #0x10 mov r2, r2, lsl #1 strh r0, [r1, r2] tst r0, #0x1000000 - beq _0200C218 - ldr r2, _0200C228 ; =0x03809D70 + beq _03804030 + ldr r2, _03804040 ; =0x03809D70 ldrh r1, [r2, #4] and r0, r1, #0xff00 mov r0, r0, lsl #8 mov r4, r0, lsr #0x10 cmp r4, #3 addls pc, pc, r4, lsl #2 - b _0200C20C -_0200C0B4: ; jump table - b _0200C0F8 ; case 0 - b _0200C120 ; case 1 - b _0200C1BC ; case 2 - b _0200C0C4 ; case 3 -_0200C0C4: + b _03804024 +_03803ECC: ; jump table + b _03803F10 ; case 0 + b _03803F38 ; case 1 + b _03803FD4 ; case 2 + b _03803EDC ; case 3 +_03803EDC: and r0, r1, #0xff mov r0, r0, lsl #0x10 movs r3, r0, lsr #0x10 mov r0, #3 - bne _0200C0E4 + bne _03803EFC mov r1, #2 - bl sub_0200BC30 - b _0200C218 -_0200C0E4: + bl sub_03803A48 + b _03804030 +_03803EFC: str r3, [r2, #0x28] mov r1, #0 str r3, [r2, #0x2c] - bl sub_0200BC30 - b _0200C218 -_0200C0F8: + bl sub_03803A48 + b _03804030 +_03803F10: mov r0, #0 mov r1, r4 mov r2, r0 - bl sub_0200BD64 + bl sub_03803B7C cmp r0, #0 - bne _0200C218 + bne _03804030 mov r0, r4 mov r1, #4 - bl sub_0200BC30 - b _0200C218 -_0200C120: + bl sub_03803A48 + b _03804030 +_03803F38: ldr r0, [r2, #0x24] cmp r0, #0 - beq _0200C13C + beq _03803F54 mov r0, r4 mov r1, #3 - bl sub_0200BC30 - b _0200C218 -_0200C13C: + bl sub_03803A48 + b _03804030 +_03803F54: and r0, r1, #0xff mov r0, r0, lsl #0x10 movs r3, r0, lsr #0x10 - beq _0200C154 + beq _03803F6C cmp r3, #4 - bls _0200C164 -_0200C154: + bls _03803F7C +_03803F6C: mov r0, r4 mov r1, #2 - bl sub_0200BC30 - b _0200C218 -_0200C164: + bl sub_03803A48 + b _03804030 +_03803F7C: ldrh ip, [r2, #6] - ldr r0, _0200C22C ; =0x00000107 + ldr r0, _03804044 ; =0x00000107 cmp ip, r0 - blo _0200C184 + blo _03803F9C mov r0, r4 mov r1, #2 - bl sub_0200BC30 - b _0200C218 -_0200C184: + bl sub_03803A48 + b _03804030 +_03803F9C: mov r1, r4 mov r0, #0 mov r2, #2 str ip, [sp] - bl sub_0200BD64 + bl sub_03803B7C cmp r0, #0 - ldrne r0, _0200C228 ; =0x03809D70 + ldrne r0, _03804040 ; =0x03809D70 movne r1, #1 strne r1, [r0, #0x24] - bne _0200C218 + bne _03804030 mov r0, r4 mov r1, #4 - bl sub_0200BC30 - b _0200C218 -_0200C1BC: + bl sub_03803A48 + b _03804030 +_03803FD4: ldr r0, [r2, #0x24] cmp r0, #2 - beq _0200C1D8 + beq _03803FF0 mov r0, r4 mov r1, #3 - bl sub_0200BC30 - b _0200C218 -_0200C1D8: + bl sub_03803A48 + b _03804030 +_03803FF0: mov r0, #0 mov r1, r4 mov r2, r0 - bl sub_0200BD64 + bl sub_03803B7C cmp r0, #0 - ldrne r0, _0200C228 ; =0x03809D70 + ldrne r0, _03804040 ; =0x03809D70 movne r1, #3 strne r1, [r0, #0x24] - bne _0200C218 + bne _03804030 mov r0, r4 mov r1, #4 - bl sub_0200BC30 - b _0200C218 -_0200C20C: + bl sub_03803A48 + b _03804030 +_03804024: mov r0, r4 mov r1, #1 - bl sub_0200BC30 -_0200C218: + bl sub_03803A48 +_03804030: add sp, sp, #4 ldmia sp!, {r3, r4, lr} bx lr .align 2, 0 -_0200C224: .word 0x03809D74 -_0200C228: .word 0x03809D70 -_0200C22C: .word 0x00000107 - arm_func_end sub_0200C048 +_0380403C: .word 0x03809D74 +_03804040: .word 0x03809D70 +_03804044: .word 0x00000107 + arm_func_end sub_03803E60 - arm_func_start sub_0200C230 -sub_0200C230: ; 0x0200C230 + arm_func_start sub_03804048 +sub_03804048: ; 0x03804048 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc mov sl, r0 ldr r1, [sl, #4] cmp r1, #2 - bhi _0200C264 + bhi _0380407C cmp r1, #0 - beq _0200C27C + beq _03804094 cmp r1, #1 - beq _0200C3E8 + beq _03804200 cmp r1, #2 - beq _0200C4B0 - b _0200C4FC -_0200C264: + beq _038042C8 + b _03804314 +_0380407C: cmp r1, #0x10 - bne _0200C4FC - ldr r0, _0200C508 ; =0x03809D70 + bne _03804314 + ldr r0, _03804320 ; =0x03809D70 ldr r0, [r0, #0x24] cmp r0, #2 - bne _0200C4FC -_0200C27C: - bl sub_02005EE8 + bne _03804314 +_03804094: + bl sub_037FDD00 mov r4, r0 mov r0, #0 - bl sub_0200BCF4 + bl sub_03803B0C cmp r0, #0 - bne _0200C2B4 + bne _038040CC mov r0, r4 - bl sub_02005EFC + bl sub_037FDD14 ldr r0, [sl, #4] mov r1, #4 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_0200BC30 - b _0200C4FC -_0200C2B4: + bl sub_03803A48 + b _03804314 +_038040CC: mov r0, #0 - bl sub_0200BD10 + bl sub_03803B28 mov r0, r4 - bl sub_02005EFC - ldr r1, _0200C508 ; =0x03809D70 + bl sub_037FDD14 + ldr r1, _03804320 ; =0x03809D70 add r0, sp, #8 ldr r1, [r1, #0x28] add r2, sp, #4 - bl sub_0200C894 + bl sub_038046AC ldr r0, [sp, #8] ldrh r2, [sp, #4] mov r1, r0, lsl #7 movs r1, r1, lsr #0x1f - ldreq r0, _0200C508 ; =0x03809D70 + ldreq r0, _03804320 ; =0x03809D70 moveq r1, #0 streqb r1, [r0, #1] streqb r1, [r0] - beq _0200C394 + beq _038041AC mov r0, r0, lsl #5 movs r0, r0, lsr #0x1e - beq _0200C344 - ldr r0, _0200C508 ; =0x03809D70 + beq _0380415C + ldr r0, _03804320 ; =0x03809D70 mov r3, #0 strb r3, [r0] ldrb r1, [r0, #1] @@ -15252,27 +15252,27 @@ _0200C2B4: and r1, r2, #0xff strb r2, [r0, #1] cmp r1, #4 - blo _0200C394 + blo _038041AC strb r3, [r0, #1] ldr r1, [r0, #0x28] cmp r1, #0x23 addlt r1, r1, #1 strlt r1, [r0, #0x28] - b _0200C394 -_0200C344: - ldr r0, _0200C508 ; =0x03809D70 + b _038041AC +_0380415C: + ldr r0, _03804320 ; =0x03809D70 mov r4, #0 strb r4, [r0, #1] ldr r3, [r0, #0x28] cmp r2, r3, asr #1 strgeb r4, [r0] - bge _0200C394 + bge _038041AC ldrb r1, [r0] add r2, r1, #1 and r1, r2, #0xff strb r2, [r0] cmp r1, #4 - blo _0200C394 + blo _038041AC strb r4, [r0] ldr r1, [r0, #0x2c] cmp r3, r1 @@ -15280,122 +15280,122 @@ _0200C344: strgt r1, [r0, #0x28] movgt r1, #3 strgtb r1, [r0, #1] -_0200C394: +_038041AC: ldrh r0, [sp, #8] - ldr r1, _0200C50C ; =0x027FFFAA + ldr r1, _03804324 ; =0x027FFFAA strh r0, [r1] ldrh r0, [sp, #0xa] strh r0, [r1, #2] ldr r0, [sl, #4] cmp r0, #0 - bne _0200C3C8 + bne _038041E0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, #0 - bl sub_0200BC30 - b _0200C3DC -_0200C3C8: + bl sub_03803A48 + b _038041F4 +_038041E0: ldr r1, [sl, #8] mov r0, r0, lsl #0x10 and r1, r1, #0xff mov r0, r0, lsr #0x10 - bl sub_0200BC30 -_0200C3DC: + bl sub_03803A48 +_038041F4: mov r0, #0 - bl sub_0200BD28 - b _0200C4FC -_0200C3E8: - ldr r0, _0200C508 ; =0x03809D70 + bl sub_03803B40 + b _03804314 +_03804200: + ldr r0, _03804320 ; =0x03809D70 ldr r0, [r0, #0x24] cmp r0, #1 - bne _0200C49C - ldr r8, _0200C510 ; =0x00000107 - ldr r6, _0200C514 ; =0x03809D74 - ldr r5, _0200C518 ; =0x03809DA0 + bne _038042B4 + ldr r8, _03804328 ; =0x00000107 + ldr r6, _0380432C ; =0x03809D74 + ldr r5, _03804330 ; =0x03809DA0 mov sb, #0 mov r7, #0xd7 mov fp, #0xa mov r4, #0x28 - b _0200C46C -_0200C418: + b _03804284 +_03804230: mul r0, sb, r8 - bl sub_0200EFBC + bl sub_03806DD4 ldr r2, [sl, #0xc] mov r1, r8 add r0, r2, r0 - bl sub_0200EFBC + bl sub_03806DD4 mov r0, r1, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #0xc8 - blo _0200C448 + blo _03804260 cmp r0, #0xd7 movlo r0, r7 -_0200C448: +_03804260: add r1, r6, sb, lsl #1 strh r0, [r1, #0xcc] str sb, [sp] mla r0, sb, r4, r5 ldrsh r1, [r1, #0xcc] - ldr r3, _0200C51C ; =0x0380433C + ldr r3, _03804334 ; =0x0380433C mov r2, fp - bl sub_02005B10 + bl sub_037FD928 add sb, sb, #1 -_0200C46C: +_03804284: ldr r1, [sl, #8] cmp sb, r1 - blo _0200C418 + blo _03804230 ldr r0, [sl, #4] mov r1, #0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_0200BC30 - ldr r0, _0200C508 ; =0x03809D70 + bl sub_03803A48 + ldr r0, _03804320 ; =0x03809D70 mov r1, #2 str r1, [r0, #0x24] - b _0200C4FC -_0200C49C: + b _03804314 +_038042B4: mov r0, r1, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, #3 - bl sub_0200BC30 - b _0200C4FC -_0200C4B0: - ldr r0, _0200C508 ; =0x03809D70 + bl sub_03803A48 + b _03804314 +_038042C8: + ldr r0, _03804320 ; =0x03809D70 ldr r0, [r0, #0x24] cmp r0, #3 - bne _0200C4EC - ldr r0, _0200C520 ; =0x54505641 - bl sub_02005C6C + bne _03804304 + ldr r0, _03804338 ; =0x54505641 + bl sub_037FDA84 ldr r0, [sl, #4] mov r1, #0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_0200BC30 - ldr r0, _0200C508 ; =0x03809D70 + bl sub_03803A48 + ldr r0, _03804320 ; =0x03809D70 mov r1, #0 str r1, [r0, #0x24] - b _0200C4FC -_0200C4EC: + b _03804314 +_03804304: mov r0, r1, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, #3 - bl sub_0200BC30 -_0200C4FC: + bl sub_03803A48 +_03804314: add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_0200C508: .word 0x03809D70 -_0200C50C: .word 0x027FFFAA -_0200C510: .word 0x00000107 -_0200C514: .word 0x03809D74 -_0200C518: .word 0x03809DA0 -_0200C51C: .word 0x0380433C -_0200C520: .word 0x54505641 - arm_func_end sub_0200C230 +_03804320: .word 0x03809D70 +_03804324: .word 0x027FFFAA +_03804328: .word 0x00000107 +_0380432C: .word 0x03809D74 +_03804330: .word 0x03809DA0 +_03804334: .word 0x0380433C +_03804338: .word 0x54505641 + arm_func_end sub_03804048 - arm_func_start sub_0200C524 -sub_0200C524: ; 0x0200C524 + arm_func_start sub_0380433C +sub_0380433C: ; 0x0380433C stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 @@ -15403,11 +15403,11 @@ sub_0200C524: ; 0x0200C524 mov r0, #0 mov r1, #0x10 mov r2, #1 - bl sub_0200BD64 + bl sub_03803B7C cmp r0, #0 - bne _0200C57C + bne _03804394 ldr r0, [sp] - ldr r3, _0200C588 ; =0x027FFFAA + ldr r3, _038043A0 ; =0x027FFFAA bic r0, r0, #0x6000000 orr r0, r0, #0x6000000 str r0, [sp] @@ -15417,107 +15417,107 @@ sub_0200C524: ; 0x0200C524 and r1, r4, #0xff mov r0, #0x10 strh r2, [r3, #2] - bl sub_0200BC30 -_0200C57C: + bl sub_03803A48 +_03804394: add sp, sp, #4 ldmia sp!, {r3, r4, lr} bx lr .align 2, 0 -_0200C588: .word 0x027FFFAA - arm_func_end sub_0200C524 +_038043A0: .word 0x027FFFAA + arm_func_end sub_0380433C - arm_func_start sub_0200C58C -sub_0200C58C: ; 0x0200C58C + arm_func_start sub_038043A4 +sub_038043A4: ; 0x038043A4 stmdb sp!, {r3, lr} mov r0, #0x8000 - bl sub_02006790 - ldr r2, _0200C668 ; =0x040001C0 -_0200C59C: + bl sub_037FE5A8 + ldr r2, _03804480 ; =0x040001C0 +_038043B4: ldrh r0, [r2] tst r0, #0x80 - bne _0200C59C - ldr r1, _0200C66C ; =0x00008A01 - ldr r0, _0200C670 ; =0x040001C2 + bne _038043B4 + ldr r1, _03804484 ; =0x00008A01 + ldr r0, _03804488 ; =0x040001C2 strh r1, [r2] mov r1, #0x84 strh r1, [r0] sub r1, r0, #2 -_0200C5C0: +_038043D8: ldrh r0, [r1] tst r0, #0x80 - bne _0200C5C0 - bl sub_0200C680 - ldr r1, _0200C674 ; =0x00008201 - ldr r0, _0200C668 ; =0x040001C0 + bne _038043D8 + bl sub_03804498 + ldr r1, _0380448C ; =0x00008201 + ldr r0, _03804480 ; =0x040001C0 strh r1, [r0] - bl sub_0200C680 - ldr r0, _0200C678 ; =0x03809E48 + bl sub_03804498 + ldr r0, _03804490 ; =0x03809E48 ldrh r0, [r0] cmp r0, #0 - bne _0200C608 - ldr r0, _0200C67C ; =0x04000136 + bne _03804420 + ldr r0, _03804494 ; =0x04000136 ldrh r0, [r0] tst r0, #0x40 moveq r0, #1 movne r0, #0 - b _0200C660 -_0200C608: - ldr r2, _0200C67C ; =0x04000136 + b _03804478 +_03804420: + ldr r2, _03804494 ; =0x04000136 ldrh r0, [r2] tst r0, #0x40 moveq r0, #1 - beq _0200C660 - ldr r1, _0200C66C ; =0x00008A01 + beq _03804478 + ldr r1, _03804484 ; =0x00008A01 mov r0, #0x84 strh r1, [r2, #0x8a] strh r0, [r2, #0x8c] -_0200C62C: +_03804444: ldrh r0, [r2, #0x8a] tst r0, #0x80 - bne _0200C62C - bl sub_0200C680 - ldr r1, _0200C674 ; =0x00008201 - ldr r0, _0200C668 ; =0x040001C0 + bne _03804444 + bl sub_03804498 + ldr r1, _0380448C ; =0x00008201 + ldr r0, _03804480 ; =0x040001C0 strh r1, [r0] - bl sub_0200C680 - ldr r0, _0200C67C ; =0x04000136 + bl sub_03804498 + ldr r0, _03804494 ; =0x04000136 ldrh r0, [r0] tst r0, #0x40 movne r0, #0 moveq r0, #2 -_0200C660: +_03804478: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200C668: .word 0x040001C0 -_0200C66C: .word 0x00008A01 -_0200C670: .word 0x040001C2 -_0200C674: .word 0x00008201 -_0200C678: .word 0x03809E48 -_0200C67C: .word 0x04000136 - arm_func_end sub_0200C58C +_03804480: .word 0x040001C0 +_03804484: .word 0x00008A01 +_03804488: .word 0x040001C2 +_0380448C: .word 0x00008201 +_03804490: .word 0x03809E48 +_03804494: .word 0x04000136 + arm_func_end sub_038043A4 - arm_func_start sub_0200C680 -sub_0200C680: ; 0x0200C680 - ldr r0, _0200C6A0 ; =0x040001C2 + arm_func_start sub_03804498 +sub_03804498: ; 0x03804498 + ldr r0, _038044B8 ; =0x040001C2 mov r1, #0 strh r1, [r0] sub r1, r0, #2 -_0200C690: +_038044A8: ldrh r0, [r1] tst r0, #0x80 - bne _0200C690 + bne _038044A8 bx lr .align 2, 0 -_0200C6A0: .word 0x040001C2 - arm_func_end sub_0200C680 +_038044B8: .word 0x040001C2 + arm_func_end sub_03804498 - arm_func_start sub_0200C6A4 -sub_0200C6A4: ; 0x0200C6A4 + arm_func_start sub_038044BC +sub_038044BC: ; 0x038044BC stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x14 cmp r2, #0 - ldr r2, _0200C880 ; =0x040001C0 + ldr r2, _03804698 ; =0x040001C0 mov r5, r3 moveq r3, #0xd1 moveq r4, #1 @@ -15525,43 +15525,43 @@ sub_0200C6A4: ; 0x0200C6A4 mov r6, r1 movne r3, #0x91 movne r4, #2 -_0200C6D0: +_038044E8: ldrh r0, [r2] tst r0, #0x80 - bne _0200C6D0 - ldr r1, _0200C884 ; =0x00008A01 - ldr r0, _0200C888 ; =0x040001C2 + bne _038044E8 + ldr r1, _0380469C ; =0x00008A01 + ldr r0, _038046A0 ; =0x040001C2 strh r1, [r2] and r2, r3, #0xff strh r2, [r0] sub r1, r0, #2 -_0200C6F4: +_0380450C: ldrh r0, [r1] tst r0, #0x80 - bne _0200C6F4 + bne _0380450C mov r0, r2, lsl #0x10 - ldr r2, _0200C880 ; =0x040001C0 + ldr r2, _03804698 ; =0x040001C0 mov ip, #0 - ldr r8, _0200C88C ; =0x00007FF8 + ldr r8, _038046A4 ; =0x00007FF8 add r1, sp, #0 mov r0, r0, lsr #0x10 mov r3, ip -_0200C71C: +_03804534: strh r3, [r2, #2] -_0200C720: +_03804538: ldrh sb, [r2] tst sb, #0x80 - bne _0200C720 + bne _03804538 ldrh sb, [r2, #2] and sb, sb, #0xff mov lr, sb, lsl #0x10 mov sb, lr, lsr #8 str sb, [r1, ip, lsl #2] strh r0, [r2, #2] -_0200C744: +_0380455C: ldrh sb, [r2] tst sb, #0x80 - bne _0200C744 + bne _0380455C ldrh lr, [r2, #2] ldr sb, [r1, ip, lsl #2] and lr, lr, #0xff @@ -15572,73 +15572,73 @@ _0200C744: str lr, [r1, ip, lsl #2] add ip, ip, #1 cmp ip, #5 - blt _0200C71C - ldr r0, _0200C890 ; =0x00008201 + blt _03804534 + ldr r0, _038046A8 ; =0x00008201 strh r0, [r2] - bl sub_0200C680 + bl sub_03804498 mov r8, #0 mov sb, r8 add r2, sp, #0 -_0200C794: +_038045AC: ldr r1, [r2, sb, lsl #2] add r3, sb, #1 - b _0200C7B8 -_0200C7A0: + b _038045D0 +_038045B8: ldr r0, [r2, r3, lsl #2] add r3, r3, #1 subs r0, r1, r0 rsbmi r0, r0, #0 cmp r0, r8 movgt r8, r0 -_0200C7B8: +_038045D0: cmp r3, #5 - blt _0200C7A0 + blt _038045B8 add sb, sb, #1 cmp sb, #4 - blt _0200C794 + blt _038045AC strh r8, [r5] mov r8, #0 add r0, sp, #0 - b _0200C850 -_0200C7DC: + b _03804668 +_038045F4: ldr r3, [r0, r8, lsl #2] add sb, r8, #1 - b _0200C844 -_0200C7E8: + b _0380465C +_03804600: ldr r2, [r0, sb, lsl #2] subs r1, r3, r2 rsbmi r1, r1, #0 cmp r1, r6 - bgt _0200C840 + bgt _03804658 add r1, sb, #1 - b _0200C838 -_0200C804: + b _03804650 +_0380461C: ldr r5, [r0, r1, lsl #2] subs ip, r3, r5 rsbmi ip, ip, #0 cmp ip, r6 - bgt _0200C834 + bgt _0380464C add r0, r2, r3, lsl #1 add r0, r5, r0 mov r0, r0, asr #2 bic r0, r0, #7 strh r0, [r7] mov r0, #0 - b _0200C874 -_0200C834: + b _0380468C +_0380464C: add r1, r1, #1 -_0200C838: +_03804650: cmp r1, #5 - blt _0200C804 -_0200C840: + blt _0380461C +_03804658: add sb, sb, #1 -_0200C844: +_0380465C: cmp sb, #4 - blt _0200C7E8 + blt _03804600 add r8, r8, #1 -_0200C850: +_03804668: cmp r8, #3 - blt _0200C7DC + blt _038045F4 ldr r2, [sp] ldr r1, [sp, #0x10] mov r0, r4 @@ -15646,20 +15646,20 @@ _0200C850: mov r1, r1, asr #1 bic r1, r1, #7 strh r1, [r7] -_0200C874: +_0380468C: add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, lr} bx lr .align 2, 0 -_0200C880: .word 0x040001C0 -_0200C884: .word 0x00008A01 -_0200C888: .word 0x040001C2 -_0200C88C: .word 0x00007FF8 -_0200C890: .word 0x00008201 - arm_func_end sub_0200C6A4 +_03804698: .word 0x040001C0 +_0380469C: .word 0x00008A01 +_038046A0: .word 0x040001C2 +_038046A4: .word 0x00007FF8 +_038046A8: .word 0x00008201 + arm_func_end sub_038044BC - arm_func_start sub_0200C894 -sub_0200C894: ; 0x0200C894 + arm_func_start sub_038046AC +sub_038046AC: ; 0x038046AC stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 movs r6, r1 @@ -15668,30 +15668,30 @@ sub_0200C894: ; 0x0200C894 mov r7, r0 strh r1, [r5] rsbmi r6, r6, #0 - bl sub_0200C58C + bl sub_038043A4 movs r4, r0 - bne _0200C8FC + bne _03804714 ldr r1, [r7] mov r0, #0x1000 rsb r0, r0, #0 and r1, r1, r0 - ldr r0, _0200CA78 ; =0xFF000FFF + ldr r0, _03804890 ; =0xFF000FFF and r0, r1, r0 bic r1, r0, #0x1000000 bic r0, r1, #0x6000000 str r1, [r7] orr r1, r0, #0x6000000 str r1, [r7] - ldr r0, _0200CA7C ; =0x03809E48 + ldr r0, _03804894 ; =0x03809E48 mov r1, #0 strh r1, [r0] - b _0200CA6C -_0200C8FC: + b _03804884 +_03804714: add r0, sp, #4 add r3, sp, #2 mov r1, r6 mov r2, #0 - bl sub_0200C6A4 + bl sub_038044BC ldr r1, [r7] mov r0, r0, lsl #0x1e bic r1, r1, #0x6000000 @@ -15708,9 +15708,9 @@ _0200C8FC: mov r1, r6 mov r2, #1 str ip, [r7] - bl sub_0200C6A4 + bl sub_038044BC cmp r0, #2 - bne _0200C97C + bne _03804794 ldr r1, [r7] mov r0, r1, lsl #5 mov r0, r0, lsr #0x1e @@ -15719,51 +15719,51 @@ _0200C8FC: mov r0, r0, lsl #0x1e orr r0, r1, r0, lsr #5 str r0, [r7] -_0200C97C: +_03804794: ldrh r1, [sp, #4] ldr r2, [r7] - ldr r0, _0200CA78 ; =0xFF000FFF + ldr r0, _03804890 ; =0xFF000FFF mov r1, r1, lsl #0x14 and r0, r2, r0 orr r2, r0, r1, lsr #8 - ldr r1, _0200CA80 ; =0x00008A01 - ldr r0, _0200CA84 ; =0x040001C0 + ldr r1, _03804898 ; =0x00008A01 + ldr r0, _0380489C ; =0x040001C0 str r2, [r7] strh r1, [r0] mov r6, #0 -_0200C9A8: - bl sub_0200C680 +_038047C0: + bl sub_03804498 add r6, r6, #1 cmp r6, #0xc - blt _0200C9A8 - ldr r1, _0200CA88 ; =0x00008201 - ldr r0, _0200CA84 ; =0x040001C0 + blt _038047C0 + ldr r1, _038048A0 ; =0x00008201 + ldr r0, _0380489C ; =0x040001C0 strh r1, [r0] - bl sub_0200C680 + bl sub_03804498 cmp r4, #2 ldreq r0, [r7] biceq r0, r0, #0x6000000 orreq r0, r0, #0x6000000 streq r0, [r7] - bl sub_0200C58C + bl sub_038043A4 cmp r0, #0 - beq _0200CA4C + beq _03804864 cmp r0, #1 - beq _0200CA1C + beq _03804834 cmp r0, #2 - bne _0200CA68 + bne _03804880 ldr r1, [r7] - ldr r0, _0200CA7C ; =0x03809E48 + ldr r0, _03804894 ; =0x03809E48 orr r2, r1, #0x1000000 bic r1, r2, #0x6000000 orr r1, r1, #0x6000000 str r1, [r7] mov r1, #0 strh r1, [r0] - b _0200CA6C -_0200CA1C: + b _03804884 +_03804834: ldr r1, [r7] - ldr r0, _0200CA7C ; =0x03809E48 + ldr r0, _03804894 ; =0x03809E48 orr r1, r1, #0x1000000 str r1, [r7] mov r2, #1 @@ -15773,74 +15773,74 @@ _0200CA1C: cmp r3, r1 movlo r3, r1 strh r3, [r5] - b _0200CA6C -_0200CA4C: + b _03804884 +_03804864: ldr r1, [r7] - ldr r0, _0200CA7C ; =0x03809E48 + ldr r0, _03804894 ; =0x03809E48 bic r1, r1, #0x1000000 str r1, [r7] mov r1, #0 strh r1, [r0] - b _0200CA6C -_0200CA68: - bl sub_02006058 -_0200CA6C: + b _03804884 +_03804880: + bl sub_037FDE70 +_03804884: add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_0200CA78: .word 0xFF000FFF -_0200CA7C: .word 0x03809E48 -_0200CA80: .word 0x00008A01 -_0200CA84: .word 0x040001C0 -_0200CA88: .word 0x00008201 - arm_func_end sub_0200C894 +_03804890: .word 0xFF000FFF +_03804894: .word 0x03809E48 +_03804898: .word 0x00008A01 +_0380489C: .word 0x040001C0 +_038048A0: .word 0x00008201 + arm_func_end sub_038046AC - arm_func_start sub_0200CA8C -sub_0200CA8C: ; 0x0200CA8C - ldr r0, _0200CAC0 ; =0x03809E4C + arm_func_start sub_038048A4 +sub_038048A4: ; 0x038048A4 + ldr r0, _038048D8 ; =0x03809E4C mov r1, #1 str r1, [r0, #4] mov r3, #0 str r3, [r0, #0x28] - ldr r0, _0200CAC4 ; =0x03809E54 + ldr r0, _038048DC ; =0x03809E54 mov r2, r3 -_0200CAA8: +_038048C0: mov r1, r3, lsl #1 add r3, r3, #1 strh r2, [r0, r1] cmp r3, #0x10 - blt _0200CAA8 + blt _038048C0 bx lr .align 2, 0 -_0200CAC0: .word 0x03809E4C -_0200CAC4: .word 0x03809E54 - arm_func_end sub_0200CA8C +_038048D8: .word 0x03809E4C +_038048DC: .word 0x03809E54 + arm_func_end sub_038048A4 - arm_func_start sub_0200CAC8 -sub_0200CAC8: ; 0x0200CAC8 + arm_func_start sub_038048E0 +sub_038048E0: ; 0x038048E0 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 tst r0, #0x2000000 - beq _0200CAF8 - ldr r1, _0200CC7C ; =0x03809E54 + beq _03804910 + ldr r1, _03804A94 ; =0x03809E54 mov r4, #0 mov r3, r4 -_0200CAE4: +_038048FC: mov r2, r4, lsl #1 add r4, r4, #1 strh r3, [r1, r2] cmp r4, #0x10 - blt _0200CAE4 -_0200CAF8: - ldr r1, _0200CC7C ; =0x03809E54 + blt _038048FC +_03804910: + ldr r1, _03804A94 ; =0x03809E54 and r2, r0, #0xf0000 mov r2, r2, lsr #0x10 mov r2, r2, lsl #1 strh r0, [r1, r2] tst r0, #0x1000000 - beq _0200CC70 - ldr r1, _0200CC80 ; =0x03809E4C + beq _03804A88 + ldr r1, _03804A98 ; =0x03809E4C ldrh r2, [r1, #8] and r0, r2, #0xff00 mov r0, r0, lsl #8 @@ -15848,150 +15848,150 @@ _0200CAF8: sub r0, r4, #0x60 cmp r0, #7 addls pc, pc, r0, lsl #2 - b _0200CC64 -_0200CB38: ; jump table - b _0200CB58 ; case 0 - b _0200CB68 ; case 1 - b _0200CC64 ; case 2 - b _0200CC00 ; case 3 - b _0200CB9C ; case 4 - b _0200CBD0 ; case 5 - b _0200CC34 ; case 6 - b _0200CC4C ; case 7 -_0200CB58: + b _03804A7C +_03804950: ; jump table + b _03804970 ; case 0 + b _03804980 ; case 1 + b _03804A7C ; case 2 + b _03804A18 ; case 3 + b _038049B4 ; case 4 + b _038049E8 ; case 5 + b _03804A4C ; case 6 + b _03804A64 ; case 7 +_03804970: mov r0, #0x60 mov r1, #0 - bl sub_0200BC30 - b _0200CC70 -_0200CB68: + bl sub_03803A48 + b _03804A88 +_03804980: ldrh ip, [r1, #0xa] mov r1, r4 and r3, r2, #0xff mov r0, #3 mov r2, #2 str ip, [sp] - bl sub_0200BD64 + bl sub_03803B7C cmp r0, #0 - bne _0200CC70 + bne _03804A88 mov r0, r4 mov r1, #4 - bl sub_0200BC30 - b _0200CC70 -_0200CB9C: + bl sub_03803A48 + b _03804A88 +_038049B4: ldrh ip, [r1, #0xa] mov r1, r4 and r3, r2, #0xff mov r0, #3 mov r2, #2 str ip, [sp] - bl sub_0200BD64 + bl sub_03803B7C cmp r0, #0 - bne _0200CC70 + bne _03804A88 mov r0, r4 mov r1, #4 - bl sub_0200BC30 - b _0200CC70 -_0200CBD0: + bl sub_03803A48 + b _03804A88 +_038049E8: mov r0, r2, lsl #0x10 mov r1, r4 mov r3, r0, lsr #0x10 mov r0, #3 mov r2, #1 - bl sub_0200BD64 + bl sub_03803B7C cmp r0, #0 - bne _0200CC70 + bne _03804A88 mov r0, r4 mov r1, #4 - bl sub_0200BC30 - b _0200CC70 -_0200CC00: + bl sub_03803A48 + b _03804A88 +_03804A18: ldrh r0, [r1, #0xa] mov r2, r2, lsl #0x18 mov r1, r4 orr r3, r0, r2, lsr #8 mov r0, #3 mov r2, #1 - bl sub_0200BD64 + bl sub_03803B7C cmp r0, #0 - bne _0200CC70 + bne _03804A88 mov r0, r4 mov r1, #4 - bl sub_0200BC30 - b _0200CC70 -_0200CC34: + bl sub_03803A48 + b _03804A88 +_03804A4C: and r0, r2, #0xff - bl sub_0200D404 + bl sub_0380521C mov r0, #0x66 mov r1, #0 - bl sub_0200BC30 - b _0200CC70 -_0200CC4C: - bl sub_0200D420 + bl sub_03803A48 + b _03804A88 +_03804A64: + bl sub_03805238 mov r0, r0, lsl #0x10 mov r1, r0, lsr #0x10 mov r0, #0x67 - bl sub_0200BC30 - b _0200CC70 -_0200CC64: + bl sub_03803A48 + b _03804A88 +_03804A7C: mov r0, r4 mov r1, #1 - bl sub_0200BC30 -_0200CC70: + bl sub_03803A48 +_03804A88: add sp, sp, #4 ldmia sp!, {r3, r4, lr} bx lr .align 2, 0 -_0200CC7C: .word 0x03809E54 -_0200CC80: .word 0x03809E4C - arm_func_end sub_0200CAC8 +_03804A94: .word 0x03809E54 +_03804A98: .word 0x03809E4C + arm_func_end sub_038048E0 - arm_func_start sub_0200CC84 -sub_0200CC84: ; 0x0200CC84 + arm_func_start sub_03804A9C +sub_03804A9C: ; 0x03804A9C stmdb sp!, {r3, r4, r5, lr} mov r4, r0 - bl sub_02005EE8 + bl sub_037FDD00 mov r5, r0 mov r0, #3 - bl sub_0200BCF4 + bl sub_03803B0C cmp r0, #0 - bne _0200CCC4 + bne _03804ADC mov r0, r5 - bl sub_02005EFC + bl sub_037FDD14 ldr r0, [r4, #4] mov r1, #4 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_0200BC30 - b _0200CDE8 -_0200CCC4: + bl sub_03803A48 + b _03804C00 +_03804ADC: mov r0, #3 - bl sub_0200BD10 + bl sub_03803B28 mov r0, r5 - bl sub_02005EFC + bl sub_037FDD14 ldr r1, [r4, #4] sub r0, r1, #0x61 cmp r0, #5 addls pc, pc, r0, lsl #2 - b _0200CDD0 -_0200CCE8: ; jump table - b _0200CD00 ; case 0 - b _0200CDD0 ; case 1 - b _0200CD9C ; case 2 - b _0200CD24 ; case 3 - b _0200CD60 ; case 4 - b _0200CDC4 ; case 5 -_0200CD00: - ldr r0, _0200CDF0 ; =0x03809E4C + b _03804BE8 +_03804B00: ; jump table + b _03804B18 ; case 0 + b _03804BE8 ; case 1 + b _03804BB4 ; case 2 + b _03804B3C ; case 3 + b _03804B78 ; case 4 + b _03804BDC ; case 5 +_03804B18: + ldr r0, _03804C08 ; =0x03809E4C mov r1, #1 str r1, [r0, #0x28] ldr r1, [r4, #8] strh r1, [r0, #2] ldr r1, [r4, #0xc] strh r1, [r0] - bl sub_0200D104 - b _0200CDE0 -_0200CD24: - ldr r2, _0200CDF0 ; =0x03809E4C + bl sub_03804F1C + b _03804BF8 +_03804B3C: + ldr r2, _03804C08 ; =0x03809E4C mov r0, #4 str r0, [r2, #0x28] ldr r0, [r4, #8] @@ -16001,13 +16001,13 @@ _0200CD24: mov r0, r0, lsr #0x10 and r1, r3, #0xff str r3, [r2, #0x2c] - bl sub_0200CE38 + bl sub_03804C50 mov r0, #0x64 mov r1, #0 - bl sub_0200BC30 - b _0200CDE0 -_0200CD60: - ldr r1, _0200CDF0 ; =0x03809E4C + bl sub_03803A48 + b _03804BF8 +_03804B78: + ldr r1, _03804C08 ; =0x03809E4C mov r0, #3 str r0, [r1, #0x28] ldr r2, [r4, #8] @@ -16015,45 +16015,45 @@ _0200CD60: mov r4, r0, lsr #0x10 mov r0, r4 str r2, [r1, #0x30] - bl sub_0200CEB4 + bl sub_03804CCC add r1, r4, #0x70 mov r2, r1, lsl #0x10 mov r1, r0 mov r0, r2, lsr #0x10 - bl sub_0200BC30 - b _0200CDE0 -_0200CD9C: - ldr r1, _0200CDF0 ; =0x03809E4C + bl sub_03803A48 + b _03804BF8 +_03804BB4: + ldr r1, _03804C08 ; =0x03809E4C mov r0, #2 str r0, [r1, #0x28] ldr r0, [r4, #8] str r0, [r1, #0x2c] - bl sub_0200CF78 + bl sub_03804D90 mov r0, #0x63 mov r1, #0 - bl sub_0200BC30 - b _0200CDE0 -_0200CDC4: + bl sub_03803A48 + b _03804BF8 +_03804BDC: ldr r0, [r4, #8] - bl sub_0200D09C - b _0200CDE0 -_0200CDD0: + bl sub_03804EB4 + b _03804BF8 +_03804BE8: mov r0, r1, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, #1 - bl sub_0200BC30 -_0200CDE0: + bl sub_03803A48 +_03804BF8: mov r0, #3 - bl sub_0200BD28 -_0200CDE8: + bl sub_03803B40 +_03804C00: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0200CDF0: .word 0x03809E4C - arm_func_end sub_0200CC84 +_03804C08: .word 0x03809E4C + arm_func_end sub_03804A9C - arm_func_start sub_0200CDF4 -sub_0200CDF4: ; 0x0200CDF4 + arm_func_start sub_03804C0C +sub_03804C0C: ; 0x03804C0C stmdb sp!, {r4, r5, r6, lr} and r1, r1, #0x3f0000 and r3, r0, #0x3c00000 @@ -16063,340 +16063,340 @@ sub_0200CDF4: ; 0x0200CDF4 orr r6, r1, r0, lsr #16 mov r5, #8 mov r4, #0 -_0200CE18: +_03804C30: mov r0, r5 mov r1, r6 mov r2, r4 - bl sub_020065F8 + bl sub_037FE410 cmp r0, #0 - bne _0200CE18 + bne _03804C30 ldmia sp!, {r4, r5, r6, lr} bx lr - arm_func_end sub_0200CDF4 + arm_func_end sub_03804C0C - arm_func_start sub_0200CE38 -sub_0200CE38: ; 0x0200CE38 + arm_func_start sub_03804C50 +sub_03804C50: ; 0x03804C50 stmdb sp!, {r4, lr} - ldr r2, _0200CE84 ; =0x040001C0 + ldr r2, _03804C9C ; =0x040001C0 mov r4, r1 -_0200CE44: +_03804C5C: ldrh r1, [r2] tst r1, #0x80 - bne _0200CE44 - ldr r1, _0200CE88 ; =0x00008202 + bne _03804C5C + ldr r1, _03804CA0 ; =0x00008202 and r0, r0, #0xff strh r1, [r2] add r1, r1, #0x600 strh r1, [r2] - bl sub_0200CE90 - ldr r2, _0200CE8C ; =0x00008002 - ldr r1, _0200CE84 ; =0x040001C0 + bl sub_03804CA8 + ldr r2, _03804CA4 ; =0x00008002 + ldr r1, _03804C9C ; =0x040001C0 and r0, r4, #0xff strh r2, [r1] strh r0, [r1, #2] ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200CE84: .word 0x040001C0 -_0200CE88: .word 0x00008202 -_0200CE8C: .word 0x00008002 - arm_func_end sub_0200CE38 +_03804C9C: .word 0x040001C0 +_03804CA0: .word 0x00008202 +_03804CA4: .word 0x00008002 + arm_func_end sub_03804C50 - arm_func_start sub_0200CE90 -sub_0200CE90: ; 0x0200CE90 - ldr r1, _0200CEB0 ; =0x040001C2 + arm_func_start sub_03804CA8 +sub_03804CA8: ; 0x03804CA8 + ldr r1, _03804CC8 ; =0x040001C2 and r0, r0, #0xff strh r0, [r1] sub r1, r1, #2 -_0200CEA0: +_03804CB8: ldrh r0, [r1] tst r0, #0x80 - bne _0200CEA0 + bne _03804CB8 bx lr .align 2, 0 -_0200CEB0: .word 0x040001C2 - arm_func_end sub_0200CE90 +_03804CC8: .word 0x040001C2 + arm_func_end sub_03804CA8 - arm_func_start sub_0200CEB4 -sub_0200CEB4: ; 0x0200CEB4 + arm_func_start sub_03804CCC +sub_03804CCC: ; 0x03804CCC stmdb sp!, {r3, lr} - ldr r2, _0200CF18 ; =0x040001C0 -_0200CEBC: + ldr r2, _03804D30 ; =0x040001C0 +_03804CD4: ldrh r1, [r2] tst r1, #0x80 - bne _0200CEBC - ldr r1, _0200CF1C ; =0x00008202 + bne _03804CD4 + ldr r1, _03804D34 ; =0x00008202 orr r0, r0, #0x80 strh r1, [r2] add r1, r1, #0x600 and r0, r0, #0xff strh r1, [r2] - bl sub_0200CE90 - ldr r2, _0200CF20 ; =0x00008002 - ldr r1, _0200CF18 ; =0x040001C0 + bl sub_03804CA8 + ldr r2, _03804D38 ; =0x00008002 + ldr r1, _03804D30 ; =0x040001C0 mov r0, #0 strh r2, [r1] strh r0, [r1, #2] -_0200CEF8: +_03804D10: ldrh r0, [r1] tst r0, #0x80 - bne _0200CEF8 - ldr r0, _0200CF24 ; =0x040001C2 + bne _03804D10 + ldr r0, _03804D3C ; =0x040001C2 ldrh r0, [r0] and r0, r0, #0xff ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200CF18: .word 0x040001C0 -_0200CF1C: .word 0x00008202 -_0200CF20: .word 0x00008002 -_0200CF24: .word 0x040001C2 - arm_func_end sub_0200CEB4 +_03804D30: .word 0x040001C0 +_03804D34: .word 0x00008202 +_03804D38: .word 0x00008002 +_03804D3C: .word 0x040001C2 + arm_func_end sub_03804CCC - arm_func_start sub_0200CF28 -sub_0200CF28: ; 0x0200CF28 + arm_func_start sub_03804D40 +sub_03804D40: ; 0x03804D40 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0 - bl sub_0200CEB4 + bl sub_03804CCC orr r1, r0, r4 mov r0, #0 - bl sub_0200CE38 + bl sub_03804C50 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_0200CF28 + arm_func_end sub_03804D40 - arm_func_start sub_0200CF4C -sub_0200CF4C: ; 0x0200CF4C + arm_func_start sub_03804D64 +sub_03804D64: ; 0x03804D64 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0 - bl sub_0200CEB4 + bl sub_03804CCC mvn r1, r4 and r0, r0, r1 and r1, r0, #0xff mov r0, #0 - bl sub_0200CE38 + bl sub_03804C50 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_0200CF4C + arm_func_end sub_03804D64 - arm_func_start sub_0200CF78 -sub_0200CF78: ; 0x0200CF78 + arm_func_start sub_03804D90 +sub_03804D90: ; 0x03804D90 stmdb sp!, {r3, lr} cmp r0, #0xf addls pc, pc, r0, lsl #2 - b _0200D094 -_0200CF88: ; jump table - b _0200D094 ; case 0 - b _0200CFC8 ; case 1 - b _0200CFDC ; case 2 - b _0200CFF0 ; case 3 - b _0200D004 ; case 4 - b _0200D010 ; case 5 - b _0200D01C ; case 6 - b _0200D028 ; case 7 - b _0200D034 ; case 8 - b _0200D040 ; case 9 - b _0200D04C ; case 10 - b _0200D058 ; case 11 - b _0200D064 ; case 12 - b _0200D070 ; case 13 - b _0200D088 ; case 14 - b _0200D07C ; case 15 -_0200CFC8: + b _03804EAC +_03804DA0: ; jump table + b _03804EAC ; case 0 + b _03804DE0 ; case 1 + b _03804DF4 ; case 2 + b _03804E08 ; case 3 + b _03804E1C ; case 4 + b _03804E28 ; case 5 + b _03804E34 ; case 6 + b _03804E40 ; case 7 + b _03804E4C ; case 8 + b _03804E58 ; case 9 + b _03804E64 ; case 10 + b _03804E70 ; case 11 + b _03804E7C ; case 12 + b _03804E88 ; case 13 + b _03804EA0 ; case 14 + b _03804E94 ; case 15 +_03804DE0: mov r0, #1 - bl sub_0200D404 + bl sub_0380521C mov r0, #1 - bl sub_0200D09C - b _0200D094 -_0200CFDC: + bl sub_03804EB4 + b _03804EAC +_03804DF4: mov r0, #3 - bl sub_0200D404 + bl sub_0380521C mov r0, #3 - bl sub_0200D09C - b _0200D094 -_0200CFF0: + bl sub_03804EB4 + b _03804EAC +_03804E08: mov r0, #2 - bl sub_0200D404 + bl sub_0380521C mov r0, #2 - bl sub_0200D09C - b _0200D094 -_0200D004: + bl sub_03804EB4 + b _03804EAC +_03804E1C: mov r0, #4 - bl sub_0200CF28 - b _0200D094 -_0200D010: + bl sub_03804D40 + b _03804EAC +_03804E28: mov r0, #4 - bl sub_0200CF4C - b _0200D094 -_0200D01C: + bl sub_03804D64 + b _03804EAC +_03804E34: mov r0, #8 - bl sub_0200CF28 - b _0200D094 -_0200D028: + bl sub_03804D40 + b _03804EAC +_03804E40: mov r0, #8 - bl sub_0200CF4C - b _0200D094 -_0200D034: + bl sub_03804D64 + b _03804EAC +_03804E4C: mov r0, #0xc - bl sub_0200CF28 - b _0200D094 -_0200D040: + bl sub_03804D40 + b _03804EAC +_03804E58: mov r0, #0xc - bl sub_0200CF4C - b _0200D094 -_0200D04C: + bl sub_03804D64 + b _03804EAC +_03804E64: mov r0, #1 - bl sub_0200CF28 - b _0200D094 -_0200D058: + bl sub_03804D40 + b _03804EAC +_03804E70: mov r0, #1 - bl sub_0200CF4C - b _0200D094 -_0200D064: + bl sub_03804D64 + b _03804EAC +_03804E7C: mov r0, #2 - bl sub_0200CF4C - b _0200D094 -_0200D070: + bl sub_03804D64 + b _03804EAC +_03804E88: mov r0, #2 - bl sub_0200CF28 - b _0200D094 -_0200D07C: + bl sub_03804D40 + b _03804EAC +_03804E94: mov r0, #0x40 - bl sub_0200CF4C - b _0200D094 -_0200D088: - bl sub_020068F0 + bl sub_03804D64 + b _03804EAC +_03804EA0: + bl sub_037FE708 mov r0, #0x40 - bl sub_0200CF28 -_0200D094: + bl sub_03804D40 +_03804EAC: ldmia sp!, {r3, lr} bx lr - arm_func_end sub_0200CF78 + arm_func_end sub_03804D90 - arm_func_start sub_0200D09C -sub_0200D09C: ; 0x0200D09C + arm_func_start sub_03804EB4 +sub_03804EB4: ; 0x03804EB4 stmdb sp!, {r4, lr} mov r4, r0 cmp r4, #1 - beq _0200D0C0 + beq _03804ED8 cmp r4, #2 - beq _0200D0D8 + beq _03804EF0 cmp r4, #3 - beq _0200D0CC - b _0200D0EC -_0200D0C0: + beq _03804EE4 + b _03804F04 +_03804ED8: mov r0, #0x10 - bl sub_0200CF4C - b _0200D0F0 -_0200D0CC: + bl sub_03804D64 + b _03804F08 +_03804EE4: mov r0, #0x30 - bl sub_0200CF28 - b _0200D0F0 -_0200D0D8: + bl sub_03804D40 + b _03804F08 +_03804EF0: mov r0, #0x20 - bl sub_0200CF4C + bl sub_03804D64 mov r0, #0x10 - bl sub_0200CF28 - b _0200D0F0 -_0200D0EC: - bl sub_02006058 -_0200D0F0: - ldr r0, _0200D100 ; =0x0380756C + bl sub_03804D40 + b _03804F08 +_03804F04: + bl sub_037FDE70 +_03804F08: + ldr r0, _03804F18 ; =0x0380756C str r4, [r0] ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200D100: .word 0x0380756C - arm_func_end sub_0200D09C +_03804F18: .word 0x0380756C + arm_func_end sub_03804EB4 - arm_func_start sub_0200D104 -sub_0200D104: ; 0x0200D104 + arm_func_start sub_03804F1C +sub_03804F1C: ; 0x03804F1C stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} - ldr r0, _0200D2C0 ; =0x04000208 + ldr r0, _038050D8 ; =0x04000208 mov r8, #0 ldrh sb, [r0] strh r8, [r0] - bl sub_02005EE8 + bl sub_037FDD00 mov r4, r0 mvn r0, #0xfe000000 - bl sub_02003B10 + bl sub_037FB928 mov r5, r0 mov r0, r8 - bl sub_0200CEB4 + bl sub_03804CCC mov r6, r0 mov r0, #2 - bl sub_0200D404 + bl sub_0380521C mov r0, #2 - bl sub_0200D09C + bl sub_03804EB4 mov r0, #2 - bl sub_0200D09C - bl sub_020068F0 + bl sub_03804EB4 + bl sub_037FE708 mov r0, #1 - bl sub_0200CF4C - ldr r0, _0200D2C4 ; =0x03809E4E + bl sub_03804D64 + ldr r0, _038050DC ; =0x03809E4E ldrh r0, [r0] tst r0, #1 - beq _0200D188 - ldr r0, _0200D2C8 ; =0x03809E4C - ldr r1, _0200D2CC ; =0x04000132 + beq _03804FA0 + ldr r0, _038050E0 ; =0x03809E4C + ldr r1, _038050E4 ; =0x04000132 ldrh r2, [r0] mov r0, #0x1000 orr r2, r2, #0x4000 strh r2, [r1] - bl sub_02003AD8 -_0200D188: - ldr r0, _0200D2C4 ; =0x03809E4E + bl sub_037FB8F0 +_03804FA0: + ldr r0, _038050DC ; =0x03809E4E ldrh r0, [r0] tst r0, #4 - beq _0200D1A0 + beq _03804FB8 mov r0, #0x400000 - bl sub_02003AD8 -_0200D1A0: - ldr r0, _0200D2C4 ; =0x03809E4E + bl sub_037FB8F0 +_03804FB8: + ldr r0, _038050DC ; =0x03809E4E ldrh r0, [r0] tst r0, #2 - beq _0200D1E4 - ldr r1, _0200D2D0 ; =0x04000134 + beq _03804FFC + ldr r1, _038050E8 ; =0x04000134 mov r0, #0x8000 ldrh r7, [r1] mov r8, #1 - bl sub_02006790 + bl sub_037FE5A8 mov r0, #0x40 mov r1, #0 - bl sub_02006770 + bl sub_037FE588 mov r0, #0x100 mov r1, r0 - bl sub_02006770 + bl sub_037FE588 mov r0, #0x80 - bl sub_02003AD8 -_0200D1E4: - ldr r0, _0200D2C4 ; =0x03809E4E + bl sub_037FB8F0 +_03804FFC: + ldr r0, _038050DC ; =0x03809E4E ldrh r0, [r0] tst r0, #8 - beq _0200D1FC + beq _03805014 mov r0, #0x100000 - bl sub_02003AD8 -_0200D1FC: - ldr r0, _0200D2C4 ; =0x03809E4E + bl sub_037FB8F0 +_03805014: + ldr r0, _038050DC ; =0x03809E4E ldrh r0, [r0] tst r0, #0x10 - beq _0200D214 + beq _0380502C mov r0, #0x2000 - bl sub_02003AD8 -_0200D214: + bl sub_037FB8F0 +_0380502C: mov r0, r4 - bl sub_02005EFC - ldr r2, _0200D2C0 ; =0x04000208 + bl sub_037FDD14 + ldr r2, _038050D8 ; =0x04000208 mov r0, #1 ldrh r1, [r2] strh r0, [r2] - bl sub_0200D2D8 + bl sub_038050F0 mov r1, r6 mov r0, #0 - bl sub_0200CE38 - ldr r0, _0200D2C4 ; =0x03809E4E + bl sub_03804C50 + ldr r0, _038050DC ; =0x03809E4E ldrh r1, [r0] tst r1, #0x20 movne r0, #6 @@ -16404,86 +16404,86 @@ _0200D214: tst r1, #0x40 movne r6, #4 moveq r6, #5 - bl sub_0200CF78 + bl sub_03804D90 mov r0, r6 - bl sub_0200CF78 + bl sub_03804D90 cmp r8, #0 - ldrne r0, _0200D2D0 ; =0x04000134 + ldrne r0, _038050E8 ; =0x04000134 strneh r7, [r0] mov r0, #1 - bl sub_0200CF28 - bl sub_02006948 + bl sub_03804D40 + bl sub_037FE760 mov r1, #0 - ldr r3, _0200D2D4 ; =0x03809E54 + ldr r3, _038050EC ; =0x03809E54 mov r2, r1 mov r0, #0x62 str r1, [r3, #0x20] - bl sub_0200CDF4 - bl sub_02005EE8 + bl sub_03804C0C + bl sub_037FDD00 mov r0, r5 - bl sub_02003A8C + bl sub_037FB8A4 mov r0, r4 - bl sub_02005EFC - ldr r1, _0200D2C0 ; =0x04000208 + bl sub_037FDD14 + ldr r1, _038050D8 ; =0x04000208 ldrh r0, [r1] strh sb, [r1] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, lr} bx lr .align 2, 0 -_0200D2C0: .word 0x04000208 -_0200D2C4: .word 0x03809E4E -_0200D2C8: .word 0x03809E4C -_0200D2CC: .word 0x04000132 -_0200D2D0: .word 0x04000134 -_0200D2D4: .word 0x03809E54 - arm_func_end sub_0200D104 +_038050D8: .word 0x04000208 +_038050DC: .word 0x03809E4E +_038050E0: .word 0x03809E4C +_038050E4: .word 0x04000132 +_038050E8: .word 0x04000134 +_038050EC: .word 0x03809E54 + arm_func_end sub_03804F1C - arm_func_start sub_0200D2D8 -sub_0200D2D8: ; 0x0200D2D8 - ldr ip, _0200D2E0 ; =sub_038037D6 + arm_func_start sub_038050F0 +sub_038050F0: ; 0x038050F0 + ldr ip, _038050F8 ; =sub_038037D6 bx ip .align 2, 0 -_0200D2E0: .word sub_038037D6 - arm_func_end sub_0200D2D8 +_038050F8: .word sub_038037D6 + 1 + arm_func_end sub_038050F0 - arm_func_start sub_0200D2E4 -sub_0200D2E4: ; 0x0200D2E4 + arm_func_start sub_038050FC +sub_038050FC: ; 0x038050FC stmdb sp!, {r4, r5, r6, lr} - ldr r1, _0200D3F8 ; =0x03809E80 + ldr r1, _03805210 ; =0x03809E80 ldr r3, [r1, #4] cmp r3, #0 - bne _0200D320 + bne _03805138 mov r2, #1 mov r3, r2 mov r0, #3 mov r1, #0x66 - bl sub_0200BD64 + bl sub_03803B7C cmp r0, #0 - beq _0200D3F0 + beq _03805208 mov r0, #1 - bl sub_0200D404 - b _0200D3F0 -_0200D320: + bl sub_0380521C + b _03805208 +_03805138: cmp r3, #4 - bge _0200D34C - ldr r0, _0200D3FC ; =0x0380756C + bge _03805164 + ldr r0, _03805214 ; =0x0380756C ldr r0, [r0] cmp r3, r0 - beq _0200D3F0 + beq _03805208 mov r0, #3 mov r1, #0x66 mov r2, #1 - bl sub_0200BD64 - b _0200D3F0 -_0200D34C: + bl sub_03803B7C + b _03805208 +_03805164: sub r2, r3, #4 mov r0, #0xc mul r4, r2, r0 - ldr r5, _0200D400 ; =0x03807570 + ldr r5, _03805218 ; =0x03807570 ldr r0, [r1] add r6, r5, r4 ldrh r1, [r6, #0xa] - bl sub_0200EFBC + bl sub_03806DD4 mov r1, #0 mov r3, r1, lsr r0 ldr ip, [r6, #4] @@ -16500,7 +16500,7 @@ _0200D34C: movne r3, #1 ldrh r2, [r6, #8] ldrh r1, [r6, #0xa] - ldr r0, _0200D3F8 ; =0x03809E80 + ldr r0, _03805210 ; =0x03809E80 mul r1, r2, r1 ldr r2, [r0] moveq r3, #2 @@ -16509,94 +16509,94 @@ _0200D34C: str r2, [r0] movhs r1, #0 strhs r1, [r0] - ldr r0, _0200D3FC ; =0x0380756C + ldr r0, _03805214 ; =0x0380756C ldr r0, [r0] cmp r3, r0 - beq _0200D3F0 + beq _03805208 mov r0, #3 mov r1, #0x66 mov r2, #1 - bl sub_0200BD64 -_0200D3F0: + bl sub_03803B7C +_03805208: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_0200D3F8: .word 0x03809E80 -_0200D3FC: .word 0x0380756C -_0200D400: .word 0x03807570 - arm_func_end sub_0200D2E4 +_03805210: .word 0x03809E80 +_03805214: .word 0x0380756C +_03805218: .word 0x03807570 + arm_func_end sub_038050FC - arm_func_start sub_0200D404 -sub_0200D404: ; 0x0200D404 + arm_func_start sub_0380521C +sub_0380521C: ; 0x0380521C cmp r0, #0xf - ldrle r1, _0200D41C ; =0x03809E80 + ldrle r1, _03805234 ; =0x03809E80 movle r2, #0 strle r0, [r1, #4] strle r2, [r1] bx lr .align 2, 0 -_0200D41C: .word 0x03809E80 - arm_func_end sub_0200D404 +_03805234: .word 0x03809E80 + arm_func_end sub_0380521C - arm_func_start sub_0200D420 -sub_0200D420: ; 0x0200D420 - ldr r0, _0200D42C ; =0x03809E80 + arm_func_start sub_03805238 +sub_03805238: ; 0x03805238 + ldr r0, _03805244 ; =0x03809E80 ldr r0, [r0, #4] bx lr .align 2, 0 -_0200D42C: .word 0x03809E80 - arm_func_end sub_0200D420 +_03805244: .word 0x03809E80 + arm_func_end sub_03805238 - arm_func_start sub_0200D430 -sub_0200D430: ; 0x0200D430 + arm_func_start sub_03805248 +sub_03805248: ; 0x03805248 stmdb sp!, {r4, lr} mov r4, r0 - ldr r3, _0200D46C ; =0x03809E88 + ldr r3, _03805284 ; =0x03809E88 mov r1, #0 - ldr r0, _0200D470 ; =0x03809E98 + ldr r0, _03805288 ; =0x03809E98 mov r2, #0xa4 stmib r3, {r1, r4} - bl sub_02006258 + bl sub_037FE070 mov r0, r4 - bl sub_0200D4A4 - ldr r0, _0200D46C ; =0x03809E88 + bl sub_038052BC + ldr r0, _03805284 ; =0x03809E88 mov r1, #3 strb r1, [r0] ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200D46C: .word 0x03809E88 -_0200D470: .word 0x03809E98 - arm_func_end sub_0200D430 +_03805284: .word 0x03809E88 +_03805288: .word 0x03809E98 + arm_func_end sub_03805248 - arm_func_start sub_0200D474 -sub_0200D474: ; 0x0200D474 + arm_func_start sub_0380528C +sub_0380528C: ; 0x0380528C stmdb sp!, {r3, lr} - ldr r2, _0200D4A0 ; =0x04000304 + ldr r2, _038052B8 ; =0x04000304 mov r0, #1 ldrh r1, [r2] bic r1, r1, #2 strh r1, [r2] - bl sub_0200D404 + bl sub_0380521C mov r0, #1 - bl sub_0200D09C + bl sub_03804EB4 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200D4A0: .word 0x04000304 - arm_func_end sub_0200D474 +_038052B8: .word 0x04000304 + arm_func_end sub_0380528C - arm_func_start sub_0200D4A4 -sub_0200D4A4: ; 0x0200D4A4 + arm_func_start sub_038052BC +sub_038052BC: ; 0x038052BC stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x50 str r0, [sp, #0x44] - ldr r0, _0200D53C ; =0x0380AAFC + ldr r0, _03805354 ; =0x0380AAFC mov sb, #4 mov r7, #8 mov r4, #3 - ldr r1, _0200D540 ; =0x0380AAFC - ldr r6, _0200D544 ; =0x03809F3C + ldr r1, _03805358 ; =0x0380AAFC + ldr r6, _0380535C ; =0x03809F3C mov sl, #0x600 mov r8, #0 mov r5, #0x1c0 @@ -16622,63 +16622,63 @@ sub_0200D4A4: ; 0x0200D4A4 str r3, [sp, #4] str r7, [sp, #0x14] str r2, [sp, #0xc] - bl sub_00FE81E8 + bl sub_027E0000 add sp, sp, #0x50 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, lr} bx lr .align 2, 0 -_0200D53C: .word 0x0380AAFC -_0200D540: .word 0x0380AAFC -_0200D544: .word 0x03809F3C - arm_func_end sub_0200D4A4 +_03805354: .word 0x0380AAFC +_03805358: .word 0x0380AAFC +_0380535C: .word 0x03809F3C + arm_func_end sub_038052BC - arm_func_start sub_0200D548 -sub_0200D548: ; 0x0200D548 - ldr r0, _0200D584 ; =0x0380B1FC + arm_func_start sub_03805360 +sub_03805360: ; 0x03805360 + ldr r0, _0380539C ; =0x0380B1FC mov r3, #0 str r3, [r0, #0x20] - ldr r0, _0200D588 ; =0x0380B1FC + ldr r0, _038053A0 ; =0x0380B1FC mov r2, r3 -_0200D55C: +_03805374: mov r1, r3, lsl #1 add r3, r3, #1 strh r2, [r0, r1] cmp r3, #0x10 - blt _0200D55C - ldr r1, _0200D58C ; =0x0400010E + blt _03805374 + ldr r1, _038053A4 ; =0x0400010E ldrh r0, [r1] bic r0, r0, #0x80 strh r0, [r1] bx lr .align 2, 0 -_0200D584: .word 0x0380B1FC -_0200D588: .word 0x0380B1FC -_0200D58C: .word 0x0400010E - arm_func_end sub_0200D548 +_0380539C: .word 0x0380B1FC +_038053A0: .word 0x0380B1FC +_038053A4: .word 0x0400010E + arm_func_end sub_03805360 - arm_func_start sub_0200D590 -sub_0200D590: ; 0x0200D590 + arm_func_start sub_038053A8 +sub_038053A8: ; 0x038053A8 stmdb sp!, {r4, lr} tst r0, #0x2000000 - beq _0200D5BC - ldr r1, _0200D848 ; =0x0380B1FC + beq _038053D4 + ldr r1, _03805660 ; =0x0380B1FC mov r4, #0 mov r3, r4 -_0200D5A8: +_038053C0: mov r2, r4, lsl #1 add r4, r4, #1 strh r3, [r1, r2] cmp r4, #0x10 - blt _0200D5A8 -_0200D5BC: - ldr r1, _0200D848 ; =0x0380B1FC + blt _038053C0 +_038053D4: + ldr r1, _03805660 ; =0x0380B1FC and r2, r0, #0xf0000 mov r2, r2, lsr #0x10 mov r2, r2, lsl #1 strh r0, [r1, r2] tst r0, #0x1000000 - beq _0200D840 - ldr r1, _0200D84C ; =0x0380B1FC + beq _03805658 + ldr r1, _03805664 ; =0x0380B1FC ldrh r2, [r1] and r0, r2, #0xff00 mov r0, r0, lsl #8 @@ -16686,78 +16686,78 @@ _0200D5BC: sub r0, r4, #0x40 cmp r0, #3 addls pc, pc, r0, lsl #2 - b _0200D834 -_0200D5FC: ; jump table - b _0200D60C ; case 0 - b _0200D648 ; case 1 - b _0200D74C ; case 2 - b _0200D7B0 ; case 3 -_0200D60C: + b _0380564C +_03805414: ; jump table + b _03805424 ; case 0 + b _03805460 ; case 1 + b _03805564 ; case 2 + b _038055C8 ; case 3 +_03805424: mov r1, r4 and r3, r2, #0xff mov r0, #2 mov r2, #1 - bl sub_0200BD64 + bl sub_03803B7C cmp r0, #0 - bne _0200D634 + bne _0380544C mov r0, r4 mov r1, #4 - bl sub_0200BC30 -_0200D634: - ldr r0, _0200D850 ; =0x027FFF94 + bl sub_03803A48 +_0380544C: + ldr r0, _03805668 ; =0x027FFF94 mov r1, #0 strh r1, [r0] str r1, [r0, #-4] - b _0200D840 -_0200D648: + b _03805658 +_03805460: ldr r0, [r1, #0x20] cmp r0, #0 - beq _0200D664 + beq _0380547C mov r0, r4 mov r1, #3 - bl sub_0200BC30 - b _0200D840 -_0200D664: + bl sub_03803A48 + b _03805658 +_0380547C: and r0, r2, #0xff strh r0, [r1, #0x24] ldrh r2, [r1, #2] ldrh r0, [r1, #4] orr r3, r0, r2, lsl #16 cmp r3, #0x2000000 - blo _0200D688 + blo _038054A0 cmp r3, #0x2400000 - blo _0200D698 -_0200D688: + blo _038054B0 +_038054A0: mov r0, r4 mov r1, #2 - bl sub_0200BC30 - b _0200D840 -_0200D698: + bl sub_03803A48 + b _03805658 +_038054B0: str r3, [r1, #0x28] ldrh r2, [r1, #6] ldrh r0, [r1, #8] orr r2, r0, r2, lsl #16 add r0, r3, r2 cmp r0, #0x2400000 - bls _0200D6C4 + bls _038054DC mov r0, r4 mov r1, #2 - bl sub_0200BC30 - b _0200D840 -_0200D6C4: + bl sub_03803A48 + b _03805658 +_038054DC: str r2, [r1, #0x30] ldrh r2, [r1, #0xa] ldrh r0, [r1, #0xc] orr r0, r0, r2, lsl #16 - bl sub_0200D858 + bl sub_03805670 cmp r0, #0 - bne _0200D6F0 + bne _03805508 mov r0, r4 mov r1, #2 - bl sub_0200BC30 - b _0200D840 -_0200D6F0: - ldr r3, _0200D84C ; =0x0380B1FC + bl sub_03803A48 + b _03805658 +_03805508: + ldr r3, _03805664 ; =0x0380B1FC mov r2, #0 str r2, [r3, #0x2c] ldrh r0, [r3, #0x24] @@ -16765,73 +16765,73 @@ _0200D6F0: and ip, r0, #7 mov r0, #2 strh ip, [r3, #0x26] - bl sub_0200BD64 + bl sub_03803B7C cmp r0, #0 - bne _0200D72C + bne _03805544 mov r0, r4 mov r1, #4 - bl sub_0200BC30 - b _0200D840 -_0200D72C: - ldr r1, _0200D850 ; =0x027FFF94 + bl sub_03803A48 + b _03805658 +_03805544: + ldr r1, _03805668 ; =0x027FFF94 mov r2, #0 strh r2, [r1] - ldr r0, _0200D84C ; =0x0380B1FC + ldr r0, _03805664 ; =0x0380B1FC str r2, [r1, #-4] mov r1, #1 str r1, [r0, #0x20] - b _0200D840 -_0200D74C: + b _03805658 +_03805564: ldr r0, [r1, #0x20] cmp r0, #2 - beq _0200D768 + beq _03805580 mov r0, r4 mov r1, #3 - bl sub_0200BC30 - b _0200D840 -_0200D768: + bl sub_03803A48 + b _03805658 +_03805580: mov r1, r4 mov r0, #2 mov r2, #0 - bl sub_0200BD64 + bl sub_03803B7C cmp r0, #0 - bne _0200D790 + bne _038055A8 mov r0, r4 mov r1, #4 - bl sub_0200BC30 - b _0200D840 -_0200D790: - ldr r0, _0200D84C ; =0x0380B1FC + bl sub_03803A48 + b _03805658 +_038055A8: + ldr r0, _03805664 ; =0x0380B1FC mov r2, #3 - ldr r1, _0200D854 ; =0x0400010E + ldr r1, _0380566C ; =0x0400010E str r2, [r0, #0x20] ldrh r0, [r1] bic r0, r0, #0x80 strh r0, [r1] - b _0200D840 -_0200D7B0: + b _03805658 +_038055C8: ldr r0, [r1, #0x20] cmp r0, #2 - beq _0200D7CC + beq _038055E4 mov r0, r4 mov r1, #3 - bl sub_0200BC30 - b _0200D840 -_0200D7CC: + bl sub_03803A48 + b _03805658 +_038055E4: ldrh r2, [r1, #2] ldrh r0, [r1, #4] orr r0, r0, r2, lsl #16 - bl sub_0200D858 + bl sub_03805670 cmp r0, #0 - bne _0200D7F4 + bne _0380560C mov r0, r4 mov r1, #2 - bl sub_0200BC30 - b _0200D840 -_0200D7F4: - bl sub_02005EE8 - ldr r3, _0200D854 ; =0x0400010E - ldr r1, _0200D84C ; =0x0380B1FC + bl sub_03803A48 + b _03805658 +_0380560C: + bl sub_037FDD00 + ldr r3, _0380566C ; =0x0400010E + ldr r1, _03805664 ; =0x0380B1FC ldrh r2, [r3] bic r2, r2, #0x80 strh r2, [r3] @@ -16840,40 +16840,40 @@ _0200D7F4: ldrh r1, [r1, #0x36] orr r1, r1, #0xc0 strh r1, [r3] - bl sub_02005EFC + bl sub_037FDD14 mov r0, r4 mov r1, #0 - bl sub_0200BC30 - b _0200D840 -_0200D834: + bl sub_03803A48 + b _03805658 +_0380564C: mov r0, r4 mov r1, #1 - bl sub_0200BC30 -_0200D840: + bl sub_03803A48 +_03805658: ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200D848: .word 0x0380B1FC -_0200D84C: .word 0x0380B1FC -_0200D850: .word 0x027FFF94 -_0200D854: .word 0x0400010E - arm_func_end sub_0200D590 +_03805660: .word 0x0380B1FC +_03805664: .word 0x0380B1FC +_03805668: .word 0x027FFF94 +_0380566C: .word 0x0400010E + arm_func_end sub_038053A8 - arm_func_start sub_0200D858 -sub_0200D858: ; 0x0200D858 + arm_func_start sub_03805670 +sub_03805670: ; 0x03805670 cmp r0, #0x10000 - bhs _0200D87C - ldr r1, _0200D8F8 ; =0x0380B1FC + bhs _03805694 + ldr r1, _03805710 ; =0x0380B1FC mov r2, #0 strh r2, [r1, #0x36] rsb r0, r0, #0x10000 strh r0, [r1, #0x34] mov r0, #1 bx lr -_0200D87C: +_03805694: cmp r0, #0x400000 - bhs _0200D8A4 - ldr r1, _0200D8F8 ; =0x0380B1FC + bhs _038056BC + ldr r1, _03805710 ; =0x0380B1FC mov r3, #1 mov r0, r0, lsr #6 rsb r2, r0, #0x10000 @@ -16881,10 +16881,10 @@ _0200D87C: mov r0, r3 strh r2, [r1, #0x34] bx lr -_0200D8A4: +_038056BC: cmp r0, #0x1000000 - bhs _0200D8CC - ldr r1, _0200D8F8 ; =0x0380B1FC + bhs _038056E4 + ldr r1, _03805710 ; =0x0380B1FC mov r2, #2 mov r0, r0, lsr #8 strh r2, [r1, #0x36] @@ -16892,11 +16892,11 @@ _0200D8A4: strh r0, [r1, #0x34] mov r0, #1 bx lr -_0200D8CC: +_038056E4: cmp r0, #0x4000000 movhs r0, #0 bxhs lr - ldr r1, _0200D8F8 ; =0x0380B1FC + ldr r1, _03805710 ; =0x0380B1FC mov r2, #3 mov r0, r0, lsr #0xa strh r2, [r1, #0x36] @@ -16905,57 +16905,57 @@ _0200D8CC: mov r0, #1 bx lr .align 2, 0 -_0200D8F8: .word 0x0380B1FC - arm_func_end sub_0200D858 +_03805710: .word 0x0380B1FC + arm_func_end sub_03805670 - arm_func_start sub_0200D8FC -sub_0200D8FC: ; 0x0200D8FC + arm_func_start sub_03805714 +sub_03805714: ; 0x03805714 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 ldr r2, [r4, #4] cmp r2, #0x40 - beq _0200D924 + beq _0380573C cmp r2, #0x41 - beq _0200D9D4 + beq _038057EC cmp r2, #0x42 - beq _0200DA6C - b _0200DB08 -_0200D924: - bl sub_02005EE8 + beq _03805884 + b _03805920 +_0380573C: + bl sub_037FDD00 mov r5, r0 mov r0, #2 - bl sub_0200BCF4 + bl sub_03803B0C cmp r0, #0 - bne _0200D95C + bne _03805774 mov r0, r5 - bl sub_02005EFC + bl sub_037FDD14 ldr r0, [r4, #4] mov r1, #4 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_0200BC30 - b _0200DB08 -_0200D95C: + bl sub_03803A48 + b _03805920 +_03805774: mov r0, #2 - bl sub_0200BD10 + bl sub_03803B28 mov r0, r5 - bl sub_02005EFC + bl sub_037FDD14 ldr r0, [r4, #8] and r0, r0, #1 cmp r0, #1 - bne _0200D990 - bl sub_0200DE4C + bne _038057A8 + bl sub_03805C64 ldr r1, [r4, #8] tst r1, #2 eorne r0, r0, #0x8000 - b _0200D9A0 -_0200D990: - bl sub_0200DCF8 + b _038057B8 +_038057A8: + bl sub_03805B10 ldr r1, [r4, #8] tst r1, #2 eorne r0, r0, #0x80 -_0200D9A0: - ldr r1, _0200DB10 ; =0x027FFF94 +_038057B8: + ldr r1, _03805928 ; =0x027FFF94 movne r0, r0, lsl #0x10 movne r0, r0, lsr #0x10 strh r0, [r1] @@ -16964,111 +16964,111 @@ _0200D9A0: mov r1, #0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_0200BC30 + bl sub_03803A48 mov r0, #2 - bl sub_0200BD28 - b _0200DB08 -_0200D9D4: - ldr r0, _0200DB14 ; =0x0380B1FC + bl sub_03803B40 + b _03805920 +_038057EC: + ldr r0, _0380592C ; =0x0380B1FC ldr r1, [r0, #0x20] cmp r1, #1 - bne _0200DA58 + bne _03805870 mov r1, #0 strh r1, [r0, #0x3a] strh r1, [r0, #0x38] - bl sub_02005EE8 + bl sub_037FDD00 mov r5, r0 mov r0, #0x40 - bl sub_02003AD8 - ldr r1, _0200DB18 ; =0x0380593C + bl sub_037FB8F0 + ldr r1, _03805930 ; =0x0380593C mov r0, #0x40 - bl sub_0200DF80 - bl sub_0200DFA8 - ldr r1, _0200DB14 ; =0x0380B1FC - ldr r2, _0200DB1C ; =0x0400010C + bl sub_03805D98 + bl sub_03805DC0 + ldr r1, _0380592C ; =0x0380B1FC + ldr r2, _03805934 ; =0x0400010C ldrh r3, [r1, #0x34] mov r0, r5 strh r3, [r2] ldrh r1, [r1, #0x36] orr r1, r1, #0xc0 strh r1, [r2, #2] - bl sub_02005EFC + bl sub_037FDD14 ldr r0, [r4, #4] mov r1, #0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - bl sub_0200BC30 - ldr r0, _0200DB14 ; =0x0380B1FC + bl sub_03803A48 + ldr r0, _0380592C ; =0x0380B1FC mov r1, #2 str r1, [r0, #0x20] - b _0200DB08 -_0200DA58: + b _03805920 +_03805870: mov r0, r2, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, #3 - bl sub_0200BC30 - b _0200DB08 -_0200DA6C: - ldr r0, _0200DB14 ; =0x0380B1FC + bl sub_03803A48 + b _03805920 +_03805884: + ldr r0, _0380592C ; =0x0380B1FC ldr r1, [r0, #0x20] sub r0, r1, #3 cmp r0, #1 - bhi _0200DAE8 - ldr r1, _0200DB20 ; =0x0400010E + bhi _03805900 + ldr r1, _03805938 ; =0x0400010E ldrh r0, [r1] bic r0, r0, #0x80 strh r0, [r1] - bl sub_02005EE8 + bl sub_037FDD00 mov r4, r0 mov r0, #0x40 mov r1, #0 - bl sub_0200DF80 - bl sub_0200E008 + bl sub_03805D98 + bl sub_03805E20 mov r0, r4 - bl sub_02005EFC - ldr r0, _0200DB14 ; =0x0380B1FC + bl sub_037FDD14 + ldr r0, _0380592C ; =0x0380B1FC mov r1, #0 ldr r0, [r0, #0x20] cmp r0, #3 - bne _0200DAD0 + bne _038058E8 mov r0, #0x42 - bl sub_0200BC30 - b _0200DAD8 -_0200DAD0: + bl sub_03803A48 + b _038058F0 +_038058E8: mov r0, #0x51 - bl sub_0200BC30 -_0200DAD8: - ldr r0, _0200DB14 ; =0x0380B1FC + bl sub_03803A48 +_038058F0: + ldr r0, _0380592C ; =0x0380B1FC mov r1, #0 str r1, [r0, #0x20] - b _0200DB08 -_0200DAE8: + b _03805920 +_03805900: cmp r1, #3 mov r1, #3 - bne _0200DB00 + bne _03805918 mov r0, #0x42 - bl sub_0200BC30 - b _0200DB08 -_0200DB00: + bl sub_03803A48 + b _03805920 +_03805918: mov r0, #0x51 - bl sub_0200BC30 -_0200DB08: + bl sub_03803A48 +_03805920: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0200DB10: .word 0x027FFF94 -_0200DB14: .word 0x0380B1FC -_0200DB18: .word 0x0380593C -_0200DB1C: .word 0x0400010C -_0200DB20: .word 0x0400010E - arm_func_end sub_0200D8FC +_03805928: .word 0x027FFF94 +_0380592C: .word 0x0380B1FC +_03805930: .word 0x0380593C +_03805934: .word 0x0400010C +_03805938: .word 0x0400010E + arm_func_end sub_03805714 - arm_func_start sub_0200DB24 -sub_0200DB24: ; 0x0200DB24 + arm_func_start sub_0380593C +sub_0380593C: ; 0x0380593C stmdb sp!, {r3, lr} - bl sub_0200DB58 - ldr r3, _0200DB50 ; =0x0380FFF8 - ldr r0, _0200DB54 ; =0x04000214 + bl sub_03805970 + ldr r3, _03805968 ; =0x0380FFF8 + ldr r0, _0380596C ; =0x04000214 ldr r2, [r3] mov r1, #0x40 orr r2, r2, #0x40 @@ -17077,84 +17077,84 @@ sub_0200DB24: ; 0x0200DB24 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200DB50: .word 0x0380FFF8 -_0200DB54: .word 0x04000214 - arm_func_end sub_0200DB24 +_03805968: .word 0x0380FFF8 +_0380596C: .word 0x04000214 + arm_func_end sub_0380593C - arm_func_start sub_0200DB58 -sub_0200DB58: ; 0x0200DB58 + arm_func_start sub_03805970 +sub_03805970: ; 0x03805970 stmdb sp!, {r4, r5, r6, r7, lr} - ldr r4, _0200DCE8 ; =0x0380B1FC + ldr r4, _03805B00 ; =0x0380B1FC ldrh r5, [r4, #0x26] and r0, r5, #4 cmp r0, #4 ldrh r6, [r4, #0x38] - bne _0200DB78 - b _0200DB7C -_0200DB78: + bne _03805990 + b _03805994 +_03805990: ldrh r7, [r4, #0x3a] -_0200DB7C: - beq _0200DB84 - b _0200DB88 -_0200DB84: - ldr r7, _0200DCEC ; =0x0000FFFF -_0200DB88: - bl sub_0200BE44 +_03805994: + beq _0380599C + b _038059A0 +_0380599C: + ldr r7, _03805B04 ; =0x0000FFFF +_038059A0: + bl sub_03803C5C cmp r0, #0 - bne _0200DBF4 + bne _03805A0C mov r0, #2 - bl sub_0200BCF4 + bl sub_03803B0C cmp r0, #0 - beq _0200DBF4 + beq _03805A0C and r0, r5, #1 cmp r0, #1 - bne _0200DBD4 - bl sub_0200DE4C + bne _038059EC + bl sub_03805C64 tst r5, #2 - beq _0200DBC0 - b _0200DBC4 -_0200DBC0: + beq _038059D8 + b _038059DC +_038059D8: mov r7, r0 -_0200DBC4: - bne _0200DBCC - b _0200DBD0 -_0200DBCC: +_038059DC: + bne _038059E4 + b _038059E8 +_038059E4: eor r7, r0, #0x8000 -_0200DBD0: - b _0200DBF4 -_0200DBD4: - bl sub_0200DCF8 +_038059E8: + b _03805A0C +_038059EC: + bl sub_03805B10 tst r5, #2 - beq _0200DBE4 - b _0200DBE8 -_0200DBE4: + beq _038059FC + b _03805A00 +_038059FC: mov r7, r0 -_0200DBE8: - bne _0200DBF0 - b _0200DBF4 -_0200DBF0: +_03805A00: + bne _03805A08 + b _03805A0C +_03805A08: eor r7, r0, #0x80 -_0200DBF4: +_03805A0C: and r0, r5, #1 - ldr r3, _0200DCF0 ; =0x027FFC00 + ldr r3, _03805B08 ; =0x027FFC00 ldr r1, [r4, #0x2c] cmp r0, #1 - bne _0200DC24 + bne _03805A3C ldr r2, [r4, #0x28] strh r7, [r2, r1]! str r2, [r3, #0x390] add r3, r3, #0x394 strh r7, [r3] add r1, r1, #2 - b _0200DC5C -_0200DC24: + b _03805A74 +_03805A3C: and r7, r7, #0xff tst r1, #1 - bne _0200DC3C + bne _03805A54 mov r6, r7 add r1, r1, #1 - b _0200DC5C -_0200DC3C: + b _03805A74 +_03805A54: orr r0, r6, r7, lsl #8 ldr r2, [r4, #0x28] sub r1, r1, #1 @@ -17163,80 +17163,80 @@ _0200DC3C: add r3, r3, #0x394 strh r0, [r3] add r1, r1, #2 -_0200DC5C: +_03805A74: strh r6, [r4, #0x38] strh r7, [r4, #0x3a] ldr r0, [r4, #0x30] cmp r1, r0 - bhs _0200DC74 - b _0200DC78 -_0200DC74: + bhs _03805A8C + b _03805A90 +_03805A8C: mov r1, #0 -_0200DC78: +_03805A90: str r1, [r4, #0x2c] - blo _0200DCE0 + blo _03805AF8 ldrh r0, [r4, #0x24] and r0, r0, #0x10 cmp r0, #0x10 - bne _0200DCA0 + bne _03805AB8 mov r0, #0x51 mov r1, #0 - bl sub_0200BC30 - b _0200DCE0 -_0200DCA0: + bl sub_03803A48 + b _03805AF8 +_03805AB8: mov r0, #2 mov r1, #0x42 mov r2, #0 - bl sub_0200BD64 + bl sub_03803B7C cmp r0, #0 - bne _0200DCC8 + bne _03805AE0 mov r0, #0x51 mov r1, #4 - bl sub_0200BC30 - b _0200DCE0 -_0200DCC8: + bl sub_03803A48 + b _03805AF8 +_03805AE0: mov r0, #4 str r0, [r4, #0x20] - ldr r1, _0200DCF4 ; =0x0400010E + ldr r1, _03805B0C ; =0x0400010E ldrh r0, [r1] bic r0, r0, #0x80 strh r0, [r1] -_0200DCE0: +_03805AF8: ldmia sp!, {r4, r5, r6, r7, lr} bx lr .align 2, 0 -_0200DCE8: .word 0x0380B1FC -_0200DCEC: .word 0x0000FFFF -_0200DCF0: .word 0x027FFC00 -_0200DCF4: .word 0x0400010E - arm_func_end sub_0200DB58 +_03805B00: .word 0x0380B1FC +_03805B04: .word 0x0000FFFF +_03805B08: .word 0x027FFC00 +_03805B0C: .word 0x0400010E + arm_func_end sub_03805970 - arm_func_start sub_0200DCF8 -sub_0200DCF8: ; 0x0200DCF8 + arm_func_start sub_03805B10 +sub_03805B10: ; 0x03805B10 stmdb sp!, {r4, lr} - ldr r2, _0200DE04 ; =0x040001C0 -_0200DD00: + ldr r2, _03805C1C ; =0x040001C0 +_03805B18: ldrh r0, [r2] tst r0, #0x80 - bne _0200DD00 - ldr r1, _0200DE08 ; =0x00008A01 - ldr r0, _0200DE0C ; =0x040001C2 + bne _03805B18 + ldr r1, _03805C20 ; =0x00008A01 + ldr r0, _03805C24 ; =0x040001C2 strh r1, [r2] mov r1, #0xec strh r1, [r0] sub r1, r0, #2 -_0200DD24: +_03805B3C: ldrh r0, [r1] tst r0, #0x80 - bne _0200DD24 - bl sub_0200DE1C - ldr r2, _0200DE10 ; =0x00008201 - ldr r1, _0200DE04 ; =0x040001C0 + bne _03805B3C + bl sub_03805C34 + ldr r2, _03805C28 ; =0x00008201 + ldr r1, _03805C1C ; =0x040001C0 mov r4, r0, lsl #0x18 strh r2, [r1] - bl sub_0200DE1C - ldr r2, _0200DE14 ; =0x0380B238 - ldr r1, _0200DE18 ; =0x00007F80 + bl sub_03805C34 + ldr r2, _03805C2C ; =0x0380B238 + ldr r1, _03805C30 ; =0x00007F80 orr r0, r0, r4, lsr #16 and r1, r0, r1 ldr r0, [r2, #0x10] @@ -17247,7 +17247,7 @@ _0200DD24: add r0, r0, #1 str r0, [r2, #0xc] cmp r0, #0x1000 - blo _0200DDD4 + blo _03805BEC ldrsb r4, [r2] mov r0, r3, lsr #0xc sub r0, r0, #0x80 @@ -17257,87 +17257,87 @@ _0200DD24: cmplt r4, #0xc addlt r0, r4, #1 strltb r0, [r2] - blt _0200DDC4 + blt _03805BDC cmp r0, r4 - bge _0200DDC4 + bge _03805BDC mvn r0, #0xb cmp r4, r0 - ldrgt r0, _0200DE14 ; =0x0380B238 + ldrgt r0, _03805C2C ; =0x0380B238 ldrgtsb r2, [r0] subgt r2, r2, #1 strgtb r2, [r0] -_0200DDC4: - ldr r0, _0200DE14 ; =0x0380B238 +_03805BDC: + ldr r0, _03805C2C ; =0x0380B238 mov r2, #0 str r2, [r0, #0xc] str r2, [r0, #0x10] -_0200DDD4: - ldr r0, _0200DE14 ; =0x0380B238 +_03805BEC: + ldr r0, _03805C2C ; =0x0380B238 ldrsb r0, [r0] rsb r0, r0, r1, lsr #16 cmp r0, #0xff movgt r0, #0xff - bgt _0200DDF4 + bgt _03805C0C cmp r0, #0 movlt r0, #0 -_0200DDF4: +_03805C0C: mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200DE04: .word 0x040001C0 -_0200DE08: .word 0x00008A01 -_0200DE0C: .word 0x040001C2 -_0200DE10: .word 0x00008201 -_0200DE14: .word 0x0380B238 -_0200DE18: .word 0x00007F80 - arm_func_end sub_0200DCF8 +_03805C1C: .word 0x040001C0 +_03805C20: .word 0x00008A01 +_03805C24: .word 0x040001C2 +_03805C28: .word 0x00008201 +_03805C2C: .word 0x0380B238 +_03805C30: .word 0x00007F80 + arm_func_end sub_03805B10 - arm_func_start sub_0200DE1C -sub_0200DE1C: ; 0x0200DE1C - ldr r0, _0200DE48 ; =0x040001C2 + arm_func_start sub_03805C34 +sub_03805C34: ; 0x03805C34 + ldr r0, _03805C60 ; =0x040001C2 mov r1, #0 strh r1, [r0] sub r1, r0, #2 -_0200DE2C: +_03805C44: ldrh r0, [r1] tst r0, #0x80 - bne _0200DE2C - ldr r0, _0200DE48 ; =0x040001C2 + bne _03805C44 + ldr r0, _03805C60 ; =0x040001C2 ldrh r0, [r0] and r0, r0, #0xff bx lr .align 2, 0 -_0200DE48: .word 0x040001C2 - arm_func_end sub_0200DE1C +_03805C60: .word 0x040001C2 + arm_func_end sub_03805C34 - arm_func_start sub_0200DE4C -sub_0200DE4C: ; 0x0200DE4C + arm_func_start sub_03805C64 +sub_03805C64: ; 0x03805C64 stmdb sp!, {r4, lr} - ldr r2, _0200DF64 ; =0x040001C0 -_0200DE54: + ldr r2, _03805D7C ; =0x040001C0 +_03805C6C: ldrh r0, [r2] tst r0, #0x80 - bne _0200DE54 - ldr r1, _0200DF68 ; =0x00008A01 - ldr r0, _0200DF6C ; =0x040001C2 + bne _03805C6C + ldr r1, _03805D80 ; =0x00008A01 + ldr r0, _03805D84 ; =0x040001C2 strh r1, [r2] mov r1, #0xe4 strh r1, [r0] sub r1, r0, #2 -_0200DE78: +_03805C90: ldrh r0, [r1] tst r0, #0x80 - bne _0200DE78 - bl sub_0200DE1C - ldr r2, _0200DF70 ; =0x00008201 - ldr r1, _0200DF64 ; =0x040001C0 + bne _03805C90 + bl sub_03805C34 + ldr r2, _03805D88 ; =0x00008201 + ldr r1, _03805D7C ; =0x040001C0 mov r4, r0, lsl #0x18 strh r2, [r1] - bl sub_0200DE1C - ldr r3, _0200DF74 ; =0x0380B238 - ldr r1, _0200DF78 ; =0x00007FF8 + bl sub_03805C34 + ldr r3, _03805D8C ; =0x0380B238 + ldr r1, _03805D90 ; =0x00007FF8 orr r0, r0, r4, lsr #16 and r2, r0, r1 ldr r0, [r3, #4] @@ -17348,7 +17348,7 @@ _0200DE78: add r0, r0, #1 str r0, [r3, #8] cmp r0, #0x100 - blo _0200DF30 + blo _03805D48 mov r0, r1, lsl #1 and r0, r0, r4, lsr #8 ldrsh r4, [r3, #2] @@ -17359,71 +17359,71 @@ _0200DE78: cmplt r4, #0xc00 addlt r0, r4, #0x10 strlth r0, [r3, #2] - blt _0200DF20 + blt _03805D38 cmp r1, r4 - bge _0200DF20 + bge _03805D38 mov r0, #0xc00 rsb r0, r0, #0 cmp r4, r0 - ldrgt r0, _0200DF74 ; =0x0380B238 + ldrgt r0, _03805D8C ; =0x0380B238 ldrgtsh r1, [r0, #2] subgt r1, r1, #0x10 strgth r1, [r0, #2] -_0200DF20: - ldr r0, _0200DF74 ; =0x0380B238 +_03805D38: + ldr r0, _03805D8C ; =0x0380B238 mov r1, #0 str r1, [r0, #8] str r1, [r0, #4] -_0200DF30: - ldr r1, _0200DF74 ; =0x0380B238 - ldr r0, _0200DF7C ; =0x0000FFF0 +_03805D48: + ldr r1, _03805D8C ; =0x0380B238 + ldr r0, _03805D94 ; =0x0000FFF0 ldrsh r1, [r1, #2] rsb r1, r1, r2, lsr #16 cmp r1, r0 movgt r1, r0 - bgt _0200DF54 + bgt _03805D6C cmp r1, #0 movlt r1, #0 -_0200DF54: +_03805D6C: mov r0, r1, lsl #0x10 mov r0, r0, lsr #0x10 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200DF64: .word 0x040001C0 -_0200DF68: .word 0x00008A01 -_0200DF6C: .word 0x040001C2 -_0200DF70: .word 0x00008201 -_0200DF74: .word 0x0380B238 -_0200DF78: .word 0x00007FF8 -_0200DF7C: .word 0x0000FFF0 - arm_func_end sub_0200DE4C +_03805D7C: .word 0x040001C0 +_03805D80: .word 0x00008A01 +_03805D84: .word 0x040001C2 +_03805D88: .word 0x00008201 +_03805D8C: .word 0x0380B238 +_03805D90: .word 0x00007FF8 +_03805D94: .word 0x0000FFF0 + arm_func_end sub_03805C64 - arm_func_start sub_0200DF80 -sub_0200DF80: ; 0x0200DF80 - ldr r2, _0200DFA4 ; =0x038074F4 + arm_func_start sub_03805D98 +sub_03805D98: ; 0x03805D98 + ldr r2, _03805DBC ; =0x038074F4 mov r3, #0 -_0200DF88: +_03805DA0: tst r0, #1 strne r1, [r2, r3, lsl #2] add r3, r3, #1 cmp r3, #0x19 mov r0, r0, lsr #1 - blt _0200DF88 + blt _03805DA0 bx lr .align 2, 0 -_0200DFA4: .word 0x038074F4 - arm_func_end sub_0200DF80 +_03805DBC: .word 0x038074F4 + arm_func_end sub_03805D98 - arm_func_start sub_0200DFA8 -sub_0200DFA8: ; 0x0200DFA8 + arm_func_start sub_03805DC0 +sub_03805DC0: ; 0x03805DC0 stmdb sp!, {r3, lr} - ldr r3, _0200DFFC ; =0x0380FFFC - ldr r0, _0200E000 ; =0x03805E64 + ldr r3, _03805E14 ; =0x0380FFFC + ldr r0, _03805E18 ; =0x03805E64 ldr r2, [r3] cmp r2, r0 - beq _0200DFF4 - ldr r0, _0200E004 ; =0x0380B24C + beq _03805E0C + ldr r0, _03805E1C ; =0x0380B24C mov r1, #0 str r1, [r0] sub r1, r3, #0x17c @@ -17431,74 +17431,74 @@ sub_0200DFA8: ; 0x0200DFA8 mov r1, #0x40 str r1, [r0, #8] str r2, [r0, #0xc] - bl sub_02005EE8 - ldr r2, _0200E000 ; =0x03805E64 - ldr r1, _0200DFFC ; =0x0380FFFC + bl sub_037FDD00 + ldr r2, _03805E18 ; =0x03805E64 + ldr r1, _03805E14 ; =0x0380FFFC str r2, [r1] - bl sub_02005EFC -_0200DFF4: + bl sub_037FDD14 +_03805E0C: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200DFFC: .word 0x0380FFFC -_0200E000: .word 0x03805E64 -_0200E004: .word 0x0380B24C - arm_func_end sub_0200DFA8 +_03805E14: .word 0x0380FFFC +_03805E18: .word 0x03805E64 +_03805E1C: .word 0x0380B24C + arm_func_end sub_03805DC0 - arm_func_start sub_0200E008 -sub_0200E008: ; 0x0200E008 + arm_func_start sub_03805E20 +sub_03805E20: ; 0x03805E20 stmdb sp!, {r3, lr} - ldr r1, _0200E040 ; =0x0380FFFC - ldr r0, _0200E044 ; =0x03805E64 + ldr r1, _03805E58 ; =0x0380FFFC + ldr r0, _03805E5C ; =0x03805E64 ldr r1, [r1] cmp r1, r0 - bne _0200E038 - bl sub_02005EE8 - ldr r1, _0200E048 ; =0x0380B24C - ldr r2, _0200E040 ; =0x0380FFFC + bne _03805E50 + bl sub_037FDD00 + ldr r1, _03805E60 ; =0x0380B24C + ldr r2, _03805E58 ; =0x0380FFFC ldr r1, [r1, #0xc] str r1, [r2] - bl sub_02005EFC -_0200E038: + bl sub_037FDD14 +_03805E50: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200E040: .word 0x0380FFFC -_0200E044: .word 0x03805E64 -_0200E048: .word 0x0380B24C - arm_func_end sub_0200E008 +_03805E58: .word 0x0380FFFC +_03805E5C: .word 0x03805E64 +_03805E60: .word 0x0380B24C + arm_func_end sub_03805E20 - arm_func_start sub_0200E04C -sub_0200E04C: ; 0x0200E04C + arm_func_start sub_03805E64 +sub_03805E64: ; 0x03805E64 mov ip, #0x4000000 add r1, ip, #0x208 ldrh r0, [r1] tst r0, r0 - beq _0200E064 - b _0200E068 -_0200E064: + beq _03805E7C + b _03805E80 +_03805E7C: bx lr -_0200E068: +_03805E80: ldr r3, [ip, #0x210] ldr r1, [ip, #0x214] ands r2, r1, r3 - beq _0200E07C - b _0200E080 -_0200E07C: + beq _03805E94 + b _03805E98 +_03805E94: bx lr -_0200E080: - ldr r0, _0200E268 ; =0x01DF3FFF +_03805E98: + ldr r0, _03806080 ; =0x01DF3FFF tst r2, r0 - beq _0200E090 - b _0200E094 -_0200E090: + beq _03805EA8 + b _03805EAC +_03805EA8: str r2, [ip, #0x214] -_0200E094: - beq _0200E09C - b _0200E0A0 -_0200E09C: +_03805EAC: + beq _03805EB4 + b _03805EB8 +_03805EB4: bx lr -_0200E0A0: +_03805EB8: stmdb sp!, {lr} mrs r0, spsr stmdb sp!, {r0} @@ -17506,98 +17506,98 @@ _0200E0A0: sub sp, sp, #8 mov r0, #0x9f msr cpsr_c, r0 - ldr r1, _0200E26C ; =0x038076A4 + ldr r1, _03806084 ; =0x038076A4 ldrh r0, [r1, #2] add r0, r0, #1 strh r0, [r1, #2] - ldr r1, _0200E270 ; =0x0380B24C + ldr r1, _03806088 ; =0x0380B24C cmp r0, #1 - beq _0200E0DC - b _0200E0E0 -_0200E0DC: + beq _03805EF4 + b _03805EF8 +_03805EF4: mov r0, sp -_0200E0E0: - beq _0200E0E8 - b _0200E0EC -_0200E0E8: +_03805EF8: + beq _03805F00 + b _03805F04 +_03805F00: ldr sp, [r1, #4] -_0200E0EC: - beq _0200E0F4 - b _0200E0F8 -_0200E0F4: +_03805F04: + beq _03805F0C + b _03805F10 +_03805F0C: str r0, [r1, #4] -_0200E0F8: +_03805F10: stmdb sp!, {r3} - ldr r1, _0200E274 ; =0x03807210 + ldr r1, _0380608C ; =0x03807210 ldr r0, [r1] tst r0, r2 - bne _0200E110 - b _0200E114 -_0200E110: + bne _03805F28 + b _03805F2C +_03805F28: str r0, [ip, #0x214] -_0200E114: - bne _0200E11C - b _0200E120 -_0200E11C: +_03805F2C: + bne _03805F34 + b _03805F38 +_03805F34: ldr r0, [r1, #4] -_0200E120: - bne _0200E128 - b _0200E12C -_0200E128: - ldr r3, _0200E278 ; =0x038074F4 -_0200E12C: - bne _0200E134 - b _0200E138 -_0200E134: +_03805F38: + bne _03805F40 + b _03805F44 +_03805F40: + ldr r3, _03806090 ; =0x038074F4 +_03805F44: + bne _03805F4C + b _03805F50 +_03805F4C: ldr r0, [r3, r0, lsl #2] -_0200E138: - bne _0200E1A8 +_03805F50: + bne _03805FC0 mov r3, #1 -_0200E140: +_03805F58: ldr r0, [r1, r3, lsl #3] tst r0, r2 - beq _0200E150 - b _0200E154 -_0200E150: + beq _03805F68 + b _03805F6C +_03805F68: add r3, r3, #1 -_0200E154: - beq _0200E140 +_03805F6C: + beq _03805F58 str r0, [ip, #0x214] add r0, r1, r3, lsl #3 ldr r2, [r0, #4] - ldr r3, _0200E278 ; =0x038074F4 + ldr r3, _03806090 ; =0x038074F4 ldr r0, [r3, r2, lsl #2] - ldr r2, _0200E26C ; =0x038076A4 + ldr r2, _03806084 ; =0x038076A4 ldrh r3, [r2, #2] cmp r3, #1 - beq _0200E180 - b _0200E184 -_0200E180: + beq _03805F98 + b _03805F9C +_03805F98: ldr r2, [r1] -_0200E184: - beq _0200E18C - b _0200E190 -_0200E18C: +_03805F9C: + beq _03805FA4 + b _03805FA8 +_03805FA4: str r2, [ip, #0x210] -_0200E190: - beq _0200E198 - b _0200E19C -_0200E198: +_03805FA8: + beq _03805FB0 + b _03805FB4 +_03805FB0: mov r2, #0x1f -_0200E19C: - beq _0200E1A4 - b _0200E1A8 -_0200E1A4: +_03805FB4: + beq _03805FBC + b _03805FC0 +_03805FBC: msr cpsr_c, r2 -_0200E1A8: +_03805FC0: ldr r1, [ip, #0x210] stmdb sp!, {r1} - add lr, pc, #0x0 ; =sub_0200E1B8 + add lr, pc, #0x0 ; =sub_03805FD0 bx r0 - arm_func_end sub_0200E04C + arm_func_end sub_03805E64 - arm_func_start sub_0200E1B8 -sub_0200E1B8: ; 0x0200E1B8 + arm_func_start sub_03805FD0 +sub_03805FD0: ; 0x03805FD0 mov r0, #0x9f msr cpsr_c, r0 mov ip, #0x4000000 @@ -17610,26 +17610,26 @@ sub_0200E1B8: ; 0x0200E1B8 orr r3, r3, r1 bic r3, r3, r0 str r3, [ip, #0x210] - ldr r2, _0200E26C ; =0x038076A4 - ldr r3, _0200E270 ; =0x0380B24C + ldr r2, _03806084 ; =0x038076A4 + ldr r3, _03806088 ; =0x0380B24C ldrh r0, [r2, #2] subs r1, r0, #1 strh r1, [r2, #2] - beq _0200E204 - b _0200E208 -_0200E204: + beq _0380601C + b _03806020 +_0380601C: mov r0, sp -_0200E208: - beq _0200E210 - b _0200E214 -_0200E210: +_03806020: + beq _03806028 + b _0380602C +_03806028: ldr sp, [r3, #4] -_0200E214: - beq _0200E21C - b _0200E220 -_0200E21C: +_0380602C: + beq _03806034 + b _03806038 +_03806034: str r0, [r3, #4] -_0200E220: +_03806038: mov r0, #0x92 msr cpsr_c, r0 ldmia sp, {sp, lr} ^ @@ -17638,173 +17638,173 @@ _0200E220: ldmia sp!, {r0} msr spsr_fc, r0 tst r1, r1 - beq _0200E248 - b _0200E24C -_0200E248: - ldr r0, _0200E27C ; =0x037FB4F4 -_0200E24C: - beq _0200E254 - b _0200E258 -_0200E254: + beq _03806060 + b _03806064 +_03806060: + ldr r0, _03806094 ; =0x037FB4F4 +_03806064: + beq _0380606C + b _03806070 +_0380606C: add lr, pc, #0x0 ; =0x0200E25C -_0200E258: - beq _0200E260 - b _0200E264 -_0200E260: +_03806070: + beq _03806078 + b _0380607C +_03806078: bx r0 -_0200E264: +_0380607C: ldmia sp!, {pc} .align 2, 0 -_0200E268: .word 0x01DF3FFF -_0200E26C: .word 0x038076A4 -_0200E270: .word 0x0380B24C -_0200E274: .word 0x03807210 -_0200E278: .word 0x038074F4 - arm_func_end sub_0200E1B8 -_0200E27C: .word 0x037FB4F4 +_03806080: .word 0x01DF3FFF +_03806084: .word 0x038076A4 +_03806088: .word 0x0380B24C +_0380608C: .word 0x03807210 +_03806090: .word 0x038074F4 + arm_func_end sub_03805FD0 +_03806094: .word 0x037FB4F4 - arm_func_start sub_0200E280 -sub_0200E280: ; 0x0200E280 + arm_func_start sub_03806098 +sub_03806098: ; 0x03806098 stmdb sp!, {r3, lr} - ldr r1, _0200E2B0 ; =0x0380B260 + ldr r1, _038060C8 ; =0x0380B260 mov r3, #0 - ldr r2, _0200E2B4 ; =0x05000001 + ldr r2, _038060CC ; =0x05000001 add r0, sp, #0 str r3, [sp] - bl sub_0200E2BC - bl sub_02003DE4 - ldr r1, _0200E2B8 ; =0x0380B25C + bl sub_038060D4 + bl sub_037FBBFC + ldr r1, _038060D0 ; =0x0380B25C strh r0, [r1, #6] ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200E2B0: .word 0x0380B260 -_0200E2B4: .word 0x05000001 -_0200E2B8: .word 0x0380B25C - arm_func_end sub_0200E280 +_038060C8: .word 0x0380B260 +_038060CC: .word 0x05000001 +_038060D0: .word 0x0380B25C + arm_func_end sub_03806098 - arm_func_start sub_0200E2BC -sub_0200E2BC: ; 0x0200E2BC - ldr ip, _0200E2C4 ; =sub_038037F8 + arm_func_start sub_038060D4 +sub_038060D4: ; 0x038060D4 + ldr ip, _038060DC ; =sub_038037F8 bx ip .align 2, 0 -_0200E2C4: .word sub_038037F8 - arm_func_end sub_0200E2BC +_038060DC: .word sub_038037F8 + 1 + arm_func_end sub_038060D4 - arm_func_start sub_0200E2C8 -sub_0200E2C8: ; 0x0200E2C8 + arm_func_start sub_038060E0 +sub_038060E0: ; 0x038060E0 stmdb sp!, {r3, lr} - ldr r2, _0200E310 ; =0x027FFC30 - ldr r0, _0200E314 ; =0x0000FFFF + ldr r2, _03806128 ; =0x027FFC30 + ldr r0, _0380612C ; =0x0000FFFF ldrh r1, [r2] cmp r1, r0 moveq r0, #0 - beq _0200E308 + beq _03806120 ldrb r0, [r2, #5] mov r0, r0, lsl #0x1e movs r0, r0, lsr #0x1f - bne _0200E2F8 - bl sub_0200E318 -_0200E2F8: - ldr r0, _0200E310 ; =0x027FFC30 + bne _03806110 + bl sub_03806130 +_03806110: + ldr r0, _03806128 ; =0x027FFC30 ldrb r0, [r0, #5] mov r0, r0, lsl #0x1e mov r0, r0, lsr #0x1f -_0200E308: +_03806120: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200E310: .word 0x027FFC30 -_0200E314: .word 0x0000FFFF - arm_func_end sub_0200E2C8 +_03806128: .word 0x027FFC30 +_0380612C: .word 0x0000FFFF + arm_func_end sub_038060E0 - arm_func_start sub_0200E318 -sub_0200E318: ; 0x0200E318 + arm_func_start sub_03806130 +sub_03806130: ; 0x03806130 stmdb sp!, {r4, lr} sub sp, sp, #0x10 - ldr r2, _0200E430 ; =0x027FFC30 + ldr r2, _03806248 ; =0x027FFC30 mov r4, #1 ldrh r1, [r2] rsb r0, r4, #0x10000 cmp r1, r0 moveq r0, #0 - beq _0200E424 + beq _0380623C ldrb r0, [r2, #5] mov r0, r0, lsl #0x1e mov r0, r0, lsr #0x1f cmp r0, #1 moveq r0, #0 - beq _0200E424 - ldr r0, _0200E434 ; =0x0380B25C + beq _0380623C + ldr r0, _0380624C ; =0x0380B25C add r1, sp, #8 ldrh r0, [r0, #6] - bl sub_0200E4B8 + bl sub_038062D0 cmp r0, #0 - bne _0200E37C + bne _03806194 ldr r0, [sp, #0xc] - bl sub_02005EFC + bl sub_037FDD14 mov r0, r4 - b _0200E424 -_0200E37C: + b _0380623C +_03806194: add r0, sp, #0 - bl sub_0200E43C + bl sub_03806254 mov r0, #0x8000000 ldrb r2, [r0, #0xb2] cmp r2, #0x96 - bne _0200E3A8 - ldr r1, _0200E430 ; =0x027FFC30 + bne _038061C0 + ldr r1, _03806248 ; =0x027FFC30 ldrh r0, [r0, #0xbe] ldrh r1, [r1] cmp r1, r0 - bne _0200E3EC -_0200E3A8: + bne _03806204 +_038061C0: cmp r2, #0x96 - ldrne r1, _0200E430 ; =0x027FFC30 - ldrne r0, _0200E438 ; =0x0801FFFE + ldrne r1, _03806248 ; =0x027FFC30 + ldrne r0, _03806250 ; =0x0801FFFE ldrneh r1, [r1] ldrneh r0, [r0] cmpne r1, r0 - bne _0200E3EC - ldr r2, _0200E430 ; =0x027FFC30 + bne _03806204 + ldr r2, _03806248 ; =0x027FFC30 mov r0, #0x8000000 ldr r1, [r2, #8] ldr r0, [r0, #0xac] cmp r1, r0 - beq _0200E400 + beq _03806218 ldrb r0, [r2, #5] mov r0, r0, lsl #0x1f movs r0, r0, lsr #0x1f - beq _0200E400 -_0200E3EC: - ldr r1, _0200E430 ; =0x027FFC30 + beq _03806218 +_03806204: + ldr r1, _03806248 ; =0x027FFC30 mov r4, #0 ldrb r0, [r1, #5] orr r0, r0, #2 strb r0, [r1, #5] -_0200E400: +_03806218: ldr r0, [sp] - bl sub_0200E480 + bl sub_03806298 ldr r0, [sp, #4] - bl sub_0200E49C - ldr r0, _0200E434 ; =0x0380B25C + bl sub_038062B4 + ldr r0, _0380624C ; =0x0380B25C add r1, sp, #8 ldrh r0, [r0, #6] - bl sub_0200E508 + bl sub_03806320 mov r0, r4 -_0200E424: +_0380623C: add sp, sp, #0x10 ldmia sp!, {r4, lr} bx lr .align 2, 0 -_0200E430: .word 0x027FFC30 -_0200E434: .word 0x0380B25C -_0200E438: .word 0x0801FFFE - arm_func_end sub_0200E318 +_03806248: .word 0x027FFC30 +_0380624C: .word 0x0380B25C +_03806250: .word 0x0801FFFE + arm_func_end sub_03806130 - arm_func_start sub_0200E43C -sub_0200E43C: ; 0x0200E43C + arm_func_start sub_03806254 +sub_03806254: ; 0x03806254 stmdb sp!, {r3, lr} - ldr r2, _0200E47C ; =0x04000204 + ldr r2, _03806294 ; =0x04000204 ldrh r1, [r2] and r1, r1, #0xc mov r1, r1, asr #2 @@ -17814,196 +17814,196 @@ sub_0200E43C: ; 0x0200E43C mov r1, r1, asr #4 str r1, [r0, #4] mov r0, #3 - bl sub_0200E480 + bl sub_03806298 mov r0, #0 - bl sub_0200E49C + bl sub_038062B4 ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200E47C: .word 0x04000204 - arm_func_end sub_0200E43C +_03806294: .word 0x04000204 + arm_func_end sub_03806254 - arm_func_start sub_0200E480 -sub_0200E480: ; 0x0200E480 - ldr r2, _0200E498 ; =0x04000204 + arm_func_start sub_03806298 +sub_03806298: ; 0x03806298 + ldr r2, _038062B0 ; =0x04000204 ldrh r1, [r2] bic r1, r1, #0xc orr r0, r1, r0, lsl #2 strh r0, [r2] bx lr .align 2, 0 -_0200E498: .word 0x04000204 - arm_func_end sub_0200E480 +_038062B0: .word 0x04000204 + arm_func_end sub_03806298 - arm_func_start sub_0200E49C -sub_0200E49C: ; 0x0200E49C - ldr r2, _0200E4B4 ; =0x04000204 + arm_func_start sub_038062B4 +sub_038062B4: ; 0x038062B4 + ldr r2, _038062CC ; =0x04000204 ldrh r1, [r2] bic r1, r1, #0x10 orr r0, r1, r0, lsl #4 strh r0, [r2] bx lr .align 2, 0 -_0200E4B4: .word 0x04000204 - arm_func_end sub_0200E49C +_038062CC: .word 0x04000204 + arm_func_end sub_038062B4 - arm_func_start sub_0200E4B8 -sub_0200E4B8: ; 0x0200E4B8 + arm_func_start sub_038062D0 +sub_038062D0: ; 0x038062D0 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r5, r0 - bl sub_02005EE8 + bl sub_037FDD00 str r0, [r4, #4] - ldr r0, _0200E504 ; =0x027FFFE8 - bl sub_02003DDC + ldr r0, _0380631C ; =0x027FFFE8 + bl sub_037FBBF4 ands r0, r0, #0x80 str r0, [r4] - bne _0200E4F0 + bne _03806308 mov r0, r5 - bl sub_02003D6C + bl sub_037FBB84 cmp r0, #0 - bne _0200E4F8 -_0200E4F0: + bne _03806310 +_03806308: mov r0, #1 - b _0200E4FC -_0200E4F8: + b _03806314 +_03806310: mov r0, #0 -_0200E4FC: +_03806314: ldmia sp!, {r3, r4, r5, lr} bx lr .align 2, 0 -_0200E504: .word 0x027FFFE8 - arm_func_end sub_0200E4B8 +_0380631C: .word 0x027FFFE8 + arm_func_end sub_038062D0 - arm_func_start sub_0200E508 -sub_0200E508: ; 0x0200E508 + arm_func_start sub_03806320 +sub_03806320: ; 0x03806320 stmdb sp!, {r4, lr} mov r4, r1 ldr r1, [r4] cmp r1, #0 - bne _0200E520 - bl sub_02003D60 -_0200E520: + bne _03806338 + bl sub_037FBB78 +_03806338: ldr r0, [r4, #4] - bl sub_02005EFC + bl sub_037FDD14 ldmia sp!, {r4, lr} bx lr - arm_func_end sub_0200E508 + arm_func_end sub_03806320 - arm_func_start sub_0200E530 -sub_0200E530: ; 0x0200E530 + arm_func_start sub_03806348 +sub_03806348: ; 0x03806348 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, #1 mov r5, #0xd mov r4, #0 - b _0200E550 -_0200E548: + b _03806368 +_03806360: mov r0, r6 - bl sub_02003BF4 -_0200E550: + bl sub_037FBA0C +_03806368: mov r0, r5 mov r1, r7 mov r2, r4 - bl sub_020065F8 + bl sub_037FE410 cmp r0, #0 - bne _0200E548 + bne _03806360 ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr - arm_func_end sub_0200E530 + arm_func_end sub_03806348 - arm_func_start sub_0200E570 -sub_0200E570: ; 0x0200E570 + arm_func_start sub_03806388 +sub_03806388: ; 0x03806388 stmdb sp!, {r3, lr} - bl sub_02005310 - bl sub_02005534 - ldr r0, _0200E5F8 ; =0x0380B294 - bl sub_02005588 - ldr r0, _0200E5FC ; =0x0380B264 + bl sub_037FD128 + bl sub_037FD34C + ldr r0, _03806410 ; =0x0380B294 + bl sub_037FD3A0 + ldr r0, _03806414 ; =0x0380B264 ldr r1, [r0, #0x14] cmp r1, #0 - bne _0200E5F0 + bne _03806408 mov r1, #1 str r1, [r0, #0x14] - bl sub_0200E280 - bl sub_02003DE4 + bl sub_03806098 + bl sub_037FBBFC mvn r1, #2 cmp r0, r1 - beq _0200E5F0 - ldr r1, _0200E5FC ; =0x0380B264 + beq _03806408 + ldr r1, _03806414 ; =0x0380B264 strh r0, [r1] - bl sub_0200649C - ldr r1, _0200E600 ; =0x0380659C + bl sub_037FE2B4 + ldr r1, _03806418 ; =0x0380659C mov r0, #0xd - bl sub_02006584 - bl sub_0200E610 - ldr r1, _0200E604 ; =0x038065CC + bl sub_037FE39C + bl sub_03806428 + ldr r1, _0380641C ; =0x038065CC mov r0, #0xd - bl sub_02006584 - ldr r1, _0200E608 ; =0x03806600 + bl sub_037FE39C + ldr r1, _03806420 ; =0x03806600 mov r0, #0x10 - bl sub_02006584 - ldr r1, _0200E60C ; =0x03806944 + bl sub_037FE39C + ldr r1, _03806424 ; =0x03806944 mov r0, #0x11 - bl sub_02006584 -_0200E5F0: + bl sub_037FE39C +_03806408: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200E5F8: .word 0x0380B294 -_0200E5FC: .word 0x0380B264 -_0200E600: .word 0x0380659C -_0200E604: .word 0x038065CC -_0200E608: .word 0x03806600 -_0200E60C: .word 0x03806944 - arm_func_end sub_0200E570 +_03806410: .word 0x0380B294 +_03806414: .word 0x0380B264 +_03806418: .word 0x0380659C +_0380641C: .word 0x038065CC +_03806420: .word 0x03806600 +_03806424: .word 0x03806944 + arm_func_end sub_03806388 - arm_func_start sub_0200E610 -sub_0200E610: ; 0x0200E610 + arm_func_start sub_03806428 +sub_03806428: ; 0x03806428 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} - ldr r0, _0200E76C ; =0x0380B264 + ldr r0, _03806584 ; =0x0380B264 ldr r1, [r0, #8] cmp r1, #0 - bne _0200E764 - ldr r1, _0200E770 ; =0x04000300 + bne _0380657C + ldr r1, _03806588 ; =0x04000300 mov r2, #1 ldrh r1, [r1] str r2, [r0, #8] tst r1, #1 - beq _0200E764 + beq _0380657C mov r0, #0x40000 - bl sub_02003A8C - ldr r2, _0200E774 ; =0x04000208 + bl sub_037FB8A4 + ldr r2, _0380658C ; =0x04000208 mov r1, #1 ldrh sb, [r2] - ldr r5, _0200E76C ; =0x0380B264 + ldr r5, _03806584 ; =0x0380B264 mov r4, r0 strh r1, [r2] mov r6, #0x100 - b _0200E66C -_0200E664: + b _03806484 +_0380647C: mov r0, r6 - bl sub_02003BF4 -_0200E66C: + bl sub_037FBA0C +_03806484: ldr r0, [r5, #0x28] cmp r0, #1 - bne _0200E664 - ldr r0, _0200E76C ; =0x0380B264 + bne _0380647C + ldr r0, _03806584 ; =0x0380B264 mov r1, #0x8000000 ldr r2, [r0, #0x18] - ldr r0, _0200E778 ; =0x01FFFFC0 + ldr r0, _03806590 ; =0x01FFFFC0 add r8, r1, #4 and r0, r2, r0 mov r0, r0, lsr #6 mov r0, r0, lsl #5 add r5, r0, #0x2000000 mov r6, #1 - bl sub_02003DE4 + bl sub_037FBBFC mov r0, r0, lsl #0x10 mov r7, r0, lsr #0x10 mov r0, r7 - bl sub_02003CF0 - ldr ip, _0200E77C ; =0x0000FFFF + bl sub_037FBB08 + ldr ip, _03806594 ; =0x0000FFFF mov sl, #0 eor r0, ip, #3 eor r1, ip, #0x84 @@ -18011,15 +18011,15 @@ _0200E66C: mov r1, r1, lsl #0x10 mov r2, r0, lsr #0x10 mov r3, r1, lsr #0x10 - b _0200E714 -_0200E6D8: + b _0380652C +_038064F0: mov lr, ip cmp sl, #0x4c moveq lr, r3 - beq _0200E6F0 + beq _03806508 cmp sl, #0x4d moveq lr, r2 -_0200E6F0: +_03806508: add r0, r5, sl, lsl #1 mov r1, sl, lsl #1 ldrh r0, [r0, #4] @@ -18027,17 +18027,17 @@ _0200E6F0: and r0, lr, r0 cmp r0, r1 movne r6, #0 - bne _0200E71C + bne _03806534 add sl, sl, #1 -_0200E714: +_0380652C: cmp sl, #0x4e - blt _0200E6D8 -_0200E71C: + blt _038064F0 +_03806534: mov r0, r7 - bl sub_02003D60 + bl sub_037FBB78 mov r0, r7 - bl sub_02003E8C - ldr r2, _0200E780 ; =0x027FFC30 + bl sub_037FBCA4 + ldr r2, _03806598 ; =0x027FFC30 and r0, r6, #0xff ldrb r1, [r2, #5] and r0, r0, #1 @@ -18045,310 +18045,310 @@ _0200E71C: orr r1, r1, r0 mov r0, #1 strb r1, [r2, #5] - bl sub_0200E530 - ldr r2, _0200E774 ; =0x04000208 + bl sub_03806348 + ldr r2, _0380658C ; =0x04000208 mov r0, r4 ldrh r1, [r2] strh sb, [r2] - bl sub_02003A8C -_0200E764: + bl sub_037FB8A4 +_0380657C: ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, lr} bx lr .align 2, 0 -_0200E76C: .word 0x0380B264 -_0200E770: .word 0x04000300 -_0200E774: .word 0x04000208 -_0200E778: .word 0x01FFFFC0 -_0200E77C: .word 0x0000FFFF -_0200E780: .word 0x027FFC30 - arm_func_end sub_0200E610 +_03806584: .word 0x0380B264 +_03806588: .word 0x04000300 +_0380658C: .word 0x04000208 +_03806590: .word 0x01FFFFC0 +_03806594: .word 0x0000FFFF +_03806598: .word 0x027FFC30 + arm_func_end sub_03806428 - arm_func_start sub_0200E784 -sub_0200E784: ; 0x0200E784 + arm_func_start sub_0380659C +sub_0380659C: ; 0x0380659C stmdb sp!, {r3, lr} and r0, r1, #0x3f cmp r0, #1 - ldreq r0, _0200E7B0 ; =0x0380B264 + ldreq r0, _038065C8 ; =0x0380B264 moveq r2, #1 streq r1, [r0, #0x18] streq r2, [r0, #0x28] - beq _0200E7A8 - bl sub_02006058 -_0200E7A8: + beq _038065C0 + bl sub_037FDE70 +_038065C0: ldmia sp!, {r3, lr} bx lr .align 2, 0 -_0200E7B0: .word 0x0380B264 - arm_func_end sub_0200E784 +_038065C8: .word 0x0380B264 + arm_func_end sub_0380659C - arm_func_start sub_0200E7B4 -sub_0200E7B4: ; 0x0200E7B4 + arm_func_start sub_038065CC +sub_038065CC: ; 0x038065CC stmdb sp!, {r3, lr} and r0, r1, #0x3f cmp r0, #2 - bne _0200E7DC + bne _038065F4 mov r0, #0 - bl sub_0200E7F8 - bl sub_020068F0 - bl sub_0200D474 - bl sub_02006058 - b _0200E7E0 -_0200E7DC: - bl sub_02006058 -_0200E7E0: + bl sub_03806610 + bl sub_037FE708 + bl sub_0380528C + bl sub_037FDE70 + b _038065F8 +_038065F4: + bl sub_037FDE70 +_038065F8: ldmia sp!, {r3, lr} bx lr - arm_func_end sub_0200E7B4 + arm_func_end sub_038065CC - arm_func_start sub_0200E7E8 -sub_0200E7E8: ; 0x0200E7E8 - ldr ip, _0200E7F4 ; =sub_03806610 + arm_func_start sub_03806600 +sub_03806600: ; 0x03806600 + ldr ip, _0380660C ; =sub_03806610 mov r0, r1 bx ip .align 2, 0 -_0200E7F4: .word sub_03806610 - arm_func_end sub_0200E7E8 +_0380660C: .word sub_03806610 + arm_func_end sub_03806600 - arm_func_start sub_0200E7F8 -sub_0200E7F8: ; 0x0200E7F8 + arm_func_start sub_03806610 +sub_03806610: ; 0x03806610 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} movs r5, r0 - beq _0200E834 + beq _0380664C ldr r0, [r5] cmp r0, #0 - bne _0200E834 + bne _0380664C ldr r0, [r5, #0x44] add r0, r0, #1 str r0, [r5, #0x44] ldr r1, [r5, #0x40] cmp r1, #0 - beq _0200E834 + beq _0380664C ldr r0, [r5, #0x44] cmp r0, r1 movhi r5, #0 -_0200E834: +_0380664C: cmp r5, #0 ldrne r0, [r5, #0x3c] cmpne r0, #0 - bne _0200E8D8 - bl sub_02005EE8 - ldr r4, _0200EA14 ; =0x0380B264 + bne _038066F0 + bl sub_037FDD00 + ldr r4, _0380682C ; =0x0380B264 mov sb, r0 ldr r0, [r4, #4] cmp r0, #2 - bne _0200E8C4 + bne _038066DC mov sl, #0 - ldr r7, _0200EA18 ; =0x027FFFE8 - ldr r5, _0200EA1C ; =0x08001000 + ldr r7, _03806830 ; =0x027FFFE8 + ldr r5, _03806834 ; =0x08001000 mov r6, sl mov fp, #1 - b _0200E8BC -_0200E874: + b _038066D4 +_0380668C: mov r0, r7 - bl sub_02003DDC + bl sub_037FBBF4 ands r8, r0, #0x80 - bne _0200E894 + bne _038066AC ldrh r0, [r4] - bl sub_02003D6C + bl sub_037FBB84 cmp r0, #0 - bne _0200E8B4 -_0200E894: + bne _038066CC +_038066AC: str r6, [r4, #4] mov sl, fp strh r6, [r5] cmp r8, #0 - bne _0200E8BC + bne _038066D4 ldrh r0, [r4] - bl sub_02003D40 - b _0200E8BC -_0200E8B4: - ldr r0, _0200EA20 ; =0x000080E8 - bl sub_02005F4C -_0200E8BC: + bl sub_037FBB58 + b _038066D4 +_038066CC: + ldr r0, _03806838 ; =0x000080E8 + bl sub_037FDD64 +_038066D4: cmp sl, #0 - beq _0200E874 -_0200E8C4: - ldr r0, _0200EA24 ; =0x0380B294 - bl sub_020057A8 + beq _0380668C +_038066DC: + ldr r0, _0380683C ; =0x0380B294 + bl sub_037FD5C0 mov r0, sb - bl sub_02005EFC - b _0200EA0C -_0200E8D8: + bl sub_037FDD14 + b _03806824 +_038066F0: cmp r5, #0 - beq _0200EA0C - ldr r0, _0200EA18 ; =0x027FFFE8 - bl sub_02003DDC + beq _03806824 + ldr r0, _03806830 ; =0x027FFFE8 + bl sub_037FBBF4 ands r4, r0, #0x80 - bne _0200E904 - ldr r0, _0200EA14 ; =0x0380B264 + bne _0380671C + ldr r0, _0380682C ; =0x0380B264 ldrh r0, [r0] - bl sub_02003D6C + bl sub_037FBB84 cmp r0, #0 - bne _0200E9F4 -_0200E904: + bne _0380680C +_0380671C: ldr r1, [r5] ldr r0, [r5, #4] cmp r1, r0 - bne _0200E94C - ldr r0, _0200EA14 ; =0x0380B264 + bne _03806764 + ldr r0, _0380682C ; =0x0380B264 mov r2, #0 - ldr r1, _0200EA1C ; =0x08001000 + ldr r1, _03806834 ; =0x08001000 str r2, [r0, #4] strh r2, [r1] str r5, [sp] ldr r1, [r5, #8] - ldr r0, _0200EA24 ; =0x0380B294 - ldr r3, _0200EA28 ; =0x03806610 + ldr r0, _0380683C ; =0x0380B294 + ldr r3, _03806840 ; =0x03806610 mov r2, #0 - bl sub_020056C4 + bl sub_037FD4DC mov r0, #0 str r0, [r5] - b _0200E9DC -_0200E94C: + b _038067F4 +_03806764: tst r1, #1 - ldr r1, _0200EA1C ; =0x08001000 - beq _0200E99C - ldr r0, _0200EA14 ; =0x0380B264 + ldr r1, _03806834 ; =0x08001000 + beq _038067B4 + ldr r0, _0380682C ; =0x0380B264 mov r2, #0 str r2, [r0, #4] strh r2, [r1] str r5, [sp] ldr r1, [r5] - ldr r0, _0200EA24 ; =0x0380B294 + ldr r0, _0380683C ; =0x0380B294 mov r1, r1, lsr #1 add r1, r5, r1, lsl #2 ldr r1, [r1, #0x24] - ldr r3, _0200EA28 ; =0x03806610 + ldr r3, _03806840 ; =0x03806610 mov r2, #0 - bl sub_020056C4 + bl sub_037FD4DC ldr r0, [r5] add r0, r0, #1 str r0, [r5] - b _0200E9DC -_0200E99C: - ldr r0, _0200EA14 ; =0x0380B264 + b _038067F4 +_038067B4: + ldr r0, _0380682C ; =0x0380B264 mov r2, #2 str r2, [r0, #4] strh r2, [r1] str r5, [sp] ldr r1, [r5] - ldr r0, _0200EA24 ; =0x0380B294 + ldr r0, _0380683C ; =0x0380B294 mov r1, r1, lsr #1 add r1, r5, r1, lsl #2 ldr r1, [r1, #0xc] - ldr r3, _0200EA28 ; =0x03806610 + ldr r3, _03806840 ; =0x03806610 mov r2, #0 - bl sub_020056C4 + bl sub_037FD4DC ldr r0, [r5] add r0, r0, #1 str r0, [r5] -_0200E9DC: +_038067F4: cmp r4, #0 - bne _0200EA0C - ldr r0, _0200EA14 ; =0x0380B264 + bne _03806824 + ldr r0, _0380682C ; =0x0380B264 ldrh r0, [r0] - bl sub_02003D40 - b _0200EA0C -_0200E9F4: - ldr r0, _0200EA24 ; =0x0380B294 - ldr r1, _0200EA2C ; =0x0000020B - ldr r3, _0200EA28 ; =0x03806610 + bl sub_037FBB58 + b _03806824 +_0380680C: + ldr r0, _0380683C ; =0x0380B294 + ldr r1, _03806844 ; =0x0000020B + ldr r3, _03806840 ; =0x03806610 mov r2, #0 str r5, [sp] - bl sub_020056C4 -_0200EA0C: + bl sub_037FD4DC +_03806824: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} bx lr .align 2, 0 -_0200EA14: .word 0x0380B264 -_0200EA18: .word 0x027FFFE8 -_0200EA1C: .word 0x08001000 -_0200EA20: .word 0x000080E8 -_0200EA24: .word 0x0380B294 -_0200EA28: .word 0x03806610 -_0200EA2C: .word 0x0000020B - arm_func_end sub_0200E7F8 +_0380682C: .word 0x0380B264 +_03806830: .word 0x027FFFE8 +_03806834: .word 0x08001000 +_03806838: .word 0x000080E8 +_0380683C: .word 0x0380B294 +_03806840: .word 0x03806610 +_03806844: .word 0x0000020B + arm_func_end sub_03806610 - arm_func_start sub_0200EA30 -sub_0200EA30: ; 0x0200EA30 + arm_func_start sub_03806848 +sub_03806848: ; 0x03806848 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r1, _0200EB20 ; =0x03807600 + ldr r1, _03806938 ; =0x03807600 mvn r0, #0 ldr r3, [r1, #4] cmp r3, r0 - ldreq r0, _0200EB24 ; =0x027FFC3C + ldreq r0, _0380693C ; =0x027FFC3C ldreq r0, [r0] addeq r0, r0, #0xa streq r0, [r1, #4] - beq _0200EB18 - ldr r0, _0200EB28 ; =0x0380B264 + beq _03806930 + ldr r0, _03806940 ; =0x0380B264 ldr r2, [r0, #0x10] cmp r2, #0 ldreq r0, [r0, #0xc] cmpeq r0, #0 - bne _0200EB18 - ldr r2, _0200EB24 ; =0x027FFC3C + bne _03806930 + ldr r2, _0380693C ; =0x027FFC3C ldr r0, [r2] cmp r0, r3 - blo _0200EB18 + blo _03806930 ldr r0, [r2] add r0, r0, #0xa str r0, [r1, #4] - bl sub_0200E2C8 - ldr r1, _0200EB28 ; =0x0380B264 + bl sub_038060E0 + ldr r1, _03806940 ; =0x0380B264 str r0, [r1, #0xc] - bl sub_0200E318 + bl sub_03806130 cmp r0, #0 - bne _0200EAC8 - ldr r0, _0200EB20 ; =0x03807600 + bne _038068E0 + ldr r0, _03806938 ; =0x03807600 mov r1, #1 ldr r0, [r0] cmp r0, #0 - ldrne r0, _0200EB28 ; =0x0380B264 + ldrne r0, _03806940 ; =0x0380B264 strne r1, [r0, #0x10] - bne _0200EB18 - ldr r0, _0200EB28 ; =0x0380B264 + bne _03806930 + ldr r0, _03806940 ; =0x0380B264 str r1, [r0, #0xc] -_0200EAC8: - ldr r0, _0200EB28 ; =0x0380B264 - ldr r1, _0200EB20 ; =0x03807600 +_038068E0: + ldr r0, _03806940 ; =0x0380B264 + ldr r1, _03806938 ; =0x03807600 ldr r0, [r0, #0xc] mov r2, #0 str r2, [r1] cmp r0, #0 - beq _0200EB18 + beq _03806930 mov r7, #0x64 mov r6, #0xd mov r5, #0x11 mov r4, r2 - b _0200EB00 -_0200EAF8: + b _03806918 +_03806910: mov r0, r7 - bl sub_02004650 -_0200EB00: + bl sub_037FC468 +_03806918: mov r0, r6 mov r1, r5 mov r2, r4 - bl sub_020065F8 + bl sub_037FE410 cmp r0, #0 - bne _0200EAF8 -_0200EB18: + bne _03806910 +_03806930: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_0200EB20: .word 0x03807600 -_0200EB24: .word 0x027FFC3C -_0200EB28: .word 0x0380B264 - arm_func_end sub_0200EA30 +_03806938: .word 0x03807600 +_0380693C: .word 0x027FFC3C +_03806940: .word 0x0380B264 + arm_func_end sub_03806848 - arm_func_start sub_0200EB2C -sub_0200EB2C: ; 0x0200EB2C + arm_func_start sub_03806944 +sub_03806944: ; 0x03806944 stmdb sp!, {r3, r4, r5, r6, r7, lr} and r0, r1, #0x3f cmp r0, #3 - bne _0200EB94 - ldr r3, _0200EBA0 ; =0x04000204 - ldr r0, _0200EBA4 ; =0x01FFFFC0 + bne _038069AC + ldr r3, _038069B8 ; =0x04000204 + ldr r0, _038069BC ; =0x01FFFFC0 ldrh r2, [r3] and r0, r1, r0 mov r1, r0, lsr #6 @@ -18359,117 +18359,117 @@ sub_0200EB2C: ; 0x0200EB2C mov r6, #0x11 mov r5, #0x12 mov r4, #0 - b _0200EB78 -_0200EB70: + b _03806990 +_03806988: mov r0, r7 - bl sub_02003BF4 -_0200EB78: + bl sub_037FBA0C +_03806990: mov r0, r6 mov r1, r5 mov r2, r4 - bl sub_020065F8 + bl sub_037FE410 cmp r0, #0 - bne _0200EB70 - b _0200EB98 -_0200EB94: - bl sub_02006058 -_0200EB98: + bne _03806988 + b _038069B0 +_038069AC: + bl sub_037FDE70 +_038069B0: ldmia sp!, {r3, r4, r5, r6, r7, lr} bx lr .align 2, 0 -_0200EBA0: .word 0x04000204 -_0200EBA4: .word 0x01FFFFC0 - arm_func_end sub_0200EB2C +_038069B8: .word 0x04000204 +_038069BC: .word 0x01FFFFC0 + arm_func_end sub_03806944 - arm_func_start sub_0200EBA8 -sub_0200EBA8: ; 0x0200EBA8 + arm_func_start sub_038069C0 +sub_038069C0: ; 0x038069C0 stmdb sp!, {r4, r5, r6, r7, fp, ip, lr} mov r4, r1 orr r4, r4, #1 - b _0200EBC8 - arm_func_end sub_0200EBA8 + b _038069E0 + arm_func_end sub_038069C0 - arm_func_start sub_0200EBB8 -sub_0200EBB8: ; 0x0200EBB8 + arm_func_start sub_038069D0 +sub_038069D0: ; 0x038069D0 stmdb sp!, {r4, r5, r6, r7, fp, ip, lr} eor r4, r1, r3 mov r4, r4, asr #1 mov r4, r4, lsl #1 -_0200EBC8: +_038069E0: orrs r5, r3, r2 - bne _0200EBD8 + bne _038069F0 ldmia sp!, {r4, r5, r6, r7, fp, ip, lr} bx lr -_0200EBD8: +_038069F0: mov r5, r0, lsr #0x1f add r5, r5, r1 mov r6, r2, lsr #0x1f add r6, r6, r3 orrs r6, r5, r6 - bne _0200EC0C + bne _03806A24 mov r1, r2 - bl sub_0200EDB0 + bl sub_03806BC8 ands r4, r4, #1 movne r0, r1 mov r1, r0, asr #0x1f ldmia sp!, {r4, r5, r6, r7, fp, ip, lr} bx lr -_0200EC0C: +_03806A24: cmp r1, #0 - bge _0200EC1C + bge _03806A34 rsbs r0, r0, #0 rsc r1, r1, #0 -_0200EC1C: +_03806A34: cmp r3, #0 - bge _0200EC2C + bge _03806A44 rsbs r2, r2, #0 rsc r3, r3, #0 -_0200EC2C: +_03806A44: orrs r5, r1, r0 - beq _0200ED50 + beq _03806B68 mov r5, #0 mov r6, #1 cmp r3, #0 - bmi _0200EC58 -_0200EC44: + bmi _03806A70 +_03806A5C: add r5, r5, #1 adds r2, r2, r2 adcs r3, r3, r3 - bpl _0200EC44 + bpl _03806A5C add r6, r6, r5 -_0200EC58: +_03806A70: cmp r1, #0 - blt _0200EC78 -_0200EC60: + blt _03806A90 +_03806A78: cmp r6, #1 - beq _0200EC78 + beq _03806A90 sub r6, r6, #1 adds r0, r0, r0 adcs r1, r1, r1 - bpl _0200EC60 -_0200EC78: + bpl _03806A78 +_03806A90: mov r7, #0 mov ip, #0 mov fp, #0 - b _0200ECA0 -_0200EC88: + b _03806AB8 +_03806AA0: orr ip, ip, #1 subs r6, r6, #1 - beq _0200ECF8 + beq _03806B10 adds r0, r0, r0 adcs r1, r1, r1 adcs r7, r7, r7 -_0200ECA0: +_03806AB8: subs r0, r0, r2 sbcs r1, r1, r3 sbcs r7, r7, #0 adds ip, ip, ip adc fp, fp, fp cmp r7, #0 - bge _0200EC88 -_0200ECBC: + bge _03806AA0 +_03806AD4: subs r6, r6, #1 - beq _0200ECF0 + beq _03806B08 adds r0, r0, r0 adcs r1, r1, r1 adc r7, r7, r7 @@ -18479,74 +18479,74 @@ _0200ECBC: adds ip, ip, ip adc fp, fp, fp cmp r7, #0 - bge _0200EC88 - b _0200ECBC -_0200ECF0: + bge _03806AA0 + b _03806AD4 +_03806B08: adds r0, r0, r2 adc r1, r1, r3 -_0200ECF8: +_03806B10: ands r7, r4, #1 moveq r0, ip moveq r1, fp - beq _0200ED30 + beq _03806B48 subs r7, r5, #0x20 movge r0, r1, lsr r7 - bge _0200ED54 + bge _03806B6C rsb r7, r5, #0x20 mov r0, r0, lsr r5 orr r0, r0, r1, lsl r7 mov r1, r1, lsr r5 - b _0200ED30 -_0200ED28: + b _03806B48 +_03806B40: mov r0, r1, lsr r7 mov r1, #0 -_0200ED30: +_03806B48: cmp r4, #0 - blt _0200ED40 + blt _03806B58 ldmia sp!, {r4, r5, r6, r7, fp, ip, lr} bx lr -_0200ED40: +_03806B58: rsbs r0, r0, #0 rsc r1, r1, #0 ldmia sp!, {r4, r5, r6, r7, fp, ip, lr} bx lr -_0200ED50: +_03806B68: mov r0, #0 -_0200ED54: +_03806B6C: mov r1, #0 cmp r4, #0 - blt _0200ED40 + blt _03806B58 ldmia sp!, {r4, r5, r6, r7, fp, ip, lr} bx lr - arm_func_end sub_0200EBB8 + arm_func_end sub_038069D0 - arm_func_start sub_0200ED68 -sub_0200ED68: ; 0x0200ED68 + arm_func_start sub_03806B80 +sub_03806B80: ; 0x03806B80 stmdb sp!, {r4, r5, r6, r7, fp, ip, lr} mov r4, #0 - b _0200ED7C -_0200ED74: + b _03806B94 +_03806B8C: stmdb sp!, {r4, r5, r6, r7, fp, ip, lr} mov r4, #1 -_0200ED7C: +_03806B94: orrs r5, r3, r2 - bne _0200ED8C + bne _03806BA4 ldmia sp!, {r4, r5, r6, r7, fp, ip, lr} bx lr -_0200ED8C: +_03806BA4: orrs r5, r1, r3 - bne _0200EC2C + bne _03806A44 mov r1, r2 - bl sub_0200EFC4 + bl sub_03806DDC cmp r4, #0 movne r0, r1 mov r1, #0 ldmia sp!, {r4, r5, r6, r7, fp, ip, lr} bx lr - arm_func_end sub_0200ED68 + arm_func_end sub_03806B80 - arm_func_start sub_0200EDB0 -sub_0200EDB0: ; 0x0200EDB0 + arm_func_start sub_03806BC8 +sub_03806BC8: ; 0x03806BC8 eor ip, r0, r1 and ip, ip, #0x80000000 cmp r0, #0 @@ -18554,11 +18554,11 @@ sub_0200EDB0: ; 0x0200EDB0 addlt ip, ip, #1 cmp r1, #0 rsblt r1, r1, #0 - beq _0200EFA8 + beq _03806DC0 cmp r0, r1 movlo r1, r0 movlo r0, #0 - blo _0200EFA8 + blo _03806DC0 mov r2, #0x1c mov r3, r0, lsr #4 cmp r1, r3, lsr #12 @@ -18673,22 +18673,22 @@ sub_0200EDB0: ; 0x0200EDB0 sublo r3, r3, r1 adcs r0, r0, r0 mov r1, r3 -_0200EFA8: +_03806DC0: ands r3, ip, #0x80000000 rsbne r0, r0, #0 ands r3, ip, #1 rsbne r1, r1, #0 bx lr - arm_func_end sub_0200EDB0 + arm_func_end sub_03806BC8 - arm_func_start sub_0200EFBC -sub_0200EFBC: ; 0x0200EFBC + arm_func_start sub_03806DD4 +sub_03806DD4: ; 0x03806DD4 cmp r1, #0 bxeq lr - arm_func_end sub_0200EFBC + arm_func_end sub_03806DD4 - arm_func_start sub_0200EFC4 -sub_0200EFC4: ; 0x0200EFC4 + arm_func_start sub_03806DDC +sub_03806DDC: ; 0x03806DDC cmp r0, r1 movlo r1, r0 movlo r0, #0 @@ -18808,8 +18808,8 @@ sub_0200EFC4: ; 0x0200EFC4 adcs r0, r0, r0 mov r1, r3 bx lr - arm_func_end sub_0200EFC4 -_0200F1A0: + arm_func_end sub_03806DDC +_03806FB8: .byte 0x00, 0x06, 0x0C, 0x13, 0x19, 0x1F, 0x25, 0x2B, 0x31, 0x36, 0x3C, 0x41, 0x47, 0x4C, 0x51, 0x55 .byte 0x5A, 0x5E, 0x62, 0x66, 0x6A, 0x6D, 0x70, 0x73, 0x75, 0x78, 0x7A, 0x7B, 0x7D, 0x7E, 0x7E, 0x7F .byte 0x7F, 0x00, 0x00, 0x00, 0x00, 0x80, 0x2E, 0xFD, 0x2F, 0xFD, 0x75, 0xFD, 0xA7, 0xFD, 0xCE, 0xFD @@ -18860,29 +18860,29 @@ _0200F1A0: .byte 0x80, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x80, 0x00, 0x17, 0x00, 0x00, 0x00 - arm_func_start sub_0200F4A8 -sub_0200F4A8: ; 0x0200F4A8 + arm_func_start sub_038072C0 +sub_038072C0: ; 0x038072C0 mov ip, #0x4000000 str ip, [ip, #0x208] - ldr r1, _0200F510 ; =0x0380FFFC + ldr r1, _03807328 ; =0x0380FFFC mov r0, #0 str r0, [r1] - ldr r1, _0200F514 ; =0x04000180 + ldr r1, _0380732C ; =0x04000180 mov r0, #0x100 strh r0, [r1] -_0200F4C8: +_038072E0: ldrh r0, [r1] and r0, r0, #0xf cmp r0, #1 - bne _0200F4C8 - ldr r1, _0200F514 ; =0x04000180 + bne _038072E0 + ldr r1, _0380732C ; =0x04000180 mov r0, #0 strh r0, [r1] -_0200F4E4: +_038072FC: ldrh r0, [r1] cmp r0, #1 - beq _0200F4E4 - ldr r3, _0200F518 ; =0x027FFE00 + beq _038072FC + ldr r3, _03807330 ; =0x027FFE00 ldr ip, [r3, #0x34] mov lr, ip mov r0, #0 @@ -18891,68 +18891,110 @@ _0200F4E4: mov r3, #0 bx ip .align 2, 0 -_0200F510: .word 0x0380FFFC -_0200F514: .word 0x04000180 -_0200F518: .word 0x027FFE00 - arm_func_end sub_0200F4A8 -_0200F51C: - .byte 0xF8, 0x40, 0x2D, 0xE9 - .byte 0x00, 0x70, 0xA0, 0xE1, 0x01, 0x6C, 0xA0, 0xE3, 0x0A, 0x50, 0xA0, 0xE3, 0x00, 0x40, 0xA0, 0xE3 - .byte 0x01, 0x00, 0x00, 0xEA, 0x06, 0x00, 0xA0, 0xE1, 0xAD, 0xD1, 0xFF, 0xEB, 0x05, 0x00, 0xA0, 0xE1 - .byte 0x07, 0x10, 0xA0, 0xE1, 0x04, 0x20, 0xA0, 0xE1, 0x2A, 0xDC, 0xFF, 0xEB, 0x00, 0x00, 0x50, 0xE3 - .byte 0xF7, 0xFF, 0xFF, 0xBA, 0x08, 0x00, 0x9F, 0xE5, 0x65, 0xD5, 0xFF, 0xEB, 0xF8, 0x40, 0xBD, 0xE8 - .byte 0x1E, 0xFF, 0x2F, 0xE1, 0xA0, 0x8D, 0x7F, 0x02, 0x38, 0x40, 0x2D, 0xE9, 0x3C, 0x00, 0x9F, 0xE5 - .byte 0x3E, 0xD5, 0xFF, 0xEB, 0x38, 0x40, 0x9F, 0xE5, 0x01, 0x5C, 0xA0, 0xE3, 0x01, 0x00, 0x00, 0xEA - .byte 0x05, 0x00, 0xA0, 0xE1, 0x9A, 0xD1, 0xFF, 0xEB, 0xB0, 0x10, 0xD4, 0xE1, 0x01, 0x00, 0x11, 0xE3 - .byte 0xFA, 0xFF, 0xFF, 0x1A, 0x1C, 0x00, 0x9F, 0xE5, 0x01, 0x10, 0x81, 0xE3, 0xB0, 0x10, 0xC4, 0xE1 - .byte 0x4C, 0x05, 0x90, 0xE5, 0x08, 0x00, 0x90, 0xE5, 0x38, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1 - .byte 0xA0, 0x8D, 0x7F, 0x02, 0x96, 0xFF, 0x7F, 0x02, 0x78, 0x88, 0x7F, 0x02 +_03807328: .word 0x0380FFFC +_0380732C: .word 0x04000180 +_03807330: .word 0x027FFE00 + arm_func_end sub_038072C0 + + arm_func_start sub_03807334 +sub_03807334: ; 0x03807334 + stmdb sp!, {r3, r4, r5, r6, r7, lr} + mov r7, r0 + mov r6, #0x100 + mov r5, #0xa + mov r4, #0 + b _03807354 +_0380734C: + mov r0, r6 + bl sub_037FBA0C +_03807354: + mov r0, r5 + mov r1, r7 + mov r2, r4 + bl sub_037FE410 + cmp r0, #0 + blt _0380734C + ldr r0, _0380737C ; =0x027F8DA0 + bl sub_037FC90C + ldmia sp!, {r3, r4, r5, r6, r7, lr} + bx lr + .align 2, 0 +_0380737C: .word 0x027F8DA0 + arm_func_end sub_03807334 - arm_func_start sub_0200F5BC -sub_0200F5BC: ; 0x0200F5BC + arm_func_start sub_03807380 +sub_03807380: ; 0x03807380 + stmdb sp!, {r3, r4, r5, lr} + ldr r0, _038073C8 ; =0x027F8DA0 + bl sub_037FC888 + ldr r4, _038073CC ; =0x027FFF96 + mov r5, #0x100 + b _038073A0 +_03807398: + mov r0, r5 + bl sub_037FBA0C +_038073A0: + ldrh r1, [r4] + tst r1, #1 + bne _03807398 + ldr r0, _038073D0 ; =0x027F8878 + orr r1, r1, #1 + strh r1, [r4] + ldr r0, [r0, #0x54c] + ldr r0, [r0, #8] + ldmia sp!, {r3, r4, r5, lr} + bx lr + .align 2, 0 +_038073C8: .word 0x027F8DA0 +_038073CC: .word 0x027FFF96 +_038073D0: .word 0x027F8878 + arm_func_end sub_03807380 + + arm_func_start sub_038073D4 +sub_038073D4: ; 0x038073D4 stmdb sp!, {r4, r5, r6, lr} - ldr r1, _0200F6C4 ; =0x00001FFF + ldr r1, _038074DC ; =0x00001FFF and r0, r0, r1 mov r0, r0, lsl #0x10 movs r2, r0, lsr #0x10 moveq r0, #0 - beq _0200F6BC + beq _038074D4 mov r1, #0 mov r0, #1 - b _0200F5F0 -_0200F5E4: + b _03807408 +_038073FC: tst r2, r0, lsl r1 - bne _0200F5F8 + bne _03807410 add r1, r1, #1 -_0200F5F0: +_03807408: cmp r1, #0x10 - blt _0200F5E4 -_0200F5F8: + blt _038073FC +_03807410: mov r0, #0xf mov r3, #1 - b _0200F610 -_0200F604: + b _03807428 +_0380741C: tst r2, r3, lsl r0 - bne _0200F618 + bne _03807430 sub r0, r0, #1 -_0200F610: +_03807428: cmp r0, #0 - bne _0200F604 -_0200F618: + bne _0380741C +_03807430: sub r6, r0, r1 cmp r6, #5 movlt r0, #1 movlt r0, r0, lsl r1 movlt r0, r0, lsl #0x10 movlt r0, r0, lsr #0x10 - blt _0200F6BC + blt _038074D4 add r3, r0, r1 add r3, r3, r3, lsr #31 mov r4, r3, asr #1 mov r5, #0 mov lr, #1 - b _0200F670 -_0200F64C: + b _03807488 +_03807464: mov ip, r5, lsr #0x1f rsb r3, ip, r5, lsl #31 add r3, ip, r3, ror #31 @@ -18960,37 +19002,37 @@ _0200F64C: sub r3, r3, #1 mla r4, r5, r3, r4 tst r2, lr, lsl r4 - bne _0200F678 + bne _03807490 add r5, r5, #1 -_0200F670: +_03807488: cmp r5, r6 - blt _0200F64C -_0200F678: + blt _03807464 +_03807490: sub r2, r0, r4 cmp r2, #5 subge r2, r4, r1 cmpge r2, #5 - bge _0200F6A4 + bge _038074BC mov r2, #1 mov r0, r2, lsl r0 orr r0, r0, r2, lsl r1 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 - b _0200F6BC -_0200F6A4: + b _038074D4 +_038074BC: mov r3, #1 mov r2, r3, lsl r4 orr r0, r2, r3, lsl r0 orr r0, r0, r3, lsl r1 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 -_0200F6BC: +_038074D4: ldmia sp!, {r4, r5, r6, lr} bx lr .align 2, 0 -_0200F6C4: .word 0x00001FFF - arm_func_end sub_0200F5BC -_0200F6C8: +_038074DC: .word 0x00001FFF + arm_func_end sub_038073D4 +_038074E0: .byte 0x08, 0x00, 0x09, 0x00, 0x0A, 0x00, 0x0B, 0x00 .byte 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0xB7, 0x7F, 0x03 .byte 0x38, 0xB6, 0x7F, 0x03, 0x38, 0xB6, 0x7F, 0x03, 0x08, 0xB7, 0x7F, 0x03, 0x18, 0xB7, 0x7F, 0x03 @@ -19008,3 +19050,5 @@ _0200F6C8: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0xC0, 0xFF, 0x14, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF .byte 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x20, 0x00, 0x01, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0xC3, 0x28, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF diff --git a/sub/lib/asm/crt0.s b/sub/lib/asm/crt0.s index 79168f34..b696d996 100644 --- a/sub/lib/asm/crt0.s +++ b/sub/lib/asm/crt0.s @@ -1,135 +1,135 @@ .include "asm/macros.inc" - .public sub_020001E8 + .public sub_037F8000 .text arm_func_start _start -_start: ; 0x02000000 +_start: ; 0x037F7E18 mov ip, #0x4000000 str ip, [ip, #0x208] - ldr r1, _020000E4 ; =0x023801E8 + ldr r1, _037F7EFC ; =0x023801E8 mov r0, #0x3800000 cmp r0, r1 - bpl _0200001C - b _02000020 -_0200001C: + bpl _037F7E34 + b _037F7E38 +_037F7E34: mov r1, r0 -_02000020: - ldr r2, _020000E8 ; =0x0380FF00 +_037F7E38: + ldr r2, _037F7F00 ; =0x0380FF00 mov r0, #0 -_02000028: +_037F7E40: cmp r1, r2 - blt _02000034 - b _02000038 -_02000034: + blt _037F7E4C + b _037F7E50 +_037F7E4C: stmia r1!, {r0} -_02000038: - blt _02000028 +_037F7E50: + blt _037F7E40 mov r0, #0x13 msr cpsr_c, r0 - ldr sp, _020000EC ; =0x0380FFC0 + ldr sp, _037F7F04 ; =0x0380FFC0 mov r0, #0x12 msr cpsr_c, r0 - ldr r0, _020000F0 ; =0x0380FF80 + ldr r0, _037F7F08 ; =0x0380FF80 mov sp, r0 - ldr r1, _020000F4 ; =0x00000400 + ldr r1, _037F7F0C ; =0x00000400 sub r1, r0, r1 mov r0, #0x1f msr cpsr_fsxc, r0 sub sp, r1, #4 - ldr r0, _020000F8 ; =0x023FE940 - ldr r1, _020000FC ; =0x027FFA80 + ldr r0, _037F7F10 ; =0x023FE940 + ldr r1, _037F7F14 ; =0x027FFA80 add r2, r1, #0x160 -_02000078: +_037F7E90: ldr r3, [r0], #4 str r3, [r1], #4 cmp r1, r2 - bmi _02000078 - ldr r0, _02000100 ; =0x023FE904 + bmi _037F7E90 + ldr r0, _037F7F18 ; =0x023FE904 add r2, r1, #0x20 -_02000090: +_037F7EA8: ldr r3, [r0], #4 str r3, [r1], #4 cmp r1, r2 - bmi _02000090 + bmi _037F7EA8 bl do_autoload - ldr r0, _02000104 ; =0x023801D0 + ldr r0, _037F7F1C ; =0x023801D0 ldr r1, [r0, #0xc] ldr r2, [r0, #0x10] mov r0, #0 -_020000B4: +_037F7ECC: cmp r1, r2 - blo _020000C0 - b _020000C4 -_020000C0: + blo _037F7ED8 + b _037F7EDC +_037F7ED8: str r0, [r1], #4 -_020000C4: - blo _020000B4 - bl sub_0200018C - ldr r1, _02000108 ; =0x0380FFFC - ldr r0, _0200010C ; =0x037FB488 +_037F7EDC: + blo _037F7ECC + bl sub_037F7FA4 + ldr r1, _037F7F20 ; =0x0380FFFC + ldr r0, _037F7F24 ; =0x037FB488 str r0, [r1] - ldr r1, _02000110 ; =sub_037F8000 - ldr lr, _02000114 ; =0xFFFF0000 + ldr r1, _037F7F28 ; =sub_037F8000 + ldr lr, _037F7F2C ; =0xFFFF0000 bx r1 .align 2, 0 -_020000E4: .word 0x023801E8 -_020000E8: .word 0x0380FF00 -_020000EC: .word 0x0380FFC0 -_020000F0: .word 0x0380FF80 -_020000F4: .word 0x00000400 -_020000F8: .word 0x023FE940 -_020000FC: .word 0x027FFA80 -_02000100: .word 0x023FE904 -_02000104: .word 0x023801D0 -_02000108: .word 0x0380FFFC -_0200010C: .word 0x037FB488 -_02000110: .word sub_020001E8 -_02000114: .word 0xFFFF0000 +_037F7EFC: .word 0x023801E8 +_037F7F00: .word 0x0380FF00 +_037F7F04: .word 0x0380FFC0 +_037F7F08: .word 0x0380FF80 +_037F7F0C: .word 0x00000400 +_037F7F10: .word 0x023FE940 +_037F7F14: .word 0x027FFA80 +_037F7F18: .word 0x023FE904 +_037F7F1C: .word 0x023801D0 +_037F7F20: .word 0x0380FFFC +_037F7F24: .word 0x037FB488 +_037F7F28: .word sub_037F8000 +_037F7F2C: .word 0xFFFF0000 arm_func_end _start arm_func_start do_autoload -do_autoload: ; 0x02000118 - ldr r0, _02000184 ; =0x023801D0 +do_autoload: ; 0x037F7F30 + ldr r0, _037F7F9C ; =0x023801D0 ldr r1, [r0] ldr r2, [r0, #4] ldr r3, [r0, #8] -_02000128: +_037F7F40: cmp r1, r2 - beq _02000180 + beq _037F7F98 ldr r4, [r1], #4 ldr r5, [r1], #4 add r6, r4, r5 -_0200013C: +_037F7F54: cmp r4, r6 - bmi _02000148 - b _0200014C -_02000148: + bmi _037F7F60 + b _037F7F64 +_037F7F60: ldr r7, [r3], #4 -_0200014C: - bmi _02000154 - b _02000158 -_02000154: +_037F7F64: + bmi _037F7F6C + b _037F7F70 +_037F7F6C: str r7, [r4], #4 -_02000158: - bmi _0200013C +_037F7F70: + bmi _037F7F54 ldr r5, [r1], #4 add r6, r4, r5 mov r7, #0 -_02000168: +_037F7F80: cmp r4, r6 - blo _02000174 - b _02000178 -_02000174: + blo _037F7F8C + b _037F7F90 +_037F7F8C: str r7, [r4], #4 -_02000178: - blo _02000168 - beq _02000128 -_02000180: +_037F7F90: + blo _037F7F80 + beq _037F7F40 +_037F7F98: b _start_AutoloadDoneCallback .align 2, 0 -_02000184: .word 0x023801D0 +_037F7F9C: .word 0x023801D0 arm_func_end do_autoload arm_func_start _start_AutoloadDoneCallback @@ -137,31 +137,31 @@ _start_AutoloadDoneCallback: bx lr arm_func_end _start_AutoloadDoneCallback - arm_func_start sub_0200018C -sub_0200018C: ; 0x0200018C + arm_func_start sub_037F7FA4 +sub_037F7FA4: ; 0x037F7FA4 mov r0, #1 mov r1, #0 - ldr r2, _020001CC ; =0x027FFFFA + ldr r2, _037F7FE4 ; =0x027FFFFA sub r3, r2, #0x400000 -_0200019C: +_037F7FB4: strh r1, [r2] ldrh ip, [r3] cmp r1, ip - bne _020001B0 - b _020001B4 -_020001B0: + bne _037F7FC8 + b _037F7FCC +_037F7FC8: mov r0, #2 -_020001B4: - bne _020001C4 +_037F7FCC: + bne _037F7FDC add r1, r1, #1 cmp r1, #2 - bne _0200019C -_020001C4: + bne _037F7FB4 +_037F7FDC: strh r0, [r2] bx lr .align 2, 0 -_020001CC: .word 0x027FFFFA - arm_func_end sub_0200018C -_020001D0: +_037F7FE4: .word 0x027FFFFA + arm_func_end sub_037F7FA4 +_037F7FE8: .byte 0x68, 0x70, 0x3A, 0x02, 0x80, 0x70, 0x3A, 0x02, 0xE8, 0x01, 0x38, 0x02, 0xE8, 0x01, 0x38, 0x02 - .byte 0xE8, 0x01, 0x38, 0x02, 0x00, 0x00, 0x00, 0x00 \ No newline at end of file + .byte 0xE8, 0x01, 0x38, 0x02 \ No newline at end of file