Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- VWF:
- var_40 equ -0x40
- var_3C equ -0x3C
- var_38 equ -0x38
- var_34 equ -0x34
- var_30 equ -0x30
- var_2C equ -0x2C
- var_28 equ -0x28
- STMFD SP!, {R4-R11,LR}
- sub sp,1Ch
- MOV R4, R0
- LDR R1, [R4,4]
- LDRB R1, [R1]
- CMP R1, 0
- BNE loc_2011AAC
- MOV R0, 0
- STR R0, [R4,0x28]
- ADD SP, SP, 0x1C
- STR R0, [R4,0x2C]
- LDMFD SP!, {R4-R11,PC}
- loc_2011AAC: ; CODE XREF: 2011A7C+18j
- ADD R1, SP, 0x40+var_28
- ADD R2, SP, 0x40-0x30
- ADD R3, SP, 0x40+var_2C
- bl getwidths
- ; BL 0x2010E68
- LDRH R1, [R4,0x22]
- LDRB R0, [R4,0x20]
- CMP R1, 0
- LDREQ R1, [SP,0x40+var_28]
- ; and r0,r0,7h
- ; add r1,r1,r0
- ; ands r0,r1,7h
- ; subne r1,r1,r0
- ; addne r1,8h
- AND R0, R0, 7
- ADD R1, R1, 4
- ADD R1, R1, R0
- MOV R0, R1,ASR2
- ADD R0, R1, R0,LSR29
- MOV R0, R0,ASR3
- STR R0, [SP,0x40-0x30]
- MOV R2, R0,LSL7
- MOV R0, 1
- MOV R1, 0x20
- BL 0x2004240
- LDR R1, [SP,0x40-0x30]
- MOV R5, R0
- MOV R2, R1,LSL3
- MOV R0, 1
- MOV R1, 0x20
- BL 0x2004240
- LDR R1, [SP,0x40-0x30]
- MOV R6, R0
- MOV R0, R1,LSL7
- CMP R0, 0
- MOV R1, 0
- BLE loc_2011B44
- loc_2011B28: ; CODE XREF: 2011A7C+C4j
- LDRB R0, [R4,0xD]
- ADD R0, R0, R0,LSL4
- STRB R0, [R5,R1]
- LDR R0, [SP,0x40-0x30]
- ADD R1, R1, 1
- CMP R1, R0,LSL7
- BLT loc_2011B28
- loc_2011B44: ; CODE XREF: 2011A7C+A8j
- STR R5, [R4,0x28]
- MOV R0, 0
- STR R6, [R4,0x2C]
- STRH R0, [R4,0x30]
- STRH R0, [R4,0x32]
- STR R0, [SP,0x40+var_3C]
- LDR R0, [SP,0x40+var_2C]
- LDRB R3, [R4,0x20]
- LDRH R1, [R4,0x24]
- CMP R0, 0
- LDR R0, [R4,4]
- LDRB R2, [R4,0x21]
- ADD R7, R3, R1
- STR R0, [SP,0x40+var_38]
- BLS loc_2011FF0
- MOV R1, R2,LSR31
- RSB R0, R1, R2,LSL29
- LDR R10, [Address2]
- ADD R8, R1, R0,ROR29
- loc_2011B90: ; CODE XREF: 2011A7C+570j
- LDR R0, [SP,0x40+var_38]
- ; änderung: nur ein byte statt einem hw laden
- ldrb r5,[r0],1h ; byte laden, offset erhöhen
- str r0,[sp,0x40+var_38] ; und den neuen offset speichern
- ; LDRB R2, [R0]
- ; LDRB R1, [R0,1]
- ; ADD R0, R0, 2
- ; STR R0, [SP,0x40+var_38]
- ; MOV R0, R2,LSL24
- ; ADD R0, R1, R0,LSR16
- ; MOV R0, R0,LSL16
- ; MOV R5, R0,LSR16
- LDRB R0, [R4,9]
- CMP R0, 7
- ADDLS PC, PC, R0,LSL2
- B loc_2011FD8
- loc_2011BC4: ; CODE XREF: 2011A7C+140j
- B loc_2011FD8
- loc_2011BC8: ; CODE XREF: 2011A7C+140j
- B loc_2011FD8
- loc_2011BCC: ; CODE XREF: 2011A7C+140j
- B loc_2011BE4
- loc_2011BD0: ; CODE XREF: 2011A7C+140j
- B loc_2011FD8
- loc_2011BD4: ; CODE XREF: 2011A7C+140j
- B loc_2011CDC
- loc_2011BD8: ; CODE XREF: 2011A7C+140j
- B loc_2011E8C
- loc_2011BDC: ; CODE XREF: 2011A7C+140j
- B loc_2011EEC
- loc_2011BE0: ; CODE XREF: 2011A7C+140j
- B loc_2011F7C
- loc_2011BE4: ; CODE XREF: 2011A7C+140j
- ; 2011A7C:loc_2011BCCj
- ; jumptable 02011BBC entry 2
- LDRB R1, [R4,0xA]
- MOV R0, R5
- BL 0x2010F2C
- LDRB R9, [R4,9]
- LDR R3, [Address1]
- LDRB R1, [R4,0x20]
- LDR R9, [R3,R9,LSL2]
- MOV R3, 0x1A
- MLA R3, R0, R3, R9
- BIC R0, R1, 7
- LDR R11, [R4,0xB0]
- SUB R0, R7, R0
- LDR R2, [R4,0x28]
- MOV R0, R0,LSR3
- STR R3, [SP,0x40+var_34]
- ADD R9, R2, R0,LSL5
- CMP R11, 0
- MOVEQ R0, 0
- BEQ loc_2011C44
- LDRB R2, [R4,0xC]
- LDRB R3, [R4,0xD]
- MOV R0, R5
- MOV R1, R10
- BLX R11
- loc_2011C44: ; CODE XREF: 2011A7C+1B0j
- CMP R0, 0
- BNE loc_2011C64
- LDR R0, [SP,0x40+var_34]
- LDRB R2, [R4,0xC]
- LDRB R3, [R4,0xD]
- ADD R0, R0, 2
- MOV R1, R10
- BL 0x2010F90
- loc_2011C64: ; CODE XREF: 2011A7C+1CCj
- MOV R1, R7,LSR31
- RSB R0, R1, R7,LSL29
- ADDS R0, R1, R0,ROR29
- CMPEQ R8, 0
- BNE loc_2011C88
- MOV R0, R9
- LDR R1, [SP,0x40-0x30]
- BL 0x2011408
- B loc_2011CD4
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- loc_2011C88: ; CODE XREF: 2011A7C+1F8j
- CMP R0, 0
- BEQ loc_2011CA8
- CMP R8, 0
- BNE loc_2011CA8
- MOV R0, R9
- LDR R1, [SP,0x40-0x30]
- BL 0x2011484
- B loc_2011CD4
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- loc_2011CA8: ; CODE XREF: 2011A7C+210j
- ; 2011A7C+218j
- CMP R0, 0
- BNE loc_2011CC8
- CMP R8, 0
- BEQ loc_2011CC8
- MOV R0, R9
- LDR R1, [SP,0x40-0x30]
- BL 0x2011564
- B loc_2011CD4
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- loc_2011CC8: ; CODE XREF: 2011A7C+230j
- ; 2011A7C+238j
- MOV R0, R9
- LDR R1, [SP,0x40-0x30]
- BL 0x2011634
- loc_2011CD4: ; CODE XREF: 2011A7C+208j
- ; 2011A7C+228j ...
- ADD R7, R7, 0xC
- B loc_2011FD8
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- loc_2011CDC: ; CODE XREF: 2011A7C+140j
- ; 2011A7C:loc_2011BD4j
- ; jumptable 02011BBC entry 4
- @@normal:
- and r5,7Fh ; zeichen gehen nur bis 128
- ldrb r9,[r4,9h] ; mode byte laden
- ldr r3,[Address1] ; struct addresse laden
- ldr r11,[r3,r9,lsl 2h] ; font pointer laden
- mov r3,0Ch ; 1 zeichen = 12 byte an daten
- ldrb r1,[r11,r5] ; größenbyte laden
- mla r11,r3,r5,r11 ; mit der zeichennummer malnehmen und start vom font dazu addieren
- add r11,80h ; und die width table natürlich übergehen
- mov r5,r1 ; und das größbenbyte aufheben
- LDRB R1, [R4,0x20] ; größe?
- BIC R0, R1, 7
- SUB R0, R7, R0
- LDR R2, [R4,0x28]
- MOV R0, R0,LSR3
- ADD R9, R2, R0,LSL5
- ; jetzt das ganze zeichen konvertieren
- mov r0,r11
- MOV R1, R10
- LDRB R2, [R4,0xC]
- LDRB R3, [R4,0xD]
- BL 0x20110F0
- ; und genau ab hier startet das verbinden! der lustige teil der arbeit
- loc_2011D60: ; CODE XREF: 2011A7C+2CCj
- cmp r8,0h ; check, welche der beiden funktionen gebraucht wird
- mov r0,r9 ; ziel im ram
- mov r1,r7 ; aktuelle größe
- mov r2,r5 ; größe vom zeichen
- ldr r3,[SP,0x40-0x30] ; anzahl zeichen
- bne @@MidTileBl
- bl DrawChar1
- ; bl 204127Ch ; grade reihen
- b loc_2011DD0 ; und weg
- @@MidTileBl:
- bl DrawChar2
- ; bl 204197Ch ; ungrade reihen
- loc_2011DD0:
- add r7,r7,r5 ; größe dazu addieren!
- B loc_2011FD8
- loc_2011E8C: ; CODE XREF: 2011A7C+140j
- ; 2011A7C:loc_2011BD8j
- ; jumptable 02011BBC entry 5
- LDRB R1, [R4,0xA]
- MOV R0, R5
- BL 0x2010F2C
- LDRB R3, [R4,9]
- LDR R1, [Address1]
- LDRB R5, [R4,0x20]
- LDR R9, [R1,R3,LSL2]
- MOV R3, 0x12
- MLA R3, R0, R3, R9
- BIC R0, R5, 7
- SUB R0, R7, R0
- LDR R2, [R4,0x28]
- MOV R0, R0,LSR3
- ADD R5, R2, R0,LSL5
- ADD R0, R3, 2
- LDRB R2, [R4,0xC]
- LDRB R3, [R4,0xD]
- MOV R1, R10
- BL 0x20111A0
- LDR R1, [SP,0x40-0x30]
- MOV R0, R5
- BL 0x201199C
- ADD R7, R7, 8
- B loc_2011FD8
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- loc_2011EEC: ; CODE XREF: 2011A7C+140j
- ; 2011A7C:loc_2011BDCj
- ; jumptable 02011BBC entry 6
- LDRB R1, [R4,0xA]
- MOV R0, R5
- BL 0x2010F2C
- LDRB R9, [R4,9]
- LDR R3, [Address1]
- LDRB R1, [R4,0x20]
- LDR R9, [R3,R9,LSL2]
- MOV R3, 0x22
- MLA R9, R0, R3, R9
- BIC R0, R1, 7
- SUB R0, R7, R0
- LDR R11, [R4,0xB0]
- LDR R2, [R4,0x28]
- MOV R0, R0,LSR3
- ADD R0, R2, R0,LSL5
- STR R0, [SP,0x40+var_40]
- CMP R11, 0
- MOVEQ R0, 0
- BEQ loc_2011F4C
- LDRB R2, [R4,0xC]
- LDRB R3, [R4,0xD]
- MOV R0, R5
- MOV R1, R10
- BLX R11
- loc_2011F4C: ; CODE XREF: 2011A7C+4B8j
- CMP R0, 0
- BNE loc_2011F68
- ADD R0, R9, 2
- MOV R1, R10
- LDRB R2, [R4,0xC]
- LDRB R3, [R4,0xD]
- BL 0x2011250
- loc_2011F68: ; CODE XREF: 2011A7C+4D4j
- LDR R0, [SP,0x40+var_40]
- LDR R1, [SP,0x40-0x30]
- BL 0x20119E4
- ADD R7, R7, 0x10
- B loc_2011FD8
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- loc_2011F7C: ; CODE XREF: 2011A7C+140j
- ; 2011A7C:loc_2011BE0j
- ; jumptable 02011BBC entry 7
- LDRB R1, [R4,0xA]
- MOV R0, R5
- BL 0x2010F2C
- LDRB R3, [R4,9]
- LDR R1, [Address1]
- LDRB R5, [R4,0x20]
- LDR R9, [R1,R3,LSL2]
- MOV R3, 0xA
- MLA R3, R0, R3, R9
- BIC R0, R5, 7
- SUB R0, R7, R0
- LDR R2, [R4,0x28]
- MOV R0, R0,LSR3
- ADD R5, R2, R0,LSL5
- ADD R0, R3, 2
- LDRB R2, [R4,0xC]
- LDRB R3, [R4,0xD]
- MOV R1, R10
- BL 0x20113B0
- LDR R1, [SP,0x40-0x30]
- MOV R0, R5
- BL 0x2011A58
- ADD R7, R7, 8
- loc_2011FD8: ; CODE XREF: 2011A7C+140j
- ; 2011A7C+144j ...
- ; jumptable 02011BBC default entry
- ; jumptable 02011BBC entries 0,1,3
- LDR R0, [SP,0x40+var_3C]
- LDR R1, [SP,0x40+var_2C]
- ADD R0, R0, 1
- STR R0, [SP,0x40+var_3C]
- CMP R0, R1
- BCC loc_2011B90
- loc_2011FF0: ; CODE XREF: 2011A7C+100j
- LDRB R0, [R4,9]
- CMP R0, 7
- ADDLS PC, PC, R0,LSL2
- B loc_2012274
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- loc_2012000: ; CODE XREF: 2011A7C+57Cj
- B loc_2012274
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- loc_2012004: ; CODE XREF: 2011A7C+57Cj
- B loc_2012274
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- loc_2012008: ; CODE XREF: 2011A7C+57Cj
- B loc_2012020
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- loc_201200C: ; CODE XREF: 2011A7C+57Cj
- B loc_2012274
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- loc_2012010: ; CODE XREF: 2011A7C+57Cj
- B loc_2012098
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- loc_2012014: ; CODE XREF: 2011A7C+57Cj
- B loc_2012110
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- loc_2012018: ; CODE XREF: 2011A7C+57Cj
- B loc_2012188
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- loc_201201C: ; CODE XREF: 2011A7C+57Cj
- B loc_2012200
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- loc_2012020: ; CODE XREF: 2011A7C+57Cj
- ; 2011A7C:loc_2012008j
- ; jumptable 02011FF8 entry 2
- LDR R1, [SP,0x40-0x30]
- MOV R0, 0
- CMP R1, 0
- BLE loc_2012078
- loc_2012030: ; CODE XREF: 2011A7C+5F8j
- LDRB R2, [R4,0xB]
- LDR R1, [R4,0x14]
- ADD R1, R1, R2,LSL12
- ADD R1, R0, R1
- STRH R1, [R6]
- LDRB R2, [R4,0xB]
- LDR R1, [R4,0x14]
- LDR R3, [SP,0x40-0x30]
- ADD R1, R1, R2,LSL12
- ADD R1, R0, R1
- ADD R2, R3, R1
- MOV R1, R3,LSL1
- STRH R2, [R6,R1]
- LDR R1, [SP,0x40-0x30]
- ADD R0, R0, 1
- CMP R0, R1
- ADD R6, R6, 2
- BLT loc_2012030
- loc_2012078: ; CODE XREF: 2011A7C+5B0j
- MOV R0, R1,LSL1
- STRH R0, [R4,0x32]
- MOV R0, 2
- STRH R0, [R4,0x34]
- LDR R0, [SP,0x40-0x30]
- MOV R0, R0,LSL6
- STRH R0, [R4,0x30]
- B loc_2012274
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- loc_2012098: ; CODE XREF: 2011A7C+57Cj
- ; 2011A7C:loc_2012010j
- ; jumptable 02011FF8 entry 4
- LDR R1, [SP,0x40-0x30]
- MOV R0, 0
- CMP R1, 0
- BLE loc_20120F0
- loc_20120A8: ; CODE XREF: 2011A7C+670j
- LDRB R2, [R4,0xB]
- LDR R1, [R4,0x14]
- ADD R1, R1, R2,LSL12
- ADD R1, R0, R1
- STRH R1, [R6]
- LDRB R2, [R4,0xB]
- LDR R1, [R4,0x14]
- LDR R3, [SP,0x40-0x30]
- ADD R1, R1, R2,LSL12
- ADD R1, R0, R1
- ADD R2, R3, R1
- MOV R1, R3,LSL1
- STRH R2, [R6,R1]
- LDR R1, [SP,0x40-0x30]
- ADD R0, R0, 1
- CMP R0, R1
- ADD R6, R6, 2
- BLT loc_20120A8
- loc_20120F0: ; CODE XREF: 2011A7C+628j
- MOV R0, R1,LSL1
- STRH R0, [R4,0x32]
- MOV R0, 2
- STRH R0, [R4,0x34]
- LDR R0, [SP,0x40-0x30]
- MOV R0, R0,LSL6
- STRH R0, [R4,0x30]
- B loc_2012274
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- loc_2012110: ; CODE XREF: 2011A7C+57Cj
- ; 2011A7C:loc_2012014j
- ; jumptable 02011FF8 entry 5
- LDR R1, [SP,0x40-0x30]
- MOV R0, 0
- CMP R1, 0
- BLE loc_2012168
- loc_2012120: ; CODE XREF: 2011A7C+6E8j
- LDRB R2, [R4,0xB]
- LDR R1, [R4,0x14]
- ADD R1, R1, R2,LSL12
- ADD R1, R0, R1
- STRH R1, [R6]
- LDRB R2, [R4,0xB]
- LDR R1, [R4,0x14]
- LDR R3, [SP,0x40-0x30]
- ADD R1, R1, R2,LSL12
- ADD R1, R0, R1
- ADD R2, R3, R1
- MOV R1, R3,LSL1
- STRH R2, [R6,R1]
- LDR R1, [SP,0x40-0x30]
- ADD R0, R0, 1
- CMP R0, R1
- ADD R6, R6, 2
- BLT loc_2012120
- loc_2012168: ; CODE XREF: 2011A7C+6A0j
- MOV R0, R1,LSL1
- STRH R0, [R4,0x32]
- MOV R0, 2
- STRH R0, [R4,0x34]
- LDR R0, [SP,0x40-0x30]
- MOV R0, R0,LSL6
- STRH R0, [R4,0x30]
- B loc_2012274
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- loc_2012188: ; CODE XREF: 2011A7C+57Cj
- ; 2011A7C:loc_2012018j
- ; jumptable 02011FF8 entry 6
- LDR R1, [SP,0x40-0x30]
- MOV R0, 0
- CMP R1, 0
- BLE loc_20121E0
- loc_2012198: ; CODE XREF: 2011A7C+760j
- LDRB R2, [R4,0xB]
- LDR R1, [R4,0x14]
- ADD R1, R1, R2,LSL12
- ADD R1, R0, R1
- STRH R1, [R6]
- LDRB R2, [R4,0xB]
- LDR R1, [R4,0x14]
- LDR R3, [SP,0x40-0x30]
- ADD R1, R1, R2,LSL12
- ADD R1, R0, R1
- ADD R2, R3, R1
- MOV R1, R3,LSL1
- STRH R2, [R6,R1]
- LDR R1, [SP,0x40-0x30]
- ADD R0, R0, 1
- CMP R0, R1
- ADD R6, R6, 2
- BLT loc_2012198
- loc_20121E0: ; CODE XREF: 2011A7C+718j
- MOV R0, R1,LSL1
- STRH R0, [R4,0x32]
- MOV R0, 2
- STRH R0, [R4,0x34]
- LDR R0, [SP,0x40-0x30]
- MOV R0, R0,LSL6
- STRH R0, [R4,0x30]
- B loc_2012274
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- loc_2012200: ; CODE XREF: 2011A7C+57Cj
- ; 2011A7C:loc_201201Cj
- ; jumptable 02011FF8 entry 7
- LDR R1, [SP,0x40-0x30]
- MOV R0, 0
- CMP R1, 0
- BLE loc_2012258
- loc_2012210: ; CODE XREF: 2011A7C+7D8j
- LDRB R2, [R4,0xB]
- LDR R1, [R4,0x14]
- ADD R1, R1, R2,LSL12
- ADD R1, R0, R1
- STRH R1, [R6]
- LDRB R2, [R4,0xB]
- LDR R1, [R4,0x14]
- LDR R3, [SP,0x40-0x30]
- ADD R1, R1, R2,LSL12
- ADD R1, R0, R1
- ADD R2, R3, R1
- MOV R1, R3,LSL1
- STRH R2, [R6,R1]
- LDR R1, [SP,0x40-0x30]
- ADD R0, R0, 1
- CMP R0, R1
- ADD R6, R6, 2
- BLT loc_2012210
- loc_2012258: ; CODE XREF: 2011A7C+790j
- MOV R0, R1,LSL1
- STRH R0, [R4,0x32]
- MOV R0, 1
- STRH R0, [R4,0x34]
- LDR R0, [SP,0x40-0x30]
- MOV R0, R0,LSL5
- STRH R0, [R4,0x30]
- loc_2012274: ; CODE XREF: 2011A7C+57Cj
- ; 2011A7C+580j ...
- ; jumptable 02011FF8 default entry
- ; jumptable 02011FF8 entries 0,1,3
- MOV R3, 0
- MOV R0, R3
- loc_201227C: ; CODE XREF: 2011A7C+82Cj
- ADD R2, R4, R3,LSL2
- STR R0, [R2,0x38]
- ADD R1, R4, R3,LSL1
- STR R0, [R2,0x50]
- STRH R0, [R1,0x68]
- STRH R0, [R1,0x74]
- STRH R0, [R1,0x80]
- STRH R0, [R1,0x8C]
- ADD R3, R3, 1
- STR R0, [R2,0x98]
- CMP R3, 6
- BLT loc_201227C
- LDRB R1, [R4,0x10]
- CMP R1, 0
- BNE loc_20122E8
- LDR R2, [R4,0x28]
- MOV R1, 1
- STR R2, [R4,0x38]
- LDR R2, [R4,0x18]
- STR R2, [R4,0x50]
- LDRSH R2, [R4,0x30]
- STRH R2, [R4,0x68]
- STRH R1, [R4,0x74]
- STRH R0, [R4,0x80]
- STRH R0, [R4,0x8C]
- STR R0, [R4,0x98]
- B loc_201278C
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- loc_20122E8: ; CODE XREF: 2011A7C+838j
- LDRB R1, [R4,0x21]
- MOV R2, R1,LSR31
- RSB R1, R2, R1,LSL29
- ADDS R1, R2, R1,ROR29
- LDRH R2, [R4,0x24]
- LDRB R1, [R4,0x20]
- BNE loc_2012544
- LDR R6, [SP,0x40+var_28]
- ADD R1, R1, R2
- TST R1, 7
- MOV R7, R0
- SUBNE R6, R6, 4
- MOVNE R0, 4
- TST R6, 7
- SUBNE R6, R6, 4
- MOVNE R7, 4
- CMP R0, 0
- BEQ loc_20123C4
- MOV R1, R2,LSR3
- MOV R1, R1,LSL5
- ADD R5, R1, 2
- LDR R2, [R4,0x28]
- ADD R1, R5, R5,LSR31
- ADD R2, R2, R5
- STR R2, [R4,0x38]
- LDR R2, [R4,0x18]
- MOV R1, R1,ASR1
- ADD R1, R2, R1,LSL1
- STR R1, [R4,0x50]
- MOV R3, 2
- STRH R3, [R4,0x68]
- MOV R1, 8
- STRH R1, [R4,0x74]
- MOV R2, 4
- STRH R2, [R4,0x80]
- STRH R2, [R4,0x8C]
- MOV R1, 0
- STR R1, [R4,0x98]
- LDR R8, [SP,0x40-0x30]
- LDR R9, [R4,0x28]
- ADD R8, R5, R8,LSL5
- ADD R8, R9, R8
- STR R8, [R4,0x44]
- LDR R8, [SP,0x40-0x30]
- LDR R9, [R4,0x18]
- ADD R5, R5, R8,LSL5
- ADD R5, R5, R5,LSR31
- MOV R5, R5,ASR1
- ADD R5, R9, R5,LSL1
- STR R5, [R4,0x5C]
- STRH R3, [R4,0x6E]
- STRH R2, [R4,0x7A]
- STRH R2, [R4,0x86]
- STRH R2, [R4,0x92]
- STR R1, [R4,0xA4]
- loc_20123C4: ; CODE XREF: 2011A7C+8B0j
- CMP R6, 0
- BEQ loc_2012480
- LDRH R1, [R4,0x24]
- CMP R0, 0
- LDR R3, [R4,0x28]
- MOVEQ R1, R1,LSR3
- MOVEQ R2, R1,LSL5
- MOVNE R1, R1,LSR3
- MOVNE R1, R1,LSL5
- ADDNE R2, R1, 0x20
- ADD R3, R3, R2
- ADD R1, R2, R2,LSR31
- STR R3, [R4,0x3C]
- LDR R3, [R4,0x18]
- MOV R1, R1,ASR1
- ADD R1, R3, R1,LSL1
- STR R1, [R4,0x54]
- MOV R1, R6,LSL2
- STRH R1, [R4,0x6A]
- MOV R1, 1
- STRH R1, [R4,0x76]
- MOV R1, 0
- STRH R1, [R4,0x82]
- STRH R1, [R4,0x8E]
- STR R1, [R4,0x9C]
- LDR R5, [R4,0x28]
- LDR R3, [SP,0x40-0x30]
- ADD R5, R5, R2
- ADD R3, R5, R3,LSL5
- STR R3, [R4,0x48]
- LDR R3, [SP,0x40-0x30]
- LDR R5, [R4,0x18]
- ADD R2, R2, R3,LSL5
- ADD R2, R2, R2,LSR31
- MOV R2, R2,ASR1
- ADD R3, R5, R2,LSL1
- MOV R2, R6,ASR2
- ADD R2, R6, R2,LSR29
- STR R3, [R4,0x60]
- MOV R3, 0x10
- STRH R3, [R4,0x70]
- MOV R2, R2,ASR3
- STRH R2, [R4,0x7C]
- MOV R2, 0x20
- STRH R2, [R4,0x88]
- STRH R2, [R4,0x94]
- STR R1, [R4,0xA8]
- loc_2012480: ; CODE XREF: 2011A7C+94Cj
- CMP R7, 0
- BEQ loc_201278C
- LDRH R1, [R4,0x24]
- CMP R0, 0
- LDRNE R0, [SP,0x40+var_28]
- ADDNE R1, R1, R0
- BNE loc_20124A8
- LDR R0, [SP,0x40+var_28]
- ADD R0, R1, R0
- SUB R1, R0, 4
- loc_20124A8: ; CODE XREF: 2011A7C+A1Cj
- MOV R0, R1,ASR2
- ADD R0, R1, R0,LSR29
- MOV R0, R0,ASR3
- MOV R3, R0,LSL5
- LDR R1, [R4,0x28]
- ADD R0, R3, R3,LSR31
- ADD R1, R1, R3
- STR R1, [R4,0x40]
- LDR R1, [R4,0x18]
- MOV R0, R0,ASR1
- ADD R0, R1, R0,LSL1
- STR R0, [R4,0x58]
- MOV R2, 2
- STRH R2, [R4,0x6C]
- MOV R0, 8
- STRH R0, [R4,0x78]
- MOV R1, 4
- STRH R1, [R4,0x84]
- STRH R1, [R4,0x90]
- MOV R0, 0
- STR R0, [R4,0xA0]
- LDR R6, [R4,0x28]
- LDR R5, [SP,0x40-0x30]
- ADD R6, R6, R3
- ADD R5, R6, R5,LSL5
- STR R5, [R4,0x4C]
- LDR R5, [SP,0x40-0x30]
- LDR R6, [R4,0x18]
- ADD R3, R3, R5,LSL5
- ADD R3, R3, R3,LSR31
- MOV R3, R3,ASR1
- ADD R3, R6, R3,LSL1
- STR R3, [R4,0x64]
- STRH R2, [R4,0x72]
- STRH R1, [R4,0x7E]
- STRH R1, [R4,0x8A]
- STRH R1, [R4,0x96]
- STR R0, [R4,0xAC]
- B loc_201278C
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- loc_2012544: ; CODE XREF: 2011A7C+884j
- LDR R6, [SP,0x40+var_28]
- ADD R1, R1, R2
- TST R1, 7
- MOV R7, R0
- SUBNE R6, R6, 4
- MOVNE R0, 4
- TST R6, 7
- SUBNE R6, R6, 4
- MOVNE R7, 4
- CMP R0, 0
- BEQ loc_2012608
- MOV R1, R2,LSR3
- MOV R5, R1,LSL5
- ADD R2, R5, 0x12
- LDR R3, [R4,0x28]
- ADD R1, R2, R2,LSR31
- ADD R2, R3, R2
- STR R2, [R4,0x38]
- LDR R2, [R4,0x18]
- MOV R1, R1,ASR1
- ADD R1, R2, R1,LSL1
- STR R1, [R4,0x50]
- MOV R3, 2
- STRH R3, [R4,0x68]
- MOV R2, 4
- STRH R2, [R4,0x74]
- STRH R2, [R4,0x80]
- STRH R2, [R4,0x8C]
- MOV R1, 0
- STR R1, [R4,0x98]
- LDR R8, [SP,0x40-0x30]
- ADD R9, R5, 2
- LDR R10, [R4,0x28]
- ADD R5, R9, R8,LSL5
- ADD R5, R10, R5
- STR R5, [R4,0x44]
- LDR R5, [SP,0x40-0x30]
- LDR R8, [R4,0x18]
- ADD R5, R9, R5,LSL5
- ADD R5, R5, R5,LSR31
- MOV R5, R5,ASR1
- ADD R5, R8, R5,LSL1
- STR R5, [R4,0x5C]
- STRH R3, [R4,0x6E]
- MOV R3, 8
- STRH R3, [R4,0x7A]
- STRH R2, [R4,0x86]
- STRH R2, [R4,0x92]
- STR R1, [R4,0xA4]
- loc_2012608: ; CODE XREF: 2011A7C+AF0j
- CMP R6, 0
- BEQ loc_20126C8
- LDRH R1, [R4,0x24]
- CMP R0, 0
- LDR R3, [R4,0x28]
- MOVEQ R1, R1,LSR3
- MOVEQ R2, R1,LSL5
- MOVNE R1, R1,LSR3
- MOVNE R1, R1,LSL5
- ADDNE R2, R1, 0x20
- ADD R1, R2, 0x10
- ADD R3, R3, R1
- STR R3, [R4,0x3C]
- ADD R1, R1, R1,LSR31
- LDR R3, [R4,0x18]
- MOV R1, R1,ASR1
- ADD R3, R3, R1,LSL1
- MOV R1, R6,ASR2
- ADD R1, R6, R1,LSR29
- STR R3, [R4,0x54]
- MOV R3, 0x10
- STRH R3, [R4,0x6A]
- MOV R1, R1,ASR3
- STRH R1, [R4,0x76]
- MOV R1, 0x20
- STRH R1, [R4,0x82]
- STRH R1, [R4,0x8E]
- MOV R1, 0
- STR R1, [R4,0x9C]
- LDR R5, [R4,0x28]
- LDR R3, [SP,0x40-0x30]
- ADD R5, R5, R2
- ADD R3, R5, R3,LSL5
- STR R3, [R4,0x48]
- LDR R3, [SP,0x40-0x30]
- LDR R5, [R4,0x18]
- ADD R2, R2, R3,LSL5
- ADD R2, R2, R2,LSR31
- MOV R2, R2,ASR1
- ADD R2, R5, R2,LSL1
- STR R2, [R4,0x60]
- MOV R2, R6,LSL2
- STRH R2, [R4,0x70]
- MOV R2, 1
- STRH R2, [R4,0x7C]
- STRH R1, [R4,0x88]
- STRH R1, [R4,0x94]
- STR R1, [R4,0xA8]
- loc_20126C8: ; CODE XREF: 2011A7C+B90j
- CMP R7, 0
- BEQ loc_201278C
- LDRH R1, [R4,0x24]
- CMP R0, 0
- LDRNE R0, [SP,0x40+var_28]
- ADDNE R1, R1, R0
- BNE loc_20126F0
- LDR R0, [SP,0x40+var_28]
- ADD R0, R1, R0
- SUB R1, R0, 4
- loc_20126F0: ; CODE XREF: 2011A7C+C64j
- MOV R0, R1,ASR2
- ADD R0, R1, R0,LSR29
- MOV R0, R0,ASR3
- MOV R3, R0,LSL5
- LDR R1, [R4,0x28]
- ADD R0, R3, 0x10
- ADD R1, R1, R0
- STR R1, [R4,0x40]
- ADD R0, R0, R0,LSR31
- LDR R1, [R4,0x18]
- MOV R0, R0,ASR1
- ADD R0, R1, R0,LSL1
- STR R0, [R4,0x58]
- MOV R2, 2
- STRH R2, [R4,0x6C]
- MOV R1, 4
- STRH R1, [R4,0x78]
- STRH R1, [R4,0x84]
- STRH R1, [R4,0x90]
- MOV R0, 0
- STR R0, [R4,0xA0]
- LDR R5, [SP,0x40-0x30]
- LDR R6, [R4,0x28]
- ADD R5, R3, R5,LSL5
- ADD R5, R6, R5
- STR R5, [R4,0x4C]
- LDR R5, [SP,0x40-0x30]
- LDR R6, [R4,0x18]
- ADD R3, R3, R5,LSL5
- ADD R3, R3, R3,LSR31
- MOV R3, R3,ASR1
- ADD R3, R6, R3,LSL1
- STR R3, [R4,0x64]
- STRH R2, [R4,0x72]
- MOV R2, 8
- STRH R2, [R4,0x7E]
- STRH R1, [R4,0x8A]
- STRH R1, [R4,0x96]
- STR R0, [R4,0xAC]
- loc_201278C: ; CODE XREF: 2011A7C+868j
- ; 2011A7C+A08j ...
- MOV R2, 5
- loc_2012790: ; CODE XREF: 2011A7C+D34j
- ADD R1, R4, R2,LSL2
- LDR R0, [R1,0x38]
- CMP R0, 0
- LDRNE R0, [R4,0x28]
- ADDNE SP, SP, 0x1C
- STRNE R0, [R1,0x98]
- LDMNEFD SP!, {R4-R11,PC}
- SUBS R2, R2, 1
- BPL loc_2012790
- ADD SP, SP, 0x1C
- LDMFD SP!, {R4-R11,PC}
- ; End of function 2011A7C
- ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
- Address1:
- .word 21F3630h
- Address2:
- .word 21F365Ch
- .pool
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement