.text:00001B10 .text:00001B10 ; =============== S U B R O U T I N E ======================================= .text:00001B10 .text:00001B10 .text:00001B10 sub_1B10 ; DATA XREF: sub_2690+62o .text:00001B10 ; .text:off_27C8o .text:00001B10 .text:00001B10 dest = -0x898 .text:00001B10 var_894 = -0x894 .text:00001B10 var_890 = -0x890 .text:00001B10 format = -0x88C .text:00001B10 src = -0x888 .text:00001B10 var_884 = -0x884 .text:00001B10 var_880 = -0x880 .text:00001B10 var_87C = -0x87C .text:00001B10 var_878 = -0x878 .text:00001B10 delim = -0x874 .text:00001B10 var_86C = -0x86C .text:00001B10 s = -0x82C .text:00001B10 buf = -0x42C .text:00001B10 var_2C = -0x2C .text:00001B10 .text:00001B10 LDR.W R3, =(__stack_chk_guard_ptr - 0x1B26) .text:00001B14 PUSH.W {R4-R11,LR} .text:00001B18 SUBW SP, SP, #0x874 .text:00001B1C MOV R2, R3 .text:00001B1E LDR.W R3, =(dword_6B00 - 0x1B2C) .text:00001B22 ADD R2, PC ; __stack_chk_guard_ptr .text:00001B24 LDR R2, [R2] ; __stack_chk_guard .text:00001B26 MOV R9, R0 .text:00001B28 ADD R3, PC ; dword_6B00 .text:00001B2A STR R2, [SP,#0x898+var_894] .text:00001B2C LDR R0, [R2] .text:00001B2E LDRB.W R1, [R3,#(dword_6CC0 - 0x6B00)] .text:00001B32 LDR.W R2, [R3,#(dword_6CBC - 0x6B00)] .text:00001B36 STR.W R0, [SP,#0x898+var_2C] .text:00001B3A ADDS R2, #1 .text:00001B3C STR.W R2, [R3,#(dword_6CBC - 0x6B00)] .text:00001B40 CMP R1, #0 .text:00001B42 BEQ.W loc_1E18 .text:00001B46 .text:00001B46 loc_1B46 ; CODE XREF: sub_1B10+356j .text:00001B46 LDR.W R5, =(dword_6B00 - 0x1B56) .text:00001B4A ADD.W R3, R9, #0x18 .text:00001B4E ADD R4, SP, #0x898+s .text:00001B50 STR R3, [SP,#0x898+dest] .text:00001B52 ADD R5, PC ; dword_6B00 .text:00001B54 MOV R2, R3 .text:00001B56 SUB.W R10, R5, #4 .text:00001B5A ADD.W R1, R5, #0x1C0 ; format .text:00001B5E MOV R0, R4 ; s .text:00001B60 ADD.W R5, R5, #0x18C .text:00001B64 MOV R6, R10 .text:00001B66 BLX sprintf .text:00001B6A .text:00001B6A loc_1B6A ; CODE XREF: sub_1B10+72j .text:00001B6A LDR.W R7, [R6,#(dword_6B00 - 0x6AFC)]! .text:00001B6E CBZ R7, loc_1B80 .text:00001B70 MOV R0, R4 ; s .text:00001B72 BLX strlen .text:00001B76 MOV R1, R4 ; buf .text:00001B78 MOV R2, R0 ; n .text:00001B7A LDR R0, [R7,#0x10] ; fd .text:00001B7C BLX write .text:00001B80 .text:00001B80 loc_1B80 ; CODE XREF: sub_1B10+5Ej .text:00001B80 CMP R6, R5 .text:00001B82 BNE loc_1B6A .text:00001B84 LDR.W R3, =(dword_6B00 - 0x1B94) .text:00001B88 ADDW R11, SP, #0x898+buf .text:00001B8C LDR.W R2, =(dword_6B00 - 0x1B96) .text:00001B90 ADD R3, PC ; dword_6B00 .text:00001B92 ADD R2, PC ; dword_6B00 .text:00001B94 ADD.W R3, R3, #0x2C4 .text:00001B98 STR R2, [SP,#0x898+var_890] .text:00001B9A STR R3, [SP,#0x898+format] .text:00001B9C ADD.W R3, R2, #0x264 .text:00001BA0 STR R3, [SP,#0x898+src] .text:00001BA2 .text:00001BA2 loc_1BA2 ; CODE XREF: sub_1B10+120j .text:00001BA2 ; sub_1B10+306j ... .text:00001BA2 MOVS R6, #0 .text:00001BA4 .text:00001BA4 loc_1BA4 ; CODE XREF: sub_1B10+B2j .text:00001BA4 ; sub_1B10+CEj .text:00001BA4 LDR.W R0, [R9,#0x10] ; fd .text:00001BA8 MOV R1, R11 ; buf .text:00001BAA MOVW R2, #0x3FF ; nbytes .text:00001BAE BLX read .text:00001BB2 CMP R0, #0 .text:00001BB4 BLE loc_1C32 .text:00001BB6 STRB.W R6, [R11,R0] .text:00001BBA LDRB.W R3, [R11] .text:00001BBE STRB R6, [R4] .text:00001BC0 CMP R3, #0 .text:00001BC2 BEQ loc_1BA4 .text:00001BC4 MOV R2, R11 .text:00001BC6 .text:00001BC6 loc_1BC6 ; CODE XREF: sub_1B10+C6j .text:00001BC6 CMP R3, #0xD .text:00001BC8 IT NE .text:00001BCA CMPNE R3, #0xA .text:00001BCC IT EQ .text:00001BCE STREQB R6, [R2] .text:00001BD0 LDRB.W R3, [R2,#1]! .text:00001BD4 CMP R3, #0 .text:00001BD6 BNE loc_1BC6 .text:00001BD8 LDRB.W R3, [R11] .text:00001BDC CMP R3, #0 .text:00001BDE BEQ loc_1BA4 .text:00001BE0 CMP R3, #0x5C .text:00001BE2 BEQ.W loc_1D14 .text:00001BE6 LDR.W R3, =(dword_6B00 - 0x1BEE) .text:00001BEA ADD R3, PC ; dword_6B00 .text:00001BEC LDRB.W R2, [R3,#(byte_6EBC - 0x6B00)] .text:00001BF0 CMP R2, #0 .text:00001BF2 BEQ.W loc_1E68 .text:00001BF6 .text:00001BF6 loc_1BF6 ; CODE XREF: sub_1B10+3CAj .text:00001BF6 LDR.W R1, =(dword_6B00 - 0x1C04) .text:00001BFA MOV R0, R4 ; s .text:00001BFC LDR R2, [SP,#0x898+dest] .text:00001BFE MOV R3, R11 .text:00001C00 ADD R1, PC ; dword_6B00 .text:00001C02 MOV R7, R10 .text:00001C04 ADD.W R1, R1, #0x3BC ; format .text:00001C08 BLX sprintf .text:00001C0C LDR.W R8, [R9,#0x14] .text:00001C10 .text:00001C10 loc_1C10 ; CODE XREF: sub_1B10+11Ej .text:00001C10 LDR.W R6, [R7,#(dword_6B00 - 0x6AFC)]! .text:00001C14 CBZ R6, loc_1C2C .text:00001C16 LDR R3, [R6,#0x14] .text:00001C18 CMP R8, R3 .text:00001C1A BEQ loc_1C2C .text:00001C1C MOV R0, R4 ; s .text:00001C1E BLX strlen .text:00001C22 MOV R1, R4 ; buf .text:00001C24 MOV R2, R0 ; n .text:00001C26 LDR R0, [R6,#0x10] ; fd .text:00001C28 BLX write .text:00001C2C .text:00001C2C loc_1C2C ; CODE XREF: sub_1B10+104j .text:00001C2C ; sub_1B10+10Aj .text:00001C2C CMP R5, R7 .text:00001C2E BNE loc_1C10 .text:00001C30 B loc_1BA2 .text:00001C32 ; --------------------------------------------------------------------------- .text:00001C32 .text:00001C32 loc_1C32 ; CODE XREF: sub_1B10+A4j .text:00001C32 ; sub_1B10+242j .text:00001C32 LDR.W R0, [R9,#0x10] ; fd .text:00001C36 BLX close .text:00001C3A LDR.W R3, =(dword_6B00 - 0x1C42) .text:00001C3E ADD R3, PC ; dword_6B00 .text:00001C40 LDRB.W R2, [R3,#(dword_6CE0 - 0x6B00)] .text:00001C44 CBNZ R2, loc_1C88 .text:00001C46 LDR.W R2, =(aNlGMfgl - 0x1C4E) .text:00001C4A ADD R2, PC ; "NL]]@G\t@]\tMFGL" .text:00001C4C LDR.W R6, [R2,#(dword_6AE0 - 0x6000)] .text:00001C50 LDR.W R0, [R2,#(dword_6AE4 - 0x6000)] .text:00001C54 LDR.W R7, [R2,#(dword_6AE8 - 0x6000)] .text:00001C58 EOR.W R6, R6, #0x27272727 .text:00001C5C LDR.W R1, [R2,#(dword_6AEC - 0x6000)] .text:00001C60 EOR.W R0, R0, #0x27272727 .text:00001C64 LDRB.W R2, [R2,#(byte_6AF0 - 0x6000)] .text:00001C68 EOR.W R7, R7, #0x27272727 .text:00001C6C EOR.W R1, R1, #0x27272727 .text:00001C70 STR.W R6, [R3,#(dword_6CE0 - 0x6B00)] .text:00001C74 EOR.W R2, R2, #0x27 .text:00001C78 STR.W R0, [R3,#(dword_6CE4 - 0x6B00)] .text:00001C7C STR.W R7, [R3,#(dword_6CE8 - 0x6B00)] .text:00001C80 STR.W R1, [R3,#(dword_6CEC - 0x6B00)] .text:00001C84 STRB.W R2, [R3,#(byte_6CF0 - 0x6B00)] .text:00001C88 .text:00001C88 loc_1C88 ; CODE XREF: sub_1B10+134j .text:00001C88 LDR.W R1, =(dword_6B00 - 0x1C96) .text:00001C8C MOV R0, R4 ; s .text:00001C8E LDR R2, [SP,#0x898+dest] .text:00001C90 MOV R6, R10 .text:00001C92 ADD R1, PC ; dword_6B00 .text:00001C94 ADD.W R1, R1, #0x1E0 ; format .text:00001C98 BLX sprintf .text:00001C9C .text:00001C9C loc_1C9C ; CODE XREF: sub_1B10+1A4j .text:00001C9C LDR.W R7, [R6,#(dword_6B00 - 0x6AFC)]! .text:00001CA0 CBZ R7, loc_1CB2 .text:00001CA2 MOV R0, R4 ; s .text:00001CA4 BLX strlen .text:00001CA8 MOV R1, R4 ; buf .text:00001CAA MOV R2, R0 ; n .text:00001CAC LDR R0, [R7,#0x10] ; fd .text:00001CAE BLX write .text:00001CB2 .text:00001CB2 loc_1CB2 ; CODE XREF: sub_1B10+190j .text:00001CB2 CMP R6, R5 .text:00001CB4 BNE loc_1C9C .text:00001CB6 LDR.W R1, [R9,#0x14] .text:00001CBA MOVS R3, #0 .text:00001CBC B loc_1CC4 .text:00001CBE ; --------------------------------------------------------------------------- .text:00001CBE .text:00001CBE loc_1CBE ; CODE XREF: sub_1B10+1BAj .text:00001CBE ; sub_1B10+1C0j .text:00001CBE ADDS R3, #1 .text:00001CC0 CMP R3, #0x64 .text:00001CC2 BEQ loc_1CDE .text:00001CC4 .text:00001CC4 loc_1CC4 ; CODE XREF: sub_1B10+1ACj .text:00001CC4 LDR.W R2, [R10,#(dword_6B00 - 0x6AFC)]! .text:00001CC8 CMP R2, #0 .text:00001CCA BEQ loc_1CBE .text:00001CCC LDR R2, [R2,#0x14] .text:00001CCE CMP R1, R2 .text:00001CD0 BNE loc_1CBE .text:00001CD2 LDR.W R2, =(dword_6B00 - 0x1CDC) .text:00001CD6 MOVS R1, #0 .text:00001CD8 ADD R2, PC ; dword_6B00 .text:00001CDA STR.W R1, [R2,R3,LSL#2] .text:00001CDE .text:00001CDE loc_1CDE ; CODE XREF: sub_1B10+1B2j .text:00001CDE MOV R0, R9 ; ptr .text:00001CE0 BLX free .text:00001CE4 LDR.W R2, =(dword_6B00 - 0x1CEC) .text:00001CE8 ADD R2, PC ; dword_6B00 .text:00001CEA LDR.W R3, [R2,#(dword_6CBC - 0x6B00)] .text:00001CEE SUBS R3, #1 .text:00001CF0 STR.W R3, [R2,#(dword_6CBC - 0x6B00)] .text:00001CF4 BLX pthread_self .text:00001CF8 BLX pthread_detach .text:00001CFC LDR R3, [SP,#0x898+var_894] .text:00001CFE LDR.W R2, [SP,#0x898+var_2C] .text:00001D02 MOVS R0, #0 .text:00001D04 LDR R3, [R3] .text:00001D06 CMP R2, R3 .text:00001D08 BNE.W loc_2578 .text:00001D0C ADDW SP, SP, #0x874 .text:00001D10 POP.W {R4-R11,PC} .text:00001D14 ; --------------------------------------------------------------------------- .text:00001D14 .text:00001D14 loc_1D14 ; CODE XREF: sub_1B10+D2j .text:00001D14 LDR.W R2, =(dword_6B00 - 0x1D1C) .text:00001D18 ADD R2, PC ; dword_6B00 .text:00001D1A LDRB.W R3, [R2,#(byte_6CD4 - 0x6B00)] .text:00001D1E CMP R3, #0 .text:00001D20 BEQ.W loc_208E .text:00001D24 .text:00001D24 loc_1D24 ; CODE XREF: sub_1B10+590j .text:00001D24 LDR.W R6, =(dword_6B00 - 0x1D2E) .text:00001D28 MOV R0, R11 ; s .text:00001D2A ADD R6, PC ; dword_6B00 .text:00001D2C ADD.W R1, R6, #0x1D4 ; delim .text:00001D30 BLX strtok .text:00001D34 LDRB.W R3, [R6,#(byte_6CD8 - 0x6B00)] .text:00001D38 MOV R7, R0 .text:00001D3A CMP R3, #0 .text:00001D3C BEQ.W loc_20A2 .text:00001D40 .text:00001D40 loc_1D40 ; CODE XREF: sub_1B10+5D4j .text:00001D40 LDR.W R6, =(dword_6B00 - 0x1D4A) .text:00001D44 MOV R0, R7 ; s1 .text:00001D46 ADD R6, PC ; dword_6B00 .text:00001D48 ADD.W R1, R6, #0x1D8 ; s2 .text:00001D4C BLX strcmp .text:00001D50 CMP R0, #0 .text:00001D52 BEQ.W loc_1C32 .text:00001D56 LDRB.W R3, [R6,#(byte_6CF4 - 0x6B00)] .text:00001D5A CMP R3, #0 .text:00001D5C BEQ.W loc_204A .text:00001D60 .text:00001D60 loc_1D60 ; CODE XREF: sub_1B10+57Cj .text:00001D60 LDR.W R6, =(dword_6B00 - 0x1D6A) .text:00001D64 MOV R0, R7 ; s1 .text:00001D66 ADD R6, PC ; dword_6B00 .text:00001D68 ADD.W R1, R6, #0x1F4 ; s2 .text:00001D6C BLX strcmp .text:00001D70 CMP R0, #0 .text:00001D72 BEQ.W loc_1EDC .text:00001D76 LDRB.W R3, [R6,#(byte_6D08 - 0x6B00)] .text:00001D7A CMP R3, #0 .text:00001D7C BEQ.W loc_23FA .text:00001D80 .text:00001D80 loc_1D80 ; CODE XREF: sub_1B10+92Aj .text:00001D80 LDR.W R6, =(dword_6B00 - 0x1D8A) .text:00001D84 MOV R0, R7 ; s1 .text:00001D86 ADD R6, PC ; dword_6B00 .text:00001D88 ADD.W R1, R6, #0x208 ; s2 .text:00001D8C BLX strcmp .text:00001D90 CMP R0, #0 .text:00001D92 BNE.W loc_1F04 .text:00001D96 LDRB.W R3, [R6,#(byte_6D10 - 0x6B00)] .text:00001D9A CBNZ R3, loc_1DAE .text:00001D9C LDR.W R3, =(aNlGMfgl - 0x1DA4) .text:00001DA0 ADD R3, PC ; "NL]]@G\t@]\tMFGL" .text:00001DA2 LDRB.W R3, [R3,#(byte_6928 - 0x6000)] .text:00001DA6 EOR.W R3, R3, #0x54 .text:00001DAA STRB.W R3, [R6,#(byte_6D10 - 0x6B00)] .text:00001DAE .text:00001DAE loc_1DAE ; CODE XREF: sub_1B10+28Aj .text:00001DAE LDR.W R6, =(dword_6B00 - 0x1DB8) .text:00001DB2 MOVS R0, #0 ; s .text:00001DB4 ADD R6, PC ; dword_6B00 .text:00001DB6 ADD.W R1, R6, #0x210 ; delim .text:00001DBA BLX strtok .text:00001DBE MOV R8, R0 .text:00001DC0 CMP R0, #0 .text:00001DC2 BEQ.W loc_2380 .text:00001DC6 LDR R0, [SP,#0x898+dest] ; s .text:00001DC8 BLX strdup .text:00001DCC MOV R1, R8 ; src .text:00001DCE MOV R7, R0 .text:00001DD0 LDR R0, [SP,#0x898+dest] ; dest .text:00001DD2 BLX strcpy .text:00001DD6 LDRB.W R3, [R6,#(dword_6D14 - 0x6B00)] .text:00001DDA CMP R3, #0 .text:00001DDC BEQ.W loc_20E6 .text:00001DE0 .text:00001DE0 loc_1DE0 ; CODE XREF: sub_1B10+618j .text:00001DE0 LDR.W R1, =(dword_6B00 - 0x1DEE) .text:00001DE4 MOV R0, R4 ; s .text:00001DE6 MOV R2, R7 .text:00001DE8 LDR R3, [SP,#0x898+dest] .text:00001DEA ADD R1, PC ; dword_6B00 .text:00001DEC MOV R6, R10 .text:00001DEE ADD.W R1, R1, #0x214 ; format .text:00001DF2 BLX sprintf .text:00001DF6 MOV R0, R7 ; ptr .text:00001DF8 BLX free .text:00001DFC .text:00001DFC loc_1DFC ; CODE XREF: sub_1B10+304j .text:00001DFC LDR.W R7, [R6,#(dword_6B00 - 0x6AFC)]! .text:00001E00 CBZ R7, loc_1E12 .text:00001E02 MOV R0, R4 ; s .text:00001E04 BLX strlen .text:00001E08 MOV R1, R4 ; buf .text:00001E0A MOV R2, R0 ; n .text:00001E0C LDR R0, [R7,#0x10] ; fd .text:00001E0E BLX write .text:00001E12 .text:00001E12 loc_1E12 ; CODE XREF: sub_1B10+2F0j .text:00001E12 CMP R5, R6 .text:00001E14 BNE loc_1DFC .text:00001E16 B loc_1BA2 .text:00001E18 ; --------------------------------------------------------------------------- .text:00001E18 .text:00001E18 loc_1E18 ; CODE XREF: sub_1B10+32j .text:00001E18 LDR.W R2, =(aNlGMfgl - 0x1E20) .text:00001E1C ADD R2, PC ; "NL]]@G\t@]\tMFGL" .text:00001E1E LDR.W R6, [R2,#(dword_68EC - 0x6000)] .text:00001E22 LDR.W R5, [R2,#(dword_68F0 - 0x6000)] .text:00001E26 LDR.W R4, [R2,#(dword_68F4 - 0x6000)] .text:00001E2A EOR.W R6, R6, #0x33333333 .text:00001E2E LDR.W R0, [R2,#(dword_68F8 - 0x6000)] .text:00001E32 EOR.W R5, R5, #0x33333333 .text:00001E36 LDRB.W R1, [R2,#(byte_68FC - 0x6000)] .text:00001E3A EOR.W R4, R4, #0x33333333 .text:00001E3E LDRB.W R2, [R2,#(byte_68FD - 0x6000)] .text:00001E42 EOR.W R0, R0, #0x33333333 .text:00001E46 EOR.W R1, R1, #0x33 .text:00001E4A STR.W R6, [R3,#(dword_6CC0 - 0x6B00)] .text:00001E4E EOR.W R2, R2, #0x33 .text:00001E52 STR.W R5, [R3,#(dword_6CC4 - 0x6B00)] .text:00001E56 STR.W R4, [R3,#(dword_6CC8 - 0x6B00)] .text:00001E5A STR.W R0, [R3,#(dword_6CCC - 0x6B00)] .text:00001E5E STRB.W R1, [R3,#(byte_6CD0 - 0x6B00)] .text:00001E62 STRB.W R2, [R3,#(byte_6CD1 - 0x6B00)] .text:00001E66 B loc_1B46 .text:00001E68 ; --------------------------------------------------------------------------- .text:00001E68 .text:00001E68 loc_1E68 ; CODE XREF: sub_1B10+E2j .text:00001E68 LDR.W R2, =(aNlGMfgl - 0x1E70) .text:00001E6C ADD R2, PC ; "NL]]@G\t@]\tMFGL" .text:00001E6E LDRB.W R1, [R2,#(byte_6AD5 - 0x6000)] .text:00001E72 LDRB.W R0, [R2,#(byte_6AD6 - 0x6000)] .text:00001E76 EOR.W R1, R1, #0x35 .text:00001E7A STRB.W R1, [R3,#(byte_6EBD - 0x6B00)] .text:00001E7E LDRB.W R1, [R2,#(byte_6AD7 - 0x6000)] .text:00001E82 EOR.W R0, R0, #0x35 .text:00001E86 STRB.W R0, [R3,#(byte_6EBE - 0x6B00)] .text:00001E8A EOR.W R1, R1, #0x35 .text:00001E8E LDRB.W R0, [R2,#(byte_6AD8 - 0x6000)] .text:00001E92 STRB.W R1, [R3,#(byte_6EBF - 0x6B00)] .text:00001E96 LDRB.W R1, [R2,#(byte_6AD9 - 0x6000)] .text:00001E9A EOR.W R0, R0, #0x35 .text:00001E9E LDRB.W R6, [R2,#(byte_6AD4 - 0x6000)] .text:00001EA2 EOR.W R1, R1, #0x35 .text:00001EA6 STRB.W R0, [R3,#(byte_6EC0 - 0x6B00)] .text:00001EAA STRB.W R1, [R3,#(byte_6EC1 - 0x6B00)] .text:00001EAE EOR.W R6, R6, #0x35 .text:00001EB2 LDRB.W R0, [R2,#(byte_6ADA - 0x6000)] .text:00001EB6 LDRB.W R1, [R2,#(byte_6ADB - 0x6000)] .text:00001EBA LDRB.W R2, [R2,#(byte_6ADC - 0x6000)] .text:00001EBE EOR.W R0, R0, #0x35 .text:00001EC2 EOR.W R1, R1, #0x35 .text:00001EC6 STRB.W R6, [R3,#(byte_6EBC - 0x6B00)] .text:00001ECA EOR.W R2, R2, #0x35 .text:00001ECE STRB.W R0, [R3,#(byte_6EC2 - 0x6B00)] .text:00001ED2 STRB.W R1, [R3,#(byte_6EC3 - 0x6B00)] .text:00001ED6 STRB.W R2, [R3,#(byte_6EC4 - 0x6B00)] .text:00001EDA B loc_1BF6 .text:00001EDC ; --------------------------------------------------------------------------- .text:00001EDC .text:00001EDC loc_1EDC ; CODE XREF: sub_1B10+262j .text:00001EDC LDRB.W R3, [R6,#(byte_6CFC - 0x6B00)] .text:00001EE0 CMP R3, #0 .text:00001EE2 BEQ.W loc_2394 .text:00001EE6 .text:00001EE6 loc_1EE6 ; CODE XREF: sub_1B10+8E8j .text:00001EE6 LDR.W R6, =(dword_6B00 - 0x1EEE) .text:00001EEA ADD R6, PC ; dword_6B00 .text:00001EEC ADD.W R6, R6, #0x1FC .text:00001EF0 .text:00001EF0 loc_1EF0 ; CODE XREF: sub_1B10+882j .text:00001EF0 MOV R0, R6 ; s .text:00001EF2 BLX strlen .text:00001EF6 MOV R1, R6 ; buf .text:00001EF8 MOV R2, R0 ; n .text:00001EFA LDR.W R0, [R9,#0x10] ; fd .text:00001EFE BLX write .text:00001F02 B loc_1BA2 .text:00001F04 ; --------------------------------------------------------------------------- .text:00001F04 .text:00001F04 loc_1F04 ; CODE XREF: sub_1B10+282j .text:00001F04 LDRB.W R3, [R6,#(byte_6D44 - 0x6B00)] .text:00001F08 CBNZ R3, loc_1F70 .text:00001F0A LDR.W R3, =(aNlGMfgl - 0x1F12) .text:00001F0E ADD R3, PC ; "NL]]@G\t@]\tMFGL" .text:00001F10 LDRB.W R1, [R3,#(byte_695D - 0x6000)] .text:00001F14 LDRB.W R2, [R3,#(byte_695E - 0x6000)] .text:00001F18 EOR.W R1, R1, #0x60 .text:00001F1C STRB.W R1, [R6,#(byte_6D45 - 0x6B00)] .text:00001F20 EOR.W R2, R2, #0x60 .text:00001F24 LDRB.W R1, [R3,#(byte_695F - 0x6000)] .text:00001F28 STRB.W R2, [R6,#(byte_6D46 - 0x6B00)] .text:00001F2C LDRB.W R2, [R3,#(byte_6960 - 0x6000)] .text:00001F30 EOR.W R1, R1, #0x60 .text:00001F34 LDRB.W R0, [R3,#(byte_695C - 0x6000)] .text:00001F38 EOR.W R2, R2, #0x60 .text:00001F3C STRB.W R1, [R6,#(byte_6D47 - 0x6B00)] .text:00001F40 STRB.W R2, [R6,#(byte_6D48 - 0x6B00)] .text:00001F44 EOR.W R0, R0, #0x60 .text:00001F48 LDRB.W R1, [R3,#(byte_6961 - 0x6000)] .text:00001F4C LDRB.W R2, [R3,#(byte_6962 - 0x6000)] .text:00001F50 LDRB.W R3, [R3,#(byte_6963 - 0x6000)] .text:00001F54 EOR.W R1, R1, #0x60 .text:00001F58 EOR.W R2, R2, #0x60 .text:00001F5C STRB.W R0, [R6,#(byte_6D44 - 0x6B00)] .text:00001F60 EOR.W R3, R3, #0x60 .text:00001F64 STRB.W R1, [R6,#(byte_6D49 - 0x6B00)] .text:00001F68 STRB.W R2, [R6,#(byte_6D4A - 0x6B00)] .text:00001F6C STRB.W R3, [R6,#(byte_6D4B - 0x6B00)] .text:00001F70 .text:00001F70 loc_1F70 ; CODE XREF: sub_1B10+3F8j .text:00001F70 LDR.W R6, =(dword_6B00 - 0x1F7A) .text:00001F74 MOV R0, R7 ; s1 .text:00001F76 ADD R6, PC ; dword_6B00 .text:00001F78 ADD.W R1, R6, #0x244 ; s2 .text:00001F7C BLX strcmp .text:00001F80 CMP R0, #0 .text:00001F82 BNE.W loc_2164 .text:00001F86 LDRB.W R3, [R6,#(byte_6D50 - 0x6B00)] .text:00001F8A CMP R3, #0 .text:00001F8C BEQ.W loc_2480 .text:00001F90 .text:00001F90 loc_1F90 ; CODE XREF: sub_1B10+984j .text:00001F90 LDR.W R6, =(dword_6B00 - 0x1F9A) .text:00001F94 MOVS R0, #0 ; s .text:00001F96 ADD R6, PC ; dword_6B00 .text:00001F98 ADD.W R1, R6, #0x250 ; delim .text:00001F9C BLX strtok .text:00001FA0 CMP R0, #0 .text:00001FA2 BEQ.W loc_254A .text:00001FA6 BLX atoi .text:00001FAA LDRB.W R3, [R6,#(byte_6D54 - 0x6B00)] .text:00001FAE STR R0, [SP,#0x898+var_884] .text:00001FB0 CMP R3, #0 .text:00001FB2 BEQ.W loc_2534 .text:00001FB6 .text:00001FB6 loc_1FB6 ; CODE XREF: sub_1B10+A38j .text:00001FB6 LDR.W R7, =(dword_6B00 - 0x1FC0) .text:00001FBA MOVS R0, #0 ; s .text:00001FBC ADD R7, PC ; dword_6B00 .text:00001FBE ADD.W R1, R7, #0x254 ; delim .text:00001FC2 BLX strtok .text:00001FC6 MOV R6, R0 .text:00001FC8 CMP R0, #0 .text:00001FCA BEQ.W loc_2506 .text:00001FCE LDRB.W R3, [R7,#(byte_6D58 - 0x6B00)] .text:00001FD2 CMP R3, #0 .text:00001FD4 BEQ.W loc_24AE .text:00001FD8 .text:00001FD8 loc_1FD8 ; CODE XREF: sub_1B10+9B2j .text:00001FD8 LDR.W R7, =(dword_6B00 - 0x1FE6) .text:00001FDC MOV R0, R4 ; s .text:00001FDE LDR.W R3, =(aNlGMfgl - 0x1FEA) .text:00001FE2 ADD R7, PC ; dword_6B00 .text:00001FE4 LDR R2, [SP,#0x898+dest] .text:00001FE6 ADD R3, PC ; "NL]]@G\t@]\tMFGL" .text:00001FE8 STR R3, [SP,#0x898+var_880] .text:00001FEA LDR.W R3, =(aNlGMfgl - 0x1FF8) .text:00001FEE ADD.W R1, R7, #0x258 ; format .text:00001FF2 MOV R8, R7 .text:00001FF4 ADD R3, PC ; "NL]]@G\t@]\tMFGL" .text:00001FF6 STR R3, [SP,#0x898+var_87C] .text:00001FF8 BLX sprintf .text:00001FFC ADD.W R3, R7, #0x268 .text:00002000 STR R7, [SP,#0x898+var_878] .text:00002002 STR R3, [SP,#0x898+delim] .text:00002004 B loc_2032 .text:00002006 ; --------------------------------------------------------------------------- .text:00002006 .text:00002006 loc_2006 ; CODE XREF: sub_1B10+528j .text:00002006 ; sub_1B10+538j .text:00002006 LDR R1, [SP,#0x898+src] ; src .text:00002008 MOV R0, R4 ; dest .text:0000200A BLX strcat .text:0000200E MOV R0, R4 ; dest .text:00002010 MOV R1, R6 ; src .text:00002012 BLX strcat .text:00002016 LDR R3, [SP,#0x898+var_890] .text:00002018 LDRB.W R3, [R3,#0x268] .text:0000201C CMP R3, #0 .text:0000201E BEQ.W loc_212A .text:00002022 .text:00002022 loc_2022 ; CODE XREF: sub_1B10+62Aj .text:00002022 MOVS R0, #0 ; s .text:00002024 LDR R1, [SP,#0x898+delim] ; delim .text:00002026 BLX strtok .text:0000202A MOV R6, R0 .text:0000202C CMP R0, #0 .text:0000202E BEQ.W loc_213C .text:00002032 .text:00002032 loc_2032 ; CODE XREF: sub_1B10+4F4j .text:00002032 LDRB.W R3, [R8,#(byte_6D64 - 0x6B00)] .text:00002036 CMP R3, #0 .text:00002038 BNE loc_2006 .text:0000203A LDR R3, [SP,#0x898+var_880] .text:0000203C LDRB.W R3, [R3,#0x97C] .text:00002040 EOR.W R3, R3, #0x1E .text:00002044 STRB.W R3, [R8,#(byte_6D64 - 0x6B00)] .text:00002048 B loc_2006 .text:0000204A ; --------------------------------------------------------------------------- .text:0000204A .text:0000204A loc_204A ; CODE XREF: sub_1B10+24Cj .text:0000204A LDR.W R3, =(aNlGMfgl - 0x2052) .text:0000204E ADD R3, PC ; "NL]]@G\t@]\tMFGL" .text:00002050 LDRB.W R2, [R3,#(byte_690D - 0x6000)] .text:00002054 LDRB.W R0, [R3,#(byte_690C - 0x6000)] .text:00002058 LDRB.W R1, [R3,#(byte_690E - 0x6000)] .text:0000205C EOR.W R2, R2, #0x60 .text:00002060 STRB.W R2, [R6,#(byte_6CF5 - 0x6B00)] .text:00002064 EOR.W R0, R0, #0x60 .text:00002068 LDRB.W R2, [R3,#(byte_690F - 0x6000)] .text:0000206C EOR.W R1, R1, #0x60 .text:00002070 LDRB.W R3, [R3,#(byte_6910 - 0x6000)] .text:00002074 EOR.W R2, R2, #0x60 .text:00002078 STRB.W R0, [R6,#(byte_6CF4 - 0x6B00)] .text:0000207C EOR.W R3, R3, #0x60 .text:00002080 STRB.W R1, [R6,#(byte_6CF6 - 0x6B00)] .text:00002084 STRB.W R2, [R6,#(byte_6CF7 - 0x6B00)] .text:00002088 STRB.W R3, [R6,#(byte_6CF8 - 0x6B00)] .text:0000208C B loc_1D60 .text:0000208E ; --------------------------------------------------------------------------- .text:0000208E .text:0000208E loc_208E ; CODE XREF: sub_1B10+210j .text:0000208E LDR.W R3, =(aNlGMfgl - 0x2096) .text:00002092 ADD R3, PC ; "NL]]@G\t@]\tMFGL" .text:00002094 LDRB.W R3, [R3,#(byte_6900 - 0x6000)] .text:00002098 EOR.W R3, R3, #0x28 .text:0000209C STRB.W R3, [R2,#(byte_6CD4 - 0x6B00)] .text:000020A0 B loc_1D24 .text:000020A2 ; --------------------------------------------------------------------------- .text:000020A2 .text:000020A2 loc_20A2 ; CODE XREF: sub_1B10+22Cj .text:000020A2 LDR.W R3, =(aNlGMfgl - 0x20AA) .text:000020A6 ADD R3, PC ; "NL]]@G\t@]\tMFGL" .text:000020A8 LDRB.W R2, [R3,#(byte_6905 - 0x6000)] .text:000020AC LDRB.W R0, [R3,#(byte_6904 - 0x6000)] .text:000020B0 LDRB.W R1, [R3,#(byte_6906 - 0x6000)] .text:000020B4 EOR.W R2, R2, #0x5A .text:000020B8 STRB.W R2, [R6,#(byte_6CD9 - 0x6B00)] .text:000020BC EOR.W R0, R0, #0x5A .text:000020C0 LDRB.W R2, [R3,#(byte_6907 - 0x6000)] .text:000020C4 EOR.W R1, R1, #0x5A .text:000020C8 LDRB.W R3, [R3,#(byte_6908 - 0x6000)] .text:000020CC EOR.W R2, R2, #0x5A .text:000020D0 STRB.W R0, [R6,#(byte_6CD8 - 0x6B00)] .text:000020D4 EOR.W R3, R3, #0x5A .text:000020D8 STRB.W R1, [R6,#(byte_6CDA - 0x6B00)] .text:000020DC STRB.W R2, [R6,#(byte_6CDB - 0x6B00)] .text:000020E0 STRB.W R3, [R6,#(byte_6CDC - 0x6B00)] .text:000020E4 B loc_1D40 .text:000020E6 ; --------------------------------------------------------------------------- .text:000020E6 .text:000020E6 loc_20E6 ; CODE XREF: sub_1B10+2CCj .text:000020E6 LDR.W R0, =(aNlGMfgl - 0x20EE) .text:000020EA ADD R0, PC ; "NL]]@G\t@]\tMFGL" .text:000020EC LDR.W R3, [R0,#(dword_6934 - 0x6000)] .text:000020F0 LDR.W R2, [R0,#(dword_6930 - 0x6000)] .text:000020F4 LDR.W R1, [R0,#(dword_692C - 0x6000)] .text:000020F8 EOR.W R2, R2, #0x57575757 .text:000020FC STR.W R2, [R6,#(dword_6D18 - 0x6B00)] .text:00002100 EOR.W R2, R3, #0x57575757 .text:00002104 LDR.W R3, [R0,#(dword_6938 - 0x6000)] .text:00002108 LDR.W R0, [R0,#(dword_693C - 0x6000)] .text:0000210C EOR.W R1, R1, #0x57575757 .text:00002110 EOR.W R3, R3, #0x57575757 .text:00002114 STR.W R1, [R6,#(dword_6D14 - 0x6B00)] .text:00002118 EOR.W R0, R0, #0x57575757 .text:0000211C STR.W R2, [R6,#(dword_6D1C - 0x6B00)] .text:00002120 STR.W R3, [R6,#(dword_6D20 - 0x6B00)] .text:00002124 STR.W R0, [R6,#(dword_6D24 - 0x6B00)] .text:00002128 B loc_1DE0 .text:0000212A ; --------------------------------------------------------------------------- .text:0000212A .text:0000212A loc_212A ; CODE XREF: sub_1B10+50Ej .text:0000212A LDR R3, [SP,#0x898+var_87C] .text:0000212C LDR R2, [SP,#0x898+var_890] .text:0000212E LDRB.W R3, [R3,#0x980] .text:00002132 EOR.W R3, R3, #0x44 .text:00002136 STRB.W R3, [R2,#0x268] .text:0000213A B loc_2022 .text:0000213C ; --------------------------------------------------------------------------- .text:0000213C .text:0000213C loc_213C ; CODE XREF: sub_1B10+51Ej .text:0000213C LDRB.W R3, [R7,#0x26C] .text:00002140 CMP R3, #0 .text:00002142 BEQ.W loc_2496 .text:00002146 .text:00002146 loc_2146 ; CODE XREF: sub_1B10+99Cj .text:00002146 LDR.W R1, =(dword_6B00 - 0x2150) .text:0000214A MOV R0, R4 ; dest .text:0000214C ADD R1, PC ; dword_6B00 .text:0000214E ADD.W R1, R1, #0x26C ; src .text:00002152 BLX strcat .text:00002156 MOV R0, R4 .text:00002158 LDR R1, [SP,#0x898+var_884] .text:0000215A LDR.W R2, [R9,#0x10] .text:0000215E BL sub_1820 .text:00002162 B loc_1BA2 .text:00002164 ; --------------------------------------------------------------------------- .text:00002164 .text:00002164 loc_2164 ; CODE XREF: sub_1B10+472j .text:00002164 LDRB.W R3, [R6,#(byte_6DAC - 0x6B00)] .text:00002168 CMP R3, #0 .text:0000216A BEQ.W loc_246A .text:0000216E .text:0000216E loc_216E ; CODE XREF: sub_1B10+96Ej .text:0000216E LDR.W R6, =(dword_6B00 - 0x2178) .text:00002172 MOV R0, R7 ; s1 .text:00002174 ADD R6, PC ; dword_6B00 .text:00002176 ADD.W R1, R6, #0x2AC ; s2 .text:0000217A BLX strcmp .text:0000217E CMP R0, #0 .text:00002180 BNE loc_225A .text:00002182 LDRB.W R3, [R6,#(byte_6DB4 - 0x6B00)] .text:00002186 CMP R3, #0 .text:00002188 BEQ.W loc_24F0 .text:0000218C .text:0000218C loc_218C ; CODE XREF: sub_1B10+9F4j .text:0000218C LDR.W R3, =(dword_6B00 - 0x219C) .text:00002190 MOV R0, R4 ; s .text:00002192 LDR.W R2, =(aNlGMfgl - 0x21A6) .text:00002196 MOV R6, R10 .text:00002198 ADD R3, PC ; dword_6B00 .text:0000219A LDR.W R8, =(dword_6B00 - 0x21AA) .text:0000219E ADD.W R1, R3, #0x2B4 ; format .text:000021A2 ADD R2, PC ; "NL]]@G\t@]\tMFGL" .text:000021A4 STR R2, [SP,#0x898+var_884] .text:000021A6 ADD R8, PC ; dword_6B00 .text:000021A8 LDR.W R2, [R3,#(dword_6CBC - 0x6B00)] .text:000021AC ADD R7, SP, #0x898+var_86C .text:000021AE BLX sprintf .text:000021B2 MOV R0, R4 ; s .text:000021B4 BLX strlen .text:000021B8 MOV R1, R4 ; buf .text:000021BA MOV R2, R0 ; n .text:000021BC LDR.W R0, [R9,#0x10] ; fd .text:000021C0 BLX write .text:000021C4 LDR.W R3, [R9,#0x10] .text:000021C8 STR.W R10, [SP,#0x898+var_880] .text:000021CC STR.W R9, [SP,#0x898+var_87C] .text:000021D0 MOV R9, R8 .text:000021D2 STR R4, [SP,#0x898+var_878] .text:000021D4 MOV R8, R3 .text:000021D6 LDR R4, [SP,#0x898+var_884] .text:000021D8 LDR.W R10, [SP,#0x898+format] .text:000021DC B loc_2200 .text:000021DE ; --------------------------------------------------------------------------- .text:000021DE .text:000021DE loc_21DE ; CODE XREF: sub_1B10+6FEj .text:000021DE ; sub_1B10+748j .text:000021DE LDR R2, [R3,#0x14] .text:000021E0 MOV R1, R10 ; format .text:000021E2 ADDS R3, #0x18 .text:000021E4 MOV R0, R7 ; s .text:000021E6 BLX sprintf .text:000021EA MOV R0, R7 ; s .text:000021EC BLX strlen .text:000021F0 MOV R1, R7 ; buf .text:000021F2 MOV R2, R0 ; n .text:000021F4 MOV R0, R8 ; fd .text:000021F6 BLX write .text:000021FA .text:000021FA loc_21FA ; CODE XREF: sub_1B10+6F6j .text:000021FA CMP R5, R6 .text:000021FC BEQ.W loc_2374 .text:00002200 .text:00002200 loc_2200 ; CODE XREF: sub_1B10+6CCj .text:00002200 LDR.W R3, [R6,#(dword_6B00 - 0x6AFC)]! .text:00002204 CMP R3, #0 .text:00002206 BEQ loc_21FA .text:00002208 LDRB.W R2, [R9,#0x2C4] .text:0000220C CMP R2, #0 .text:0000220E BNE loc_21DE .text:00002210 LDR.W R2, [R4,#0x9E0] .text:00002214 LDR.W R1, [R4,#0x9E4] .text:00002218 EOR.W R2, R2, #0x3A3A3A3A .text:0000221C STR.W R2, [R9,#0x2C8] .text:00002220 LDR.W R2, [R4,#0x9E8] .text:00002224 EOR.W R1, R1, #0x3A3A3A3A .text:00002228 LDR.W R0, [R4,#0x9DC] .text:0000222C EOR.W R2, R2, #0x3A3A3A3A .text:00002230 STR.W R1, [R9,#0x2CC] .text:00002234 STR.W R2, [R9,#0x2D0] .text:00002238 EOR.W R0, R0, #0x3A3A3A3A .text:0000223C LDRB.W R1, [R4,#0x9EC] .text:00002240 LDRB.W R2, [R4,#0x9ED] .text:00002244 EOR.W R1, R1, #0x3A .text:00002248 STR.W R0, [R9,#0x2C4] .text:0000224C EOR.W R2, R2, #0x3A .text:00002250 STRB.W R1, [R9,#0x2D4] .text:00002254 STRB.W R2, [R9,#0x2D5] .text:00002258 B loc_21DE .text:0000225A ; --------------------------------------------------------------------------- .text:0000225A .text:0000225A loc_225A ; CODE XREF: sub_1B10+670j .text:0000225A LDRB.W R3, [R6,#(byte_6DD8 - 0x6B00)] .text:0000225E CMP R3, #0 .text:00002260 BEQ.W loc_24DA .text:00002264 .text:00002264 loc_2264 ; CODE XREF: sub_1B10+9DEj .text:00002264 LDR R6, =(dword_6B00 - 0x226C) .text:00002266 MOV R0, R7 ; s1 .text:00002268 ADD R6, PC ; dword_6B00 .text:0000226A ADD.W R1, R6, #0x2D8 ; s2 .text:0000226E BLX strcmp .text:00002272 CMP R0, #0 .text:00002274 BNE.W loc_243C .text:00002278 LDRB.W R3, [R6,#(byte_6DE0 - 0x6B00)] .text:0000227C CBNZ R3, loc_2292 .text:0000227E LDR R1, =(aNlGMfgl - 0x228C) .text:00002280 ADD.W R2, R6, #0x2E0 .text:00002284 MOVS R0, #0x52 .text:00002286 MOVS R3, #0x19 .text:00002288 ADD R1, PC ; "NL]]@G\t@]\tMFGL" .text:0000228A ADDW R1, R1, #0x9F8 .text:0000228E BL sub_174C .text:00002292 .text:00002292 loc_2292 ; CODE XREF: sub_1B10+76Cj .text:00002292 LDR R6, =(dword_6B00 - 0x229A) .text:00002294 MOV R0, R4 ; dest .text:00002296 ADD R6, PC ; dword_6B00 .text:00002298 ADD.W R1, R6, #0x2E0 ; src .text:0000229C BLX strcat .text:000022A0 LDRB.W R3, [R6,#(byte_6DFC - 0x6B00)] .text:000022A4 CBNZ R3, loc_22BA .text:000022A6 LDR R1, =(aNlGMfgl - 0x22B4) .text:000022A8 ADD.W R2, R6, #0x2FC .text:000022AC MOVS R0, #0x2C .text:000022AE MOVS R3, #0x17 .text:000022B0 ADD R1, PC ; "NL]]@G\t@]\tMFGL" .text:000022B2 ADDW R1, R1, #0xA14 .text:000022B6 BL sub_174C .text:000022BA .text:000022BA loc_22BA ; CODE XREF: sub_1B10+794j .text:000022BA LDR R6, =(dword_6B00 - 0x22C2) .text:000022BC MOV R0, R4 ; dest .text:000022BE ADD R6, PC ; dword_6B00 .text:000022C0 ADD.W R1, R6, #0x2FC ; src .text:000022C4 BLX strcat .text:000022C8 LDRB.W R3, [R6,#(byte_6E14 - 0x6B00)] .text:000022CC CBNZ R3, loc_22E2 .text:000022CE LDR R1, =(aNlGMfgl - 0x22DC) .text:000022D0 ADD.W R2, R6, #0x314 .text:000022D4 MOVS R0, #0x28 .text:000022D6 MOVS R3, #0x22 .text:000022D8 ADD R1, PC ; "NL]]@G\t@]\tMFGL" .text:000022DA ADDW R1, R1, #0xA2C .text:000022DE BL sub_174C .text:000022E2 .text:000022E2 loc_22E2 ; CODE XREF: sub_1B10+7BCj .text:000022E2 LDR R6, =(dword_6B00 - 0x22EA) .text:000022E4 MOV R0, R4 ; dest .text:000022E6 ADD R6, PC ; dword_6B00 .text:000022E8 ADD.W R1, R6, #0x314 ; src .text:000022EC BLX strcat .text:000022F0 LDRB.W R3, [R6,#(byte_6E38 - 0x6B00)] .text:000022F4 CBNZ R3, loc_230A .text:000022F6 LDR R1, =(aNlGMfgl - 0x2304) .text:000022F8 ADD.W R2, R6, #0x338 .text:000022FC MOVS R0, #0x42 .text:000022FE MOVS R3, #0x36 .text:00002300 ADD R1, PC ; "NL]]@G\t@]\tMFGL" .text:00002302 ADD.W R1, R1, #0xA50 .text:00002306 BL sub_174C .text:0000230A .text:0000230A loc_230A ; CODE XREF: sub_1B10+7E4j .text:0000230A LDR R6, =(dword_6B00 - 0x2312) .text:0000230C MOV R0, R4 ; dest .text:0000230E ADD R6, PC ; dword_6B00 .text:00002310 ADD.W R1, R6, #0x338 ; src .text:00002314 BLX strcat .text:00002318 LDRB.W R3, [R6,#(byte_6E70 - 0x6B00)] .text:0000231C CBNZ R3, loc_2332 .text:0000231E LDR R1, =(aNlGMfgl - 0x232C) .text:00002320 ADD.W R2, R6, #0x370 .text:00002324 MOVS R0, #0x60 .text:00002326 MOVS R3, #0x1F .text:00002328 ADD R1, PC ; "NL]]@G\t@]\tMFGL" .text:0000232A ADDW R1, R1, #0xA88 .text:0000232E BL sub_174C .text:00002332 .text:00002332 loc_2332 ; CODE XREF: sub_1B10+80Cj .text:00002332 LDR R6, =(dword_6B00 - 0x233A) .text:00002334 MOV R0, R4 ; dest .text:00002336 ADD R6, PC ; dword_6B00 .text:00002338 ADD.W R1, R6, #0x370 ; src .text:0000233C BLX strcat .text:00002340 LDRB.W R3, [R6,#(byte_6E90 - 0x6B00)] .text:00002344 CBNZ R3, loc_235A .text:00002346 LDR R1, =(aNlGMfgl - 0x2354) .text:00002348 ADD.W R2, R6, #0x390 .text:0000234C MOVS R0, #0x2D .text:0000234E MOVS R3, #0x15 .text:00002350 ADD R1, PC ; "NL]]@G\t@]\tMFGL" .text:00002352 ADDW R1, R1, #0xAA8 .text:00002356 BL sub_174C .text:0000235A .text:0000235A loc_235A ; CODE XREF: sub_1B10+834j .text:0000235A LDR R1, =(dword_6B00 - 0x2362) .text:0000235C MOV R0, R4 ; dest .text:0000235E ADD R1, PC ; dword_6B00 .text:00002360 ADD.W R1, R1, #0x390 ; src .text:00002364 BLX strcat .text:00002368 MOV R0, R4 .text:0000236A LDR.W R1, [R9,#0x10] .text:0000236E BL sub_1808 .text:00002372 B loc_1BA2 .text:00002374 ; --------------------------------------------------------------------------- .text:00002374 .text:00002374 loc_2374 ; CODE XREF: sub_1B10+6ECj .text:00002374 LDR.W R10, [SP,#0x898+var_880] .text:00002378 LDR.W R9, [SP,#0x898+var_87C] .text:0000237C LDR R4, [SP,#0x898+var_878] .text:0000237E B loc_1BA2 .text:00002380 ; --------------------------------------------------------------------------- .text:00002380 .text:00002380 loc_2380 ; CODE XREF: sub_1B10+2B2j .text:00002380 LDRB.W R3, [R6,#(byte_6D2C - 0x6B00)] .text:00002384 CMP R3, #0 .text:00002386 BEQ.W loc_24C4 .text:0000238A .text:0000238A loc_238A ; CODE XREF: sub_1B10+9C8j .text:0000238A LDR R6, =(dword_6B00 - 0x2390) .text:0000238C ADD R6, PC ; dword_6B00 .text:0000238E ADD.W R6, R6, #0x22C .text:00002392 B loc_1EF0 .text:00002394 ; --------------------------------------------------------------------------- .text:00002394 .text:00002394 loc_2394 ; CODE XREF: sub_1B10+3D2j .text:00002394 LDR R3, =(aNlGMfgl - 0x239A) .text:00002396 ADD R3, PC ; "NL]]@G\t@]\tMFGL" .text:00002398 LDRB.W R1, [R3,#(byte_6915 - 0x6000)] .text:0000239C LDRB.W R2, [R3,#(byte_6916 - 0x6000)] .text:000023A0 EOR.W R1, R1, #0x21 .text:000023A4 STRB.W R1, [R6,#(byte_6CFD - 0x6B00)] .text:000023A8 EOR.W R2, R2, #0x21 .text:000023AC LDRB.W R1, [R3,#(byte_6917 - 0x6000)] .text:000023B0 STRB.W R2, [R6,#(byte_6CFE - 0x6B00)] .text:000023B4 LDRB.W R2, [R3,#(byte_6918 - 0x6000)] .text:000023B8 EOR.W R1, R1, #0x21 .text:000023BC LDRB.W R0, [R3,#(byte_6914 - 0x6000)] .text:000023C0 EOR.W R2, R2, #0x21 .text:000023C4 STRB.W R1, [R6,#(byte_6CFF - 0x6B00)] .text:000023C8 STRB.W R2, [R6,#(byte_6D00 - 0x6B00)] .text:000023CC EOR.W R0, R0, #0x21 .text:000023D0 LDRB.W R1, [R3,#(byte_6919 - 0x6000)] .text:000023D4 LDRB.W R2, [R3,#(byte_691A - 0x6000)] .text:000023D8 LDRB.W R3, [R3,#(byte_691B - 0x6000)] .text:000023DC EOR.W R1, R1, #0x21 .text:000023E0 EOR.W R2, R2, #0x21 .text:000023E4 STRB.W R0, [R6,#(byte_6CFC - 0x6B00)] .text:000023E8 EOR.W R3, R3, #0x21 .text:000023EC STRB.W R1, [R6,#(byte_6D01 - 0x6B00)] .text:000023F0 STRB.W R2, [R6,#(byte_6D02 - 0x6B00)] .text:000023F4 STRB.W R3, [R6,#(byte_6D03 - 0x6B00)] .text:000023F8 B loc_1EE6 .text:000023FA ; --------------------------------------------------------------------------- .text:000023FA .text:000023FA loc_23FA ; CODE XREF: sub_1B10+26Cj .text:000023FA LDR R3, =(aNlGMfgl - 0x2400) .text:000023FC ADD R3, PC ; "NL]]@G\t@]\tMFGL" .text:000023FE LDRB.W R2, [R3,#(byte_6921 - 0x6000)] .text:00002402 LDRB.W R0, [R3,#(byte_6920 - 0x6000)] .text:00002406 LDRB.W R1, [R3,#(byte_6922 - 0x6000)] .text:0000240A EOR.W R2, R2, #0x55 .text:0000240E STRB.W R2, [R6,#(byte_6D09 - 0x6B00)] .text:00002412 EOR.W R0, R0, #0x55 .text:00002416 LDRB.W R2, [R3,#(byte_6923 - 0x6000)] .text:0000241A EOR.W R1, R1, #0x55 .text:0000241E LDRB.W R3, [R3,#(byte_6924 - 0x6000)] .text:00002422 EOR.W R2, R2, #0x55 .text:00002426 STRB.W R0, [R6,#(byte_6D08 - 0x6B00)] .text:0000242A EOR.W R3, R3, #0x55 .text:0000242E STRB.W R1, [R6,#(byte_6D0A - 0x6B00)] .text:00002432 STRB.W R2, [R6,#(byte_6D0B - 0x6B00)] .text:00002436 STRB.W R3, [R6,#(byte_6D0C - 0x6B00)] .text:0000243A B loc_1D80 .text:0000243C ; --------------------------------------------------------------------------- .text:0000243C .text:0000243C loc_243C ; CODE XREF: sub_1B10+764j .text:0000243C LDRB.W R3, [R6,#(byte_6EA8 - 0x6B00)] .text:00002440 CBNZ R3, loc_2456 .text:00002442 LDR R1, =(aNlGMfgl - 0x2450) .text:00002444 ADD.W R2, R6, #0x3A8 .text:00002448 MOVS R0, #0x22 .text:0000244A MOVS R3, #0x12 .text:0000244C ADD R1, PC ; "NL]]@G\t@]\tMFGL" .text:0000244E ADD.W R1, R1, #0xAC0 .text:00002452 BL sub_174C .text:00002456 .text:00002456 loc_2456 ; CODE XREF: sub_1B10+930j .text:00002456 LDR R0, =(dword_6B00 - 0x2460) .text:00002458 LDR.W R1, [R9,#0x10] .text:0000245C ADD R0, PC ; dword_6B00 .text:0000245E ADD.W R0, R0, #0x3A8 .text:00002462 BL sub_1808 .text:00002466 B.W loc_1BA2 .text:0000246A ; --------------------------------------------------------------------------- .text:0000246A .text:0000246A loc_246A ; CODE XREF: sub_1B10+65Aj .text:0000246A LDR R1, =(aNlGMfgl - 0x2478) .text:0000246C ADD.W R2, R6, #0x2AC .text:00002470 MOVS R3, #7 .text:00002472 MOVS R0, #0x27 .text:00002474 ADD R1, PC ; "NL]]@G\t@]\tMFGL" .text:00002476 ADDW R1, R1, #0x9C4 .text:0000247A BL sub_174C .text:0000247E B loc_216E .text:00002480 ; --------------------------------------------------------------------------- .text:00002480 .text:00002480 loc_2480 ; CODE XREF: sub_1B10+47Cj .text:00002480 LDR R1, =(aNlGMfgl - 0x248E) .text:00002482 ADD.W R2, R6, #0x250 .text:00002486 MOVS R3, #1 .text:00002488 MOVS R0, #0x5E .text:0000248A ADD R1, PC ; "NL]]@G\t@]\tMFGL" .text:0000248C ADDW R1, R1, #0x968 .text:00002490 BL sub_174C .text:00002494 B loc_1F90 .text:00002496 ; --------------------------------------------------------------------------- .text:00002496 .text:00002496 loc_2496 ; CODE XREF: sub_1B10+632j .text:00002496 LDR R1, =(aNlGMfgl - 0x24A0) .text:00002498 MOVS R0, #0x27 .text:0000249A LDR R3, [SP,#0x898+var_878] .text:0000249C ADD R1, PC ; "NL]]@G\t@]\tMFGL" .text:0000249E ADD.W R2, R3, #0x26C .text:000024A2 ADDW R1, R1, #0x984 .text:000024A6 MOVS R3, #2 .text:000024A8 BL sub_174C .text:000024AC B loc_2146 .text:000024AE ; --------------------------------------------------------------------------- .text:000024AE .text:000024AE loc_24AE ; CODE XREF: sub_1B10+4C4j .text:000024AE LDR R1, =(aNlGMfgl - 0x24BC) .text:000024B0 ADD.W R2, R7, #0x258 .text:000024B4 MOVS R3, #8 .text:000024B6 MOVS R0, #0x3B .text:000024B8 ADD R1, PC ; "NL]]@G\t@]\tMFGL" .text:000024BA ADD.W R1, R1, #0x970 .text:000024BE BL sub_174C .text:000024C2 B loc_1FD8 .text:000024C4 ; --------------------------------------------------------------------------- .text:000024C4 .text:000024C4 loc_24C4 ; CODE XREF: sub_1B10+876j .text:000024C4 LDR R1, =(aNlGMfgl - 0x24D2) .text:000024C6 ADD.W R2, R6, #0x22C .text:000024CA MOVS R3, #0x17 .text:000024CC MOVS R0, #0x48 .text:000024CE ADD R1, PC ; "NL]]@G\t@]\tMFGL" .text:000024D0 ADDW R1, R1, #0x944 .text:000024D4 BL sub_174C .text:000024D8 B loc_238A .text:000024DA ; --------------------------------------------------------------------------- .text:000024DA .text:000024DA loc_24DA ; CODE XREF: sub_1B10+750j .text:000024DA LDR R1, =(aNlGMfgl - 0x24E8) .text:000024DC ADD.W R2, R6, #0x2D8 .text:000024E0 MOVS R3, #5 .text:000024E2 MOVS R0, #0x2E .text:000024E4 ADD R1, PC ; "NL]]@G\t@]\tMFGL" .text:000024E6 ADD.W R1, R1, #0x9F0 .text:000024EA BL sub_174C .text:000024EE B loc_2264 .text:000024F0 ; --------------------------------------------------------------------------- .text:000024F0 .text:000024F0 loc_24F0 ; CODE XREF: sub_1B10+678j .text:000024F0 LDR R1, =(aNlGMfgl - 0x24FE) .text:000024F2 ADD.W R2, R6, #0x2B4 .text:000024F6 MOVS R3, #0xE .text:000024F8 MOVS R0, #0x4C .text:000024FA ADD R1, PC ; "NL]]@G\t@]\tMFGL" .text:000024FC ADDW R1, R1, #0x9CC .text:00002500 BL sub_174C .text:00002504 B loc_218C .text:00002506 ; --------------------------------------------------------------------------- .text:00002506 .text:00002506 loc_2506 ; CODE XREF: sub_1B10+4BAj .text:00002506 LDRB.W R3, [R7,#(byte_6D70 - 0x6B00)] .text:0000250A CBNZ R3, loc_2520 .text:0000250C LDR R1, =(aNlGMfgl - 0x251A) .text:0000250E ADD.W R2, R7, #0x270 .text:00002512 MOVS R0, #0x36 .text:00002514 MOVS R3, #0x1A .text:00002516 ADD R1, PC ; "NL]]@G\t@]\tMFGL" .text:00002518 ADDW R1, R1, #0x988 .text:0000251C BL sub_174C .text:00002520 .text:00002520 loc_2520 ; CODE XREF: sub_1B10+9FAj .text:00002520 LDR R0, =(dword_6B00 - 0x252A) .text:00002522 LDR.W R1, [R9,#0x10] .text:00002526 ADD R0, PC ; dword_6B00 .text:00002528 ADD.W R0, R0, #0x270 .text:0000252C BL sub_1808 .text:00002530 B.W loc_1BA2 .text:00002534 ; --------------------------------------------------------------------------- .text:00002534 .text:00002534 loc_2534 ; CODE XREF: sub_1B10+4A2j .text:00002534 LDR R1, =(aNlGMfgl - 0x2542) .text:00002536 ADD.W R2, R6, #0x254 .text:0000253A MOVS R3, #1 .text:0000253C MOVS R0, #0x32 .text:0000253E ADD R1, PC ; "NL]]@G\t@]\tMFGL" .text:00002540 ADDW R1, R1, #0x96C .text:00002544 BL sub_174C .text:00002548 B loc_1FB6 .text:0000254A ; --------------------------------------------------------------------------- .text:0000254A .text:0000254A loc_254A ; CODE XREF: sub_1B10+492j .text:0000254A LDRB.W R3, [R6,#(byte_6D8C - 0x6B00)] .text:0000254E CBNZ R3, loc_2564 .text:00002550 LDR R1, =(aNlGMfgl - 0x255E) .text:00002552 ADD.W R2, R6, #0x28C .text:00002556 MOVS R0, #0x29 .text:00002558 MOVS R3, #0x1C .text:0000255A ADD R1, PC ; "NL]]@G\t@]\tMFGL" .text:0000255C ADDW R1, R1, #0x9A4 .text:00002560 BL sub_174C .text:00002564 .text:00002564 loc_2564 ; CODE XREF: sub_1B10+A3Ej .text:00002564 LDR R0, =(dword_6B00 - 0x256E) .text:00002566 LDR.W R1, [R9,#0x10] .text:0000256A ADD R0, PC ; dword_6B00 .text:0000256C ADD.W R0, R0, #0x28C .text:00002570 BL sub_1808 .text:00002574 B.W loc_1BA2 .text:00002578 ; --------------------------------------------------------------------------- .text:00002578 .text:00002578 loc_2578 ; CODE XREF: sub_1B10+1F8j .text:00002578 BLX __stack_chk_fail .text:00002578 ; End of function sub_1B10 .text:00002578 .text:00002578 ; ---------------------------------------------------------------------------