.text:10001000 ; .text:10001000 ; +-------------------------------------------------------------------------+ .text:10001000 ; | This file is generated by The Interactive Disassembler (IDA) | .text:10001000 ; | Copyright (c) 2007 by DataRescue sa/nv, | .text:10001000 ; | Evaluation version | .text:10001000 ; +-------------------------------------------------------------------------+ .text:10001000 ; .text:10001000 ; Input MD5 : DB3197F777C8F23AE7D65D00C45A78C1 .text:10001000 .text:10001000 ; File Name : C:\Scoter Kitchen\Extraction Room\dump\ms2_serial.dll\ms2_serial.dll .text:10001000 ; Format : Portable executable for ARMI (PE) .text:10001000 ; Imagebase : 10000000 .text:10001000 ; Section 1. (virtual address 00001000) .text:10001000 ; Virtual size : 000081C1 ( 33217.) .text:10001000 ; Section size in file : 00008200 ( 33280.) .text:10001000 ; Offset to raw data for section: 00000400 .text:10001000 ; Flags 60000020: Text Executable Readable .text:10001000 ; Alignment : default .text:10001000 .text:10001000 ; Processor : ARM .text:10001000 ; Target assembler: Generic assembler for ARM .text:10001000 ; Byte sex : Little endian .text:10001000 .text:10001000 ; =========================================================================== .text:10001000 .text:10001000 ; Segment type: Pure code .text:10001000 AREA .text, CODE, READWRITE, ALIGN=4 .text:10001000 ; ORG 0x10001000 .text:10001000 CODE32 .text:10001000 DCD 0 .text:10001004 DCD 0xE68D1EB9, 0 .text:1000100C DCD 2, 0x27, 0x19B4, 0xDB4, 0 .text:10001020 off_10001020 DCD sub_10001D5C ; DATA XREF: .text:off_10001B0Co .text:10001020 ; .text:off_10002018o .text:10001024 DCD sub_10002050 .text:10001028 DCD sub_10001B14 .text:1000102C DCD sub_100051B4 .text:10001030 DCD sub_10001C2C .text:10001034 DCD sub_10007784 .text:10001038 DCD sub_100078A4 .text:1000103C DCD sub_1000793C .text:10001040 DCD sub_10007984 .text:10001044 DCD sub_100079F4 .text:10001048 DCD sub_100059B4 .text:1000104C DCD sub_100020D8 .text:10001050 DCD sub_100019DC .text:10001054 DCD sub_100019E4 .text:10001058 DCD sub_1000630C .text:1000105C DCD sub_10007AF8 .text:10001060 DCD sub_10007B90 .text:10001064 DCD sub_10007C5C .text:10001068 DCD sub_10007BC0 .text:1000106C DCD sub_10007CA0 .text:10001070 DCD sub_10006370 .text:10001074 DCD sub_10005878 .text:10001078 DCD sub_10005928 .text:1000107C DCD sub_10005834 .text:10001080 DCD sub_100065F4 .text:10001084 DCD sub_100066EC .text:10001088 DCD sub_10001A08 .text:1000108C DCD sub_10005A08 .text:10001090 DCD sub_100067E8 .text:10001094 DCD sub_10001C8C .text:10001098 DCD sub_10001AA4 .text:1000109C DCD sub_10001B68 .text:100010A0 DCD sub_100069B4 .text:100010A4 DCD sub_10006A0C .text:100010A8 DCD sub_10001A10 .text:100010AC DCD sub_10001A3C .text:100010B0 DCD sub_10006A64 .text:100010B4 DCD sub_10001AC0 .text:100010B8 DCD sub_10006B94 .text:100010BC DCD sub_10006BF4 .text:100010C0 DCD sub_10006CAC .text:100010C4 DCD sub_10006D3C .text:100010C8 DCD sub_10006DCC .text:100010CC DCD sub_1000595C .text:100010D0 DCD sub_10007D64 .text:100010D4 DCD sub_1000553C .text:100010D8 DCD sub_10005770 .text:100010DC DCD sub_10001A68 .text:100010E0 DCD sub_10007CE4 .text:100010E4 DCD sub_10007D34 .text:100010E8 DCD sub_100052A4 .text:100010EC DCD sub_100053CC .text:100010F0 DCD sub_10007294 .text:100010F4 DCD sub_100054E8 .text:100010F8 DCD sub_10005498 .text:100010FC DCD sub_100057C8 .text:10001100 DCD sub_10005688 .text:10001104 off_10001104 DCD sub_10006230 ; DATA XREF: .text:off_10001B10o .text:10001104 ; .text:off_10002014o .text:10001108 off_10001108 DCD sub_10001E40 ; DATA XREF: .text:off_10001DC0o .text:10001108 ; .text:off_10002020o .text:1000110C DCD sub_10002100 .text:10001110 DCD sub_10005A9C .text:10001114 DCD sub_100051B4 .text:10001118 DCD sub_1000522C .text:1000111C DCD sub_10007784 .text:10001120 DCD sub_100078A4 .text:10001124 DCD sub_1000793C .text:10001128 DCD sub_10007984 .text:1000112C DCD sub_100079F4 .text:10001130 DCD sub_100059B4 .text:10001134 DCD sub_100021BC .text:10001138 DCD sub_100019DC .text:1000113C DCD sub_100019E4 .text:10001140 DCD sub_1000630C .text:10001144 DCD sub_10007AF8 .text:10001148 DCD sub_10007B90 .text:1000114C DCD sub_10007C5C .text:10001150 DCD sub_10007BC0 .text:10001154 DCD sub_10007CA0 .text:10001158 DCD sub_10006370 .text:1000115C DCD sub_10005878 .text:10001160 DCD sub_10005928 .text:10001164 DCD sub_10005834 .text:10001168 DCD sub_100065F4 .text:1000116C DCD sub_100066EC .text:10001170 DCD sub_10001A08 .text:10001174 DCD sub_10005A08 .text:10001178 DCD sub_100067E8 .text:1000117C DCD sub_10001DE8 .text:10001180 DCD sub_10001AA4 .text:10001184 DCD sub_10005AAC .text:10001188 DCD sub_10001DC8 .text:1000118C DCD sub_10006A0C .text:10001190 DCD sub_10001A10 .text:10001194 DCD sub_10001A3C .text:10001198 DCD sub_10006A64 .text:1000119C DCD sub_10001AC0 .text:100011A0 DCD sub_10006B94 .text:100011A4 DCD sub_10006BF4 .text:100011A8 DCD sub_10006CAC .text:100011AC DCD sub_10006D3C .text:100011B0 DCD sub_10006DCC .text:100011B4 DCD sub_1000595C .text:100011B8 DCD sub_10007D64 .text:100011BC DCD sub_1000553C .text:100011C0 DCD sub_10005770 .text:100011C4 DCD sub_10001A68 .text:100011C8 DCD sub_10007CE4 .text:100011CC DCD sub_10007D34 .text:100011D0 DCD sub_100052A4 .text:100011D4 DCD sub_100053CC .text:100011D8 DCD sub_10007294 .text:100011DC DCD sub_100054E8 .text:100011E0 DCD sub_10005498 .text:100011E4 DCD sub_100057C8 .text:100011E8 DCD sub_10005688 .text:100011EC off_100011EC DCD sub_10006230 ; DATA XREF: .text:off_10001DC4o .text:100011EC ; .text:off_1000201Co .text:100011F0 off_100011F0 DCD sub_10001EAC ; DATA XREF: .text:off_10001EA4o .text:100011F0 ; .text:off_10002028o .text:100011F4 DCD sub_10002228 .text:100011F8 DCD sub_10005A9C .text:100011FC DCD sub_100051B4 .text:10001200 DCD sub_1000522C .text:10001204 DCD sub_10007784 .text:10001208 DCD sub_100078A4 .text:1000120C DCD sub_1000793C .text:10001210 DCD sub_10007984 .text:10001214 DCD sub_100079F4 .text:10001218 DCD sub_100059B4 .text:1000121C DCD sub_100022E4 .text:10001220 DCD sub_100019DC .text:10001224 DCD sub_100019E4 .text:10001228 DCD sub_1000630C .text:1000122C DCD sub_10007AF8 .text:10001230 DCD sub_10007B90 .text:10001234 DCD sub_10007C5C .text:10001238 DCD sub_10007BC0 .text:1000123C DCD sub_10007CA0 .text:10001240 DCD sub_10006370 .text:10001244 DCD sub_10005878 .text:10001248 DCD sub_10005928 .text:1000124C DCD sub_10005834 .text:10001250 DCD sub_100065F4 .text:10001254 DCD sub_100066EC .text:10001258 DCD sub_10001A08 .text:1000125C DCD sub_10005A08 .text:10001260 DCD sub_100067E8 .text:10001264 DCD sub_10006844 .text:10001268 DCD sub_10001AA4 .text:1000126C DCD sub_10005AAC .text:10001270 DCD sub_100069B4 .text:10001274 DCD sub_10006A0C .text:10001278 DCD sub_10001A10 .text:1000127C DCD sub_10001A3C .text:10001280 DCD sub_10006A64 .text:10001284 DCD sub_10001AC0 .text:10001288 DCD sub_10006B94 .text:1000128C DCD sub_10006BF4 .text:10001290 DCD sub_10006CAC .text:10001294 DCD sub_10006D3C .text:10001298 DCD sub_10006DCC .text:1000129C DCD sub_1000595C .text:100012A0 DCD sub_10007D64 .text:100012A4 DCD sub_1000553C .text:100012A8 DCD sub_10005770 .text:100012AC DCD sub_10001A68 .text:100012B0 DCD sub_10007CE4 .text:100012B4 DCD sub_10007D34 .text:100012B8 DCD sub_100052A4 .text:100012BC DCD sub_100053CC .text:100012C0 DCD sub_10007294 .text:100012C4 DCD sub_100054E8 .text:100012C8 DCD sub_10005498 .text:100012CC DCD sub_100057C8 .text:100012D0 DCD sub_10005688 .text:100012D4 off_100012D4 DCD sub_10006230 ; DATA XREF: .text:off_10001EA8o .text:100012D4 ; .text:off_10002024o .text:100012D8 DCD 0 .text:100012DC DCD 0x4033, 0x444101, 0x9401050, 0x4005, 0x534C01, 0x9401050 .text:100012DC DCD 0x2078, 0x534C01, 0x802910EC, 0xC0F0, 0x534B01, 0x812910EC .text:100012DC DCD 0 .text:10001310 DCD 0x545204, 0x813910EC, 0x900B, 0x545204, 0x813910EC .text:10001310 DCD 0xD0C9, 0x545204, 0x813910EC, 0xE04C, 0x545204, 0x13001186 .text:10001310 DCD 0x50BA, 0x4C4404, 0x20100B, 0xA0CC, 0x474E05, 0x905010B7 .text:10001310 DCD 0x6008, 0x433306, 0x920010B7, 0x476, 0x433306 .text:10001368 aPriority256 unicode 0, ,0 ; DATA XREF: .text:off_10004640o .text:10001368 ; .text:off_10007578o .text:10001380 aDevicearrayind unicode 0, ,0 .text:10001380 ; DATA XREF: .text:off_10004644o .text:10001380 ; .text:off_10005FE8o .text:100013A2 DCW 0 .text:100013A4 ALIGN 8 .text:100013A8 off_100013A8 DCD sub_10004C5C ; DATA XREF: .text:off_10004C80o .text:100013A8 ; .text:off_10005AE0o ... .text:100013AC DCD sub_10004AF4 .text:100013B0 DCD sub_10004B08 .text:100013B4 DCD sub_10004B1C .text:100013B8 DCD sub_10004B30 .text:100013BC DCD sub_10004B44 .text:100013C0 DCD sub_10004B58 .text:100013C4 DCD sub_10004B78 .text:100013C8 DCD sub_10004B80 .text:100013CC DCD sub_10004B94 .text:100013D0 DCD sub_10004BA8 .text:100013D4 DCD sub_10004BBC .text:100013D8 DCD sub_10004BD0 .text:100013DC DCD sub_10004BE4 .text:100013E0 DCD sub_10004BF8 .text:100013E4 DCD sub_10004C0C .text:100013E8 DCD sub_10004C20 .text:100013EC DCD sub_10004C34 .text:100013F0 DCD sub_10004C48 .text:100013F4 DCD sub_10005DE8 .text:100013F8 DCD sub_10005CEC .text:100013FC DCD sub_10005D50 .text:10001400 off_10001400 DCD sub_10005ABC ; DATA XREF: .text:off_10005494o .text:10001404 DCD sub_10004CA4 .text:10001408 DCD sub_10004CB8 .text:1000140C DCD sub_10004CCC .text:10001410 DCD sub_10004CE4 .text:10001414 DCD sub_10004CFC .text:10001418 DCD sub_10004D18 .text:1000141C DCD sub_10004D3C .text:10001420 DCD sub_10004D44 .text:10001424 DCD sub_10004D60 .text:10001428 DCD sub_10004D78 .text:1000142C DCD sub_10004D94 .text:10001430 DCD sub_10004DAC .text:10001434 DCD sub_10004DC8 .text:10001438 DCD sub_10004DE0 .text:1000143C DCD sub_10004DFC .text:10001440 DCD sub_10004E14 .text:10001444 DCD sub_10004E30 .text:10001448 DCD sub_10004E48 .text:1000144C DCD sub_10005DE8 .text:10001450 DCD sub_10004EE8 .text:10001454 DCD sub_10004F30 .text:10001458 DCD sub_10004E64 .text:1000145C DCD sub_10004E7C .text:10001460 DCD sub_10004E98 .text:10001464 DCD sub_10004EB4 .text:10001468 DCD sub_10004ED0 .text:1000146C ALIGN 0x10 .text:10001470 off_10001470 DCD sub_10005AE4 ; DATA XREF: .text:off_10004FA8o .text:10001470 ; .text:off_10005010o .text:10001474 DCD sub_10005018 .text:10001478 DCD sub_10005A9C .text:1000147C DCD sub_100051B4 .text:10001480 DCD sub_1000522C .text:10001484 DCD sub_10007784 .text:10001488 DCD sub_100078A4 .text:1000148C DCD sub_1000793C .text:10001490 DCD sub_10007984 .text:10001494 DCD sub_100079F4 .text:10001498 DCD sub_100059B4 .text:1000149C DCD sub_10001A84 .text:100014A0 DCD sub_100019DC .text:100014A4 DCD sub_100019E4 .text:100014A8 DCD sub_1000630C .text:100014AC DCD sub_10007AF8 .text:100014B0 DCD sub_10007B90 .text:100014B4 DCD sub_10007C5C .text:100014B8 DCD sub_10007BC0 .text:100014BC DCD sub_10007CA0 .text:100014C0 DCD sub_10006370 .text:100014C4 DCD sub_10005878 .text:100014C8 DCD sub_10005928 .text:100014CC DCD sub_10005834 .text:100014D0 DCD sub_100065F4 .text:100014D4 DCD sub_100066EC .text:100014D8 DCD sub_10001A08 .text:100014DC DCD sub_10005A08 .text:100014E0 DCD sub_100067E8 .text:100014E4 DCD sub_10006844 .text:100014E8 DCD sub_10001AA4 .text:100014EC DCD sub_10005AAC .text:100014F0 DCD sub_100069B4 .text:100014F4 DCD sub_10006A0C .text:100014F8 DCD sub_10001A10 .text:100014FC DCD sub_10001A3C .text:10001500 DCD sub_10006A64 .text:10001504 DCD sub_10001AC0 .text:10001508 DCD sub_10006B94 .text:1000150C DCD sub_10006BF4 .text:10001510 DCD sub_10006CAC .text:10001514 DCD sub_10006D3C .text:10001518 DCD sub_10006DCC .text:1000151C DCD sub_1000595C .text:10001520 DCD sub_10007D64 .text:10001524 DCD sub_1000553C .text:10001528 DCD sub_10005770 .text:1000152C DCD sub_10001A68 .text:10001530 DCD sub_10007CE4 .text:10001534 DCD sub_10007D34 .text:10001538 DCD sub_100052A4 .text:1000153C DCD sub_100053CC .text:10001540 DCD sub_10007294 .text:10001544 DCD sub_100054E8 .text:10001548 DCD sub_10005498 .text:1000154C DCD sub_100057C8 .text:10001550 DCD sub_10005688 .text:10001554 off_10001554 DCD sub_10006230 ; DATA XREF: .text:off_10004FA4o .text:10001554 ; .text:off_10005014o .text:10001558 aWatermarker unicode 0, ,0 ; DATA XREF: .text:off_100051A0o .text:10001558 ; .text:off_10005FE4o .text:10001570 aIrconnected unicode 0, ,0 ; DATA XREF: .text:off_100051A4o .text:10001588 aSysintr unicode 0, ,0 ; DATA XREF: .text:off_100051A8o .text:10001598 aRegstride unicode 0, ,0 ; DATA XREF: .text:off_100053C8o .text:10001598 ; .text:off_1000615Co .text:100015AC ALIGN 0x10 .text:100015B0 a2 unicode 0, <2>,0 ; DATA XREF: .text:off_10005594o .text:100015B4 dword_100015B4 DCD 0x4800, 0x4B, 0x3000, 0x96, 0x1800, 0x12C, 0xC00, 0x258 .text:100015B4 DCD 0x600, 0x4B0, 0x300, 0x708, 0x200, 0x960, 0x180, 0xE10 .text:100015B4 DCD 0x100, 0x12C0, 0xC0, 0x1C20, 0x80, 0x2580, 0x60, 0x3200 .text:100015B4 DCD 0x48, 0x3840, 0x40, 0x4B00, 0x30, 0x5A00, 0x28, 0x7080 .text:100015B4 DCD 0x20, 0x9600, 0x18, 0xE100, 0x10, 0x1C200, 8, 0x38400 .text:100015B4 DCD 4, 0xE1000, 1, 0x6E0049, 0x650074, 0x660072, 0x630061 .text:100015B4 DCD 0x540065, 0x700079, 0x65 .text:1000167C off_1000167C DCD _purecall ; DATA XREF: .text:off_10006E98o .text:1000167C ; .text:off_10007198o ... .text:10001680 off_10001680 DCD sub_10006FE8 ; DATA XREF: .text:off_10007290o .text:10001684 DCD sub_10004AF4 .text:10001688 DCD sub_10006E9C .text:1000168C DCD sub_10006EB0 .text:10001690 DCD sub_10006EC4 .text:10001694 DCD sub_10006ED8 .text:10001698 DCD sub_10006EEC .text:1000169C DCD sub_10004B78 .text:100016A0 DCD sub_10006F0C .text:100016A4 DCD sub_10006F20 .text:100016A8 DCD sub_10006F34 .text:100016AC DCD sub_10006F48 .text:100016B0 DCD sub_10006F5C .text:100016B4 DCD sub_10006F70 .text:100016B8 DCD sub_10006F84 .text:100016BC DCD sub_10006F98 .text:100016C0 DCD sub_10006FAC .text:100016C4 DCD sub_10006FC0 .text:100016C8 DCD sub_10006FD4 .text:100016CC DCD sub_10005DE8 .text:100016D0 DCD sub_10005CEC .text:100016D4 DCD sub_10005D50 .text:100016D8 off_100016D8 DCD sub_10007430 ; DATA XREF: .text:off_100070A4o .text:100016D8 ; .text:off_100071A0o .text:100016DC DCD sub_10005E7C .text:100016E0 DCD sub_10006160 .text:100016E4 DCD sub_100075BC .text:100016E8 DCD sub_1000765C .text:100016EC DCD sub_10007784 .text:100016F0 DCD sub_100078A4 .text:100016F4 DCD sub_1000793C .text:100016F8 DCD sub_10007984 .text:100016FC DCD sub_100079F4 .text:10001700 DCD sub_10004C84 .text:10001704 DCD sub_10001A84 .text:10001708 DCD sub_100019DC .text:1000170C DCD sub_100019E4 .text:10001710 DCD sub_1000630C .text:10001714 DCD sub_10007AF8 .text:10001718 DCD sub_10007B90 .text:1000171C DCD sub_10007C5C .text:10001720 DCD sub_10007BC0 .text:10001724 DCD sub_10007CA0 .text:10001728 DCD sub_10006370 .text:1000172C DCD sub_100063E0 .text:10001730 DCD sub_100072C8 .text:10001734 DCD sub_1000656C .text:10001738 DCD sub_100065F4 .text:1000173C DCD sub_100066EC .text:10001740 DCD sub_10001A08 .text:10001744 DCD sub_10007350 .text:10001748 DCD sub_100067E8 .text:1000174C DCD sub_10006844 .text:10001750 DCD sub_10001AA4 .text:10001754 DCD sub_10006910 .text:10001758 DCD sub_100069B4 .text:1000175C DCD sub_10006A0C .text:10001760 DCD sub_10001A10 .text:10001764 DCD sub_10001A3C .text:10001768 DCD sub_10006A64 .text:1000176C DCD sub_10001AC0 .text:10001770 DCD sub_10006B94 .text:10001774 DCD sub_10006BF4 .text:10001778 DCD sub_10006CAC .text:1000177C DCD sub_10006D3C .text:10001780 DCD sub_10006DCC .text:10001784 DCD sub_10007E80 .text:10001788 DCD sub_10007D64 .text:1000178C DCD sub_10007FDC .text:10001790 DCD sub_10004AE8 .text:10001794 DCD sub_10001A68 .text:10001798 DCD sub_10007CE4 .text:1000179C DCD sub_10007D34 .text:100017A0 DCD sub_10005FF0 .text:100017A4 DCD sub_100071A4 .text:100017A8 DCD sub_10007294 .text:100017AC DCD sub_10006698 .text:100017B0 DCD sub_10006648 .text:100017B4 off_100017B4 DCD sub_10006230 ; DATA XREF: .text:off_100070A8o .text:100017B4 ; .text:off_1000719Co .text:100017B8 off_100017B8 DCD sub_10008038 ; DATA XREF: .text:off_1000878Co .text:100017BC DCD sub_100080B4 .text:100017C0 DCD sub_10008078 .text:100017C4 DCD sub_100080D8 .text:100017C8 DCD sub_10008100 .text:100017CC DCD sub_10008128 .text:100017D0 DCD sub_10008150 .text:100017D4 DCD sub_10008178 .text:100017D8 DCD sub_10008198 .text:100017DC DCD sub_100081D4 .text:100017E0 DCD sub_10008210 .text:100017E4 DCD sub_10008218 .text:100017E8 DCD sub_1000825C .text:100017EC DCD sub_100082A0 .text:100017F0 DCD sub_100082E0 .text:100017F4 DCD sub_10008320 .text:100017F8 DCD sub_10008360 .text:100017FC DCD sub_100083A0 .text:10001800 DCD sub_100083F4 .text:10001804 DCD sub_10008420 .text:10001808 DCD sub_10008460 .text:1000180C DCD sub_100084A0 .text:10001810 DCD sub_100084E0 .text:10001814 DCD sub_100085D8 .text:10001818 DCD sub_100085EC .text:1000181C DCD sub_10008638 .text:10001820 DCD sub_10008660 .text:10001824 DCD sub_1000869C .text:10001828 DCD sub_100086E8 .text:1000182C DCD sub_100086F0 .text:10001830 off_10001830 DCD sub_100089AC ; DATA XREF: .text:off_1000757Co .text:10001830 ; .text:off_100089A8o .text:10001834 DCD sub_10008854 .text:10001838 DCD sub_10007580 .text:1000183C DCD sub_100075BC .text:10001840 DCD sub_1000765C .text:10001844 DCD sub_10007784 .text:10001848 DCD sub_100078A4 .text:1000184C DCD sub_1000793C .text:10001850 DCD sub_10007984 .text:10001854 DCD sub_100079F4 .text:10001858 DCD _purecall .text:1000185C DCD _purecall .text:10001860 DCD sub_100019DC .text:10001864 DCD sub_100019E4 .text:10001868 DCD sub_10007ACC .text:1000186C DCD sub_10007AF8 .text:10001870 DCD sub_10007B90 .text:10001874 DCD sub_10007C5C .text:10001878 DCD sub_10007BC0 .text:1000187C DCD sub_10007CA0 .text:10001880 DCD _purecall .text:10001884 DCD _purecall .text:10001888 DCD _purecall .text:1000188C DCD _purecall .text:10001890 DCD _purecall .text:10001894 DCD _purecall .text:10001898 DCD sub_10001A08 .text:1000189C DCD _purecall .text:100018A0 DCD _purecall .text:100018A4 DCD _purecall .text:100018A8 DCD _purecall .text:100018AC DCD _purecall .text:100018B0 DCD _purecall .text:100018B4 DCD _purecall .text:100018B8 DCD sub_10001A10 .text:100018BC DCD sub_10001A3C .text:100018C0 DCD _purecall .text:100018C4 DCD _purecall .text:100018C8 DCD _purecall .text:100018CC DCD _purecall .text:100018D0 DCD _purecall .text:100018D4 DCD _purecall .text:100018D8 DCD _purecall .text:100018DC DCD sub_10007E80 .text:100018E0 DCD sub_10007D64 .text:100018E4 DCD sub_10007FDC .text:100018E8 DCD sub_10004AE8 .text:100018EC DCD sub_10001A68 .text:100018F0 DCD sub_10007CE4 .text:100018F4 DCD sub_10007D34 .text:100018F8 dword_100018F8 DCD 0x32, 0x903, 0x4B, 0x602, 0x6E, 0x419, 0x87, 0x35A .text:100018F8 ; DATA XREF: .text:off_10008034o .text:100018F8 DCD 0x96, 0x301, 0x12C, 0x180, 0x258, 0xC0, 0x4B0, 0x60 .text:100018F8 DCD 0x708, 0x40, 0x7D0, 0x3A, 0x960, 0x30, 0xE10, 0x20 .text:100018F8 DCD 0x12C0, 0x18, 0x1C20, 0x10, 0x2580, 0xC, 0x3200, 9 .text:100018F8 DCD 0x3840, 8, 0x4B00, 6, 0x5A00, 5, 0x7080, 4, 0x9600 .text:100018F8 DCD 3, 0xE100, 2, 0x1C200, 1 .text:100019B0 off_100019B0 DCD sub_10007458 ; DATA XREF: .text:off_100087E4o .text:100019B0 ; .text:off_10008850o .text:100019B4 DCD 0x53445352, 0xE68D1EB9, 0xF73A5E60, 0xE38F47DF, 0xA1C0A2A5 .text:100019B4 DCD 1, 0x5F32736D, 0x69726573, 0x702E6C61, 0x6264 .text:100019DC .text:100019DC ; =============== S U B R O U T I N E ======================================= .text:100019DC .text:100019DC .text:100019DC sub_100019DC ; DATA XREF: .text:10001050o .text:100019DC ; .text:10001138o ... .text:100019DC LDR R0, [R0,#0x18] .text:100019E0 BX LR .text:100019E0 ; End of function sub_100019DC .text:100019E0 .text:100019E4 .text:100019E4 ; =============== S U B R O U T I N E ======================================= .text:100019E4 .text:100019E4 .text:100019E4 sub_100019E4 ; DATA XREF: .text:10001054o .text:100019E4 ; .text:1000113Co ... .text:100019E4 STMFD SP!, {R4,LR} .text:100019E8 MOV R4, R1 .text:100019EC ADD R1, R0, #0x20 .text:100019F0 MOV R0, R4 .text:100019F4 MOV R2, #0x30 .text:100019F8 BL memcpy .text:100019FC MOV R0, R4 .text:10001A00 LDMFD SP!, {R4,LR} .text:10001A04 BX LR .text:10001A04 ; End of function sub_100019E4 .text:10001A04 .text:10001A08 .text:10001A08 ; =============== S U B R O U T I N E ======================================= .text:10001A08 .text:10001A08 .text:10001A08 sub_10001A08 ; DATA XREF: .text:10001088o .text:10001A08 ; .text:10001170o ... .text:10001A08 LDR R0, [R0,#0xF4] .text:10001A0C BX LR .text:10001A0C ; End of function sub_10001A08 .text:10001A0C .text:10001A10 .text:10001A10 ; =============== S U B R O U T I N E ======================================= .text:10001A10 .text:10001A10 .text:10001A10 sub_10001A10 ; DATA XREF: .text:100010A8o .text:10001A10 ; .text:10001190o ... .text:10001A10 .text:10001A10 var_4 = -4 .text:10001A10 arg_4 = 4 .text:10001A10 .text:10001A10 STR LR, [SP,#var_4]! .text:10001A14 LDR R3, [R0] .text:10001A18 LDR R3, [R3,#0x7C] .text:10001A1C MOV LR, PC .text:10001A20 BX R3 .text:10001A24 TST R0, #0x10 .text:10001A28 MOVEQ R0, #1 .text:10001A2C LDREQ LR, [SP],#arg_4 .text:10001A30 MOVNE R0, #0 .text:10001A34 LDRNE LR, [SP],#arg_4 .text:10001A38 BX LR .text:10001A38 ; End of function sub_10001A10 .text:10001A38 .text:10001A3C .text:10001A3C ; =============== S U B R O U T I N E ======================================= .text:10001A3C .text:10001A3C .text:10001A3C sub_10001A3C ; DATA XREF: .text:100010ACo .text:10001A3C ; .text:10001194o ... .text:10001A3C .text:10001A3C var_4 = -4 .text:10001A3C arg_4 = 4 .text:10001A3C .text:10001A3C STR LR, [SP,#var_4]! .text:10001A40 LDR R3, [R0] .text:10001A44 LDR R3, [R3,#0x7C] .text:10001A48 MOV LR, PC .text:10001A4C BX R3 .text:10001A50 TST R0, #0x20 .text:10001A54 MOVEQ R0, #1 .text:10001A58 LDREQ LR, [SP],#arg_4 .text:10001A5C MOVNE R0, #0 .text:10001A60 LDRNE LR, [SP],#arg_4 .text:10001A64 BX LR .text:10001A64 ; End of function sub_10001A3C .text:10001A64 .text:10001A68 .text:10001A68 ; =============== S U B R O U T I N E ======================================= .text:10001A68 .text:10001A68 .text:10001A68 sub_10001A68 ; DATA XREF: .text:100010DCo .text:10001A68 ; .text:100011C4o ... .text:10001A68 CMP R1, #0 .text:10001A6C LDRNE R3, [R0,#0xEC] .text:10001A70 STRNE R3, [R1] .text:10001A74 CMP R2, #0 .text:10001A78 LDRNE R3, [R0,#0xF0] .text:10001A7C STRNE R3, [R2] .text:10001A80 BX LR .text:10001A80 ; End of function sub_10001A68 .text:10001A80 .text:10001A84 .text:10001A84 ; =============== S U B R O U T I N E ======================================= .text:10001A84 .text:10001A84 .text:10001A84 sub_10001A84 ; DATA XREF: .text:1000149Co .text:10001A84 ; .text:10001704o ... .text:10001A84 .text:10001A84 var_4 = -4 .text:10001A84 arg_4 = 4 .text:10001A84 .text:10001A84 STR LR, [SP,#var_4]! .text:10001A88 LDR R0, [R0,#0x124] .text:10001A8C LDR R3, [R0] .text:10001A90 LDR R3, [R3,#0x54] .text:10001A94 MOV LR, PC .text:10001A98 BX R3 .text:10001A9C LDR LR, [SP],#arg_4 .text:10001AA0 BX LR .text:10001AA0 ; End of function sub_10001A84 .text:10001AA0 .text:10001AA4 .text:10001AA4 ; =============== S U B R O U T I N E ======================================= .text:10001AA4 .text:10001AA4 .text:10001AA4 sub_10001AA4 ; DATA XREF: .text:10001098o .text:10001AA4 ; .text:10001180o ... .text:10001AA4 .text:10001AA4 var_4 = -4 .text:10001AA4 arg_4 = 4 .text:10001AA4 .text:10001AA4 STR LR, [SP,#var_4]! .text:10001AA8 LDR R3, [R0] .text:10001AAC LDR R3, [R3,#0x7C] .text:10001AB0 MOV LR, PC .text:10001AB4 BX R3 .text:10001AB8 LDR LR, [SP],#arg_4 .text:10001ABC BX LR .text:10001ABC ; End of function sub_10001AA4 .text:10001ABC .text:10001AC0 .text:10001AC0 ; =============== S U B R O U T I N E ======================================= .text:10001AC0 .text:10001AC0 .text:10001AC0 sub_10001AC0 ; DATA XREF: .text:100010B4o .text:10001AC0 ; .text:1000119Co ... .text:10001AC0 .text:10001AC0 var_4 = -4 .text:10001AC0 arg_4 = 4 .text:10001AC0 .text:10001AC0 STR LR, [SP,#var_4]! .text:10001AC4 BL sub_10006B04 .text:10001AC8 LDR LR, [SP],#arg_4 .text:10001ACC BX LR .text:10001ACC ; End of function sub_10001AC0 .text:10001ACC .text:10001AD0 .text:10001AD0 ; =============== S U B R O U T I N E ======================================= .text:10001AD0 .text:10001AD0 .text:10001AD0 sub_10001AD0 ; CODE XREF: sub_10001D5C+Cp .text:10001AD0 ; DATA XREF: .pdata:1000B048o .text:10001AD0 STMFD SP!, {R4,LR} .text:10001AD4 MOV R4, R0 .text:10001AD8 LDR R3, [R4,#0x154] .text:10001ADC LDR R1, =off_10001104 .text:10001AE0 LDR R2, =off_10001020 .text:10001AE4 CMP R3, #0 .text:10001AE8 LDRNE R0, [R4,#0x154] .text:10001AEC STR R1, [R4,#0xFC] .text:10001AF0 MOVNE R1, #0 .text:10001AF4 STR R2, [R4] .text:10001AF8 BLNE CEDDK_9 .text:10001AFC MOV R0, R4 .text:10001B00 BL sub_10004FAC .text:10001B04 LDMFD SP!, {R4,LR} .text:10001B08 BX LR .text:10001B08 ; End of function sub_10001AD0 .text:10001B08 .text:10001B08 ; --------------------------------------------------------------------------- .text:10001B0C off_10001B0C DCD off_10001020 ; DATA XREF: sub_10001AD0+10r .text:10001B10 off_10001B10 DCD off_10001104 ; DATA XREF: sub_10001AD0+Cr .text:10001B14 .text:10001B14 ; =============== S U B R O U T I N E ======================================= .text:10001B14 .text:10001B14 .text:10001B14 sub_10001B14 ; DATA XREF: .text:10001028o .text:10001B14 ; .pdata:1000B050o .text:10001B14 STMFD SP!, {R4,LR} .text:10001B18 MOV R4, R0 .text:10001B1C BL sub_10005A9C .text:10001B20 ADD R0, R4, #0x60 .text:10001B24 BL EnterCriticalSection .text:10001B28 LDR R0, [R4,#0x124] .text:10001B2C LDR R3, [R0] .text:10001B30 LDR R3, [R3,#0x14] .text:10001B34 MOV LR, PC .text:10001B38 BX R3 .text:10001B3C LDR R2, [R4,#0x124] .text:10001B40 ORR R1, R0, #0x40 .text:10001B44 LDR R3, [R2] .text:10001B48 MOV R0, R2 .text:10001B4C LDR R3, [R3,#0x10] .text:10001B50 MOV LR, PC .text:10001B54 BX R3 .text:10001B58 ADD R0, R4, #0x60 .text:10001B5C BL LeaveCriticalSection .text:10001B60 LDMFD SP!, {R4,LR} .text:10001B64 BX LR .text:10001B64 ; End of function sub_10001B14 .text:10001B64 .text:10001B68 .text:10001B68 ; =============== S U B R O U T I N E ======================================= .text:10001B68 .text:10001B68 .text:10001B68 sub_10001B68 ; DATA XREF: .text:1000109Co .text:10001B68 ; .pdata:1000B058o .text:10001B68 STMFD SP!, {R4-R7,LR} .text:10001B6C MOV R7, R0 .text:10001B70 ADD R0, R7, #0x60 .text:10001B74 BL EnterCriticalSection .text:10001B78 LDR R0, [R7,#0x124] .text:10001B7C MOV R4, #0 .text:10001B80 MOV R5, #0 .text:10001B84 LDR R3, [R0] .text:10001B88 LDR R3, [R3,#0x40] .text:10001B8C MOV LR, PC .text:10001B90 BX R3 .text:10001B94 MOV R6, R0 .text:10001B98 ADD R0, R7, #0x60 .text:10001B9C BL LeaveCriticalSection .text:10001BA0 TST R6, #1 .text:10001BA4 MOVNE R5, #8 .text:10001BA8 TST R6, #2 .text:10001BAC ORRNE R5, R5, #0x10 .text:10001BB0 TST R6, #4 .text:10001BB4 ORRNE R5, R5, #0x100 .text:10001BB8 TST R6, #8 .text:10001BBC ORRNE R5, R5, #0x20 .text:10001BC0 TST R6, #0x10 .text:10001BC4 MOVNE R4, #0x10 .text:10001BC8 TST R6, #0x20 .text:10001BCC ORRNE R4, R4, #0x20 .text:10001BD0 TST R6, #0x40 .text:10001BD4 ORRNE R4, R4, #0x40 .text:10001BD8 TST R6, #0x80 .text:10001BDC ORRNE R4, R4, #0x80 .text:10001BE0 CMP R5, #0 .text:10001BE4 LDRNE R3, [R7] .text:10001BE8 MOVNE R2, R4 .text:10001BEC MOVNE R1, R5 .text:10001BF0 LDRNE R3, [R3,#0x44] .text:10001BF4 MOVNE R0, R7 .text:10001BF8 MOVNE LR, PC .text:10001BFC BXNE R3 .text:10001C00 LDR R3, [R7,#0x14] .text:10001C04 CMP R3, #0 .text:10001C08 BNE loc_10001C20 .text:10001C0C TST R5, #0x10 .text:10001C10 TSTNE R4, #0x20 .text:10001C14 MOVNE R1, #0 .text:10001C18 MOVNE R0, #9 .text:10001C1C BLNE CeEventHasOccurred .text:10001C20 .text:10001C20 loc_10001C20 ; CODE XREF: sub_10001B68+A0j .text:10001C20 MOV R0, R4 .text:10001C24 LDMFD SP!, {R4-R7,LR} .text:10001C28 BX LR .text:10001C28 ; End of function sub_10001B68 .text:10001C28 .text:10001C2C .text:10001C2C ; =============== S U B R O U T I N E ======================================= .text:10001C2C .text:10001C2C .text:10001C2C sub_10001C2C ; DATA XREF: .text:10001030o .text:10001C2C ; .pdata:1000B060o .text:10001C2C STMFD SP!, {R4,R5,LR} .text:10001C30 MOV R4, R0 .text:10001C34 BL sub_1000522C .text:10001C38 MOVS R5, R0 .text:10001C3C BEQ loc_10001C80 .text:10001C40 ADD R0, R4, #0x60 .text:10001C44 BL EnterCriticalSection .text:10001C48 LDR R0, [R4,#0x124] .text:10001C4C LDR R3, [R0] .text:10001C50 LDR R3, [R3,#0x14] .text:10001C54 MOV LR, PC .text:10001C58 BX R3 .text:10001C5C LDR R2, [R4,#0x124] .text:10001C60 ORR R1, R0, #0x40 .text:10001C64 LDR R3, [R2] .text:10001C68 MOV R0, R2 .text:10001C6C LDR R3, [R3,#0x10] .text:10001C70 MOV LR, PC .text:10001C74 BX R3 .text:10001C78 ADD R0, R4, #0x60 .text:10001C7C BL LeaveCriticalSection .text:10001C80 .text:10001C80 loc_10001C80 ; CODE XREF: sub_10001C2C+10j .text:10001C80 MOV R0, R5 .text:10001C84 LDMFD SP!, {R4,R5,LR} .text:10001C88 BX LR .text:10001C88 ; End of function sub_10001C2C .text:10001C88 .text:10001C8C .text:10001C8C ; =============== S U B R O U T I N E ======================================= .text:10001C8C .text:10001C8C .text:10001C8C sub_10001C8C ; DATA XREF: .text:10001094o .text:10001C8C ; .pdata:1000B068o .text:10001C8C STMFD SP!, {R4,R5,LR} .text:10001C90 MOV R4, R1 .text:10001C94 MOV R5, R0 .text:10001C98 ADD R0, R5, #0x60 .text:10001C9C BL EnterCriticalSection .text:10001CA0 LDR R0, [R5,#0x124] .text:10001CA4 CMP R4, #0 .text:10001CA8 LDR R3, [R0] .text:10001CAC LDR R3, [R3,#0x2C] .text:10001CB0 BEQ loc_10001CC4 .text:10001CB4 MOV R1, #0x28 .text:10001CB8 MOV LR, PC .text:10001CBC BX R3 .text:10001CC0 B loc_10001CD0 .text:10001CC4 ; --------------------------------------------------------------------------- .text:10001CC4 .text:10001CC4 loc_10001CC4 ; CODE XREF: sub_10001C8C+24j .text:10001CC4 MOV R1, #0 .text:10001CC8 MOV LR, PC .text:10001CCC BX R3 .text:10001CD0 .text:10001CD0 loc_10001CD0 ; CODE XREF: sub_10001C8C+34j .text:10001CD0 ADD R0, R5, #0x60 .text:10001CD4 BL LeaveCriticalSection .text:10001CD8 MOV R0, #1 .text:10001CDC LDMFD SP!, {R4,R5,LR} .text:10001CE0 BX LR .text:10001CE0 ; End of function sub_10001C8C .text:10001CE0 .text:10001CE4 .text:10001CE4 ; =============== S U B R O U T I N E ======================================= .text:10001CE4 .text:10001CE4 .text:10001CE4 sub_10001CE4 ; CODE XREF: sub_10002050+4Cp .text:10001CE4 ; sub_100020D8+8p .text:10001CE4 ; DATA XREF: ... .text:10001CE4 LDR R3, [R0,#0x148] .text:10001CE8 MOV R2, #0x380 .text:10001CEC MOV R1, #0xA8000 .text:10001CF0 STR R2, [R3,#0x28] .text:10001CF4 LDR R2, [R0,#0x148] .text:10001CF8 ORR R1, R1, #0x550 .text:10001CFC LDR R3, [R2,#0x10] .text:10001D00 BIC R3, R3, #0x3C .text:10001D04 STR R3, [R2,#0x10] .text:10001D08 LDR R2, [R0,#0x148] .text:10001D0C LDR R3, [R2,#0x10] .text:10001D10 ORR R3, R3, #0x380 .text:10001D14 STR R3, [R2,#0x10] .text:10001D18 LDR R2, [R0,#0x148] .text:10001D1C LDR R3, [R2,#0x5C] .text:10001D20 ORR R3, R3, R1 .text:10001D24 STR R3, [R2,#0x5C] .text:10001D28 LDR R3, [R0,#0x148] .text:10001D2C LDR R3, [R3,#0x5C] .text:10001D30 AND R3, R3, #0xC .text:10001D34 CMP R3, #8 .text:10001D38 LDREQ R3, [R0,#0x148] .text:10001D3C LDREQ R3, [R3,#0x10] .text:10001D40 TSTEQ R3, #2 .text:10001D44 LDREQ R2, [R0,#0x148] .text:10001D48 MOV R0, #1 .text:10001D4C LDREQ R3, [R2,#0x5C] .text:10001D50 BICEQ R3, R3, #0xC .text:10001D54 STREQ R3, [R2,#0x5C] .text:10001D58 BX LR .text:10001D58 ; End of function sub_10001CE4 .text:10001D58 .text:10001D5C .text:10001D5C ; =============== S U B R O U T I N E ======================================= .text:10001D5C .text:10001D5C .text:10001D5C sub_10001D5C ; DATA XREF: .text:off_10001020o .text:10001D5C ; .pdata:1000B078o .text:10001D5C STMFD SP!, {R4,R5,LR} .text:10001D60 MOV R4, R1 .text:10001D64 MOV R5, R0 .text:10001D68 BL sub_10001AD0 .text:10001D6C TST R4, #1 .text:10001D70 MOVNE R0, R5 .text:10001D74 BLNE __3_YAXPAX_Z ; operator delete(void *) .text:10001D78 MOV R0, R5 .text:10001D7C LDMFD SP!, {R4,R5,LR} .text:10001D80 BX LR .text:10001D80 ; End of function sub_10001D5C .text:10001D80 .text:10001D84 .text:10001D84 ; =============== S U B R O U T I N E ======================================= .text:10001D84 .text:10001D84 .text:10001D84 sub_10001D84 ; CODE XREF: sub_10001E40+Cp .text:10001D84 ; DATA XREF: .pdata:1000B080o .text:10001D84 STMFD SP!, {R4,LR} .text:10001D88 MOV R4, R0 .text:10001D8C LDR R3, [R4,#0x154] .text:10001D90 LDR R1, =off_100011EC .text:10001D94 LDR R2, =off_10001108 .text:10001D98 CMP R3, #0 .text:10001D9C LDRNE R0, [R4,#0x154] .text:10001DA0 STR R1, [R4,#0xFC] .text:10001DA4 MOVNE R1, #0 .text:10001DA8 STR R2, [R4] .text:10001DAC BLNE CEDDK_9 .text:10001DB0 MOV R0, R4 .text:10001DB4 BL sub_10004FAC .text:10001DB8 LDMFD SP!, {R4,LR} .text:10001DBC BX LR .text:10001DBC ; End of function sub_10001D84 .text:10001DBC .text:10001DBC ; --------------------------------------------------------------------------- .text:10001DC0 off_10001DC0 DCD off_10001108 ; DATA XREF: sub_10001D84+10r .text:10001DC4 off_10001DC4 DCD off_100011EC ; DATA XREF: sub_10001D84+Cr .text:10001DC8 .text:10001DC8 ; =============== S U B R O U T I N E ======================================= .text:10001DC8 .text:10001DC8 .text:10001DC8 sub_10001DC8 ; DATA XREF: .text:10001188o .text:10001DC8 ; .pdata:1000B088o .text:10001DC8 CMP R1, #0 .text:10001DCC LDR R2, [R0,#0x154] .text:10001DD0 LDR R3, [R2,#0x80]! .text:10001DD4 BICNE R3, R3, #0x80 .text:10001DD8 STRNE R3, [R2] .text:10001DDC ORREQ R3, R3, #0x80 .text:10001DE0 STREQ R3, [R2] .text:10001DE4 BX LR .text:10001DE4 ; End of function sub_10001DC8 .text:10001DE4 .text:10001DE8 .text:10001DE8 ; =============== S U B R O U T I N E ======================================= .text:10001DE8 .text:10001DE8 .text:10001DE8 sub_10001DE8 ; DATA XREF: .text:1000117Co .text:10001DE8 ; .pdata:1000B090o .text:10001DE8 STMFD SP!, {R4,R5,LR} .text:10001DEC MOV R4, R1 .text:10001DF0 MOV R5, R0 .text:10001DF4 ADD R0, R5, #0x60 .text:10001DF8 BL EnterCriticalSection .text:10001DFC LDR R0, [R5,#0x124] .text:10001E00 CMP R4, #0 .text:10001E04 LDR R3, [R0] .text:10001E08 LDR R3, [R3,#0x2C] .text:10001E0C BEQ loc_10001E20 .text:10001E10 MOV R1, #0x28 .text:10001E14 MOV LR, PC .text:10001E18 BX R3 .text:10001E1C B loc_10001E2C .text:10001E20 ; --------------------------------------------------------------------------- .text:10001E20 .text:10001E20 loc_10001E20 ; CODE XREF: sub_10001DE8+24j .text:10001E20 MOV R1, #0 .text:10001E24 MOV LR, PC .text:10001E28 BX R3 .text:10001E2C .text:10001E2C loc_10001E2C ; CODE XREF: sub_10001DE8+34j .text:10001E2C ADD R0, R5, #0x60 .text:10001E30 BL LeaveCriticalSection .text:10001E34 MOV R0, #1 .text:10001E38 LDMFD SP!, {R4,R5,LR} .text:10001E3C BX LR .text:10001E3C ; End of function sub_10001DE8 .text:10001E3C .text:10001E40 .text:10001E40 ; =============== S U B R O U T I N E ======================================= .text:10001E40 .text:10001E40 .text:10001E40 sub_10001E40 ; DATA XREF: .text:off_10001108o .text:10001E40 ; .pdata:1000B098o .text:10001E40 STMFD SP!, {R4,R5,LR} .text:10001E44 MOV R4, R1 .text:10001E48 MOV R5, R0 .text:10001E4C BL sub_10001D84 .text:10001E50 TST R4, #1 .text:10001E54 MOVNE R0, R5 .text:10001E58 BLNE __3_YAXPAX_Z ; operator delete(void *) .text:10001E5C MOV R0, R5 .text:10001E60 LDMFD SP!, {R4,R5,LR} .text:10001E64 BX LR .text:10001E64 ; End of function sub_10001E40 .text:10001E64 .text:10001E68 .text:10001E68 ; =============== S U B R O U T I N E ======================================= .text:10001E68 .text:10001E68 .text:10001E68 sub_10001E68 ; CODE XREF: sub_10001EAC+Cp .text:10001E68 ; DATA XREF: .pdata:1000B0A0o .text:10001E68 STMFD SP!, {R4,LR} .text:10001E6C MOV R4, R0 .text:10001E70 LDR R3, [R4,#0x154] .text:10001E74 LDR R1, =off_100012D4 .text:10001E78 LDR R2, =off_100011F0 .text:10001E7C CMP R3, #0 .text:10001E80 LDRNE R0, [R4,#0x154] .text:10001E84 STR R1, [R4,#0xFC] .text:10001E88 MOVNE R1, #0 .text:10001E8C STR R2, [R4] .text:10001E90 BLNE CEDDK_9 .text:10001E94 MOV R0, R4 .text:10001E98 BL sub_10004FAC .text:10001E9C LDMFD SP!, {R4,LR} .text:10001EA0 BX LR .text:10001EA0 ; End of function sub_10001E68 .text:10001EA0 .text:10001EA0 ; --------------------------------------------------------------------------- .text:10001EA4 off_10001EA4 DCD off_100011F0 ; DATA XREF: sub_10001E68+10r .text:10001EA8 off_10001EA8 DCD off_100012D4 ; DATA XREF: sub_10001E68+Cr .text:10001EAC .text:10001EAC ; =============== S U B R O U T I N E ======================================= .text:10001EAC .text:10001EAC .text:10001EAC sub_10001EAC ; DATA XREF: .text:off_100011F0o .text:10001EAC ; .pdata:1000B0A8o .text:10001EAC STMFD SP!, {R4,R5,LR} .text:10001EB0 MOV R4, R1 .text:10001EB4 MOV R5, R0 .text:10001EB8 BL sub_10001E68 .text:10001EBC TST R4, #1 .text:10001EC0 MOVNE R0, R5 .text:10001EC4 BLNE __3_YAXPAX_Z ; operator delete(void *) .text:10001EC8 MOV R0, R5 .text:10001ECC LDMFD SP!, {R4,R5,LR} .text:10001ED0 BX LR .text:10001ED0 ; End of function sub_10001EAC .text:10001ED0 .text:10001ED4 .text:10001ED4 ; =============== S U B R O U T I N E ======================================= .text:10001ED4 .text:10001ED4 .text:10001ED4 sub_10001ED4 ; CODE XREF: sub_10008038+20p .text:10001ED4 ; DATA XREF: .pdata:1000B0B0o .text:10001ED4 STMFD SP!, {R4-R7,LR} .text:10001ED8 MOV R5, R2 .text:10001EDC MOV R6, R1 .text:10001EE0 MOV R7, R0 .text:10001EE4 CMP R3, #0x80 .text:10001EE8 BEQ loc_10001F84 .text:10001EEC CMP R3, #0x81 .text:10001EF0 BEQ loc_10001F54 .text:10001EF4 CMP R3, #0x82 .text:10001EF8 BEQ loc_10001F24 .text:10001EFC MOV R0, #0x144 .text:10001F00 BL __2_YAPAXI_Z ; operator new(uint) .text:10001F04 CMP R0, #0 .text:10001F08 BEQ loc_10001FC4 .text:10001F0C MOV R3, R5 .text:10001F10 MOV R2, R6 .text:10001F14 MOV R1, R7 .text:10001F18 BL sub_10007010 .text:10001F1C MOV R4, R0 .text:10001F20 B loc_10001FC8 .text:10001F24 ; --------------------------------------------------------------------------- .text:10001F24 .text:10001F24 loc_10001F24 ; CODE XREF: sub_10001ED4+24j .text:10001F24 MOV R0, #0x158 .text:10001F28 BL __2_YAPAXI_Z ; operator new(uint) .text:10001F2C MOVS R4, R0 .text:10001F30 BEQ loc_10001FC4 .text:10001F34 MOV R3, R5 .text:10001F38 MOV R2, R6 .text:10001F3C MOV R1, R7 .text:10001F40 MOV R0, R4 .text:10001F44 BL sub_10004F68 .text:10001F48 LDR R3, =off_100011F0 .text:10001F4C LDR R2, =off_100012D4 .text:10001F50 B loc_10001FB0 .text:10001F54 ; --------------------------------------------------------------------------- .text:10001F54 .text:10001F54 loc_10001F54 ; CODE XREF: sub_10001ED4+1Cj .text:10001F54 MOV R0, #0x158 .text:10001F58 BL __2_YAPAXI_Z ; operator new(uint) .text:10001F5C MOVS R4, R0 .text:10001F60 BEQ loc_10001FC4 .text:10001F64 MOV R3, R5 .text:10001F68 MOV R2, R6 .text:10001F6C MOV R1, R7 .text:10001F70 MOV R0, R4 .text:10001F74 BL sub_10004F68 .text:10001F78 LDR R3, =off_10001108 .text:10001F7C LDR R2, =off_100011EC .text:10001F80 B loc_10001FB0 .text:10001F84 ; --------------------------------------------------------------------------- .text:10001F84 .text:10001F84 loc_10001F84 ; CODE XREF: sub_10001ED4+14j .text:10001F84 MOV R0, #0x158 .text:10001F88 BL __2_YAPAXI_Z ; operator new(uint) .text:10001F8C MOVS R4, R0 .text:10001F90 BEQ loc_10001FC4 .text:10001F94 MOV R3, R5 .text:10001F98 MOV R2, R6 .text:10001F9C MOV R1, R7 .text:10001FA0 MOV R0, R4 .text:10001FA4 BL sub_10004F68 .text:10001FA8 LDR R3, =off_10001020 .text:10001FAC LDR R2, =off_10001104 .text:10001FB0 .text:10001FB0 loc_10001FB0 ; CODE XREF: sub_10001ED4+7Cj .text:10001FB0 ; sub_10001ED4+ACj .text:10001FB0 MOV R1, #0 .text:10001FB4 STR R1, [R4,#0x154] .text:10001FB8 STR R2, [R4,#0xFC] .text:10001FBC STR R3, [R4] .text:10001FC0 B loc_10001FC8 .text:10001FC4 ; --------------------------------------------------------------------------- .text:10001FC4 .text:10001FC4 loc_10001FC4 ; CODE XREF: sub_10001ED4+34j .text:10001FC4 ; sub_10001ED4+5Cj ... .text:10001FC4 MOV R4, #0 .text:10001FC8 .text:10001FC8 loc_10001FC8 ; CODE XREF: sub_10001ED4+4Cj .text:10001FC8 ; sub_10001ED4+ECj .text:10001FC8 CMP R4, #0 .text:10001FCC BEQ loc_10002008 .text:10001FD0 LDR R3, [R4] .text:10001FD4 MOV R0, R4 .text:10001FD8 LDR R3, [R3,#4] .text:10001FDC MOV LR, PC .text:10001FE0 BX R3 .text:10001FE4 CMP R0, #1 .text:10001FE8 BEQ loc_10002008 .text:10001FEC LDR R3, [R4] .text:10001FF0 MOV R1, #1 .text:10001FF4 MOV R0, R4 .text:10001FF8 LDR R3, [R3] .text:10001FFC MOV LR, PC .text:10002000 BX R3 .text:10002004 MOV R4, #0 .text:10002008 .text:10002008 loc_10002008 ; CODE XREF: sub_10001ED4+F8j .text:10002008 ; sub_10001ED4+114j .text:10002008 MOV R0, R4 .text:1000200C LDMFD SP!, {R4-R7,LR} .text:10002010 BX LR .text:10002010 ; End of function sub_10001ED4 .text:10002010 .text:10002010 ; --------------------------------------------------------------------------- .text:10002014 off_10002014 DCD off_10001104 ; DATA XREF: sub_10001ED4+D8r .text:10002018 off_10002018 DCD off_10001020 ; DATA XREF: sub_10001ED4+D4r .text:1000201C off_1000201C DCD off_100011EC ; DATA XREF: sub_10001ED4+A8r .text:10002020 off_10002020 DCD off_10001108 ; DATA XREF: sub_10001ED4+A4r .text:10002024 off_10002024 DCD off_100012D4 ; DATA XREF: sub_10001ED4+78r .text:10002028 off_10002028 DCD off_100011F0 ; DATA XREF: sub_10001ED4+74r .text:1000202C .text:1000202C ; =============== S U B R O U T I N E ======================================= .text:1000202C .text:1000202C .text:1000202C sub_1000202C ; CODE XREF: sub_10008078+14p .text:1000202C ; DATA XREF: .pdata:1000B0B8o .text:1000202C .text:1000202C var_4 = -4 .text:1000202C arg_4 = 4 .text:1000202C .text:1000202C STR LR, [SP,#var_4]! .text:10002030 CMP R0, #0 .text:10002034 LDRNE R3, [R0] .text:10002038 MOVNE R1, #1 .text:1000203C LDRNE R3, [R3] .text:10002040 MOVNE LR, PC .text:10002044 BXNE R3 .text:10002048 LDR LR, [SP],#arg_4 .text:1000204C BX LR .text:1000204C ; End of function sub_1000202C .text:1000204C .text:10002050 .text:10002050 ; =============== S U B R O U T I N E ======================================= .text:10002050 .text:10002050 .text:10002050 sub_10002050 ; DATA XREF: .text:10001024o .text:10002050 ; .pdata:1000B0C0o .text:10002050 STMFD SP!, {R4,LR} .text:10002054 MOV R4, R0 .text:10002058 LDR R3, [R4,#0x154] .text:1000205C CMP R3, #0 .text:10002060 BNE loc_1000207C .text:10002064 MOV R0, #0x8000000 .text:10002068 MOV R1, #0 .text:1000206C MOV R3, #0 .text:10002070 MOV R2, #0x100 .text:10002074 BL CEDDK_8 .text:10002078 STR R0, [R4,#0x154] .text:1000207C .text:1000207C loc_1000207C ; CODE XREF: sub_10002050+10j .text:1000207C LDR R3, [R4,#0x154] .text:10002080 CMP R3, #0 .text:10002084 BEQ loc_100020CC .text:10002088 MOV R0, R4 .text:1000208C BL sub_10005018 .text:10002090 CMP R0, #0 .text:10002094 BEQ loc_100020CC .text:10002098 MOV R0, R4 .text:1000209C BL sub_10001CE4 .text:100020A0 LDR R2, [R4,#0x14C] .text:100020A4 MOV R0, #1 .text:100020A8 LDR R3, [R2,#4] .text:100020AC ORR R3, R3, #0x40 .text:100020B0 STR R3, [R2,#4] .text:100020B4 LDR R2, [R4,#0x154] .text:100020B8 LDR R3, [R2,#0x84]! .text:100020BC BIC R3, R3, #0x60 .text:100020C0 STR R3, [R2] .text:100020C4 LDMFD SP!, {R4,LR} .text:100020C8 BX LR .text:100020CC ; --------------------------------------------------------------------------- .text:100020CC .text:100020CC loc_100020CC ; CODE XREF: sub_10002050+34j .text:100020CC ; sub_10002050+44j .text:100020CC MOV R0, #0 .text:100020D0 LDMFD SP!, {R4,LR} .text:100020D4 BX LR .text:100020D4 ; End of function sub_10002050 .text:100020D4 .text:100020D8 .text:100020D8 ; =============== S U B R O U T I N E ======================================= .text:100020D8 .text:100020D8 .text:100020D8 sub_100020D8 ; DATA XREF: .text:1000104Co .text:100020D8 ; .pdata:1000B0C8o .text:100020D8 STMFD SP!, {R4,LR} .text:100020DC MOV R4, R0 .text:100020E0 BL sub_10001CE4 .text:100020E4 LDR R0, [R4,#0x124] .text:100020E8 LDR R3, [R0] .text:100020EC LDR R3, [R3,#0x54] .text:100020F0 MOV LR, PC .text:100020F4 BX R3 .text:100020F8 LDMFD SP!, {R4,LR} .text:100020FC BX LR .text:100020FC ; End of function sub_100020D8 .text:100020FC .text:10002100 .text:10002100 ; =============== S U B R O U T I N E ======================================= .text:10002100 .text:10002100 .text:10002100 sub_10002100 ; DATA XREF: .text:1000110Co .text:10002100 ; .pdata:1000B0D0o .text:10002100 STMFD SP!, {R4,LR} .text:10002104 MOV R4, R0 .text:10002108 LDR R3, [R4,#0x154] .text:1000210C CMP R3, #0 .text:10002110 BNE loc_1000212C .text:10002114 MOV R0, #0x8000000 .text:10002118 MOV R1, #0 .text:1000211C MOV R3, #0 .text:10002120 MOV R2, #0x100 .text:10002124 BL CEDDK_8 .text:10002128 STR R0, [R4,#0x154] .text:1000212C .text:1000212C loc_1000212C ; CODE XREF: sub_10002100+10j .text:1000212C LDR R3, [R4,#0x154] .text:10002130 CMP R3, #0 .text:10002134 BEQ loc_100021B0 .text:10002138 MOV R0, R4 .text:1000213C BL sub_10005018 .text:10002140 CMP R0, #0 .text:10002144 BEQ loc_100021B0 .text:10002148 LDR R3, [R4,#0x148] .text:1000214C MOV R2, #0x2800 .text:10002150 MOV R0, #1 .text:10002154 STR R2, [R3,#0x28] .text:10002158 LDR R2, [R4,#0x148] .text:1000215C LDR R3, [R2,#0x10] .text:10002160 BIC R3, R3, #0x1400 .text:10002164 STR R3, [R2,#0x10] .text:10002168 LDR R2, [R4,#0x148] .text:1000216C LDR R3, [R2,#0x10] .text:10002170 ORR R3, R3, #0x2800 .text:10002174 STR R3, [R2,#0x10] .text:10002178 LDR R2, [R4,#0x148] .text:1000217C LDR R3, [R2,#0x5C] .text:10002180 ORR R3, R3, #0x9900000 .text:10002184 STR R3, [R2,#0x5C] .text:10002188 LDR R2, [R4,#0x154] .text:1000218C LDR R3, [R2,#0x80]! .text:10002190 ORR R3, R3, #0x100 .text:10002194 STR R3, [R2] .text:10002198 LDR R2, [R4,#0x14C] .text:1000219C LDR R3, [R2,#4] .text:100021A0 ORR R3, R3, #0x80 .text:100021A4 STR R3, [R2,#4] .text:100021A8 LDMFD SP!, {R4,LR} .text:100021AC BX LR .text:100021B0 ; --------------------------------------------------------------------------- .text:100021B0 .text:100021B0 loc_100021B0 ; CODE XREF: sub_10002100+34j .text:100021B0 ; sub_10002100+44j .text:100021B0 MOV R0, #0 .text:100021B4 LDMFD SP!, {R4,LR} .text:100021B8 BX LR .text:100021B8 ; End of function sub_10002100 .text:100021B8 .text:100021BC .text:100021BC ; =============== S U B R O U T I N E ======================================= .text:100021BC .text:100021BC .text:100021BC sub_100021BC ; DATA XREF: .text:10001134o .text:100021BC ; .pdata:1000B0D8o .text:100021BC .text:100021BC var_4 = -4 .text:100021BC arg_4 = 4 .text:100021BC .text:100021BC STR LR, [SP,#var_4]! .text:100021C0 LDR R3, [R0,#0x148] .text:100021C4 MOV R2, #0x2800 .text:100021C8 STR R2, [R3,#0x28] .text:100021CC LDR R2, [R0,#0x148] .text:100021D0 LDR R3, [R2,#0x10] .text:100021D4 BIC R3, R3, #0x1400 .text:100021D8 STR R3, [R2,#0x10] .text:100021DC LDR R2, [R0,#0x148] .text:100021E0 LDR R3, [R2,#0x10] .text:100021E4 ORR R3, R3, #0x2800 .text:100021E8 STR R3, [R2,#0x10] .text:100021EC LDR R2, [R0,#0x148] .text:100021F0 LDR R3, [R2,#0x5C] .text:100021F4 ORR R3, R3, #0x9900000 .text:100021F8 STR R3, [R2,#0x5C] .text:100021FC LDR R2, [R0,#0x154] .text:10002200 LDR R3, [R2,#0x80]! .text:10002204 ORR R3, R3, #0x100 .text:10002208 STR R3, [R2] .text:1000220C LDR R0, [R0,#0x124] .text:10002210 LDR R3, [R0] .text:10002214 LDR R3, [R3,#0x54] .text:10002218 MOV LR, PC .text:1000221C BX R3 .text:10002220 LDR LR, [SP],#arg_4 .text:10002224 BX LR .text:10002224 ; End of function sub_100021BC .text:10002224 .text:10002228 .text:10002228 ; =============== S U B R O U T I N E ======================================= .text:10002228 .text:10002228 .text:10002228 sub_10002228 ; DATA XREF: .text:100011F4o .text:10002228 ; .pdata:1000B0E0o .text:10002228 STMFD SP!, {R4,LR} .text:1000222C MOV R4, R0 .text:10002230 LDR R3, [R4,#0x154] .text:10002234 CMP R3, #0 .text:10002238 BNE loc_10002254 .text:1000223C MOV R0, #0x8000000 .text:10002240 MOV R1, #0 .text:10002244 MOV R3, #0 .text:10002248 MOV R2, #0x100 .text:1000224C BL CEDDK_8 .text:10002250 STR R0, [R4,#0x154] .text:10002254 .text:10002254 loc_10002254 ; CODE XREF: sub_10002228+10j .text:10002254 LDR R3, [R4,#0x154] .text:10002258 CMP R3, #0 .text:1000225C BEQ loc_100022D8 .text:10002260 MOV R0, R4 .text:10002264 BL sub_10005018 .text:10002268 CMP R0, #0 .text:1000226C BEQ loc_100022D8 .text:10002270 LDR R3, [R4,#0x148] .text:10002274 MOV R2, #0x8000 .text:10002278 MOV R0, #1 .text:1000227C STR R2, [R3,#0x1C] .text:10002280 LDR R2, [R4,#0x148] .text:10002284 LDR R3, [R2,#0x10] .text:10002288 BIC R3, R3, #0x4000 .text:1000228C STR R3, [R2,#0x10] .text:10002290 LDR R2, [R4,#0x148] .text:10002294 LDR R3, [R2,#0x10] .text:10002298 ORR R3, R3, #0x8000 .text:1000229C STR R3, [R2,#0x10] .text:100022A0 LDR R2, [R4,#0x148] .text:100022A4 LDR R3, [R2,#0x5C] .text:100022A8 ORR R3, R3, #0x60000000 .text:100022AC STR R3, [R2,#0x5C] .text:100022B0 LDR R2, [R4,#0x154] .text:100022B4 LDR R3, [R2,#0x80]! .text:100022B8 BIC R3, R3, #0x70 .text:100022BC STR R3, [R2] .text:100022C0 LDR R2, [R4,#0x14C] .text:100022C4 LDR R3, [R2,#4] .text:100022C8 ORR R3, R3, #0x20 .text:100022CC STR R3, [R2,#4] .text:100022D0 LDMFD SP!, {R4,LR} .text:100022D4 BX LR .text:100022D8 ; --------------------------------------------------------------------------- .text:100022D8 .text:100022D8 loc_100022D8 ; CODE XREF: sub_10002228+34j .text:100022D8 ; sub_10002228+44j .text:100022D8 MOV R0, #0 .text:100022DC LDMFD SP!, {R4,LR} .text:100022E0 BX LR .text:100022E0 ; End of function sub_10002228 .text:100022E0 .text:100022E4 .text:100022E4 ; =============== S U B R O U T I N E ======================================= .text:100022E4 .text:100022E4 .text:100022E4 sub_100022E4 ; DATA XREF: .text:1000121Co .text:100022E4 ; .pdata:1000B0E8o .text:100022E4 .text:100022E4 var_4 = -4 .text:100022E4 arg_4 = 4 .text:100022E4 .text:100022E4 STR LR, [SP,#var_4]! .text:100022E8 LDR R3, [R0,#0x148] .text:100022EC MOV R2, #0x8000 .text:100022F0 STR R2, [R3,#0x1C] .text:100022F4 LDR R2, [R0,#0x148] .text:100022F8 LDR R3, [R2,#0x10] .text:100022FC BIC R3, R3, #0x4000 .text:10002300 STR R3, [R2,#0x10] .text:10002304 LDR R2, [R0,#0x148] .text:10002308 LDR R3, [R2,#0x10] .text:1000230C ORR R3, R3, #0x8000 .text:10002310 STR R3, [R2,#0x10] .text:10002314 LDR R2, [R0,#0x148] .text:10002318 LDR R3, [R2,#0x5C] .text:1000231C ORR R3, R3, #0x60000000 .text:10002320 STR R3, [R2,#0x5C] .text:10002324 LDR R2, [R0,#0x154] .text:10002328 LDR R3, [R2,#0x80]! .text:1000232C BIC R3, R3, #0x70 .text:10002330 STR R3, [R2] .text:10002334 LDR R0, [R0,#0x124] .text:10002338 LDR R3, [R0] .text:1000233C LDR R3, [R3,#0x54] .text:10002340 MOV LR, PC .text:10002344 BX R3 .text:10002348 LDR LR, [SP],#arg_4 .text:1000234C BX LR .text:1000234C ; End of function sub_100022E4 .text:1000234C .text:10002350 .text:10002350 ; =============== S U B R O U T I N E ======================================= .text:10002350 .text:10002350 .text:10002350 EXPORT start .text:10002350 start ; DATA XREF: .pdata:1000B0F0o .text:10002350 .text:10002350 var_4 = -4 .text:10002350 arg_4 = 4 .text:10002350 .text:10002350 STR LR, [SP,#var_4]! .text:10002354 CMP R1, #1 .text:10002358 BLEQ DisableThreadLibraryCalls .text:1000235C MOV R0, #1 .text:10002360 LDR LR, [SP],#arg_4 .text:10002364 BX LR .text:10002364 ; End of function start .text:10002364 .text:10002368 .text:10002368 ; =============== S U B R O U T I N E ======================================= .text:10002368 .text:10002368 .text:10002368 sub_10002368 ; CODE XREF: sub_1000239C+E0p .text:10002368 ; DATA XREF: .pdata:1000B0F8o .text:10002368 STMFD SP!, {R4,LR} .text:1000236C MOV R4, R0 .text:10002370 MOVL R0, 0x40A00000 .text:10002378 MOV R1, #0 .text:1000237C MOV R3, #0 .text:10002380 MOV R2, #0xE0 .text:10002384 BL CEDDK_8 .text:10002388 CMP R0, #0 .text:1000238C MOVNE R1, R4 .text:10002390 BLNE sub_100089D4 .text:10002394 LDMFD SP!, {R4,LR} .text:10002398 BX LR .text:10002398 ; End of function sub_10002368 .text:10002398 .text:1000239C .text:1000239C ; =============== S U B R O U T I N E ======================================= .text:1000239C .text:1000239C .text:1000239C sub_1000239C ; CODE XREF: COM_Close+134p .text:1000239C ; COM_PowerUp+30p ... .text:1000239C STMFD SP!, {R4,R5,LR} .text:100023A0 MOV R4, R0 .text:100023A4 MOVL R0, 0x40E00000 .text:100023AC MOV R1, #0 .text:100023B0 MOV R3, #0 .text:100023B4 MOV R2, #0x14C .text:100023B8 BL CEDDK_8 .text:100023BC MOV R5, R0 .text:100023C0 CMP R4, #0 .text:100023C4 BEQ loc_10002498 .text:100023C8 LDR R4, =unk_1000A5AC .text:100023CC LDR R3, [R4] .text:100023D0 CMP R3, #0 .text:100023D4 BNE loc_10002550 .text:100023D8 LDR R2, [R5,#0x58] ; GAFR0_U -> GPIO16 = alt0,GPIO17 = alt0,GPIO18 = alt0,GPIO19 = alt0,GPIO20 = alt0,GPIO21 = alt0,GPIO22 = alt0,GPIO24 = alt0,GPIO25 = alt0,GPIO28 = alt0,GPIO29 = alt0,GPIO30 = alt0,GPIO31 = alt0 .text:100023DC LDR R3, =0xFF0F3FFF .text:100023E0 MOV R0, #0xC8 .text:100023E4 AND R3, R2, R3 .text:100023E8 STR R3, [R5,#0x58] .text:100023EC LDR R3, [R5,#0x6C] .text:100023F0 BIC R3, R3, #0xF00000 .text:100023F4 STR R3, [R5,#0x6C] ; GAFR3_L -> GPIO106 = alt0,GPIO107 = alt0 (GPS_UNKNOWN2, GPS_UNKNOWN3) .text:100023F8 LDR R3, [R5,#0x5C] .text:100023FC BIC R3, R3, #0xF0000000 .text:10002400 STR R3, [R5,#0x5C] ; GAFR1_L -> GPIO46 = alt0,GPIO47 = alt0 (GPS_RXD, GPS_TXD) .text:10002404 LDR R3, [R5,#0x5C] .text:10002408 ORR R3, R3, #0x60000000 .text:1000240C STR R3, [R5,#0x5C] ; Idem .text:10002410 LDR R3, [R5,#0xC] .text:10002414 ORR R3, R3, #0x800000 .text:10002418 STR R3, [R5,#0xC] ; GPDR0 -> GPIO23 (GPS_UNKNOWN1) is out .text:1000241C LDR R3, [R5,#0xC] .text:10002420 ORR R3, R3, #0xC000000 .text:10002424 STR R3, [R5,#0xC] ; GPDR0 -> GPIO26,GPIO27 (GPS_ON, GPS_RESET) are out .text:10002428 LDR R3, [R5,#0x10C] .text:1000242C ORR R3, R3, #0xC00 .text:10002430 STR R3, [R5,#0x10C] ; GPDR3 -> GPIO106,GPIO107 (GPS_UNKNOWN2, GPS_UNKNOWN3) are out .text:10002434 LDR R3, [R5,#0x10] .text:10002438 BIC R3, R3, #0x4000 .text:1000243C STR R3, [R5,#0x10] ; GPDR1 -> GPIO46 is in .text:10002440 LDR R3, [R5,#0x10] .text:10002444 ORR R3, R3, #0x8000 .text:10002448 STR R3, [R5,#0x10] ; GPDR1 -> GPIO47 is out .text:1000244C LDR R3, [R5,#0x18] .text:10002450 ORR R3, R3, #0x800000 .text:10002454 STR R3, [R5,#0x18] ; GPSR0 -> GPIO23 = 1 .text:10002458 LDR R3, [R5,#0x18] .text:1000245C ORR R3, R3, #0x4000000 .text:10002460 STR R3, [R5,#0x18] .text:10002464 LDR R3, [R5,#0x124] .text:10002468 ORR R3, R3, #0x400 .text:1000246C STR R3, [R5,#0x124] .text:10002470 LDR R3, [R5,#0x124] .text:10002474 ORR R3, R3, #0x800 .text:10002478 STR R3, [R5,#0x124] .text:1000247C BL sub_10002368 .text:10002480 LDR R3, [R5,#0x18] .text:10002484 MOV R2, #1 .text:10002488 STR R2, [R4] .text:1000248C ORR R3, R3, #0x8000000 .text:10002490 STR R3, [R5,#0x18] .text:10002494 B loc_10002550 .text:10002498 ; --------------------------------------------------------------------------- .text:10002498 .text:10002498 loc_10002498 ; CODE XREF: sub_1000239C+28j .text:10002498 LDR R1, =unk_1000A5AC .text:1000249C LDR R3, [R1] .text:100024A0 CMP R3, #0 .text:100024A4 BEQ loc_10002550 .text:100024A8 LDR R3, [R5,#0x5C] .text:100024AC LDR R2, =0xFF0F3FFF .text:100024B0 BIC R3, R3, #0xC0000000 .text:100024B4 STR R3, [R5,#0x5C] .text:100024B8 LDR R3, [R5,#0x10] .text:100024BC ORR R3, R3, #0x8000 .text:100024C0 STR R3, [R5,#0x10] .text:100024C4 LDR R3, [R5,#0x28] .text:100024C8 ORR R3, R3, #0x8000 .text:100024CC STR R3, [R5,#0x28] .text:100024D0 LDR R3, [R5,#0x58] .text:100024D4 AND R3, R3, R2 .text:100024D8 STR R3, [R5,#0x58] .text:100024DC LDR R3, [R5,#0x6C] .text:100024E0 MOV R2, #0 .text:100024E4 STR R2, [R1] .text:100024E8 BIC R3, R3, #0xF00000 .text:100024EC STR R3, [R5,#0x6C] .text:100024F0 LDR R3, [R5,#0xC] .text:100024F4 ORR R3, R3, #0x800000 .text:100024F8 STR R3, [R5,#0xC] .text:100024FC LDR R3, [R5,#0xC] .text:10002500 ORR R3, R3, #0xC000000 .text:10002504 STR R3, [R5,#0xC] .text:10002508 LDR R3, [R5,#0x10C] .text:1000250C ORR R3, R3, #0xC00 .text:10002510 STR R3, [R5,#0x10C] .text:10002514 LDR R3, [R5,#0x18] .text:10002518 ORR R3, R3, #0x800000 .text:1000251C STR R3, [R5,#0x18] .text:10002520 LDR R3, [R5,#0x24] .text:10002524 ORR R3, R3, #0x4000000 .text:10002528 STR R3, [R5,#0x24] .text:1000252C LDR R3, [R5,#0x24] .text:10002530 ORR R3, R3, #0x8000000 .text:10002534 STR R3, [R5,#0x24] .text:10002538 LDR R3, [R5,#0x124] .text:1000253C ORR R3, R3, #0x400 .text:10002540 STR R3, [R5,#0x124] .text:10002544 LDR R3, [R5,#0x124] .text:10002548 ORR R3, R3, #0x800 .text:1000254C STR R3, [R5,#0x124] .text:10002550 .text:10002550 loc_10002550 ; CODE XREF: sub_1000239C+38j .text:10002550 ; sub_1000239C+F8j ... .text:10002550 MOV R1, #0 .text:10002554 MOV R0, R5 .text:10002558 BL CEDDK_9 .text:1000255C MOV R0, #1 .text:10002560 LDMFD SP!, {R4,R5,LR} .text:10002564 BX LR .text:10002564 ; End of function sub_1000239C .text:10002564 .text:10002564 ; --------------------------------------------------------------------------- .text:10002568 dword_10002568 DCD 0xFF0F3FFF ; DATA XREF: sub_1000239C+40r .text:10002568 ; sub_1000239C+110r .text:1000256C off_1000256C DCD unk_1000A5AC ; DATA XREF: sub_1000239C+2Cr .text:1000256C ; sub_1000239C:loc_10002498r .text:10002570 .text:10002570 ; =============== S U B R O U T I N E ======================================= .text:10002570 .text:10002570 .text:10002570 sub_10002570 ; CODE XREF: COM_IOControl:loc_10003E78p .text:10002570 ; DATA XREF: .pdata:1000B108o .text:10002570 .text:10002570 var_4 = -4 .text:10002570 arg_4 = 4 .text:10002570 .text:10002570 STR LR, [SP,#var_4]! .text:10002574 MOVL R0, 0x40E00000 .text:1000257C MOV R1, #0 .text:10002580 MOV R3, #0 .text:10002584 MOV R2, #0x14C .text:10002588 BL CEDDK_8 .text:1000258C MOV R2, R0 .text:10002590 LDR R3, [R2,#0x6C] .text:10002594 MOV R1, #0 .text:10002598 BIC R3, R3, #0x300000 .text:1000259C STR R3, [R2,#0x6C] .text:100025A0 LDR R3, [R2,#0x10C] .text:100025A4 ORR R3, R3, #0x400 .text:100025A8 STR R3, [R2,#0x10C] .text:100025AC LDR R3, [R2,#0x118] .text:100025B0 ORR R3, R3, #0x400 .text:100025B4 STR R3, [R2,#0x118] .text:100025B8 BL CEDDK_9 .text:100025BC LDR LR, [SP],#arg_4 .text:100025C0 BX LR .text:100025C0 ; End of function sub_10002570 .text:100025C0 .text:100025C4 .text:100025C4 ; =============== S U B R O U T I N E ======================================= .text:100025C4 .text:100025C4 .text:100025C4 sub_100025C4 ; CODE XREF: COM_IOControl:loc_10003E70p .text:100025C4 ; DATA XREF: .pdata:1000B110o .text:100025C4 .text:100025C4 var_4 = -4 .text:100025C4 arg_4 = 4 .text:100025C4 .text:100025C4 STR LR, [SP,#var_4]! .text:100025C8 MOVL R0, 0x40E00000 .text:100025D0 MOV R1, #0 .text:100025D4 MOV R3, #0 .text:100025D8 MOV R2, #0x14C .text:100025DC BL CEDDK_8 .text:100025E0 MOV R2, R0 .text:100025E4 LDR R3, [R2,#0x6C] .text:100025E8 MOV R1, #0 .text:100025EC BIC R3, R3, #0x300000 .text:100025F0 STR R3, [R2,#0x6C] ; GAFR3_L -> GPIO106 = alt0 .text:100025F4 LDR R3, [R2,#0x10C] .text:100025F8 ORR R3, R3, #0x400 .text:100025FC STR R3, [R2,#0x10C] .text:10002600 LDR R3, [R2,#0x124] .text:10002604 ORR R3, R3, #0x400 .text:10002608 STR R3, [R2,#0x124] .text:1000260C BL CEDDK_9 .text:10002610 LDR LR, [SP],#arg_4 .text:10002614 BX LR .text:10002614 ; End of function sub_100025C4 .text:10002614 .text:10002618 .text:10002618 ; =============== S U B R O U T I N E ======================================= .text:10002618 .text:10002618 .text:10002618 sub_10002618 ; CODE XREF: COM_IOControl:loc_10003E68p .text:10002618 ; DATA XREF: .pdata:1000B118o .text:10002618 .text:10002618 var_4 = -4 .text:10002618 arg_4 = 4 .text:10002618 .text:10002618 STR LR, [SP,#var_4]! .text:1000261C MOVL R0, 0x40E00000 .text:10002624 MOV R1, #0 .text:10002628 MOV R3, #0 .text:1000262C MOV R2, #0x14C .text:10002630 BL CEDDK_8 .text:10002634 MOV R2, R0 .text:10002638 LDR R3, [R2,#0x58] .text:1000263C MOV R1, #0 .text:10002640 BIC R3, R3, #0xC00000 .text:10002644 STR R3, [R2,#0x58] .text:10002648 LDR R3, [R2,#0xC] .text:1000264C ORR R3, R3, #0x8000000 .text:10002650 STR R3, [R2,#0xC] .text:10002654 LDR R3, [R2,#0x24] .text:10002658 ORR R3, R3, #0x8000000 .text:1000265C STR R3, [R2,#0x24] .text:10002660 BL CEDDK_9 .text:10002664 LDR LR, [SP],#arg_4 .text:10002668 BX LR .text:10002668 ; End of function sub_10002618 .text:10002668 .text:1000266C .text:1000266C ; =============== S U B R O U T I N E ======================================= .text:1000266C .text:1000266C .text:1000266C sub_1000266C ; CODE XREF: COM_IOControl:loc_10003E60p .text:1000266C ; DATA XREF: .pdata:1000B120o .text:1000266C .text:1000266C var_4 = -4 .text:1000266C arg_4 = 4 .text:1000266C .text:1000266C STR LR, [SP,#var_4]! .text:10002670 MOVL R0, 0x40E00000 .text:10002678 MOV R1, #0 .text:1000267C MOV R3, #0 .text:10002680 MOV R2, #0x14C .text:10002684 BL CEDDK_8 .text:10002688 MOV R2, R0 .text:1000268C LDR R3, [R2,#0x58] .text:10002690 MOV R1, #0 .text:10002694 BIC R3, R3, #0xC00000 .text:10002698 STR R3, [R2,#0x58] .text:1000269C LDR R3, [R2,#0xC] .text:100026A0 ORR R3, R3, #0x8000000 .text:100026A4 STR R3, [R2,#0xC] .text:100026A8 LDR R3, [R2,#0x18] .text:100026AC ORR R3, R3, #0x8000000 .text:100026B0 STR R3, [R2,#0x18] .text:100026B4 BL CEDDK_9 .text:100026B8 LDR LR, [SP],#arg_4 .text:100026BC BX LR .text:100026BC ; End of function sub_1000266C .text:100026BC .text:100026C0 .text:100026C0 ; =============== S U B R O U T I N E ======================================= .text:100026C0 .text:100026C0 .text:100026C0 sub_100026C0 ; CODE XREF: sub_10003EF0+320p .text:100026C0 ; COM_Write+C0p .text:100026C0 ; DATA XREF: ... .text:100026C0 .text:100026C0 var_18 = -0x18 .text:100026C0 .text:100026C0 STMFD SP!, {R4-R7,LR} .text:100026C4 SUB SP, SP, #4 .text:100026C8 MOV R5, R0 .text:100026CC LDR R3, [R5,#0x28] .text:100026D0 LDR R6, [R5,#0x2C] .text:100026D4 ADD R0, R5, #0xD4 .text:100026D8 LDR R4, [R3,#8] .text:100026DC BL EnterCriticalSection .text:100026E0 LDR R3, [R5,#0x90] .text:100026E4 MOV R7, #0 .text:100026E8 CMP R3, #0 .text:100026EC STREQ R7, [R5,#0xD0] .text:100026F0 LDR R3, [R5,#0xD0] .text:100026F4 STREQ R7, [R5,#0xC4] .text:100026F8 STREQ R7, [R5,#0xCC] .text:100026FC STREQ R7, [R5,#0xC8] .text:10002700 CMP R3, #0 .text:10002704 BEQ loc_100027B0 .text:10002708 LDR R2, [R5,#0xCC] .text:1000270C LDR R3, [R5,#0xC8] .text:10002710 SUBS R3, R2, R3 .text:10002714 BEQ loc_100027B0 .text:10002718 LDR R0, [R5,#0xC4] .text:1000271C BL SetProcPermissions .text:10002720 LDR R3, [R5,#0x68] .text:10002724 MOV R7, R0 .text:10002728 AND R3, R3, #0x3000 .text:1000272C CMP R3, #0x3000 .text:10002730 LDREQ R3, [R4,#0x40] .text:10002734 MOVEQ R0, R6 .text:10002738 MOVEQ LR, PC .text:1000273C BXEQ R3 .text:10002740 LDR R3, [R5,#0x94] .text:10002744 LDR R1, [R5,#0xD0] .text:10002748 MOV R0, R6 .text:1000274C TST R3, #4 .text:10002750 LDREQ R2, [R5,#0xCC] .text:10002754 MOVNE R3, #0 .text:10002758 LDREQ R3, [R5,#0xC8] .text:1000275C SUBEQ R3, R2, R3 .text:10002760 STR R3, [SP,#0x18+var_18] .text:10002764 LDR R3, [R5,#0xC8] .text:10002768 LDR R4, [R4,#0x1C] .text:1000276C ADD R2, SP, #0x18+var_18 .text:10002770 ADD R1, R1, R3 .text:10002774 MOV LR, PC .text:10002778 BX R4 .text:1000277C LDR R3, [R5,#0x54] .text:10002780 LDR R2, [R5,#0x5C] .text:10002784 LDR R1, [SP,#0x18+var_18] .text:10002788 LDR R0, [R5,#0xC8] .text:1000278C ADD R3, R3, R1 .text:10002790 ADD R2, R2, R1 .text:10002794 ADD R1, R0, R1 .text:10002798 MOV R0, R7 .text:1000279C STR R1, [R5,#0xC8] .text:100027A0 STR R3, [R5,#0x54] .text:100027A4 STR R2, [R5,#0x5C] .text:100027A8 BL SetProcPermissions .text:100027AC B loc_100027EC .text:100027B0 ; --------------------------------------------------------------------------- .text:100027B0 .text:100027B0 loc_100027B0 ; CODE XREF: sub_100026C0+44j .text:100027B0 ; sub_100026C0+54j .text:100027B0 MOV R3, #0 .text:100027B4 STR R3, [SP,#0x18+var_18] .text:100027B8 LDR R3, [R4,#0x1C] .text:100027BC ADD R2, SP, #0x18+var_18 .text:100027C0 MOV R1, #0 .text:100027C4 MOV R0, R6 .text:100027C8 MOV LR, PC .text:100027CC BX R3 .text:100027D0 LDR R0, [R5,#0x3C] .text:100027D4 MOV R1, #3 .text:100027D8 STR R7, [R5,#0xC4] .text:100027DC STR R7, [R5,#0xD0] .text:100027E0 STR R7, [R5,#0xCC] .text:100027E4 STR R7, [R5,#0xC8] .text:100027E8 BL EventModify .text:100027EC .text:100027EC loc_100027EC ; CODE XREF: sub_100026C0+ECj .text:100027EC ADD R0, R5, #0xD4 .text:100027F0 BL LeaveCriticalSection .text:100027F4 ADD SP, SP, #4 .text:100027F8 LDMFD SP!, {R4-R7,LR} .text:100027FC BX LR .text:100027FC ; End of function sub_100026C0 .text:100027FC .text:10002800 .text:10002800 ; =============== S U B R O U T I N E ======================================= .text:10002800 .text:10002800 .text:10002800 sub_10002800 ; CODE XREF: COM_Close+F0p .text:10002800 ; COM_Deinit+48p .text:10002800 ; DATA XREF: ... .text:10002800 STMFD SP!, {R4,LR} .text:10002804 MOV R4, R0 .text:10002808 LDR R3, [R4,#0x40] .text:1000280C CMP R3, #0 .text:10002810 BEQ loc_10002868 .text:10002814 MOV R0, #0x41 .text:10002818 BL CeGetThreadPriority .text:1000281C MOV R1, R0 .text:10002820 LDR R0, [R4,#0x40] .text:10002824 BL CeSetThreadPriority .text:10002828 LDR R3, [R4,#0x94] .text:1000282C LDR R0, [R4,#0x30] .text:10002830 MOV R1, #3 .text:10002834 ORR R3, R3, #1 .text:10002838 STR R3, [R4,#0x94] .text:1000283C BL EventModify .text:10002840 LDR R0, [R4,#0x38] .text:10002844 MOVL R1, 0xBB8 .text:1000284C BL WaitForSingleObject .text:10002850 MOV R0, #0xA .text:10002854 BL Sleep .text:10002858 LDR R0, [R4,#0x40] .text:1000285C BL CloseHandle .text:10002860 MOV R3, #0 .text:10002864 STR R3, [R4,#0x40] .text:10002868 .text:10002868 loc_10002868 ; CODE XREF: sub_10002800+10j .text:10002868 LDR R3, [R4,#0x28] .text:1000286C CMP R3, #0 .text:10002870 BEQ loc_10002888 .text:10002874 LDR R0, [R3,#4] .text:10002878 BL InterruptDone .text:1000287C LDR R3, [R4,#0x28] .text:10002880 LDR R0, [R3,#4] .text:10002884 BL InterruptDisable .text:10002888 .text:10002888 loc_10002888 ; CODE XREF: sub_10002800+70j .text:10002888 MOV R0, #1 .text:1000288C LDMFD SP!, {R4,LR} .text:10002890 BX LR .text:10002890 ; End of function sub_10002800 .text:10002890 .text:10002894 .text:10002894 ; =============== S U B R O U T I N E ======================================= .text:10002894 .text:10002894 .text:10002894 sub_10002894 ; CODE XREF: COM_IOControl+890p .text:10002894 ; DATA XREF: .pdata:1000B138o .text:10002894 STMFD SP!, {R4-R7,LR} .text:10002898 MOV R6, R2 .text:1000289C MOV R7, R1 .text:100028A0 MOV R4, R0 .text:100028A4 LDR R5, [R4,#0x28] .text:100028A8 LDR R0, [R4,#0x2C] .text:100028AC LDR R3, [R5,#8] .text:100028B0 LDR R3, [R3,#0x6C] .text:100028B4 MOV LR, PC .text:100028B8 BX R3 .text:100028BC CMP R0, #0 .text:100028C0 MOVEQ R0, #0 .text:100028C4 LDMEQFD SP!, {R4-R7,LR} .text:100028C8 BXEQ LR .text:100028CC CMP R6, #0 .text:100028D0 BEQ loc_10002A8C .text:100028D4 ADD R0, R4, #0x60 .text:100028D8 MOV R2, #0x1C .text:100028DC MOV R1, R7 .text:100028E0 BL memcpy .text:100028E4 LDR R3, [R4,#0x68] .text:100028E8 MOV R3, R3,LSL#26 .text:100028EC MOVS R3, R3,LSR#30 .text:100028F0 BNE loc_1000290C .text:100028F4 LDR R3, [R5,#8] .text:100028F8 LDR R0, [R4,#0x2C] .text:100028FC LDR R3, [R3,#0x34] .text:10002900 MOV LR, PC .text:10002904 BX R3 .text:10002908 B loc_10002924 .text:1000290C ; --------------------------------------------------------------------------- .text:1000290C .text:1000290C loc_1000290C ; CODE XREF: sub_10002894+5Cj .text:1000290C CMP R3, #1 .text:10002910 LDREQ R3, [R5,#8] .text:10002914 LDREQ R0, [R4,#0x2C] .text:10002918 LDREQ R3, [R3,#0x38] .text:1000291C MOVEQ LR, PC .text:10002920 BXEQ R3 .text:10002924 .text:10002924 loc_10002924 ; CODE XREF: sub_10002894+74j .text:10002924 LDR R3, [R4,#0x68] .text:10002928 MOV R3, R3,LSL#18 .text:1000292C MOVS R3, R3,LSR#30 .text:10002930 BNE loc_1000294C .text:10002934 LDR R3, [R5,#8] .text:10002938 LDR R0, [R4,#0x2C] .text:1000293C LDR R3, [R3,#0x3C] .text:10002940 MOV LR, PC .text:10002944 BX R3 .text:10002948 B loc_10002964 .text:1000294C ; --------------------------------------------------------------------------- .text:1000294C .text:1000294C loc_1000294C ; CODE XREF: sub_10002894+9Cj .text:1000294C CMP R3, #1 .text:10002950 LDREQ R3, [R5,#8] .text:10002954 LDREQ R0, [R4,#0x2C] .text:10002958 LDREQ R3, [R3,#0x40] .text:1000295C MOVEQ LR, PC .text:10002960 BXEQ R3 .text:10002964 .text:10002964 loc_10002964 ; CODE XREF: sub_10002894+B4j .text:10002964 LDR R3, [R4,#0x68] .text:10002968 AND R3, R3, #0x30 .text:1000296C CMP R3, #0x20 .text:10002970 BNE loc_100029E8 .text:10002974 LDR R0, [R4,#0x94] .text:10002978 TST R0, #0x10 .text:1000297C BNE loc_100029CC .text:10002980 LDR R2, [R4,#0xA0] .text:10002984 LDR R1, [R4,#0x9C] .text:10002988 CMP R2, R1 .text:1000298C LDRCC R3, [R4,#0xA4] .text:10002990 SUBCS R2, R2, R1 .text:10002994 SUBCC R3, R3, R1 .text:10002998 ADDCC R2, R3, R2 .text:1000299C LDR R3, [R4,#0xA4] .text:100029A0 ADD R3, R3, R3,LSL#1 .text:100029A4 CMP R3, R2,LSL#2 .text:100029A8 BCS loc_100029CC .text:100029AC ORR R3, R0, #0x10 .text:100029B0 STR R3, [R4,#0x94] .text:100029B4 LDR R3, [R5,#8] .text:100029B8 LDR R0, [R4,#0x2C] .text:100029BC LDR R3, [R3,#0x34] .text:100029C0 MOV LR, PC .text:100029C4 BX R3 .text:100029C8 B loc_100029E8 .text:100029CC ; --------------------------------------------------------------------------- .text:100029CC .text:100029CC loc_100029CC ; CODE XREF: sub_10002894+E8j .text:100029CC ; sub_10002894+114j .text:100029CC BIC R3, R0, #0x10 .text:100029D0 STR R3, [R4,#0x94] .text:100029D4 LDR R3, [R5,#8] .text:100029D8 LDR R0, [R4,#0x2C] .text:100029DC LDR R3, [R3,#0x38] .text:100029E0 MOV LR, PC .text:100029E4 BX R3 .text:100029E8 .text:100029E8 loc_100029E8 ; CODE XREF: sub_10002894+DCj .text:100029E8 ; sub_10002894+134j .text:100029E8 LDR R3, [R4,#0x68] .text:100029EC AND R3, R3, #0x3000 .text:100029F0 CMP R3, #0x2000 .text:100029F4 BNE loc_10002A6C .text:100029F8 LDR R0, [R4,#0x94] .text:100029FC TST R0, #0x20 .text:10002A00 BEQ loc_10002A50 .text:10002A04 LDR R2, [R4,#0xA0] .text:10002A08 LDR R1, [R4,#0x9C] .text:10002A0C CMP R2, R1 .text:10002A10 LDRCC R3, [R4,#0xA4] .text:10002A14 SUBCS R2, R2, R1 .text:10002A18 SUBCC R3, R3, R1 .text:10002A1C ADDCC R2, R3, R2 .text:10002A20 LDR R3, [R4,#0xA4] .text:10002A24 ADD R3, R3, R3,LSL#1 .text:10002A28 CMP R3, R2,LSL#2 .text:10002A2C BCS loc_10002A50 .text:10002A30 ORR R3, R0, #0x20 .text:10002A34 STR R3, [R4,#0x94] .text:10002A38 LDR R3, [R5,#8] .text:10002A3C LDR R0, [R4,#0x2C] .text:10002A40 LDR R3, [R3,#0x3C] .text:10002A44 MOV LR, PC .text:10002A48 BX R3 .text:10002A4C B loc_10002A6C .text:10002A50 ; --------------------------------------------------------------------------- .text:10002A50 .text:10002A50 loc_10002A50 ; CODE XREF: sub_10002894+16Cj .text:10002A50 ; sub_10002894+198j .text:10002A50 BIC R3, R0, #0x20 .text:10002A54 STR R3, [R4,#0x94] .text:10002A58 LDR R3, [R5,#8] .text:10002A5C LDR R0, [R4,#0x2C] .text:10002A60 LDR R3, [R3,#0x40] .text:10002A64 MOV LR, PC .text:10002A68 BX R3 .text:10002A6C .text:10002A6C loc_10002A6C ; CODE XREF: sub_10002894+160j .text:10002A6C ; sub_10002894+1B8j .text:10002A6C LDR R3, [R4,#0x68] .text:10002A70 TST R3, #0x100 .text:10002A74 TSTEQ R3, #0x200 .text:10002A78 LDREQ R3, [R4,#0x94] .text:10002A7C BICEQ R3, R3, #2 .text:10002A80 LDRNE R3, [R4,#0x94] .text:10002A84 ORRNE R3, R3, #2 .text:10002A88 STR R3, [R4,#0x94] .text:10002A8C .text:10002A8C loc_10002A8C ; CODE XREF: sub_10002894+3Cj .text:10002A8C MOV R0, #1 .text:10002A90 LDMFD SP!, {R4-R7,LR} .text:10002A94 BX LR .text:10002A94 ; End of function sub_10002894 .text:10002A94 .text:10002A98 ; Exported entry 8. COM_PreClose .text:10002A98 .text:10002A98 ; =============== S U B R O U T I N E ======================================= .text:10002A98 .text:10002A98 .text:10002A98 EXPORT COM_PreClose .text:10002A98 COM_PreClose ; CODE XREF: sub_10002CB4:loc_10002CD8p .text:10002A98 ; COM_PreDeinit+48p .text:10002A98 ; DATA XREF: ... .text:10002A98 STMFD SP!, {R4,R5,LR} .text:10002A9C MOV R5, R0 .text:10002AA0 LDR R3, [R5] .text:10002AA4 MOVS R4, R3 .text:10002AA8 BEQ loc_10002B48 .text:10002AAC ADD R0, R4, #0xF0 .text:10002AB0 BL EnterCriticalSection .text:10002AB4 LDR R3, [R5,#4] .text:10002AB8 TST R3, #0x100 .text:10002ABC BNE loc_10002B40 .text:10002AC0 LDR R3, [R4,#0x90] .text:10002AC4 CMP R3, #0 .text:10002AC8 BEQ loc_10002B38 .text:10002ACC ADD R0, R5, #0x20 .text:10002AD0 BL EnterCriticalSection .text:10002AD4 LDR R0, [R5,#0x10] .text:10002AD8 MOV R3, #0 .text:10002ADC MOV R2, #1 .text:10002AE0 MOV R1, #3 .text:10002AE4 STR R3, [R5,#0x14] .text:10002AE8 STR R2, [R5,#0x1C] .text:10002AEC BL EventModify .text:10002AF0 ADD R0, R5, #0x20 .text:10002AF4 BL LeaveCriticalSection .text:10002AF8 LDR R3, [R5,#4] .text:10002AFC TST R3, #0xC0000000 .text:10002B00 BEQ loc_10002B40 .text:10002B04 LDR R3, [R4,#0x94] .text:10002B08 LDR R0, [R4,#0x34] .text:10002B0C MOV R1, #3 .text:10002B10 ORR R3, R3, #0x40 .text:10002B14 STR R3, [R4,#0x94] .text:10002B18 BL EventModify .text:10002B1C LDR R3, [R4,#0x94] .text:10002B20 LDR R0, [R4,#0x3C] .text:10002B24 MOV R1, #3 .text:10002B28 ORR R3, R3, #0x80 .text:10002B2C STR R3, [R4,#0x94] .text:10002B30 BL EventModify .text:10002B34 B loc_10002B40 .text:10002B38 ; --------------------------------------------------------------------------- .text:10002B38 .text:10002B38 loc_10002B38 ; CODE XREF: COM_PreClose+30j .text:10002B38 MOV R0, #6 .text:10002B3C BL SetLastError .text:10002B40 .text:10002B40 loc_10002B40 ; CODE XREF: COM_PreClose+24j .text:10002B40 ; COM_PreClose+68j ... .text:10002B40 ADD R0, R4, #0xF0 .text:10002B44 BL LeaveCriticalSection .text:10002B48 .text:10002B48 loc_10002B48 ; CODE XREF: COM_PreClose+10j .text:10002B48 LDMFD SP!, {R4,R5,LR} .text:10002B4C BX LR .text:10002B4C ; End of function COM_PreClose .text:10002B4C .text:10002B50 ; Exported entry 1. COM_Close .text:10002B50 .text:10002B50 ; =============== S U B R O U T I N E ======================================= .text:10002B50 .text:10002B50 .text:10002B50 EXPORT COM_Close .text:10002B50 COM_Close ; CODE XREF: COM_Deinit+74p .text:10002B50 ; DATA XREF: .pdata:1000B148o .text:10002B50 STMFD SP!, {R4-R7,LR} .text:10002B54 MOV R5, R0 .text:10002B58 LDR R3, [R5] .text:10002B5C MOV R7, #1 .text:10002B60 MOVS R4, R3 .text:10002B64 BNE loc_10002B78 .text:10002B68 MOV R0, #6 .text:10002B6C BL SetLastError .text:10002B70 MOV R7, #0 .text:10002B74 B loc_10002C9C .text:10002B78 ; --------------------------------------------------------------------------- .text:10002B78 .text:10002B78 loc_10002B78 ; CODE XREF: COM_Close+14j .text:10002B78 LDR R6, [R4,#0x28] .text:10002B7C ADD R0, R4, #0xF0 .text:10002B80 BL EnterCriticalSection .text:10002B84 LDR R3, [R5,#4] .text:10002B88 TST R3, #0x100 .text:10002B8C BEQ loc_10002BCC .text:10002B90 .text:10002B90 loc_10002B90 ; CODE XREF: COM_Close+FCj .text:10002B90 ; COM_Close+108j .text:10002B90 LDR R2, [R5,#0x38] .text:10002B94 LDR R3, [R5,#0x34] .text:10002B98 ADD R0, R5, #0x20 .text:10002B9C STR R3, [R2] .text:10002BA0 LDR R2, [R5,#0x34] .text:10002BA4 LDR R3, [R5,#0x38] .text:10002BA8 STR R3, [R2,#4] .text:10002BAC BL DeleteCriticalSection .text:10002BB0 LDR R3, [R5,#0x10] .text:10002BB4 CMP R3, #0 .text:10002BB8 MOVNE R0, R3 .text:10002BBC BLNE CloseHandle .text:10002BC0 MOV R0, R5 .text:10002BC4 BL LocalFree .text:10002BC8 B loc_10002C68 .text:10002BCC ; --------------------------------------------------------------------------- .text:10002BCC .text:10002BCC loc_10002BCC ; CODE XREF: COM_Close+3Cj .text:10002BCC LDR R3, [R4,#0x90] .text:10002BD0 CMP R3, #0 .text:10002BD4 BEQ loc_10002C5C .text:10002BD8 SUB R3, R3, #1 .text:10002BDC STR R3, [R4,#0x90] .text:10002BE0 CMP R6, #0 .text:10002BE4 BEQ loc_10002C0C .text:10002BE8 CMP R3, #0 .text:10002BEC BNE loc_10002C44 .text:10002BF0 LDR R3, [R6] .text:10002BF4 TST R3, #3 .text:10002BF8 LDRNE R3, [R4,#0x40] .text:10002BFC CMPNE R3, #0 .text:10002C00 MOVNE R1, #3 .text:10002C04 MOVNE R0, R3 .text:10002C08 BLNE SetThreadPriority .text:10002C0C .text:10002C0C loc_10002C0C ; CODE XREF: COM_Close+94j .text:10002C0C LDR R3, [R4,#0x90] .text:10002C10 CMP R3, #0 .text:10002C14 BNE loc_10002C44 .text:10002C18 CMP R6, #0 .text:10002C1C LDRNE R3, [R6,#8] .text:10002C20 LDRNE R0, [R4,#0x2C] .text:10002C24 LDRNE R3, [R3,#0x10] .text:10002C28 MOVNE LR, PC .text:10002C2C BXNE R3 .text:10002C30 LDR R3, [R4,#0x28] .text:10002C34 LDR R3, [R3] .text:10002C38 TST R3, #2 .text:10002C3C MOVNE R0, R4 .text:10002C40 BLNE sub_10002800 .text:10002C44 .text:10002C44 loc_10002C44 ; CODE XREF: COM_Close+9Cj .text:10002C44 ; COM_Close+C4j .text:10002C44 LDR R3, [R4,#0x104] .text:10002C48 CMP R5, R3 .text:10002C4C BNE loc_10002B90 .text:10002C50 MOV R3, #0 .text:10002C54 STR R3, [R4,#0x104] .text:10002C58 B loc_10002B90 .text:10002C5C ; --------------------------------------------------------------------------- .text:10002C5C .text:10002C5C loc_10002C5C ; CODE XREF: COM_Close+84j .text:10002C5C MOV R0, #6 .text:10002C60 BL SetLastError .text:10002C64 MOV R7, #0 .text:10002C68 .text:10002C68 loc_10002C68 ; CODE XREF: COM_Close+78j .text:10002C68 ADD R0, R4, #0xF0 .text:10002C6C BL LeaveCriticalSection .text:10002C70 LDR R4, =unk_1000A5B0 .text:10002C74 LDR R3, [R4] .text:10002C78 CMP R3, R5 .text:10002C7C BNE loc_10002C9C .text:10002C80 MOV R0, #0 .text:10002C84 BL sub_1000239C .text:10002C88 LDR R2, =aCig .text:10002C8C LDR R3, =0x67894321 .text:10002C90 MOV R1, #0 .text:10002C94 STR R1, [R4] .text:10002C98 STR R3, [R2] .text:10002C9C .text:10002C9C loc_10002C9C ; CODE XREF: COM_Close+24j .text:10002C9C ; COM_Close+12Cj .text:10002C9C MOV R0, R7 .text:10002CA0 LDMFD SP!, {R4-R7,LR} .text:10002CA4 BX LR .text:10002CA4 ; End of function COM_Close .text:10002CA4 .text:10002CA4 ; --------------------------------------------------------------------------- .text:10002CA8 dword_10002CA8 DCD 0x67894321 ; DATA XREF: COM_Close+13Cr .text:10002CAC off_10002CAC DCD aCig ; DATA XREF: COM_Close+138r .text:10002CAC ; "!Cëg" .text:10002CB0 off_10002CB0 DCD unk_1000A5B0 ; DATA XREF: COM_Close+120r .text:10002CB4 .text:10002CB4 ; =============== S U B R O U T I N E ======================================= .text:10002CB4 .text:10002CB4 .text:10002CB4 sub_10002CB4 ; CODE XREF: COM_IOControl+FCp .text:10002CB4 ; DATA XREF: .pdata:1000B150o .text:10002CB4 .text:10002CB4 var_4 = -4 .text:10002CB4 arg_4 = 4 .text:10002CB4 .text:10002CB4 STR LR, [SP,#var_4]! .text:10002CB8 LDR R3, [R0] .text:10002CBC CMP R3, #0 .text:10002CC0 BNE loc_10002CD8 .text:10002CC4 MOV R0, #6 .text:10002CC8 BL SetLastError .text:10002CCC MOV R0, #0 .text:10002CD0 LDR LR, [SP],#arg_4 .text:10002CD4 BX LR .text:10002CD8 ; --------------------------------------------------------------------------- .text:10002CD8 .text:10002CD8 loc_10002CD8 ; CODE XREF: sub_10002CB4+Cj .text:10002CD8 BL COM_PreClose .text:10002CDC MOV R0, #1 .text:10002CE0 LDR LR, [SP],#arg_4 .text:10002CE4 BX LR .text:10002CE4 ; End of function sub_10002CB4 .text:10002CE4 .text:10002CE8 ; Exported entry 9. COM_PreDeinit .text:10002CE8 .text:10002CE8 ; =============== S U B R O U T I N E ======================================= .text:10002CE8 .text:10002CE8 .text:10002CE8 EXPORT COM_PreDeinit .text:10002CE8 COM_PreDeinit ; DATA XREF: .pdata:1000B158o .text:10002CE8 STMFD SP!, {R4-R6,LR} .text:10002CEC MOVS R4, R0 .text:10002CF0 BNE loc_10002D08 .text:10002CF4 MOV R0, #6 .text:10002CF8 BL SetLastError .text:10002CFC MOV R0, #0 .text:10002D00 LDMFD SP!, {R4-R6,LR} .text:10002D04 BX LR .text:10002D08 ; --------------------------------------------------------------------------- .text:10002D08 .text:10002D08 loc_10002D08 ; CODE XREF: COM_PreDeinit+8j .text:10002D08 LDR R3, [R4,#0x90] .text:10002D0C CMP R3, #0 .text:10002D10 BEQ loc_10002D44 .text:10002D14 ADD R6, R4, #0xF0 .text:10002D18 MOV R0, R6 .text:10002D1C BL EnterCriticalSection .text:10002D20 LDR R5, [R4,#0xE8]! .text:10002D24 B loc_10002D34 .text:10002D28 ; --------------------------------------------------------------------------- .text:10002D28 .text:10002D28 loc_10002D28 ; CODE XREF: COM_PreDeinit+50j .text:10002D28 SUB R0, R5, #0x34 .text:10002D2C LDR R5, [R5] .text:10002D30 BL COM_PreClose .text:10002D34 .text:10002D34 loc_10002D34 ; CODE XREF: COM_PreDeinit+3Cj .text:10002D34 CMP R5, R4 .text:10002D38 BNE loc_10002D28 .text:10002D3C MOV R0, R6 .text:10002D40 BL LeaveCriticalSection .text:10002D44 .text:10002D44 loc_10002D44 ; CODE XREF: COM_PreDeinit+28j .text:10002D44 MOV R0, #1 .text:10002D48 LDMFD SP!, {R4-R6,LR} .text:10002D4C BX LR .text:10002D4C ; End of function COM_PreDeinit .text:10002D4C .text:10002D50 ; Exported entry 2. COM_Deinit .text:10002D50 .text:10002D50 ; =============== S U B R O U T I N E ======================================= .text:10002D50 .text:10002D50 .text:10002D50 EXPORT COM_Deinit .text:10002D50 COM_Deinit ; CODE XREF: COM_Init+26Cp .text:10002D50 ; DATA XREF: .pdata:1000B160o .text:10002D50 STMFD SP!, {R4-R6,LR} .text:10002D54 MOVS R4, R0 .text:10002D58 BNE loc_10002D70 .text:10002D5C MOV R0, #6 .text:10002D60 BL SetLastError .text:10002D64 MOV R0, #0 .text:10002D68 LDMFD SP!, {R4-R6,LR} .text:10002D6C BX LR .text:10002D70 ; --------------------------------------------------------------------------- .text:10002D70 .text:10002D70 loc_10002D70 ; CODE XREF: COM_Deinit+8j .text:10002D70 LDR R2, =unk_1000A5B0 .text:10002D74 LDR R3, [R2,#4] .text:10002D78 CMP R3, R4 .text:10002D7C MOVEQ R3, #0 .text:10002D80 MOVEQ R1, #0 .text:10002D84 STMEQIA R2, {R1,R3} .text:10002D88 LDR R3, [R4,#0x28] .text:10002D8C LDR R3, [R3] .text:10002D90 TST R3, #3 .text:10002D94 MOVNE R0, R4 .text:10002D98 BLNE sub_10002800 .text:10002D9C ADD R0, R4, #0xF0 .text:10002DA0 BL EnterCriticalSection .text:10002DA4 LDR R3, [R4,#0x90] .text:10002DA8 CMP R3, #0 .text:10002DAC BEQ loc_10002DD0 .text:10002DB0 MOV R6, R4 .text:10002DB4 LDR R5, [R6,#0xE8]! .text:10002DB8 B loc_10002DC8 .text:10002DBC ; --------------------------------------------------------------------------- .text:10002DBC .text:10002DBC loc_10002DBC ; CODE XREF: COM_Deinit+7Cj .text:10002DBC SUB R0, R5, #0x34 .text:10002DC0 LDR R5, [R5] .text:10002DC4 BL COM_Close .text:10002DC8 .text:10002DC8 loc_10002DC8 ; CODE XREF: COM_Deinit+68j .text:10002DC8 CMP R5, R6 .text:10002DCC BNE loc_10002DBC .text:10002DD0 .text:10002DD0 loc_10002DD0 ; CODE XREF: COM_Deinit+5Cj .text:10002DD0 ADD R0, R4, #0xF0 .text:10002DD4 BL LeaveCriticalSection .text:10002DD8 LDR R3, [R4,#0x30] .text:10002DDC CMP R3, #0 .text:10002DE0 MOVNE R0, R3 .text:10002DE4 BLNE CloseHandle .text:10002DE8 LDR R3, [R4,#0x38] .text:10002DEC CMP R3, #0 .text:10002DF0 MOVNE R0, R3 .text:10002DF4 BLNE CloseHandle .text:10002DF8 LDR R3, [R4,#0x3C] .text:10002DFC CMP R3, #0 .text:10002E00 MOVNE R0, R3 .text:10002E04 BLNE CloseHandle .text:10002E08 LDR R3, [R4,#0x34] .text:10002E0C CMP R3, #0 .text:10002E10 MOVNE R0, R3 .text:10002E14 BLNE CloseHandle .text:10002E18 ADD R0, R4, #0x14 .text:10002E1C BL DeleteCriticalSection .text:10002E20 MOV R0, R4 .text:10002E24 BL DeleteCriticalSection .text:10002E28 ADD R0, R4, #0xB0 .text:10002E2C BL DeleteCriticalSection .text:10002E30 ADD R0, R4, #0xD4 .text:10002E34 BL DeleteCriticalSection .text:10002E38 ADD R0, R4, #0xF0 .text:10002E3C BL DeleteCriticalSection .text:10002E40 LDR R3, [R4,#0xAC] .text:10002E44 CMP R3, #0 .text:10002E48 MOVNE R0, R3 .text:10002E4C BLNE LocalFree .text:10002E50 LDR R3, [R4,#0x2C] .text:10002E54 MOVS R0, R3 .text:10002E58 BEQ loc_10002E78 .text:10002E5C LDR R3, [R4,#0x28] .text:10002E60 CMP R3, #0 .text:10002E64 LDRNE R3, [R3,#8] .text:10002E68 CMPNE R3, #0 .text:10002E6C LDRNE R3, [R3,#8] .text:10002E70 MOVNE LR, PC .text:10002E74 BXNE R3 .text:10002E78 .text:10002E78 loc_10002E78 ; CODE XREF: COM_Deinit+108j .text:10002E78 MOV R0, R4 .text:10002E7C BL LocalFree .text:10002E80 MOV R0, #1 .text:10002E84 LDMFD SP!, {R4-R6,LR} .text:10002E88 BX LR .text:10002E88 ; End of function COM_Deinit .text:10002E88 .text:10002E88 ; --------------------------------------------------------------------------- .text:10002E8C off_10002E8C DCD unk_1000A5B0 ; DATA XREF: COM_Deinit:loc_10002D70r .text:10002E90 ; Exported entry 10. COM_Read .text:10002E90 .text:10002E90 ; =============== S U B R O U T I N E ======================================= .text:10002E90 .text:10002E90 .text:10002E90 EXPORT COM_Read .text:10002E90 COM_Read ; DATA XREF: .pdata:1000B168o .text:10002E90 .text:10002E90 var_34 = -0x34 .text:10002E90 var_30 = -0x30 .text:10002E90 var_2C = -0x2C .text:10002E90 var_28 = -0x28 .text:10002E90 .text:10002E90 STMFD SP!, {R4-R11,LR} .text:10002E94 SUB SP, SP, #0x10 .text:10002E98 MOV R7, R1 .text:10002E9C STR R7, [SP,#0x34+var_30] .text:10002EA0 MOV R9, R2 .text:10002EA4 MOVS R10, R0 .text:10002EA8 MOV R5, #0 .text:10002EAC STR R5, [SP,#0x34+var_34] .text:10002EB0 MOV R6, #0 .text:10002EB4 BEQ loc_100031FC .text:10002EB8 LDR R3, [R10] .text:10002EBC MOVS R4, R3 .text:10002EC0 BEQ loc_100031FC .text:10002EC4 LDR R3, [R4,#0x90] .text:10002EC8 CMP R3, #0 .text:10002ECC BEQ loc_100031FC .text:10002ED0 LDR R3, [R4,#0x28] .text:10002ED4 LDR R2, [R10,#4] .text:10002ED8 LDR R1, [R4,#0x2C] .text:10002EDC LDR R3, [R3,#8] .text:10002EE0 TST R2, #0x80000000 .text:10002EE4 STR R1, [SP,#0x34+var_28] .text:10002EE8 STR R3, [SP,#0x34+var_2C] .text:10002EEC MOVEQ R0, #0xC .text:10002EF0 BEQ loc_10003200 .text:10002EF4 CMP R7, #0 .text:10002EF8 BEQ loc_100031F4 .text:10002EFC CMP R9, #0 .text:10002F00 BEQ loc_100031F4 .text:10002F04 ADD R0, R10, #0xC .text:10002F08 BL InterlockedIncrement .text:10002F0C ADD R0, R4, #0x14 .text:10002F10 BL EnterCriticalSection .text:10002F14 LDR R3, [R4,#0x94] .text:10002F18 LDR R1, [R4,#0x80] .text:10002F1C LDR R8, [R4,#0x7C] .text:10002F20 BIC R3, R3, #0x40 .text:10002F24 CMN R1, #1 .text:10002F28 STR R3, [R4,#0x94] .text:10002F2C LDRNE R3, [R4,#0x84] .text:10002F30 MOVNE R2, R1,LSL#3 .text:10002F34 MOVEQ R2, #0 .text:10002F38 MLANE R11, R1, R9, R3 .text:10002F3C MOVL R3, 0xFFFFFFFF .text:10002F40 LDREQ R11, [R4,#0x84] .text:10002F44 RSB R3, R2, R3 .text:10002F48 CMP R8, R3 .text:10002F4C BCS loc_10002F58 .text:10002F50 CMP R8, #0 .text:10002F54 ADDNE R8, R8, R2 .text:10002F58 .text:10002F58 loc_10002F58 ; CODE XREF: COM_Read+BCj .text:10002F58 ; COM_Read+340j .text:10002F58 LDR R2, [R4,#0xA0] .text:10002F5C LDR R1, [R4,#0x9C] .text:10002F60 CMP R2, R1 .text:10002F64 SUBCS R3, R2, R1 .text:10002F68 LDRCC R3, [R4,#0xA4] .text:10002F6C SUBCC R3, R3, R1 .text:10002F70 ADDCC R3, R3, R2 .text:10002F74 CMP R3, #0 .text:10002F78 BEQ loc_10003018 .text:10002F7C ADD R0, R4, #0xB0 .text:10002F80 BL EnterCriticalSection .text:10002F84 LDR R2, [R4,#0xA0] .text:10002F88 LDR R1, [R4,#0x9C] .text:10002F8C LDR R0, [R4,#0xA4] .text:10002F90 CMP R2, R1 .text:10002F94 SUBCS R3, R2, R1 .text:10002F98 LDRCC R3, [R4,#0xA4] .text:10002F9C SUB R5, R0, R1 .text:10002FA0 SUBCC R3, R3, R1 .text:10002FA4 ADDCC R3, R3, R2 .text:10002FA8 CMP R3, R5 .text:10002FAC BCS loc_10002FC0 .text:10002FB0 CMP R2, R1 .text:10002FB4 SUBCC R3, R0, R1 .text:10002FB8 SUBCS R5, R2, R1 .text:10002FBC ADDCC R5, R3, R2 .text:10002FC0 .text:10002FC0 loc_10002FC0 ; CODE XREF: COM_Read+11Cj .text:10002FC0 LDR R3, [R4,#0xAC] .text:10002FC4 CMP R5, R9 .text:10002FC8 MOVCS R5, R9 .text:10002FCC MOV R2, R5 .text:10002FD0 ADD R1, R3, R1 .text:10002FD4 MOV R0, R7 .text:10002FD8 BL COREDLL_2508 .text:10002FDC LDR R2, [R4,#0x9C] .text:10002FE0 LDR R1, [R4,#0xA4] .text:10002FE4 ADD R7, R7, R5 .text:10002FE8 ADD R3, R2, R5 .text:10002FEC CMP R3, R1 .text:10002FF0 SUBCS R3, R2, R1 .text:10002FF4 ADDCS R3, R3, R5 .text:10002FF8 ADD R0, R4, #0xB0 .text:10002FFC STR R3, [R4,#0x9C] .text:10003000 SUB R9, R9, R5 .text:10003004 STR R7, [SP,#0x34+var_30] .text:10003008 ADD R6, R6, R5 .text:1000300C BL LeaveCriticalSection .text:10003010 LDR R5, [SP,#0x34+var_34] .text:10003014 B loc_100030C4 .text:10003018 ; --------------------------------------------------------------------------- .text:10003018 .text:10003018 loc_10003018 ; CODE XREF: COM_Read+E8j .text:10003018 CMN R8, #1 .text:1000301C BNE loc_10003030 .text:10003020 CMP R11, #0 .text:10003024 BEQ loc_100031E0 .text:10003028 CMP R6, #0 .text:1000302C BNE loc_100031E0 .text:10003030 .text:10003030 loc_10003030 ; CODE XREF: COM_Read+18Cj .text:10003030 CMP R11, #0 .text:10003034 MOVNE R3, R11 .text:10003038 MOVLEQ R3, 0xFFFFFFFF .text:1000303C CMP R5, R3 .text:10003040 BCS loc_100031E0 .text:10003044 SUB R5, R3, R5 .text:10003048 CMP R6, #0 .text:1000304C BEQ loc_10003070 .text:10003050 CMP R8, #0 .text:10003054 MOVNE R3, R8 .text:10003058 MOVLEQ R3, 0xFFFFFFFF .text:1000305C CMP R5, R3 .text:10003060 BCC loc_10003070 .text:10003064 CMP R8, #0 .text:10003068 MOVNE R5, R8 .text:1000306C MVNEQ R5, #0 .text:10003070 .text:10003070 loc_10003070 ; CODE XREF: COM_Read+1BCj .text:10003070 ; COM_Read+1D0j .text:10003070 BL GetTickCount .text:10003074 MOV R7, R0 .text:10003078 LDR R0, [R4,#0x34] .text:1000307C MOV R1, R5 .text:10003080 BL WaitForSingleObject .text:10003084 MOVL R3, 0x102 .text:1000308C CMP R0, R3 .text:10003090 BEQ loc_100031E0 .text:10003094 BL GetTickCount .text:10003098 LDR R5, [SP,#0x34+var_34] .text:1000309C LDR R2, [R4,#0x94] .text:100030A0 SUB R3, R0, R7 .text:100030A4 ADD R5, R5, R3 .text:100030A8 STR R5, [SP,#0x34+var_34] .text:100030AC TST R2, #0x40 .text:100030B0 BNE loc_100031E0 .text:100030B4 LDR R3, [R4,#0x90] .text:100030B8 CMP R3, #0 .text:100030BC BEQ loc_100031D8 .text:100030C0 LDR R7, [SP,#0x34+var_30] .text:100030C4 .text:100030C4 loc_100030C4 ; CODE XREF: COM_Read+184j .text:100030C4 LDR LR, [R4,#0x68] .text:100030C8 TST LR, #0x200 .text:100030CC BEQ loc_1000313C .text:100030D0 LDR R0, [R4,#0x94] .text:100030D4 TST R0, #8 .text:100030D8 BEQ loc_1000313C .text:100030DC LDR R2, [R4,#0xA0] .text:100030E0 LDR R1, [R4,#0x9C] .text:100030E4 CMP R2, R1 .text:100030E8 LDRCC R3, [R4,#0xA4] .text:100030EC SUBCS R1, R2, R1 .text:100030F0 SUBCC R3, R3, R1 .text:100030F4 ADDCC R1, R3, R2 .text:100030F8 LDR R3, [R4,#0xA4] .text:100030FC LDRH R2, [R4,#0x70] .text:10003100 SUB R3, R3, R1 .text:10003104 CMP R2, R3 .text:10003108 BCS loc_1000313C .text:1000310C BIC R3, R0, #8 .text:10003110 LDR R2, [R4,#0x28] .text:10003114 TST LR, #0x80 .text:10003118 STR R3, [R4,#0x94] .text:1000311C BICEQ R3, R3, #4 .text:10003120 STREQ R3, [R4,#0x94] .text:10003124 LDR R3, [R2,#8] .text:10003128 LDRB R1, [R4,#0x75] .text:1000312C LDR R0, [R4,#0x2C] .text:10003130 LDR R3, [R3,#0x54] .text:10003134 MOV LR, PC .text:10003138 BX R3 .text:1000313C .text:1000313C loc_1000313C ; CODE XREF: COM_Read+23Cj .text:1000313C ; COM_Read+248j ... .text:1000313C LDR R2, [R4,#0xA0] .text:10003140 LDR R1, [R4,#0x9C] .text:10003144 CMP R2, R1 .text:10003148 LDRCC R3, [R4,#0xA4] .text:1000314C SUBCS R2, R2, R1 .text:10003150 SUBCC R3, R3, R1 .text:10003154 ADDCC R2, R3, R2 .text:10003158 LDR R3, [R4,#0xA4] .text:1000315C CMP R3, R2,LSL#1 .text:10003160 BLS loc_100031CC .text:10003164 LDR R2, [R4,#0x94] .text:10003168 TST R2, #0x20 .text:1000316C BEQ loc_10003198 .text:10003170 LDR R3, [R4,#0x68] .text:10003174 AND R3, R3, #0x3000 .text:10003178 CMP R3, #0x2000 .text:1000317C BICEQ R3, R2, #0x20 .text:10003180 STREQ R3, [R4,#0x94] .text:10003184 LDREQ R3, [SP,#0x34+var_2C] .text:10003188 LDREQ R0, [SP,#0x34+var_28] .text:1000318C LDREQ R3, [R3,#0x40] .text:10003190 MOVEQ LR, PC .text:10003194 BXEQ R3 .text:10003198 .text:10003198 loc_10003198 ; CODE XREF: COM_Read+2DCj .text:10003198 LDR R2, [R4,#0x94] .text:1000319C TST R2, #0x10 .text:100031A0 BEQ loc_100031CC .text:100031A4 LDR R3, [R4,#0x68] .text:100031A8 AND R3, R3, #0x30 .text:100031AC CMP R3, #0x20 .text:100031B0 BICEQ R3, R2, #0x10 .text:100031B4 STREQ R3, [R4,#0x94] .text:100031B8 LDREQ R3, [SP,#0x34+var_2C] .text:100031BC LDREQ R0, [SP,#0x34+var_28] .text:100031C0 LDREQ R3, [R3,#0x38] .text:100031C4 MOVEQ LR, PC .text:100031C8 BXEQ R3 .text:100031CC .text:100031CC loc_100031CC ; CODE XREF: COM_Read+2D0j .text:100031CC ; COM_Read+310j .text:100031CC CMP R9, #0 .text:100031D0 BNE loc_10002F58 .text:100031D4 B loc_100031E0 .text:100031D8 ; --------------------------------------------------------------------------- .text:100031D8 .text:100031D8 loc_100031D8 ; CODE XREF: COM_Read+22Cj .text:100031D8 MOV R0, #6 .text:100031DC BL SetLastError .text:100031E0 .text:100031E0 loc_100031E0 ; CODE XREF: COM_Read+194j .text:100031E0 ; COM_Read+19Cj ... .text:100031E0 ADD R0, R4, #0x14 .text:100031E4 BL LeaveCriticalSection .text:100031E8 ADD R0, R10, #0xC .text:100031EC BL InterlockedDecrement .text:100031F0 B loc_10003208 .text:100031F4 ; --------------------------------------------------------------------------- .text:100031F4 .text:100031F4 loc_100031F4 ; CODE XREF: COM_Read+68j .text:100031F4 ; COM_Read+70j .text:100031F4 MOV R0, #0x57 .text:100031F8 B loc_10003200 .text:100031FC ; --------------------------------------------------------------------------- .text:100031FC .text:100031FC loc_100031FC ; CODE XREF: COM_Read+24j .text:100031FC ; COM_Read+30j ... .text:100031FC MOV R0, #6 .text:10003200 .text:10003200 loc_10003200 ; CODE XREF: COM_Read+60j .text:10003200 ; COM_Read+368j .text:10003200 BL SetLastError .text:10003204 MVN R6, #0 .text:10003208 .text:10003208 loc_10003208 ; CODE XREF: COM_Read+360j .text:10003208 MOV R0, R6 .text:1000320C ADD SP, SP, #0x10 .text:10003210 LDMFD SP!, {R4-R11,LR} .text:10003214 BX LR .text:10003214 ; End of function COM_Read .text:10003214 .text:10003218 ; Exported entry 11. COM_Seek .text:10003218 .text:10003218 ; =============== S U B R O U T I N E ======================================= .text:10003218 .text:10003218 .text:10003218 EXPORT COM_Seek .text:10003218 COM_Seek ; DATA XREF: .pdata:1000B170o .text:10003218 MOVL R0, 0xFFFFFFFF .text:1000321C BX LR .text:1000321C ; End of function COM_Seek .text:1000321C .text:10003220 ; Exported entry 7. COM_PowerUp .text:10003220 .text:10003220 ; =============== S U B R O U T I N E ======================================= .text:10003220 .text:10003220 .text:10003220 EXPORT COM_PowerUp .text:10003220 COM_PowerUp ; DATA XREF: .pdata:1000B178o .text:10003220 STMFD SP!, {R4-R6,LR} .text:10003224 MOV R4, R0 .text:10003228 LDR R3, =unk_1000A5B4 .text:1000322C LDR R3, [R3] .text:10003230 CMP R4, R3 .text:10003234 BNE loc_10003258 .text:10003238 LDR R5, =aCig .text:1000323C LDR R6, =0x12349876 .text:10003240 LDR R3, [R5] .text:10003244 CMP R3, R6 .text:10003248 BNE loc_10003258 .text:1000324C MOV R0, #1 .text:10003250 BL sub_1000239C .text:10003254 STR R6, [R5] .text:10003258 .text:10003258 loc_10003258 ; CODE XREF: COM_PowerUp+14j .text:10003258 ; COM_PowerUp+28j .text:10003258 CMP R4, #0 .text:1000325C BEQ loc_10003288 .text:10003260 LDR R3, [R4,#0x28] .text:10003264 CMP R3, #0 .text:10003268 BEQ loc_10003288 .text:1000326C LDR R3, [R3,#8] .text:10003270 LDR R0, [R4,#0x2C] .text:10003274 LDR R3, [R3,#0x30] .text:10003278 MOV LR, PC .text:1000327C BX R3 .text:10003280 LDMFD SP!, {R4-R6,LR} .text:10003284 BX LR .text:10003288 ; --------------------------------------------------------------------------- .text:10003288 .text:10003288 loc_10003288 ; CODE XREF: COM_PowerUp+3Cj .text:10003288 ; COM_PowerUp+48j .text:10003288 MOV R0, #0 .text:1000328C LDMFD SP!, {R4-R6,LR} .text:10003290 BX LR .text:10003290 ; End of function COM_PowerUp .text:10003290 .text:10003290 ; --------------------------------------------------------------------------- .text:10003294 dword_10003294 DCD 0x12349876 ; DATA XREF: COM_PowerUp+1Cr .text:10003298 off_10003298 DCD aCig ; DATA XREF: COM_PowerUp+18r .text:10003298 ; "!Cëg" .text:1000329C off_1000329C DCD unk_1000A5B4 ; DATA XREF: COM_PowerUp+8r .text:100032A0 ; Exported entry 6. COM_PowerDown .text:100032A0 .text:100032A0 ; =============== S U B R O U T I N E ======================================= .text:100032A0 .text:100032A0 .text:100032A0 EXPORT COM_PowerDown .text:100032A0 COM_PowerDown ; DATA XREF: .pdata:1000B180o .text:100032A0 STMFD SP!, {R4-R6,LR} .text:100032A4 MOV R4, R0 .text:100032A8 LDR R3, =unk_1000A5B4 .text:100032AC LDR R3, [R3] .text:100032B0 CMP R4, R3 .text:100032B4 BNE loc_100032D8 .text:100032B8 LDR R5, =aCig .text:100032BC LDR R6, =0x12349876 .text:100032C0 LDR R3, [R5] .text:100032C4 CMP R3, R6 .text:100032C8 BNE loc_100032D8 .text:100032CC MOV R0, #0 .text:100032D0 BL sub_1000239C .text:100032D4 STR R6, [R5] .text:100032D8 .text:100032D8 loc_100032D8 ; CODE XREF: COM_PowerDown+14j .text:100032D8 ; COM_PowerDown+28j .text:100032D8 CMP R4, #0 .text:100032DC BEQ loc_10003308 .text:100032E0 LDR R3, [R4,#0x28] .text:100032E4 CMP R3, #0 .text:100032E8 BEQ loc_10003308 .text:100032EC LDR R3, [R3,#8] .text:100032F0 LDR R0, [R4,#0x2C] .text:100032F4 LDR R3, [R3,#0x2C] .text:100032F8 MOV LR, PC .text:100032FC BX R3 .text:10003300 LDMFD SP!, {R4-R6,LR} .text:10003304 BX LR .text:10003308 ; --------------------------------------------------------------------------- .text:10003308 .text:10003308 loc_10003308 ; CODE XREF: COM_PowerDown+3Cj .text:10003308 ; COM_PowerDown+48j .text:10003308 MOV R0, #0 .text:1000330C LDMFD SP!, {R4-R6,LR} .text:10003310 BX LR .text:10003310 ; End of function COM_PowerDown .text:10003310 .text:10003310 ; --------------------------------------------------------------------------- .text:10003314 dword_10003314 DCD 0x12349876 ; DATA XREF: COM_PowerDown+1Cr .text:10003318 off_10003318 DCD aCig ; DATA XREF: COM_PowerDown+18r .text:10003318 ; "!Cëg" .text:1000331C off_1000331C DCD unk_1000A5B4 ; DATA XREF: COM_PowerDown+8r .text:10003320 DCD loc_10008BA0 .text:10003324 DCD dword_10008EE8 .text:10003328 .text:10003328 ; =============== S U B R O U T I N E ======================================= .text:10003328 .text:10003328 ; Attributes: bp-based frame .text:10003328 .text:10003328 sub_10003328 ; CODE XREF: COM_IOControl+48Cp .text:10003328 ; DATA XREF: .pdata:1000B188o .text:10003328 .text:10003328 var_24 = -0x24 .text:10003328 oldR4 = -0x1C .text:10003328 oldR5 = -0x18 .text:10003328 oldR6 = -0x14 .text:10003328 oldR7 = -0x10 .text:10003328 oldR11 = -0xC .text:10003328 oldSP = -8 .text:10003328 oldLR = -4 .text:10003328 param_R0 = 0 .text:10003328 param_R1 = 4 .text:10003328 .text:10003328 MOV R12, SP .text:1000332C STMFD SP!, {R0,R1} .text:10003330 STMFD SP!, {R4-R7,R11,R12,LR} .text:10003334 ADD R11, SP, #0x1C .text:10003338 SUB SP, SP, #8 .text:1000333C MOV R5, R1 .text:10003340 STR R5, [R11,#param_R1] .text:10003344 MOV R4, R0 .text:10003348 STR R4, [R11,#param_R0] .text:1000334C LDR R3, [R4] .text:10003350 MOVS R6, R3 .text:10003354 STR R6, [R11,#var_24] .text:10003358 BEQ loc_10003368 .text:1000335C LDR R3, [R6,#0x90] .text:10003360 CMP R3, #0 .text:10003364 BNE loc_10003384 .text:10003368 .text:10003368 loc_10003368 ; CODE XREF: sub_10003328+30j .text:10003368 MOV R0, #6 .text:1000336C .text:1000336C loc_1000336C ; CODE XREF: sub_10003328+68j .text:1000336C MOV R3, #0 .text:10003370 STR R3, [R5] .text:10003374 .text:10003374 loc_10003374 ; CODE XREF: sub_10003328+12Cj .text:10003374 BL SetLastError .text:10003378 MOV R0, #0 .text:1000337C LDMDB R11, {R4-R7,R11,SP,LR} .text:10003380 BX LR .text:10003384 ; --------------------------------------------------------------------------- .text:10003384 .text:10003384 loc_10003384 ; CODE XREF: sub_10003328+3Cj .text:10003384 LDR R3, [R4,#0x14] .text:10003388 CMP R3, #0 .text:1000338C MOVEQ R0, #0x57 .text:10003390 BEQ loc_1000336C .text:10003394 ADD R0, R4, #0xC .text:10003398 BL InterlockedIncrement .text:1000339C MOV R7, #0 .text:100033A0 STR R7, [R4,#0x1C] .text:100033A4 B loc_100033FC .text:100033A8 ; --------------------------------------------------------------------------- .text:100033A8 .text:100033A8 loc_100033A8 ; CODE XREF: sub_10003328+DCj .text:100033A8 ADD R0, R4, #0x20 .text:100033AC BL EnterCriticalSection .text:100033B0 LDR R0, [R4,#0x10] .text:100033B4 MOV R1, #2 .text:100033B8 BL EventModify .text:100033BC MOV R1, #0 .text:100033C0 ADD R0, R4, #0x18 .text:100033C4 BL InterlockedExchange .text:100033C8 LDR R3, [R4,#0x14] .text:100033CC TST R3, R0 .text:100033D0 BNE loc_10003414 .text:100033D4 CMP R3, #0 .text:100033D8 BEQ loc_10003414 .text:100033DC ADD R0, R4, #0x20 .text:100033E0 BL LeaveCriticalSection .text:100033E4 LDR R0, [R4,#0x10] .text:100033E8 MOVL R1, 0xFFFFFFFF .text:100033EC BL WaitForSingleObject .text:100033F0 LDR R3, [R4,#0x1C] .text:100033F4 CMP R3, #0 .text:100033F8 BNE loc_1000340C .text:100033FC .text:100033FC loc_100033FC ; CODE XREF: sub_10003328+7Cj .text:100033FC LDR R3, [R6,#0x90] .text:10003400 CMP R3, #0 .text:10003404 BNE loc_100033A8 .text:10003408 B loc_1000343C .text:1000340C ; --------------------------------------------------------------------------- .text:1000340C .text:1000340C loc_1000340C ; CODE XREF: sub_10003328+D0j .text:1000340C STR R7, [R5] .text:10003410 B loc_1000343C .text:10003414 ; --------------------------------------------------------------------------- .text:10003414 .text:10003414 loc_10003414 ; CODE XREF: sub_10003328+A8j .text:10003414 ; sub_10003328+B0j .text:10003414 ; DATA XREF: ... .text:10003414 LDR R3, [R4,#0x14] .text:10003418 AND R3, R3, R0 .text:1000341C STR R3, [R5] .text:10003420 .text:10003420 loc_10003420 ; DATA XREF: .text:10008EF0o .text:10003420 B loc_10003434 .text:10003424 ; --------------------------------------------------------------------------- .text:10003424 .text:10003424 loc_10003424 ; DATA XREF: .text:10008EF8o .text:10003424 LDR R5, [R11,#param_R1] .text:10003428 LDR R4, [R11,#param_R0] .text:1000342C LDR R6, [R11,#var_24] .text:10003430 MOV R7, #0 .text:10003434 .text:10003434 loc_10003434 ; CODE XREF: sub_10003328:loc_10003420j .text:10003434 ADD R0, R4, #0x20 .text:10003438 BL LeaveCriticalSection .text:1000343C .text:1000343C loc_1000343C ; CODE XREF: sub_10003328+E0j .text:1000343C ; sub_10003328+E8j .text:1000343C ADD R0, R4, #0xC .text:10003440 BL InterlockedDecrement .text:10003444 LDR R3, [R6,#0x90] .text:10003448 CMP R3, #0 .text:1000344C MOVEQ R0, #6 .text:10003450 STREQ R7, [R5] .text:10003454 BEQ loc_10003374 .text:10003458 MOV R0, #1 .text:1000345C LDMDB R11, {R4-R7,R11,SP,LR} .text:10003460 BX LR .text:10003460 ; End of function sub_10003328 .text:10003460 .text:10003464 ; --------------------------------------------------------------------------- .text:10003464 LDR R0, [R11,#-0x20] .text:10003468 LDMDB R11, {R4-R7,R11,SP,LR} .text:1000346C BX LR .text:10003470 .text:10003470 ; =============== S U B R O U T I N E ======================================= .text:10003470 .text:10003470 .text:10003470 sub_10003470 ; DATA XREF: .text:10008EF4o .text:10003470 ; .pdata:1000B190o .text:10003470 MOV R0, #1 .text:10003474 RET .text:10003474 ; End of function sub_10003470 .text:10003474 .text:10003478 .text:10003478 ; =============== S U B R O U T I N E ======================================= .text:10003478 .text:10003478 .text:10003478 sub_10003478 ; CODE XREF: sub_10003EF0+380p .text:10003478 ; COM_Write+128p ... .text:10003478 STMFD SP!, {R4-R9,LR} .text:1000347C MOV R9, R1 .text:10003480 MOV R5, R0 .text:10003484 LDR R3, [R5,#0x90] .text:10003488 CMP R3, #0 .text:1000348C BNE loc_100034A0 .text:10003490 MOV R0, #6 .text:10003494 BL SetLastError .text:10003498 LDMFD SP!, {R4-R9,LR} .text:1000349C BX LR .text:100034A0 ; --------------------------------------------------------------------------- .text:100034A0 .text:100034A0 loc_100034A0 ; CODE XREF: sub_10003478+14j .text:100034A0 LDR R3, [R5,#0x98] .text:100034A4 TST R3, R9 .text:100034A8 BEQ loc_10003510 .text:100034AC LDR R6, [R5,#0xE8]! .text:100034B0 B loc_10003508 .text:100034B4 ; --------------------------------------------------------------------------- .text:100034B4 .text:100034B4 loc_100034B4 ; CODE XREF: sub_10003478+94j .text:100034B4 SUB R7, R6, #0x34 .text:100034B8 LDR R6, [R6] .text:100034BC ADD R0, R7, #0x20 .text:100034C0 BL EnterCriticalSection .text:100034C4 LDR R3, [R7,#0x14] .text:100034C8 TST R3, R9 .text:100034CC BEQ loc_10003500 .text:100034D0 MOV R8, R7 .text:100034D4 LDR R3, [R8,#0x18]! .text:100034D8 .text:100034D8 loc_100034D8 ; CODE XREF: sub_10003478+78j .text:100034D8 ORR R1, R3, R9 .text:100034DC MOV R0, R8 .text:100034E0 MOV R4, R3 .text:100034E4 BL InterlockedExchange .text:100034E8 MOV R3, R0 .text:100034EC CMP R4, R3 .text:100034F0 BNE loc_100034D8 .text:100034F4 LDR R0, [R7,#0x10] .text:100034F8 MOV R1, #3 .text:100034FC BL EventModify .text:10003500 .text:10003500 loc_10003500 ; CODE XREF: sub_10003478+54j .text:10003500 ADD R0, R7, #0x20 .text:10003504 BL LeaveCriticalSection .text:10003508 .text:10003508 loc_10003508 ; CODE XREF: sub_10003478+38j .text:10003508 CMP R6, R5 .text:1000350C BNE loc_100034B4 .text:10003510 .text:10003510 loc_10003510 ; CODE XREF: sub_10003478+30j .text:10003510 LDMFD SP!, {R4-R9,LR} .text:10003514 BX LR .text:10003514 ; End of function sub_10003478 .text:10003514 .text:10003518 ; Exported entry 3. COM_IOControl .text:10003518 .text:10003518 ; =============== S U B R O U T I N E ======================================= .text:10003518 .text:10003518 .text:10003518 EXPORT COM_IOControl .text:10003518 COM_IOControl ; DATA XREF: .pdata:1000B1A0o .text:10003518 .text:10003518 var_30 = -0x30 .text:10003518 var_2C = -0x2C .text:10003518 var_28 = -0x28 .text:10003518 arg_0 = 0 .text:10003518 arg_4 = 4 .text:10003518 arg_8 = 8 .text:10003518 .text:10003518 STMFD SP!, {R4-R11,LR} .text:1000351C SUB SP, SP, #0xC .text:10003520 MOV R10, R3 .text:10003524 MOV R7, R2 .text:10003528 MOV R4, R1 .text:1000352C MOVS R11, R0 .text:10003530 MOV R6, #1 .text:10003534 BEQ loc_10003EC0 .text:10003538 LDR R3, [R11] .text:1000353C MOVS R5, R3 .text:10003540 BEQ loc_10003EC0 .text:10003544 LDR R3, [R5,#0x28] .text:10003548 LDR R2, [R11,#4] .text:1000354C LDR R9, [R5,#0x2C] .text:10003550 LDR R8, [R3,#8] .text:10003554 TST R2, #0x100 .text:10003558 BEQ loc_100035E8 .text:1000355C MOVL R3, 0x321000 .text:10003564 CMP R4, R3 .text:10003568 BEQ loc_1000359C .text:1000356C LDR R3, =0x321004 .text:10003570 CMP R4, R3 .text:10003574 BEQ loc_1000359C .text:10003578 LDR R3, =0x321008 .text:1000357C CMP R4, R3 .text:10003580 BEQ loc_1000359C .text:10003584 LDR R3, =0x32100C .text:10003588 CMP R4, R3 .text:1000358C BEQ loc_1000359C .text:10003590 LDR R3, =0x321018 .text:10003594 CMP R4, R3 .text:10003598 BNE loc_10003EC0 .text:1000359C .text:1000359C loc_1000359C ; CODE XREF: COM_IOControl+50j .text:1000359C ; COM_IOControl+5Cj ... .text:1000359C LDR R3, [R8,#0x74] .text:100035A0 MOVS R5, R3 .text:100035A4 BEQ loc_100035E0 .text:100035A8 LDR R3, [SP,#0x30+arg_8] .text:100035AC LDR R2, [SP,#0x30+arg_4] .text:100035B0 LDR R1, [SP,#0x30+arg_0] .text:100035B4 STR R3, [SP,#0x30+var_28] .text:100035B8 STR R2, [SP,#0x30+var_2C] .text:100035BC STR R1, [SP,#0x30+var_30] .text:100035C0 MOV R3, R10 .text:100035C4 MOV R2, R7 .text:100035C8 MOV R1, R4 .text:100035CC MOV R0, R9 .text:100035D0 MOV LR, PC .text:100035D4 BX R5 .text:100035D8 CMP R0, #0 .text:100035DC BNE loc_10003ECC .text:100035E0 .text:100035E0 loc_100035E0 ; CODE XREF: COM_IOControl+8Cj .text:100035E0 MOV R0, #0x57 .text:100035E4 B loc_10003EC4 .text:100035E8 ; --------------------------------------------------------------------------- .text:100035E8 .text:100035E8 loc_100035E8 ; CODE XREF: COM_IOControl+40j .text:100035E8 LDR R3, [R5,#0x90] .text:100035EC CMP R3, #0 .text:100035F0 BEQ loc_10003EC0 .text:100035F4 LDR R3, =0x10303FF .text:100035F8 CMP R4, R3 .text:100035FC BNE loc_10003620 .text:10003600 LDR R3, [R7] .text:10003604 CMP R3, #0x10 .text:10003608 LDREQ R3, [R7,#4] .text:1000360C CMPEQ R3, #4 .text:10003610 MOVEQ R0, R11 .text:10003614 BLEQ sub_10002CB4 .text:10003618 MOV R6, #1 .text:1000361C B loc_10003ECC .text:10003620 ; --------------------------------------------------------------------------- .text:10003620 .text:10003620 loc_10003620 ; CODE XREF: COM_IOControl+E4j .text:10003620 MOVL R3, 0x1B0024 .text:10003628 CMP R4, R3 .text:1000362C MOV R3, #0x1B0000 .text:10003630 MOV R1, #0x1B0000 .text:10003634 MOV LR, #0x1B0000 .text:10003638 MOV R0, #0x1B0000 .text:1000363C ORR R3, R3, #0x38 .text:10003640 ORR R1, R1, #0x40 .text:10003644 ORR LR, LR, #0x34 .text:10003648 ORR R0, R0, #0x28 .text:1000364C BEQ loc_100036B4 .text:10003650 CMP R4, R0 .text:10003654 BEQ loc_100036B4 .text:10003658 MOVL R0, 0x1B002C .text:10003660 CMP R4, R0 .text:10003664 BEQ loc_100036B4 .text:10003668 CMP R4, LR .text:1000366C BEQ loc_100036B4 .text:10003670 CMP R4, R3 .text:10003674 BEQ loc_100036B4 .text:10003678 CMP R4, R1 .text:1000367C BEQ loc_100036B4 .text:10003680 MOVL R3, 0x321000 .text:10003688 CMP R4, R3 .text:1000368C BEQ loc_100036B4 .text:10003690 LDR R3, =0x32100C .text:10003694 CMP R4, R3 .text:10003698 BEQ loc_100036B4 .text:1000369C LDR R3, =0x321008 .text:100036A0 CMP R4, R3 .text:100036A4 BEQ loc_100036B4 .text:100036A8 TST R2, #0xC0000000 .text:100036AC MOVEQ R0, #0xC .text:100036B0 BEQ loc_10003EC4 .text:100036B4 .text:100036B4 loc_100036B4 ; CODE XREF: COM_IOControl+134j .text:100036B4 ; COM_IOControl+13Cj ... .text:100036B4 ADD R0, R11, #0xC .text:100036B8 BL InterlockedIncrement .text:100036BC MOVL R3, 0x1B0038 .text:100036C4 CMP R4, R3 .text:100036C8 BHI loc_10003ACC .text:100036CC BEQ loc_10003A78 .text:100036D0 MOVL R3, 0x1B001C .text:100036D8 CMP R4, R3 .text:100036DC BHI loc_10003814 .text:100036E0 BEQ loc_100037FC .text:100036E4 MOVL R3, 0x1B0004 .text:100036EC CMP R4, R3 .text:100036F0 BEQ loc_100037E8 .text:100036F4 MOVL R3, 0x1B0008 .text:100036FC CMP R4, R3 .text:10003700 BEQ loc_100037D4 .text:10003704 MOVL R3, 0x1B000C .text:1000370C CMP R4, R3 .text:10003710 BEQ loc_100037B0 .text:10003714 MOVL R3, 0x1B0010 .text:1000371C CMP R4, R3 .text:10003720 BEQ loc_1000378C .text:10003724 MOVL R3, 0x1B0014 .text:1000372C CMP R4, R3 .text:10003730 BEQ loc_10003768 .text:10003734 MOVL R3, 0x1B0018 .text:1000373C CMP R4, R3 .text:10003740 BNE loc_10003E10 .text:10003744 LDR R3, [R5,#0x68] .text:10003748 AND R3, R3, #0x3000 .text:1000374C CMP R3, #0x2000 .text:10003750 BEQ loc_10003E54 .text:10003754 LDR R3, [R8,#0x3C] .text:10003758 MOV R0, R9 .text:1000375C MOV LR, PC .text:10003760 BX R3 .text:10003764 B loc_10003EB4 .text:10003768 ; --------------------------------------------------------------------------- .text:10003768 .text:10003768 loc_10003768 ; CODE XREF: COM_IOControl+218j .text:10003768 LDR R3, [R5,#0x68] .text:1000376C AND R3, R3, #0x3000 .text:10003770 CMP R3, #0x2000 .text:10003774 BEQ loc_10003E54 .text:10003778 LDR R3, [R8,#0x40] .text:1000377C MOV R0, R9 .text:10003780 MOV LR, PC .text:10003784 BX R3 .text:10003788 B loc_10003EB4 .text:1000378C ; --------------------------------------------------------------------------- .text:1000378C .text:1000378C loc_1000378C ; CODE XREF: COM_IOControl+208j .text:1000378C LDR R3, [R5,#0x68] .text:10003790 AND R3, R3, #0x30 .text:10003794 CMP R3, #0x20 .text:10003798 BEQ loc_10003E54 .text:1000379C LDR R3, [R8,#0x34] .text:100037A0 MOV R0, R9 .text:100037A4 MOV LR, PC .text:100037A8 BX R3 .text:100037AC B loc_10003EB4 .text:100037B0 ; --------------------------------------------------------------------------- .text:100037B0 .text:100037B0 loc_100037B0 ; CODE XREF: COM_IOControl+1F8j .text:100037B0 LDR R3, [R5,#0x68] .text:100037B4 AND R3, R3, #0x30 .text:100037B8 CMP R3, #0x20 .text:100037BC BEQ loc_10003E54 .text:100037C0 LDR R3, [R8,#0x38] .text:100037C4 MOV R0, R9 .text:100037C8 MOV LR, PC .text:100037CC BX R3 .text:100037D0 B loc_10003EB4 .text:100037D4 ; --------------------------------------------------------------------------- .text:100037D4 .text:100037D4 loc_100037D4 ; CODE XREF: COM_IOControl+1E8j .text:100037D4 LDR R3, [R8,#0x4C] .text:100037D8 MOV R0, R9 .text:100037DC MOV LR, PC .text:100037E0 BX R3 .text:100037E4 B loc_10003EB4 .text:100037E8 ; --------------------------------------------------------------------------- .text:100037E8 .text:100037E8 loc_100037E8 ; CODE XREF: COM_IOControl+1D8j .text:100037E8 LDR R3, [R8,#0x50] .text:100037EC MOV R0, R9 .text:100037F0 MOV LR, PC .text:100037F4 BX R3 .text:100037F8 B loc_10003EB4 .text:100037FC ; --------------------------------------------------------------------------- .text:100037FC .text:100037FC loc_100037FC ; CODE XREF: COM_IOControl+1C8j .text:100037FC LDR R3, [R5,#0x94] .text:10003800 TST R3, #2 .text:10003804 BEQ loc_10003EB4 .text:10003808 ORR R3, R3, #0xC .text:1000380C STR R3, [R5,#0x94] .text:10003810 B loc_10003EB4 .text:10003814 ; --------------------------------------------------------------------------- .text:10003814 .text:10003814 loc_10003814 ; CODE XREF: COM_IOControl+1C4j .text:10003814 MOVL R3, 0x1B0020 .text:1000381C CMP R4, R3 .text:10003820 BEQ loc_10003A60 .text:10003824 MOVL R3, 0x1B0024 .text:1000382C CMP R4, R3 .text:10003830 BEQ loc_10003A28 .text:10003834 MOVL R3, 0x1B0028 .text:1000383C CMP R4, R3 .text:10003840 BEQ loc_100039BC .text:10003844 MOVL R3, 0x1B002C .text:1000384C CMP R4, R3 .text:10003850 BEQ loc_10003978 .text:10003854 MOVL R3, 0x1B0030 .text:1000385C CMP R4, R3 .text:10003860 BEQ loc_100038BC .text:10003864 MOVL R3, 0x1B0034 .text:1000386C CMP R4, R3 .text:10003870 BNE loc_10003E10 .text:10003874 LDR R3, [SP,#0x30+arg_4] .text:10003878 CMP R3, #4 .text:1000387C BCC loc_10003E54 .text:10003880 LDR R1, [SP,#0x30+arg_0] .text:10003884 CMP R1, #0 .text:10003888 BEQ loc_10003E54 .text:1000388C LDR R4, [SP,#0x30+arg_8] .text:10003890 CMP R4, #0 .text:10003894 BEQ loc_10003E54 .text:10003898 MOV R3, #0 .text:1000389C STR R3, [R1] .text:100038A0 LDR R3, [R8,#0x60] .text:100038A4 MOV R0, R9 .text:100038A8 MOV LR, PC .text:100038AC BX R3 .text:100038B0 MOV R3, #4 .text:100038B4 STR R3, [R4] .text:100038B8 B loc_10003EB4 .text:100038BC ; --------------------------------------------------------------------------- .text:100038BC .text:100038BC loc_100038BC ; CODE XREF: COM_IOControl+348j .text:100038BC LDR R3, [SP,#0x30+arg_4] .text:100038C0 CMP R3, #0x10 .text:100038C4 BCC loc_10003E54 .text:100038C8 LDR R7, [SP,#0x30+arg_0] .text:100038CC CMP R7, #0 .text:100038D0 BEQ loc_10003E54 .text:100038D4 LDR R10, [SP,#0x30+arg_8] .text:100038D8 CMP R10, #0 .text:100038DC BEQ loc_10003E54 .text:100038E0 MOV R3, #0 .text:100038E4 MOV R4, R7 .text:100038E8 STR R3, [R4],#4 .text:100038EC MOV R0, R4 .text:100038F0 MOV R2, #0xC .text:100038F4 MOV R1, #0 .text:100038F8 BL memset .text:100038FC LDR R3, [R8,#0x58] .text:10003900 MOV R1, R4 .text:10003904 MOV R0, R9 .text:10003908 MOV LR, PC .text:1000390C BX R3 .text:10003910 STR R0, [R7] .text:10003914 LDR R2, [R5,#0xA0] .text:10003918 LDR R1, [R5,#0x9C] .text:1000391C MOV R0, #0x10 .text:10003920 CMP R2, R1 .text:10003924 SUBCS R3, R2, R1 .text:10003928 LDRCC R3, [R5,#0xA4] .text:1000392C SUBCC R3, R3, R1 .text:10003930 ADDCC R3, R3, R2 .text:10003934 STR R3, [R7,#8] .text:10003938 LDR R3, [R5,#0x58] .text:1000393C LDR R2, [R7,#4] .text:10003940 STR R3, [R7,#0xC] .text:10003944 LDR R3, [R5,#0x94] .text:10003948 MOV R1, R2 .text:1000394C EOR R3, R2, R3,LSL#1 .text:10003950 AND R3, R3, #8 .text:10003954 EOR R2, R3, R1 .text:10003958 STR R2, [R7,#4] .text:1000395C LDR R3, [R5,#0x94] .text:10003960 EOR R3, R2, R3,LSL#1 .text:10003964 AND R3, R3, #0x10 .text:10003968 EOR R3, R3, R2 .text:1000396C STR R3, [R7,#4] .text:10003970 STR R0, [R10] .text:10003974 B loc_10003EB4 .text:10003978 ; --------------------------------------------------------------------------- .text:10003978 .text:10003978 loc_10003978 ; CODE XREF: COM_IOControl+338j .text:10003978 LDR R3, [SP,#0x30+arg_4] .text:1000397C CMP R3, #4 .text:10003980 BCC loc_10003E54 .text:10003984 LDR R1, [SP,#0x30+arg_0] .text:10003988 CMP R1, #0 .text:1000398C BEQ loc_10003E54 .text:10003990 LDR R4, [SP,#0x30+arg_8] .text:10003994 CMP R4, #0 .text:10003998 BEQ loc_10003E54 .text:1000399C MOV R2, #0 .text:100039A0 MOV R0, R11 .text:100039A4 BL sub_10003328 .text:100039A8 CMP R0, #0 .text:100039AC MOV R3, #4 .text:100039B0 MOVEQ R6, #0 .text:100039B4 STR R3, [R4] .text:100039B8 B loc_10003EB4 .text:100039BC ; --------------------------------------------------------------------------- .text:100039BC .text:100039BC loc_100039BC ; CODE XREF: COM_IOControl+328j .text:100039BC CMP R10, #4 .text:100039C0 BCC loc_10003E54 .text:100039C4 CMP R7, #0 .text:100039C8 BEQ loc_10003E54 .text:100039CC ADD R0, R11, #0x20 .text:100039D0 BL EnterCriticalSection .text:100039D4 LDR R3, [R7] .text:100039D8 LDR R0, [R11,#0x10] .text:100039DC MOV R2, #1 .text:100039E0 MOV R1, #3 .text:100039E4 STR R3, [R11,#0x14] .text:100039E8 STR R2, [R11,#0x1C] .text:100039EC BL EventModify .text:100039F0 MOV R0, R5 .text:100039F4 LDR R2, [R0,#0xE8]! .text:100039F8 MOV R1, #0 .text:100039FC B loc_10003A10 .text:10003A00 ; --------------------------------------------------------------------------- .text:10003A00 .text:10003A00 loc_10003A00 ; CODE XREF: COM_IOControl+4FCj .text:10003A00 SUB R3, R2, #0x34 .text:10003A04 LDR R3, [R3,#0x14] .text:10003A08 LDR R2, [R2] .text:10003A0C ORR R1, R3, R1 .text:10003A10 .text:10003A10 loc_10003A10 ; CODE XREF: COM_IOControl+4E4j .text:10003A10 CMP R2, R0 .text:10003A14 BNE loc_10003A00 .text:10003A18 ADD R0, R11, #0x20 .text:10003A1C STR R1, [R5,#0x98] .text:10003A20 BL LeaveCriticalSection .text:10003A24 B loc_10003EB4 .text:10003A28 ; --------------------------------------------------------------------------- .text:10003A28 .text:10003A28 loc_10003A28 ; CODE XREF: COM_IOControl+318j .text:10003A28 LDR R3, [SP,#0x30+arg_4] .text:10003A2C CMP R3, #4 .text:10003A30 BCC loc_10003E54 .text:10003A34 LDR R2, [SP,#0x30+arg_0] .text:10003A38 CMP R2, #0 .text:10003A3C BEQ loc_10003E54 .text:10003A40 LDR R1, [SP,#0x30+arg_8] .text:10003A44 CMP R1, #0 .text:10003A48 BEQ loc_10003E54 .text:10003A4C LDR R3, [R11,#0x14] .text:10003A50 MOV R0, #4 .text:10003A54 STR R3, [R2] .text:10003A58 STR R0, [R1] .text:10003A5C B loc_10003EB4 .text:10003A60 ; --------------------------------------------------------------------------- .text:10003A60 .text:10003A60 loc_10003A60 ; CODE XREF: COM_IOControl+308j .text:10003A60 LDR R3, [R5,#0x94] .text:10003A64 TST R3, #2 .text:10003A68 BEQ loc_10003EB4 .text:10003A6C BIC R3, R3, #0xC .text:10003A70 STR R3, [R5,#0x94] .text:10003A74 B loc_10003EB4 .text:10003A78 ; --------------------------------------------------------------------------- .text:10003A78 .text:10003A78 loc_10003A78 ; CODE XREF: COM_IOControl+1B4j .text:10003A78 LDR R3, [SP,#0x30+arg_4] .text:10003A7C CMP R3, #0x40 .text:10003A80 BCC loc_10003E54 .text:10003A84 LDR R4, [SP,#0x30+arg_0] .text:10003A88 CMP R4, #0 .text:10003A8C BEQ loc_10003E54 .text:10003A90 LDR R5, [SP,#0x30+arg_8] .text:10003A94 CMP R5, #0 .text:10003A98 BEQ loc_10003E54 .text:10003A9C MOV R2, #0x40 .text:10003AA0 MOV R1, #0 .text:10003AA4 MOV R0, R4 .text:10003AA8 BL memset .text:10003AAC LDR R3, [R8,#0x64] .text:10003AB0 MOV R1, R4 .text:10003AB4 MOV R0, R9 .text:10003AB8 MOV LR, PC .text:10003ABC BX R3 .text:10003AC0 MOV R3, #0x40 .text:10003AC4 STR R3, [R5] .text:10003AC8 B loc_10003EB4 .text:10003ACC ; --------------------------------------------------------------------------- .text:10003ACC .text:10003ACC loc_10003ACC ; CODE XREF: COM_IOControl+1B0j .text:10003ACC MOVL R3, 0x1B0054 .text:10003AD4 CMP R4, R3 .text:10003AD8 BHI loc_10003DB0 .text:10003ADC BEQ loc_10003D8C .text:10003AE0 MOVL R3, 0x1B003C .text:10003AE8 CMP R4, R3 .text:10003AEC BEQ loc_10003D3C .text:10003AF0 MOVL R3, 0x1B0040 .text:10003AF8 CMP R4, R3 .text:10003AFC BEQ loc_10003CEC .text:10003B00 MOVL R3, 0x1B0044 .text:10003B08 CMP R4, R3 .text:10003B0C BEQ loc_10003BB4 .text:10003B10 MOVL R3, 0x1B0048 .text:10003B18 CMP R4, R3 .text:10003B1C BEQ loc_10003BA4 .text:10003B20 MOVL R3, 0x1B004C .text:10003B28 CMP R4, R3 .text:10003B2C BEQ loc_10003B7C .text:10003B30 MOVL R3, 0x1B0050 .text:10003B38 CMP R4, R3 .text:10003B3C BNE loc_10003E10 .text:10003B40 LDR R3, [SP,#0x30+arg_4] .text:10003B44 CMP R3, #0x1C .text:10003B48 BCC loc_10003E54 .text:10003B4C LDR R0, [SP,#0x30+arg_0] .text:10003B50 CMP R0, #0 .text:10003B54 BEQ loc_10003E54 .text:10003B58 LDR R4, [SP,#0x30+arg_8] .text:10003B5C CMP R4, #0 .text:10003B60 BEQ loc_10003E54 .text:10003B64 ADD R1, R5, #0x60 .text:10003B68 MOV R2, #0x1C .text:10003B6C BL memcpy .text:10003B70 MOV R3, #0x1C .text:10003B74 STR R3, [R4] .text:10003B78 B loc_10003EB4 .text:10003B7C ; --------------------------------------------------------------------------- .text:10003B7C .text:10003B7C loc_10003B7C ; CODE XREF: COM_IOControl+614j .text:10003B7C CMP R10, #1 .text:10003B80 BCC loc_10003E54 .text:10003B84 CMP R7, #0 .text:10003B88 BEQ loc_10003E54 .text:10003B8C LDRB R1, [R7] .text:10003B90 LDR R3, [R8,#0x54] .text:10003B94 MOV R0, R9 .text:10003B98 MOV LR, PC .text:10003B9C BX R3 .text:10003BA0 B loc_10003EB4 .text:10003BA4 ; --------------------------------------------------------------------------- .text:10003BA4 .text:10003BA4 loc_10003BA4 ; CODE XREF: COM_IOControl+604j .text:10003BA4 CMP R10, #8 .text:10003BA8 BCC loc_10003E54 .text:10003BAC CMP R7, #0 .text:10003BB0 B loc_10003E50 .text:10003BB4 ; --------------------------------------------------------------------------- .text:10003BB4 .text:10003BB4 loc_10003BB4 ; CODE XREF: COM_IOControl+5F4j .text:10003BB4 CMP R10, #4 .text:10003BB8 BCC loc_10003E54 .text:10003BBC CMP R7, #0 .text:10003BC0 BEQ loc_10003E54 .text:10003BC4 LDR R4, [R7] .text:10003BC8 LDR R3, [R8,#0x68] .text:10003BCC MOV R0, R9 .text:10003BD0 MOV R1, R4 .text:10003BD4 MOV LR, PC .text:10003BD8 BX R3 .text:10003BDC TST R4, #8 .text:10003BE0 BEQ loc_10003CAC .text:10003BE4 ADD R0, R5, #0xB0 .text:10003BE8 BL EnterCriticalSection .text:10003BEC LDR R3, [R5,#0xA0] .text:10003BF0 LDR R2, [R5,#0xA4] .text:10003BF4 LDR R0, [R5,#0xAC] .text:10003BF8 MOV R1, #0 .text:10003BFC STR R3, [R5,#0x9C] .text:10003C00 BL memset .text:10003C04 ADD R0, R5, #0xB0 .text:10003C08 BL LeaveCriticalSection .text:10003C0C LDR R2, [R5,#0x68] .text:10003C10 TST R2, #0x200 .text:10003C14 BEQ loc_10003C4C .text:10003C18 LDR R3, [R5,#0x94] .text:10003C1C TST R3, #8 .text:10003C20 BEQ loc_10003C4C .text:10003C24 BIC R3, R3, #8 .text:10003C28 TST R2, #0x80 .text:10003C2C STR R3, [R5,#0x94] .text:10003C30 BICEQ R3, R3, #4 .text:10003C34 LDRB R1, [R5,#0x75] .text:10003C38 LDR R0, [R5,#0x2C] .text:10003C3C STREQ R3, [R5,#0x94] .text:10003C40 LDR R3, [R8,#0x54] .text:10003C44 MOV LR, PC .text:10003C48 BX R3 .text:10003C4C .text:10003C4C loc_10003C4C ; CODE XREF: COM_IOControl+6FCj .text:10003C4C ; COM_IOControl+708j .text:10003C4C LDR R2, [R5,#0x94] .text:10003C50 TST R2, #0x20 .text:10003C54 BEQ loc_10003C7C .text:10003C58 LDR R3, [R5,#0x68] .text:10003C5C AND R3, R3, #0x3000 .text:10003C60 CMP R3, #0x2000 .text:10003C64 BICEQ R3, R2, #0x20 .text:10003C68 LDREQ R0, [R5,#0x2C] .text:10003C6C STREQ R3, [R5,#0x94] .text:10003C70 LDREQ R3, [R8,#0x40] .text:10003C74 MOVEQ LR, PC .text:10003C78 BXEQ R3 .text:10003C7C .text:10003C7C loc_10003C7C ; CODE XREF: COM_IOControl+73Cj .text:10003C7C LDR R2, [R5,#0x94] .text:10003C80 TST R2, #0x10 .text:10003C84 BEQ loc_10003CAC .text:10003C88 LDR R3, [R5,#0x68] .text:10003C8C AND R3, R3, #0x30 .text:10003C90 CMP R3, #0x20 .text:10003C94 BICEQ R3, R2, #0x10 .text:10003C98 STREQ R3, [R5,#0x94] .text:10003C9C LDREQ R3, [R8,#0x38] .text:10003CA0 MOVEQ R0, R9 .text:10003CA4 MOVEQ LR, PC .text:10003CA8 BXEQ R3 .text:10003CAC .text:10003CAC loc_10003CAC ; CODE XREF: COM_IOControl+6C8j .text:10003CAC ; COM_IOControl+76Cj .text:10003CAC TST R4, #2 .text:10003CB0 LDRNE R3, [R5,#0x94] .text:10003CB4 LDRNE R0, [R5,#0x34] .text:10003CB8 MOVNE R1, #1 .text:10003CBC ORRNE R3, R3, #0x40 .text:10003CC0 STRNE R3, [R5,#0x94] .text:10003CC4 BLNE EventModify .text:10003CC8 TST R4, #1 .text:10003CCC BEQ loc_10003EB4 .text:10003CD0 LDR R3, [R5,#0x94] .text:10003CD4 LDR R0, [R5,#0x3C] .text:10003CD8 MOV R1, #3 .text:10003CDC ORR R3, R3, #0x80 .text:10003CE0 STR R3, [R5,#0x94] .text:10003CE4 BL EventModify .text:10003CE8 B loc_10003EB4 .text:10003CEC ; --------------------------------------------------------------------------- .text:10003CEC .text:10003CEC loc_10003CEC ; CODE XREF: COM_IOControl+5E4j .text:10003CEC LDR R3, [SP,#0x30+arg_4] .text:10003CF0 CMP R3, #0x14 .text:10003CF4 BCC loc_10003E54 .text:10003CF8 LDR R4, [SP,#0x30+arg_0] .text:10003CFC CMP R4, #0 .text:10003D00 BEQ loc_10003E54 .text:10003D04 LDR R7, [SP,#0x30+arg_8] .text:10003D08 CMP R7, #0 .text:10003D0C BEQ loc_10003E54 .text:10003D10 MOV R2, #0x14 .text:10003D14 MOV R1, #0 .text:10003D18 MOV R0, R4 .text:10003D1C BL memset .text:10003D20 ADD R1, R5, #0x7C .text:10003D24 MOV R2, #0x14 .text:10003D28 MOV R0, R4 .text:10003D2C BL memcpy .text:10003D30 MOV R3, #0x14 .text:10003D34 STR R3, [R7] .text:10003D38 B loc_10003EB4 .text:10003D3C ; --------------------------------------------------------------------------- .text:10003D3C .text:10003D3C loc_10003D3C ; CODE XREF: COM_IOControl+5D4j .text:10003D3C CMP R10, #0x14 .text:10003D40 BCC loc_10003E54 .text:10003D44 CMP R7, #0 .text:10003D48 BEQ loc_10003E54 .text:10003D4C LDR R3, [R7] .text:10003D50 MOV R1, R7 .text:10003D54 MOV R0, R9 .text:10003D58 STR R3, [R5,#0x7C] .text:10003D5C LDR R3, [R7,#4] .text:10003D60 STR R3, [R5,#0x80] .text:10003D64 LDR R3, [R7,#8] .text:10003D68 STR R3, [R5,#0x84] .text:10003D6C LDR R3, [R7,#0xC] .text:10003D70 STR R3, [R5,#0x88] .text:10003D74 LDR R3, [R7,#0x10] .text:10003D78 STR R3, [R5,#0x8C] .text:10003D7C LDR R3, [R8,#0x70] .text:10003D80 MOV LR, PC .text:10003D84 BX R3 .text:10003D88 B loc_10003EB4 .text:10003D8C ; --------------------------------------------------------------------------- .text:10003D8C .text:10003D8C loc_10003D8C ; CODE XREF: COM_IOControl+5C4j .text:10003D8C CMP R10, #0x1C .text:10003D90 BCC loc_10003E54 .text:10003D94 CMP R7, #0 .text:10003D98 BEQ loc_10003E54 .text:10003D9C MOV R2, #1 .text:10003DA0 MOV R1, R7 .text:10003DA4 MOV R0, R5 .text:10003DA8 BL sub_10002894 .text:10003DAC B loc_10003E4C .text:10003DB0 ; --------------------------------------------------------------------------- .text:10003DB0 .text:10003DB0 loc_10003DB0 ; CODE XREF: COM_IOControl+5C0j .text:10003DB0 MOVL R3, 0x1B0058 .text:10003DB8 CMP R4, R3 .text:10003DBC BEQ loc_10003E94 .text:10003DC0 MOVL R3, 0x1B005C .text:10003DC8 CMP R4, R3 .text:10003DCC BEQ loc_10003E80 .text:10003DD0 MOVL R3, 0x1B0190 .text:10003DD8 CMP R4, R3 .text:10003DDC BEQ loc_10003E78 .text:10003DE0 MOVL R3, 0x1B0194 .text:10003DE8 CMP R4, R3 .text:10003DEC BEQ loc_10003E70 .text:10003DF0 MOVL R3, 0x1B0198 .text:10003DF8 CMP R4, R3 .text:10003DFC BEQ loc_10003E68 .text:10003E00 MOVL R3, 0x1B019C .text:10003E08 CMP R4, R3 .text:10003E0C BEQ loc_10003E60 .text:10003E10 .text:10003E10 loc_10003E10 ; CODE XREF: COM_IOControl+228j .text:10003E10 ; COM_IOControl+358j ... .text:10003E10 LDR R3, [R8,#0x74] .text:10003E14 MOVS R5, R3 .text:10003E18 BEQ loc_10003E54 .text:10003E1C LDR R3, [SP,#0x30+arg_8] .text:10003E20 LDR R2, [SP,#0x30+arg_4] .text:10003E24 LDR R1, [SP,#0x30+arg_0] .text:10003E28 STR R3, [SP,#0x30+var_28] .text:10003E2C STR R2, [SP,#0x30+var_2C] .text:10003E30 STR R1, [SP,#0x30+var_30] .text:10003E34 MOV R3, R10 .text:10003E38 MOV R2, R7 .text:10003E3C MOV R1, R4 .text:10003E40 MOV R0, R9 .text:10003E44 MOV LR, PC .text:10003E48 BX R5 .text:10003E4C .text:10003E4C loc_10003E4C ; CODE XREF: COM_IOControl+894j .text:10003E4C CMP R0, #0 .text:10003E50 .text:10003E50 loc_10003E50 ; CODE XREF: COM_IOControl+698j .text:10003E50 BNE loc_10003EB4 .text:10003E54 .text:10003E54 loc_10003E54 ; CODE XREF: COM_IOControl+238j .text:10003E54 ; COM_IOControl+25Cj ... .text:10003E54 MOV R0, #0x57 .text:10003E58 BL SetLastError .text:10003E5C B loc_10003EB0 .text:10003E60 ; --------------------------------------------------------------------------- .text:10003E60 .text:10003E60 loc_10003E60 ; CODE XREF: COM_IOControl+8F4j .text:10003E60 BL sub_1000266C .text:10003E64 B loc_10003EB4 .text:10003E68 ; --------------------------------------------------------------------------- .text:10003E68 .text:10003E68 loc_10003E68 ; CODE XREF: COM_IOControl+8E4j .text:10003E68 BL sub_10002618 .text:10003E6C B loc_10003EB4 .text:10003E70 ; --------------------------------------------------------------------------- .text:10003E70 .text:10003E70 loc_10003E70 ; CODE XREF: COM_IOControl+8D4j .text:10003E70 BL sub_100025C4 .text:10003E74 B loc_10003EB4 .text:10003E78 ; --------------------------------------------------------------------------- .text:10003E78 .text:10003E78 loc_10003E78 ; CODE XREF: COM_IOControl+8C4j .text:10003E78 BL sub_10002570 .text:10003E7C B loc_10003EB4 .text:10003E80 ; --------------------------------------------------------------------------- .text:10003E80 .text:10003E80 loc_10003E80 ; CODE XREF: COM_IOControl+8B4j .text:10003E80 LDR R3, [R8,#0x48] .text:10003E84 MOV R0, R9 .text:10003E88 MOV LR, PC .text:10003E8C BX R3 .text:10003E90 B loc_10003EB4 .text:10003E94 ; --------------------------------------------------------------------------- .text:10003E94 .text:10003E94 loc_10003E94 ; CODE XREF: COM_IOControl+8A4j .text:10003E94 LDR R1, [R5,#0x64] .text:10003E98 LDR R3, [R8,#0x44] .text:10003E9C MOV R0, R9 .text:10003EA0 MOV LR, PC .text:10003EA4 BX R3 .text:10003EA8 CMP R0, #0 .text:10003EAC BNE loc_10003EB4 .text:10003EB0 .text:10003EB0 loc_10003EB0 ; CODE XREF: COM_IOControl+944j .text:10003EB0 MOV R6, #0 .text:10003EB4 .text:10003EB4 loc_10003EB4 ; CODE XREF: COM_IOControl+24Cj .text:10003EB4 ; COM_IOControl+270j ... .text:10003EB4 ADD R0, R11, #0xC .text:10003EB8 BL InterlockedDecrement .text:10003EBC B loc_10003ECC .text:10003EC0 ; --------------------------------------------------------------------------- .text:10003EC0 .text:10003EC0 loc_10003EC0 ; CODE XREF: COM_IOControl+1Cj .text:10003EC0 ; COM_IOControl+28j ... .text:10003EC0 MOV R0, #6 .text:10003EC4 .text:10003EC4 loc_10003EC4 ; CODE XREF: COM_IOControl+CCj .text:10003EC4 ; COM_IOControl+198j .text:10003EC4 BL SetLastError .text:10003EC8 MOV R6, #0 .text:10003ECC .text:10003ECC loc_10003ECC ; CODE XREF: COM_IOControl+C4j .text:10003ECC ; COM_IOControl+104j ... .text:10003ECC MOV R0, R6 .text:10003ED0 ADD SP, SP, #0xC .text:10003ED4 LDMFD SP!, {R4-R11,LR} .text:10003ED8 BX LR .text:10003ED8 ; End of function COM_IOControl .text:10003ED8 .text:10003ED8 ; --------------------------------------------------------------------------- .text:10003EDC dword_10003EDC DCD 0x321008 ; DATA XREF: COM_IOControl+60r .text:10003EDC ; COM_IOControl+184r .text:10003EE0 dword_10003EE0 DCD 0x32100C ; DATA XREF: COM_IOControl+6Cr .text:10003EE0 ; COM_IOControl+178r .text:10003EE4 dword_10003EE4 DCD 0x10303FF ; DATA XREF: COM_IOControl+DCr .text:10003EE8 dword_10003EE8 DCD 0x321018 ; DATA XREF: COM_IOControl+78r .text:10003EEC dword_10003EEC DCD 0x321004 ; DATA XREF: COM_IOControl+54r .text:10003EF0 .text:10003EF0 ; =============== S U B R O U T I N E ======================================= .text:10003EF0 .text:10003EF0 .text:10003EF0 sub_10003EF0 ; CODE XREF: sub_1000429C+44p .text:10003EF0 ; sub_10007AF8+88p .text:10003EF0 ; DATA XREF: ... .text:10003EF0 .text:10003EF0 var_3C = -0x3C .text:10003EF0 var_34 = -0x34 .text:10003EF0 var_24 = -0x24 .text:10003EF0 .text:10003EF0 STMFD SP!, {R4-R10,LR} .text:10003EF4 SUB SP, SP, #0x1C .text:10003EF8 MOV R5, R0 .text:10003EFC LDR R3, =unk_1000A5A8 .text:10003F00 LDR R3, [R3] .text:10003F04 STR R3, [SP,#0x3C+var_24] .text:10003F08 LDR R3, [R5,#0x28] .text:10003F0C LDR R2, [R5,#0x94] .text:10003F10 MOV R1, #0 .text:10003F14 LDR R6, [R3,#8] .text:10003F18 LDR R7, [R5,#0x2C] .text:10003F1C STR R1, [SP,#0x3C+var_3C] .text:10003F20 MOV R9, #0 .text:10003F24 TST R2, #1 .text:10003F28 BNE loc_10003F38 .text:10003F2C LDR R3, [R5,#0x30] .text:10003F30 CMP R3, #0 .text:10003F34 BNE loc_10003F4C .text:10003F38 .text:10003F38 loc_10003F38 ; CODE XREF: sub_10003EF0+38j .text:10003F38 LDR R0, [R5,#0x38] .text:10003F3C MOV R1, #3 .text:10003F40 BL EventModify .text:10003F44 MOV R0, #0 .text:10003F48 BL ExitThread .text:10003F4C .text:10003F4C loc_10003F4C ; CODE XREF: sub_10003EF0+44j .text:10003F4C LDR R3, [R5,#0x104] .text:10003F50 CMP R3, #0 .text:10003F54 ADDNE R0, R3, #0xC .text:10003F58 BLNE InterlockedIncrement .text:10003F5C LDR R3, [R6,#0x14] .text:10003F60 MOV R0, R7 .text:10003F64 MOV LR, PC .text:10003F68 BX R3 .text:10003F6C MOVS R8, R0 .text:10003F70 BEQ loc_10004274 .text:10003F74 MOV R10, #0x10 .text:10003F78 .text:10003F78 loc_10003F78 ; CODE XREF: sub_10003EF0+360j .text:10003F78 TST R8, #2 .text:10003F7C BEQ loc_10004208 .text:10003F80 LDR R3, [R5,#0x9C] .text:10003F84 LDR R1, [R5,#0xA0] .text:10003F88 MOVS R2, R3 .text:10003F8C LDR R3, [R5,#0xA4] .text:10003F90 SUB R3, R3, R1 .text:10003F94 BEQ loc_10003FA8 .text:10003F98 CMP R2, R1 .text:10003F9C STR R3, [SP,#0x3C+var_3C] .text:10003FA0 BLS loc_10003FB0 .text:10003FA4 SUB R3, R2, R1 .text:10003FA8 .text:10003FA8 loc_10003FA8 ; CODE XREF: sub_10003EF0+A4j .text:10003FA8 SUB R3, R3, #1 .text:10003FAC STR R3, [SP,#0x3C+var_3C] .text:10003FB0 .text:10003FB0 loc_10003FB0 ; CODE XREF: sub_10003EF0+B0j .text:10003FB0 CMP R3, #0 .text:10003FB4 ADD R2, SP, #0x3C+var_3C .text:10003FB8 MOV R0, R7 .text:10003FBC BEQ loc_10003FE8 .text:10003FC0 LDR R3, [R5,#0xAC] .text:10003FC4 LDR R4, [R6,#0x18] .text:10003FC8 ADD R1, R1, R3 .text:10003FCC MOV LR, PC .text:10003FD0 BX R4 .text:10003FD4 LDR R3, [R5,#0x4C] .text:10003FD8 LDR LR, [SP,#0x3C+var_3C] .text:10003FDC ADD R3, R0, R3 .text:10003FE0 STR R3, [R5,#0x4C] .text:10003FE4 B loc_10004014 .text:10003FE8 ; --------------------------------------------------------------------------- .text:10003FE8 .text:10003FE8 loc_10003FE8 ; CODE XREF: sub_10003EF0+CCj .text:10003FE8 STR R10, [SP,#0x3C+var_3C] .text:10003FEC LDR R3, [R6,#0x18] .text:10003FF0 ADD R1, SP, #0x3C+var_34 .text:10003FF4 MOV LR, PC .text:10003FF8 BX R3 .text:10003FFC LDR R2, [R5,#0x48] .text:10004000 LDR R3, [SP,#0x3C+var_3C] .text:10004004 MOV LR, #0 .text:10004008 STR LR, [SP,#0x3C+var_3C] .text:1000400C ADD R3, R2, R3 .text:10004010 STR R3, [R5,#0x48] .text:10004014 .text:10004014 loc_10004014 ; CODE XREF: sub_10003EF0+F4j .text:10004014 LDR R3, [R5,#0x94] .text:10004018 TST R3, #2 .text:1000401C BEQ loc_100040B4 .text:10004020 MOV R4, #0 .text:10004024 CMP LR, #0 .text:10004028 BEQ loc_100040B4 .text:1000402C .text:1000402C loc_1000402C ; CODE XREF: sub_10003EF0+1C0j .text:1000402C LDR R2, [R5,#0xAC] .text:10004030 LDR R3, [R5,#0xA0] .text:10004034 LDRSB R1, [R5,#0x76] .text:10004038 ADD R0, R2, R3 .text:1000403C LDRB R2, [R0,R4]! .text:10004040 CMP R2, R1 .text:10004044 BNE loc_10004070 .text:10004048 LDR R3, [R5,#0x94] .text:1000404C SUB R2, LR, R4 .text:10004050 ADD R1, R0, #1 .text:10004054 ORR R3, R3, #4 .text:10004058 STR R3, [R5,#0x94] .text:1000405C BL memmove .text:10004060 LDR R3, [SP,#0x3C+var_3C] .text:10004064 SUB LR, R3, #1 .text:10004068 STR LR, [SP,#0x3C+var_3C] .text:1000406C B loc_100040AC .text:10004070 ; --------------------------------------------------------------------------- .text:10004070 .text:10004070 loc_10004070 ; CODE XREF: sub_10003EF0+154j .text:10004070 LDRSB R3, [R5,#0x75] .text:10004074 CMP R2, R3 .text:10004078 BNE loc_100040A8 .text:1000407C LDR R3, [R5,#0x94] .text:10004080 SUB R2, LR, R4 .text:10004084 ADD R1, R0, #1 .text:10004088 BIC R3, R3, #4 .text:1000408C STR R3, [R5,#0x94] .text:10004090 BL memmove .text:10004094 LDR R3, [SP,#0x3C+var_3C] .text:10004098 ORR R8, R8, #4 .text:1000409C SUB LR, R3, #1 .text:100040A0 STR LR, [SP,#0x3C+var_3C] .text:100040A4 B loc_100040AC .text:100040A8 ; --------------------------------------------------------------------------- .text:100040A8 .text:100040A8 loc_100040A8 ; CODE XREF: sub_10003EF0+188j .text:100040A8 ADD R4, R4, #1 .text:100040AC .text:100040AC loc_100040AC ; CODE XREF: sub_10003EF0+17Cj .text:100040AC ; sub_10003EF0+1B4j .text:100040AC CMP R4, LR .text:100040B0 BCC loc_1000402C .text:100040B4 .text:100040B4 loc_100040B4 ; CODE XREF: sub_10003EF0+12Cj .text:100040B4 ; sub_10003EF0+138j .text:100040B4 LDR R0, [R5,#0xA0] .text:100040B8 LDR R3, [R5,#0x50] .text:100040BC LDR R1, [R5,#0xA4] .text:100040C0 ADD R2, R0, LR .text:100040C4 ADD R3, R3, LR .text:100040C8 CMP R2, R1 .text:100040CC STR R3, [R5,#0x50] .text:100040D0 SUBCS R3, R0, R1 .text:100040D4 ADDCS R2, R3, LR .text:100040D8 LDR R3, [R5,#0x68] .text:100040DC CMP LR, #0 .text:100040E0 MOVNE R9, #1 .text:100040E4 AND R3, R3, #0x30 .text:100040E8 CMP R3, #0x20 .text:100040EC STR R2, [R5,#0xA0] .text:100040F0 BNE loc_10004134 .text:100040F4 LDR R0, [R5,#0x94] .text:100040F8 TST R0, #0x10 .text:100040FC BNE loc_10004134 .text:10004100 LDR R3, [R5,#0x9C] .text:10004104 CMP R2, R3 .text:10004108 SUBCS R2, R2, R3 .text:1000410C SUBCC R3, R1, R3 .text:10004110 ADDCC R2, R3, R2 .text:10004114 ADD R3, R1, R1,LSL#1 .text:10004118 CMP R3, R2,LSL#2 .text:1000411C ORRCC R3, R0, #0x10 .text:10004120 STRCC R3, [R5,#0x94] .text:10004124 LDRCC R3, [R6,#0x34] .text:10004128 MOVCC R0, R7 .text:1000412C MOVCC LR, PC .text:10004130 BXCC R3 .text:10004134 .text:10004134 loc_10004134 ; CODE XREF: sub_10003EF0+200j .text:10004134 ; sub_10003EF0+20Cj .text:10004134 LDR R3, [R5,#0x68] .text:10004138 AND R3, R3, #0x3000 .text:1000413C CMP R3, #0x2000 .text:10004140 BNE loc_10004190 .text:10004144 LDR R0, [R5,#0x94] .text:10004148 TST R0, #0x20 .text:1000414C BNE loc_10004190 .text:10004150 LDR R2, [R5,#0xA0] .text:10004154 LDR R1, [R5,#0x9C] .text:10004158 CMP R2, R1 .text:1000415C LDRCC R3, [R5,#0xA4] .text:10004160 SUBCS R2, R2, R1 .text:10004164 SUBCC R3, R3, R1 .text:10004168 ADDCC R2, R3, R2 .text:1000416C LDR R3, [R5,#0xA4] .text:10004170 ADD R3, R3, R3,LSL#1 .text:10004174 CMP R3, R2,LSL#2 .text:10004178 ORRCC R3, R0, #0x20 .text:1000417C STRCC R3, [R5,#0x94] .text:10004180 LDRCC R3, [R6,#0x3C] .text:10004184 MOVCC R0, R7 .text:10004188 MOVCC LR, PC .text:1000418C BXCC R3 .text:10004190 .text:10004190 loc_10004190 ; CODE XREF: sub_10003EF0+250j .text:10004190 ; sub_10003EF0+25Cj .text:10004190 LDR R3, [R5,#0x68] .text:10004194 TST R3, #0x200 .text:10004198 BEQ loc_10004208 .text:1000419C LDR R3, [R5,#0x94] .text:100041A0 TST R3, #8 .text:100041A4 BNE loc_10004208 .text:100041A8 LDR R2, [R5,#0xA0] .text:100041AC LDR R1, [R5,#0x9C] .text:100041B0 CMP R2, R1 .text:100041B4 LDRCC R3, [R5,#0xA4] .text:100041B8 SUBCS R1, R2, R1 .text:100041BC SUBCC R3, R3, R1 .text:100041C0 ADDCC R1, R3, R2 .text:100041C4 LDR R3, [R5,#0xA4] .text:100041C8 LDRH R2, [R5,#0x70] .text:100041CC SUB R3, R3, R1 .text:100041D0 CMP R2, R3 .text:100041D4 BCC loc_10004208 .text:100041D8 LDRB R1, [R5,#0x76] .text:100041DC LDR R3, [R6,#0x54] .text:100041E0 MOV R0, R7 .text:100041E4 MOV LR, PC .text:100041E8 BX R3 .text:100041EC LDR R3, [R5,#0x94] .text:100041F0 LDR R2, [R5,#0x68] .text:100041F4 ORR R3, R3, #8 .text:100041F8 TST R2, #0x80 .text:100041FC STR R3, [R5,#0x94] .text:10004200 ORREQ R3, R3, #4 .text:10004204 STREQ R3, [R5,#0x94] .text:10004208 .text:10004208 loc_10004208 ; CODE XREF: sub_10003EF0+8Cj .text:10004208 ; sub_10003EF0+2A8j ... .text:10004208 TST R8, #4 .text:1000420C MOVNE R0, R5 .text:10004210 BLNE sub_100026C0 .text:10004214 TST R8, #8 .text:10004218 LDRNE R3, [R6,#0x20] .text:1000421C MOVNE R0, R7 .text:10004220 MOVNE LR, PC .text:10004224 BXNE R3 .text:10004228 TST R8, #1 .text:1000422C LDRNE R3, [R6,#0x24] .text:10004230 MOVNE R0, R7 .text:10004234 MOVNE LR, PC .text:10004238 BXNE R3 .text:1000423C LDR R3, [R6,#0x14] .text:10004240 MOV R0, R7 .text:10004244 MOV LR, PC .text:10004248 BX R3 .text:1000424C MOVS R8, R0 .text:10004250 BNE loc_10003F78 .text:10004254 CMP R9, #0 .text:10004258 BEQ loc_10004274 .text:1000425C LDR R0, [R5,#0x34] .text:10004260 MOV R1, #3 .text:10004264 BL EventModify .text:10004268 MOV R1, #1 .text:1000426C MOV R0, R5 .text:10004270 BL sub_10003478 .text:10004274 .text:10004274 loc_10004274 ; CODE XREF: sub_10003EF0+80j .text:10004274 ; sub_10003EF0+368j .text:10004274 LDR R3, [R5,#0x104] .text:10004278 CMP R3, #0 .text:1000427C ADDNE R0, R3, #0xC .text:10004280 BLNE InterlockedDecrement .text:10004284 LDR R0, [SP,#0x3C+var_24] .text:10004288 BL sub_10008E20 .text:1000428C ADD SP, SP, #0x1C .text:10004290 LDMFD SP!, {R4-R10,LR} .text:10004294 BX LR .text:10004294 ; End of function sub_10003EF0 .text:10004294 .text:10004294 ; --------------------------------------------------------------------------- .text:10004298 off_10004298 DCD unk_1000A5A8 ; DATA XREF: sub_10003EF0+Cr .text:1000429C .text:1000429C ; =============== S U B R O U T I N E ======================================= .text:1000429C .text:1000429C .text:1000429C sub_1000429C ; DATA XREF: .text:off_10004394o .text:1000429C ; .pdata:1000B1B0o .text:1000429C STMFD SP!, {R4,LR} .text:100042A0 MOV R4, R0 .text:100042A4 LDR R3, [R4,#0x28] .text:100042A8 LDR R3, [R3] .text:100042AC TST R3, #3 .text:100042B0 BEQ loc_100042F0 .text:100042B4 B loc_100042C0 .text:100042B8 ; --------------------------------------------------------------------------- .text:100042B8 .text:100042B8 loc_100042B8 ; CODE XREF: sub_1000429C+2Cj .text:100042B8 MOV R0, #0x14 .text:100042BC BL Sleep .text:100042C0 .text:100042C0 loc_100042C0 ; CODE XREF: sub_1000429C+18j .text:100042C0 LDR R3, [R4,#0x40] .text:100042C4 CMP R3, #0 .text:100042C8 BEQ loc_100042B8 .text:100042CC B loc_100042F0 .text:100042D0 ; --------------------------------------------------------------------------- .text:100042D0 .text:100042D0 loc_100042D0 ; CODE XREF: sub_1000429C+5Cj .text:100042D0 LDR R0, [R4,#0x30] .text:100042D4 MOVL R1, 0xFFFFFFFF .text:100042D8 BL WaitForSingleObject .text:100042DC MOV R0, R4 .text:100042E0 BL sub_10003EF0 .text:100042E4 LDR R3, [R4,#0x28] .text:100042E8 LDR R0, [R3,#4] .text:100042EC BL InterruptDone .text:100042F0 .text:100042F0 loc_100042F0 ; CODE XREF: sub_1000429C+14j .text:100042F0 ; sub_1000429C+30j .text:100042F0 LDR R3, [R4,#0x94] .text:100042F4 TST R3, #1 .text:100042F8 BEQ loc_100042D0 .text:100042FC MOV R0, #0 .text:10004300 LDMFD SP!, {R4,LR} .text:10004304 BX LR .text:10004304 ; End of function sub_1000429C .text:10004304 .text:10004308 .text:10004308 ; =============== S U B R O U T I N E ======================================= .text:10004308 .text:10004308 .text:10004308 sub_10004308 ; CODE XREF: COM_Init+25Cp .text:10004308 ; COM_Open+F0p .text:10004308 ; DATA XREF: ... .text:10004308 .text:10004308 var_10 = -0x10 .text:10004308 var_C = -0xC .text:10004308 .text:10004308 STMFD SP!, {R4,LR} .text:1000430C SUB SP, SP, #8 .text:10004310 MOV R4, R0 .text:10004314 LDR R2, [R4,#0x28] .text:10004318 LDR R1, [R4,#0x30] .text:1000431C MOV R3, #0 .text:10004320 LDR R0, [R2,#4] .text:10004324 MOV R2, #0 .text:10004328 BL InterruptInitialize .text:1000432C CMP R0, #0 .text:10004330 BEQ loc_1000437C .text:10004334 LDR R3, [R4,#0x28] .text:10004338 LDR R0, [R3,#4] .text:1000433C BL InterruptDone .text:10004340 LDR R3, [R4,#0x94] .text:10004344 LDR R2, =sub_1000429C .text:10004348 MOV LR, #0 .text:1000434C BIC R3, R3, #1 .text:10004350 STR R3, [R4,#0x94] .text:10004354 MOV R3, R4 .text:10004358 MOV R1, #0 .text:1000435C MOV R0, #0 .text:10004360 STR LR, [R4,#0x40] .text:10004364 STR LR, [SP,#0x10+var_C] .text:10004368 STR LR, [SP,#0x10+var_10] .text:1000436C BL CreateThread .text:10004370 CMP R0, #0 .text:10004374 STR R0, [R4,#0x40] .text:10004378 BNE loc_10004384 .text:1000437C .text:1000437C loc_1000437C ; CODE XREF: sub_10004308+28j .text:1000437C MOV R0, #0 .text:10004380 B loc_10004388 .text:10004384 ; --------------------------------------------------------------------------- .text:10004384 .text:10004384 loc_10004384 ; CODE XREF: sub_10004308+70j .text:10004384 MOV R0, #1 .text:10004388 .text:10004388 loc_10004388 ; CODE XREF: sub_10004308+78j .text:10004388 ADD SP, SP, #8 .text:1000438C LDMFD SP!, {R4,LR} .text:10004390 BX LR .text:10004390 ; End of function sub_10004308 .text:10004390 .text:10004390 ; --------------------------------------------------------------------------- .text:10004394 off_10004394 DCD sub_1000429C ; DATA XREF: sub_10004308+3Cr .text:10004398 ; Exported entry 4. COM_Init .text:10004398 .text:10004398 ; =============== S U B R O U T I N E ======================================= .text:10004398 .text:10004398 .text:10004398 EXPORT COM_Init .text:10004398 COM_Init ; DATA XREF: .pdata:1000B1C0o .text:10004398 .text:10004398 var_30 = -0x30 .text:10004398 var_2C = -0x2C .text:10004398 var_28 = -0x28 .text:10004398 var_24 = -0x24 .text:10004398 var_20 = -0x20 .text:10004398 .text:10004398 STMFD SP!, {R4-R9,LR} .text:1000439C SUB SP, SP, #0x14 .text:100043A0 MOV R7, R0 .text:100043A4 MOV R3, #4 .text:100043A8 MOV R1, #0x108 .text:100043AC MOV R0, #0x40 .text:100043B0 STR R3, [SP,#0x30+var_28] .text:100043B4 BL LocalAlloc .text:100043B8 MOVS R5, R0 .text:100043BC BEQ loc_100044FC .text:100043C0 ADD R3, R5, #0xE8 .text:100043C4 ADD R0, R5, #0xF0 .text:100043C8 STR R3, [R5,#0xEC] .text:100043CC STR R3, [R5,#0xE8] .text:100043D0 BL InitializeCriticalSection .text:100043D4 MOV R3, #0xFA .text:100043D8 MOV R2, #0xA .text:100043DC MOV R1, #0x64 .text:100043E0 STR R3, [R5,#0x7C] .text:100043E4 STR R2, [R5,#0x80] .text:100043E8 STR R1, [R5,#0x84] .text:100043EC MOV R9, #0 .text:100043F0 MOV R3, #0 .text:100043F4 MOV R2, #0 .text:100043F8 MOV R1, #0 .text:100043FC MOV R0, #0 .text:10004400 STR R9, [R5,#0x104] .text:10004404 STR R9, [R5,#0x98] .text:10004408 STR R9, [R5,#0x88] .text:1000440C STR R9, [R5,#0x8C] .text:10004410 BL CreateEventW .text:10004414 MOV R3, R0 .text:10004418 STR R3, [R5,#0x30] .text:1000441C MOV R3, #0 .text:10004420 MOV R0, #0 .text:10004424 MOV R2, #0 .text:10004428 MOV R1, #0 .text:1000442C BL CreateEventW .text:10004430 MOV R3, R0 .text:10004434 STR R3, [R5,#0x38] .text:10004438 MOV R3, #0 .text:1000443C MOV R0, #0 .text:10004440 MOV R2, #0 .text:10004444 MOV R1, #0 .text:10004448 BL CreateEventW .text:1000444C MOV R3, R0 .text:10004450 STR R3, [R5,#0x3C] .text:10004454 MOV R3, #0 .text:10004458 MOV R0, #0 .text:1000445C MOV R2, #0 .text:10004460 MOV R1, #0 .text:10004464 BL CreateEventW .text:10004468 LDR R3, [R5,#0x30] .text:1000446C STR R0, [R5,#0x34] .text:10004470 CMP R3, #0 .text:10004474 BEQ loc_100044F4 .text:10004478 LDR R3, [R5,#0x38] .text:1000447C CMP R3, #0 .text:10004480 BEQ loc_100044F4 .text:10004484 LDR R3, [R5,#0x3C] .text:10004488 CMP R3, #0 .text:1000448C BEQ loc_100044F4 .text:10004490 CMP R0, #0 .text:10004494 BEQ loc_100044F4 .text:10004498 ADD R0, R5, #0x14 .text:1000449C BL InitializeCriticalSection .text:100044A0 MOV R0, R5 .text:100044A4 BL InitializeCriticalSection .text:100044A8 MOV R0, R7 .text:100044AC BL OpenDeviceKey .text:100044B0 MOVS R6, R0 .text:100044B4 BEQ loc_100044F4 .text:100044B8 LDR R1, =aDevicearrayind .text:100044BC MOV R8, #4 .text:100044C0 ADD LR, SP, #0x30+var_28 .text:100044C4 ADD R4, SP, #0x30+var_24 .text:100044C8 ADD R3, SP, #0x30+var_20 .text:100044CC MOV R2, #0 .text:100044D0 MOV R0, R6 .text:100044D4 STR R8, [SP,#0x30+var_28] .text:100044D8 STR LR, [SP,#0x30+var_2C] .text:100044DC STR R4, [SP,#0x30+var_30] .text:100044E0 BL RegQueryValueExW .text:100044E4 CMP R0, #0 .text:100044E8 MOV R0, R6 .text:100044EC BEQ loc_10004510 .text:100044F0 BL RegCloseKey .text:100044F4 .text:100044F4 loc_100044F4 ; CODE XREF: COM_Init+DCj .text:100044F4 ; COM_Init+E8j ... .text:100044F4 MOV R0, R5 .text:100044F8 BL LocalFree .text:100044FC .text:100044FC loc_100044FC ; CODE XREF: COM_Init+24j .text:100044FC ; COM_Init+270j .text:100044FC MOV R5, #0 .text:10004500 .text:10004500 loc_10004500 ; CODE XREF: COM_Init+294j .text:10004500 ; COM_Init+2A0j .text:10004500 MOV R0, R5 .text:10004504 ADD SP, SP, #0x14 .text:10004508 LDMFD SP!, {R4-R9,LR} .text:1000450C BX LR .text:10004510 ; --------------------------------------------------------------------------- .text:10004510 .text:10004510 loc_10004510 ; CODE XREF: COM_Init+154j .text:10004510 LDR R1, =aPriority256 .text:10004514 MOV R8, #4 .text:10004518 ADD LR, SP, #0x30+var_28 .text:1000451C ADD R4, R5, #0x44 .text:10004520 ADD R3, SP, #0x30+var_20 .text:10004524 MOV R2, #0 .text:10004528 STR R8, [SP,#0x30+var_28] .text:1000452C STR LR, [SP,#0x30+var_2C] .text:10004530 STR R4, [SP,#0x30+var_30] .text:10004534 BL RegQueryValueExW .text:10004538 CMP R0, #0 .text:1000453C MOVNE R3, #0x67 .text:10004540 MOV R0, R6 .text:10004544 STRNE R3, [R5,#0x44] .text:10004548 BL RegCloseKey .text:1000454C LDR R0, [SP,#0x30+var_24] .text:10004550 BL sub_10008754 .text:10004554 CMP R0, #0 .text:10004558 STR R0, [R5,#0x28] .text:1000455C BEQ loc_100044F4 .text:10004560 LDR R3, [R0,#8] .text:10004564 MOV R2, R0 .text:10004568 MOV R1, R5 .text:1000456C LDR R3, [R3] .text:10004570 MOV R0, R7 .text:10004574 MOV LR, PC .text:10004578 BX R3 .text:1000457C MOVS R4, R0 .text:10004580 STR R4, [R5,#0x2C] .text:10004584 BEQ loc_10004600 .text:10004588 LDR R3, [R5,#0x28] .text:1000458C MOV R0, R4 .text:10004590 LDR R3, [R3,#8] .text:10004594 LDR R3, [R3,#0x28] .text:10004598 MOV LR, PC .text:1000459C BX R3 .text:100045A0 MOV R3, R0,LSL#1 .text:100045A4 CMP R3, #0x800 .text:100045A8 MOVLS R3, #0x800 .text:100045AC MOV R1, R3 .text:100045B0 MOV R0, #0x40 .text:100045B4 STR R3, [R5,#0xA4] .text:100045B8 BL LocalAlloc .text:100045BC CMP R0, #0 .text:100045C0 STR R0, [R5,#0xAC] .text:100045C4 BEQ loc_10004600 .text:100045C8 ADD R0, R5, #0xB0 .text:100045CC STR R9, [R5,#0x9C] .text:100045D0 STR R9, [R5,#0xA0] .text:100045D4 BL InitializeCriticalSection .text:100045D8 ADD R0, R5, #0xD4 .text:100045DC BL InitializeCriticalSection .text:100045E0 LDR R3, [R5,#0x28] .text:100045E4 LDR R3, [R3] .text:100045E8 TST R3, #1 .text:100045EC BEQ loc_1000460C .text:100045F0 MOV R0, R5 .text:100045F4 BL sub_10004308 .text:100045F8 CMP R0, #0 .text:100045FC BNE loc_1000460C .text:10004600 .text:10004600 loc_10004600 ; CODE XREF: COM_Init+1ECj .text:10004600 ; COM_Init+22Cj .text:10004600 MOV R0, R5 .text:10004604 BL COM_Deinit .text:10004608 B loc_100044FC .text:1000460C ; --------------------------------------------------------------------------- .text:1000460C .text:1000460C loc_1000460C ; CODE XREF: COM_Init+254j .text:1000460C ; COM_Init+264j .text:1000460C LDR R3, [R5,#0x28] .text:10004610 MOV R0, R4 .text:10004614 LDR R3, [R3,#8] .text:10004618 LDR R3, [R3,#4] .text:1000461C MOV LR, PC .text:10004620 BX R3 .text:10004624 LDR R3, [SP,#0x30+var_24] .text:10004628 CMP R3, #0x82 .text:1000462C BNE loc_10004500 .text:10004630 LDR R3, =unk_1000A5B4 .text:10004634 STR R5, [R3] .text:10004638 B loc_10004500 .text:10004638 ; End of function COM_Init .text:10004638 .text:10004638 ; --------------------------------------------------------------------------- .text:1000463C off_1000463C DCD unk_1000A5B4 ; DATA XREF: COM_Init+298r .text:10004640 off_10004640 DCD aPriority256 ; DATA XREF: COM_Init:loc_10004510r .text:10004640 ; "Priority256" .text:10004644 off_10004644 DCD aDevicearrayind ; DATA XREF: COM_Init+120r .text:10004644 ; "DeviceArrayIndex" .text:10004648 ; Exported entry 5. COM_Open .text:10004648 .text:10004648 ; =============== S U B R O U T I N E ======================================= .text:10004648 .text:10004648 .text:10004648 EXPORT COM_Open .text:10004648 COM_Open ; DATA XREF: .pdata:1000B1C8o .text:10004648 STMFD SP!, {R4-R11,LR} .text:1000464C MOV R9, R2 .text:10004650 MOV R6, R1 .text:10004654 MOV R4, R0 .text:10004658 TST R6, #0x100 .text:1000465C BICNE R6, R6, #0xF0000000 .text:10004660 LDR R7, [R4,#0x28] .text:10004664 ANDS R8, R6, #0xC0000000 .text:10004668 BEQ loc_10004688 .text:1000466C LDR R3, [R4,#0x104] .text:10004670 CMP R3, #0 .text:10004674 BEQ loc_10004688 .text:10004678 MOV R0, #0xC .text:1000467C BL SetLastError .text:10004680 MOV R5, #0 .text:10004684 B loc_10004908 .text:10004688 ; --------------------------------------------------------------------------- .text:10004688 .text:10004688 loc_10004688 ; CODE XREF: COM_Open+20j .text:10004688 ; COM_Open+2Cj .text:10004688 MOV R1, #0x3C .text:1000468C MOV R0, #0x40 .text:10004690 BL LocalAlloc .text:10004694 MOVS R5, R0 .text:10004698 BEQ loc_10004880 .text:1000469C MOV R10, #0 .text:100046A0 MOV R3, #0 .text:100046A4 MOV R2, #0 .text:100046A8 MOV R1, #0 .text:100046AC MOV R0, #0 .text:100046B0 STMIA R5, {R4,R6,R9,R10} .text:100046B4 BL CreateEventW .text:100046B8 MOV R3, R0 .text:100046BC ADD R0, R5, #0x20 .text:100046C0 ADD R12, R5, #0x10 .text:100046C4 STMIA R12, {R3,R10} .text:100046C8 STR R10, [R5,#0x18] .text:100046CC STR R10, [R5,#0x1C] .text:100046D0 BL InitializeCriticalSection .text:100046D4 CMP R8, #0 .text:100046D8 ADD R0, R4, #0xF0 .text:100046DC STRNE R5, [R4,#0x104] .text:100046E0 BL EnterCriticalSection .text:100046E4 MOV R2, R4 .text:100046E8 LDR R3, [R2,#0xE8]! .text:100046EC ADD R6, R5, #0x34 .text:100046F0 STR R3, [R5,#0x34] .text:100046F4 STR R2, [R5,#0x38] .text:100046F8 STR R6, [R3,#4] .text:100046FC STR R6, [R2] .text:10004700 LDR R3, [R5,#4] .text:10004704 TST R3, #0x100 .text:10004708 BEQ loc_10004718 .text:1000470C ADD R0, R4, #0xF0 .text:10004710 BL LeaveCriticalSection .text:10004714 B loc_10004908 .text:10004718 ; --------------------------------------------------------------------------- .text:10004718 .text:10004718 loc_10004718 ; CODE XREF: COM_Open+C0j .text:10004718 LDR R3, [R4,#0x90] .text:1000471C CMP R3, #0 .text:10004720 BNE loc_100048CC .text:10004724 LDR R3, [R4,#0x28] .text:10004728 LDR R3, [R3] .text:1000472C TST R3, #2 .text:10004730 BEQ loc_10004744 .text:10004734 MOV R0, R4 .text:10004738 BL sub_10004308 .text:1000473C CMP R0, #0 .text:10004740 BEQ loc_1000482C .text:10004744 .text:10004744 loc_10004744 ; CODE XREF: COM_Open+E8j .text:10004744 LDR R2, [R4,#0x68] .text:10004748 MOVL R3, 0xFFFF8000 .text:10004750 AND R2, R2, R3 .text:10004754 MOVL R3, 0x1011 .text:1000475C ORR R3, R2, R3 .text:10004760 STR R3, [R4,#0x68] .text:10004764 LDR R1, [R4,#0x94] .text:10004768 MOV R3, #0 .text:1000476C STR R3, [R4,#0x50] .text:10004770 STR R3, [R4,#0x54] .text:10004774 STR R3, [R4,#0x58] .text:10004778 STR R3, [R4,#0x48] .text:1000477C STR R3, [R4,#0x4C] .text:10004780 MOV R3, #0x11 .text:10004784 LDR R0, [R4,#0x28] .text:10004788 MOV R10, #0x80 .text:1000478C STRB R3, [R4,#0x75] .text:10004790 BIC R2, R1, #0x3C .text:10004794 STRH R10, [R4,#0x70] .text:10004798 MOV R3, #0x13 .text:1000479C MOV LR, #0x1C .text:100047A0 MOV R8, #0x2580 .text:100047A4 MOV R9, #0x200 .text:100047A8 MOV R11, #8 .text:100047AC MOV R1, #0xD .text:100047B0 MOV R10, #0 .text:100047B4 STRB R3, [R4,#0x76] .text:100047B8 STR LR, [R4,#0x60] .text:100047BC STR R8, [R4,#0x64] .text:100047C0 STRH R9, [R4,#0x6E] .text:100047C4 STRB R11, [R4,#0x72] .text:100047C8 STRB R10, [R4,#0x73] .text:100047CC STRB R10, [R4,#0x74] .text:100047D0 STRB R1, [R4,#0x77] .text:100047D4 STRB R1, [R4,#0x78] .text:100047D8 STRB R1, [R4,#0x79] .text:100047DC STR R2, [R4,#0x94] .text:100047E0 LDR R3, [R0,#8] .text:100047E4 LDR R0, [R4,#0x2C] .text:100047E8 ADD R1, R4, #0x60 .text:100047EC LDR R3, [R3,#0x6C] .text:100047F0 MOV LR, PC .text:100047F4 BX R3 .text:100047F8 LDR R3, [R7,#8] .text:100047FC LDR R0, [R4,#0x2C] .text:10004800 ADD R1, R4, #0x7C .text:10004804 LDR R3, [R3,#0x70] .text:10004808 MOV LR, PC .text:1000480C BX R3 .text:10004810 LDR R3, [R7,#8] .text:10004814 LDR R0, [R4,#0x2C] .text:10004818 LDR R3, [R3,#0xC] .text:1000481C MOV LR, PC .text:10004820 BX R3 .text:10004824 CMP R0, #0 .text:10004828 BNE loc_10004888 .text:1000482C .text:1000482C loc_1000482C ; CODE XREF: COM_Open+F8j .text:1000482C MOV R0, #0x6E .text:10004830 BL SetLastError .text:10004834 LDR R3, [R4,#0x104] .text:10004838 ADD R0, R4, #0xF0 .text:1000483C CMP R5, R3 .text:10004840 STREQ R10, [R4,#0x104] .text:10004844 LDR R2, [R6,#4] .text:10004848 LDR R3, [R6] .text:1000484C STR R3, [R2] .text:10004850 LDR R2, [R6] .text:10004854 LDR R3, [R6,#4] .text:10004858 STR R3, [R2,#4] .text:1000485C BL LeaveCriticalSection .text:10004860 LDR R3, [R5,#0x10] .text:10004864 CMP R3, #0 .text:10004868 MOVNE R0, R3 .text:1000486C BLNE CloseHandle .text:10004870 ADD R0, R5, #0x20 .text:10004874 BL DeleteCriticalSection .text:10004878 MOV R0, R5 .text:1000487C BL LocalFree .text:10004880 .text:10004880 loc_10004880 ; CODE XREF: COM_Open+50j .text:10004880 MOV R5, #0 .text:10004884 B loc_10004908 .text:10004888 ; --------------------------------------------------------------------------- .text:10004888 .text:10004888 loc_10004888 ; CODE XREF: COM_Open+1E0j .text:10004888 LDR R3, [R7,#8] .text:1000488C LDR R0, [R4,#0x2C] .text:10004890 MOV R1, #8 .text:10004894 LDR R3, [R3,#0x68] .text:10004898 MOV LR, PC .text:1000489C BX R3 .text:100048A0 LDR R2, [R4,#0xA4] .text:100048A4 LDR R0, [R4,#0xAC] .text:100048A8 MOV R1, #0 .text:100048AC BL memset .text:100048B0 LDR R3, [R7] .text:100048B4 TST R3, #3 .text:100048B8 LDRNE R1, [R4,#0x44] .text:100048BC LDRNE R0, [R4,#0x40] .text:100048C0 BLNE CeSetThreadPriority .text:100048C4 STR R10, [R4,#0x9C] .text:100048C8 STR R10, [R4,#0xA0] .text:100048CC .text:100048CC loc_100048CC ; CODE XREF: COM_Open+D8j .text:100048CC LDR R3, [R4,#0x90] .text:100048D0 ADD R0, R4, #0xF0 .text:100048D4 ADD R3, R3, #1 .text:100048D8 STR R3, [R4,#0x90] .text:100048DC BL LeaveCriticalSection .text:100048E0 LDR R6, =unk_1000A5B0 .text:100048E4 LDR R3, [R6,#4] .text:100048E8 CMP R4, R3 .text:100048EC BNE loc_10004908 .text:100048F0 MOV R0, #1 .text:100048F4 BL sub_1000239C .text:100048F8 LDR R2, =aCig .text:100048FC LDR R3, =0x12349876 .text:10004900 STR R5, [R6] .text:10004904 STR R3, [R2] .text:10004908 .text:10004908 loc_10004908 ; CODE XREF: COM_Open+3Cj .text:10004908 ; COM_Open+CCj ... .text:10004908 MOV R0, R5 .text:1000490C LDMFD SP!, {R4-R11,LR} .text:10004910 BX LR .text:10004910 ; End of function COM_Open .text:10004910 .text:10004910 ; --------------------------------------------------------------------------- .text:10004914 dword_10004914 DCD 0x12349876 ; DATA XREF: COM_Open+2B4r .text:10004918 off_10004918 DCD aCig ; DATA XREF: COM_Open+2B0r .text:10004918 ; "!Cëg" .text:1000491C off_1000491C DCD unk_1000A5B0 ; DATA XREF: COM_Open+298r .text:10004920 ; Exported entry 12. COM_Write .text:10004920 .text:10004920 ; =============== S U B R O U T I N E ======================================= .text:10004920 .text:10004920 .text:10004920 EXPORT COM_Write .text:10004920 COM_Write ; DATA XREF: .pdata:1000B1D0o .text:10004920 STMFD SP!, {R4-R10,LR} .text:10004924 MOV R6, R2 .text:10004928 MOV R7, R1 .text:1000492C MOV R5, R0 .text:10004930 LDR R3, [R5] .text:10004934 MOVS R4, R3 .text:10004938 BEQ loc_10004A84 .text:1000493C LDR R3, [R4,#0x90] .text:10004940 CMP R3, #0 .text:10004944 BEQ loc_10004A84 .text:10004948 LDR R3, [R5,#4] .text:1000494C TST R3, #0x40000000 .text:10004950 MOVEQ R0, #0xC .text:10004954 BEQ loc_10004A88 .text:10004958 CMP R7, #0 .text:1000495C BEQ loc_10004A7C .text:10004960 CMP R6, #0 .text:10004964 BEQ loc_10004A7C .text:10004968 ADD R0, R5, #0xC .text:1000496C BL InterlockedIncrement .text:10004970 LDR R3, [R4,#0x28] .text:10004974 LDR R8, [R4,#0x2C] .text:10004978 MOV R0, R4 .text:1000497C LDR R9, [R3,#8] .text:10004980 BL EnterCriticalSection .text:10004984 ADD R0, R4, #0xD4 .text:10004988 BL EnterCriticalSection .text:1000498C LDR R3, [R4,#0x94] .text:10004990 LDR R0, [R4,#0x3C] .text:10004994 MOV R1, #0 .text:10004998 BIC R3, R3, #0x80 .text:1000499C STR R3, [R4,#0x94] .text:100049A0 BL WaitForSingleObject .text:100049A4 BL GetCurrentPermissions .text:100049A8 MOV R3, R0 .text:100049AC LDR R0, [R4,#0x3C] .text:100049B0 MOV R10, #0 .text:100049B4 MOV R1, #2 .text:100049B8 STR R3, [R4,#0xC4] .text:100049BC STR R7, [R4,#0xD0] .text:100049C0 STR R6, [R4,#0xCC] .text:100049C4 STR R10, [R4,#0xC8] .text:100049C8 STR R10, [R4,#0x5C] .text:100049CC STR R6, [R4,#0x58] .text:100049D0 BL EventModify .text:100049D4 ADD R0, R4, #0xD4 .text:100049D8 BL LeaveCriticalSection .text:100049DC MOV R0, R4 .text:100049E0 BL sub_100026C0 .text:100049E4 LDR R2, [R4,#0x88] .text:100049E8 LDR R3, [R4,#0x8C] .text:100049EC LDR R0, [R4,#0x3C] .text:100049F0 MLAS R1, R2, R6, R3 .text:100049F4 MOVLEQ R1, 0xFFFFFFFF .text:100049F8 BL WaitForSingleObject .text:100049FC LDR R3, [R4,#0x94] .text:10004A00 TST R3, #0x80 .text:10004A04 LDREQ R3, [R4,#0x90] .text:10004A08 CMPEQ R3, #0 .text:10004A0C MOVEQ R0, #6 .text:10004A10 BLEQ SetLastError .text:10004A14 ADD R0, R4, #0xD4 .text:10004A18 BL EnterCriticalSection .text:10004A1C ADD R0, R4, #0xD4 .text:10004A20 STR R10, [R4,#0xC4] .text:10004A24 STR R10, [R4,#0xD0] .text:10004A28 STR R10, [R4,#0xCC] .text:10004A2C STR R10, [R4,#0x58] .text:10004A30 STR R10, [R4,#0xC8] .text:10004A34 BL LeaveCriticalSection .text:10004A38 MOV R0, R4 .text:10004A3C BL LeaveCriticalSection .text:10004A40 MOV R1, #4 .text:10004A44 MOV R0, R4 .text:10004A48 BL sub_10003478 .text:10004A4C LDR R3, [R4,#0x68] .text:10004A50 AND R3, R3, #0x3000 .text:10004A54 CMP R3, #0x3000 .text:10004A58 LDREQ R3, [R9,#0x3C] .text:10004A5C MOVEQ R0, R8 .text:10004A60 MOVEQ LR, PC .text:10004A64 BXEQ R3 .text:10004A68 ADD R0, R5, #0xC .text:10004A6C BL InterlockedDecrement .text:10004A70 LDR R0, [R4,#0x5C] .text:10004A74 LDMFD SP!, {R4-R10,LR} .text:10004A78 BX LR .text:10004A7C ; --------------------------------------------------------------------------- .text:10004A7C .text:10004A7C loc_10004A7C ; CODE XREF: COM_Write+3Cj .text:10004A7C ; COM_Write+44j .text:10004A7C MOV R0, #0x57 .text:10004A80 B loc_10004A88 .text:10004A84 ; --------------------------------------------------------------------------- .text:10004A84 .text:10004A84 loc_10004A84 ; CODE XREF: COM_Write+18j .text:10004A84 ; COM_Write+24j .text:10004A84 MOV R0, #6 .text:10004A88 .text:10004A88 loc_10004A88 ; CODE XREF: COM_Write+34j .text:10004A88 ; COM_Write+160j .text:10004A88 BL SetLastError .text:10004A8C MOVL R0, 0xFFFFFFFF .text:10004A90 LDMFD SP!, {R4-R10,LR} .text:10004A94 BX LR .text:10004A94 ; End of function COM_Write .text:10004A94 .text:10004A98 .text:10004A98 ; =============== S U B R O U T I N E ======================================= .text:10004A98 .text:10004A98 .text:10004A98 sub_10004A98 ; CODE XREF: sub_10005018+E0p .text:10004A98 ; sub_10005018+128p ... .text:10004A98 .text:10004A98 var_1C = -0x1C .text:10004A98 var_18 = -0x18 .text:10004A98 var_14 = -0x14 .text:10004A98 arg_C = 0xC .text:10004A98 .text:10004A98 MOV R12, SP .text:10004A9C STMFD SP!, {R0-R3} .text:10004AA0 STMFD SP!, {R4,R5,R12,LR} .text:10004AA4 SUB SP, SP, #0xC .text:10004AA8 MOV R4, R2 .text:10004AAC LDR R0, [R0] .text:10004AB0 MOV R5, #0 .text:10004AB4 ADD LR, SP, #0x1C+arg_C .text:10004AB8 ADD R3, SP, #0x1C+var_14 .text:10004ABC MOV R2, #0 .text:10004AC0 STR R5, [SP,#0x1C+var_14] .text:10004AC4 STR LR, [SP,#0x1C+var_18] .text:10004AC8 STR R4, [SP,#0x1C+var_1C] .text:10004ACC BL RegQueryValueExW .text:10004AD0 CMP R0, #0 .text:10004AD4 MOVEQ R0, #1 .text:10004AD8 MOVNE R0, #0 .text:10004ADC ADD SP, SP, #0xC .text:10004AE0 LDMFD SP, {R4,R5,SP,LR} .text:10004AE4 BX LR .text:10004AE4 ; End of function sub_10004A98 .text:10004AE4 .text:10004AE8 .text:10004AE8 ; =============== S U B R O U T I N E ======================================= .text:10004AE8 .text:10004AE8 .text:10004AE8 sub_10004AE8 ; DATA XREF: .text:10001790o .text:10004AE8 ; .text:100018E8o ... .text:10004AE8 STR R1, [R0,#0xEC] .text:10004AEC STR R2, [R0,#0xF0] .text:10004AF0 BX LR .text:10004AF0 ; End of function sub_10004AE8 .text:10004AF0 .text:10004AF4 .text:10004AF4 ; =============== S U B R O U T I N E ======================================= .text:10004AF4 .text:10004AF4 .text:10004AF4 sub_10004AF4 ; DATA XREF: .text:100013ACo .text:10004AF4 ; .text:10001684o ... .text:10004AF4 LDR R3, [R0,#4] .text:10004AF8 CMP R3, #0 .text:10004AFC MOVNE R0, #1 .text:10004B00 MOVEQ R0, #0 .text:10004B04 BX LR .text:10004B04 ; End of function sub_10004AF4 .text:10004B04 .text:10004B08 .text:10004B08 ; =============== S U B R O U T I N E ======================================= .text:10004B08 .text:10004B08 .text:10004B08 sub_10004B08 ; DATA XREF: .text:100013B0o .text:10004B08 ; .pdata:1000B1F0o .text:10004B08 .text:10004B08 var_4 = -4 .text:10004B08 arg_4 = 4 .text:10004B08 .text:10004B08 STR LR, [SP,#var_4]! .text:10004B0C LDR R0, [R0,#0x14] .text:10004B10 BL CEDDK_28 .text:10004B14 LDR LR, [SP],#arg_4 .text:10004B18 BX LR .text:10004B18 ; End of function sub_10004B08 .text:10004B18 .text:10004B1C .text:10004B1C ; =============== S U B R O U T I N E ======================================= .text:10004B1C .text:10004B1C .text:10004B1C sub_10004B1C ; DATA XREF: .text:100013B4o .text:10004B1C ; .pdata:1000B1F8o .text:10004B1C .text:10004B1C var_4 = -4 .text:10004B1C arg_4 = 4 .text:10004B1C .text:10004B1C STR LR, [SP,#var_4]! .text:10004B20 LDR R0, [R0,#0x14] .text:10004B24 BL CEDDK_13 .text:10004B28 LDR LR, [SP],#arg_4 .text:10004B2C BX LR .text:10004B2C ; End of function sub_10004B1C .text:10004B2C .text:10004B30 .text:10004B30 ; =============== S U B R O U T I N E ======================================= .text:10004B30 .text:10004B30 .text:10004B30 sub_10004B30 ; DATA XREF: .text:100013B8o .text:10004B30 ; .pdata:1000B200o .text:10004B30 .text:10004B30 var_4 = -4 .text:10004B30 arg_4 = 4 .text:10004B30 .text:10004B30 STR LR, [SP,#var_4]! .text:10004B34 LDR R0, [R0,#0x18] .text:10004B38 BL CEDDK_28 .text:10004B3C LDR LR, [SP],#arg_4 .text:10004B40 BX LR .text:10004B40 ; End of function sub_10004B30 .text:10004B40 .text:10004B44 .text:10004B44 ; =============== S U B R O U T I N E ======================================= .text:10004B44 .text:10004B44 .text:10004B44 sub_10004B44 ; DATA XREF: .text:100013BCo .text:10004B44 ; .pdata:1000B208o .text:10004B44 .text:10004B44 var_4 = -4 .text:10004B44 arg_4 = 4 .text:10004B44 .text:10004B44 STR LR, [SP,#var_4]! .text:10004B48 LDR R0, [R0,#0x18] .text:10004B4C BL CEDDK_13 .text:10004B50 LDR LR, [SP],#arg_4 .text:10004B54 BX LR .text:10004B54 ; End of function sub_10004B44 .text:10004B54 .text:10004B58 .text:10004B58 ; =============== S U B R O U T I N E ======================================= .text:10004B58 .text:10004B58 .text:10004B58 sub_10004B58 ; DATA XREF: .text:100013C0o .text:10004B58 ; .pdata:1000B210o .text:10004B58 STMFD SP!, {R4,R5,LR} .text:10004B5C MOV R5, R1 .text:10004B60 MOV R4, R0 .text:10004B64 LDR R0, [R4,#0x1C] .text:10004B68 BL CEDDK_28 .text:10004B6C STRB R5, [R4,#0xC] .text:10004B70 LDMFD SP!, {R4,R5,LR} .text:10004B74 BX LR .text:10004B74 ; End of function sub_10004B58 .text:10004B74 .text:10004B78 .text:10004B78 ; =============== S U B R O U T I N E ======================================= .text:10004B78 .text:10004B78 .text:10004B78 sub_10004B78 ; DATA XREF: .text:100013C4o .text:10004B78 ; .text:1000169Co ... .text:10004B78 LDRB R0, [R0,#0xC] .text:10004B7C BX LR .text:10004B7C ; End of function sub_10004B78 .text:10004B7C .text:10004B80 .text:10004B80 ; =============== S U B R O U T I N E ======================================= .text:10004B80 .text:10004B80 .text:10004B80 sub_10004B80 ; DATA XREF: .text:100013C8o .text:10004B80 ; .pdata:1000B220o .text:10004B80 .text:10004B80 var_4 = -4 .text:10004B80 arg_4 = 4 .text:10004B80 .text:10004B80 STR LR, [SP,#var_4]! .text:10004B84 LDR R0, [R0,#0x1C] .text:10004B88 BL CEDDK_13 .text:10004B8C LDR LR, [SP],#arg_4 .text:10004B90 BX LR .text:10004B90 ; End of function sub_10004B80 .text:10004B90 .text:10004B94 .text:10004B94 ; =============== S U B R O U T I N E ======================================= .text:10004B94 .text:10004B94 .text:10004B94 sub_10004B94 ; DATA XREF: .text:100013CCo .text:10004B94 ; .pdata:1000B228o .text:10004B94 .text:10004B94 var_4 = -4 .text:10004B94 arg_4 = 4 .text:10004B94 .text:10004B94 STR LR, [SP,#var_4]! .text:10004B98 LDR R0, [R0,#0x20] .text:10004B9C BL CEDDK_28 .text:10004BA0 LDR LR, [SP],#arg_4 .text:10004BA4 BX LR .text:10004BA4 ; End of function sub_10004B94 .text:10004BA4 .text:10004BA8 .text:10004BA8 ; =============== S U B R O U T I N E ======================================= .text:10004BA8 .text:10004BA8 .text:10004BA8 sub_10004BA8 ; DATA XREF: .text:100013D0o .text:10004BA8 ; .pdata:1000B230o .text:10004BA8 .text:10004BA8 var_4 = -4 .text:10004BA8 arg_4 = 4 .text:10004BA8 .text:10004BA8 STR LR, [SP,#var_4]! .text:10004BAC LDR R0, [R0,#0x20] .text:10004BB0 BL CEDDK_13 .text:10004BB4 LDR LR, [SP],#arg_4 .text:10004BB8 BX LR .text:10004BB8 ; End of function sub_10004BA8 .text:10004BB8 .text:10004BBC .text:10004BBC ; =============== S U B R O U T I N E ======================================= .text:10004BBC .text:10004BBC .text:10004BBC sub_10004BBC ; DATA XREF: .text:100013D4o .text:10004BBC ; .pdata:1000B238o .text:10004BBC .text:10004BBC var_4 = -4 .text:10004BBC arg_4 = 4 .text:10004BBC .text:10004BBC STR LR, [SP,#var_4]! .text:10004BC0 LDR R0, [R0,#0x24] .text:10004BC4 BL CEDDK_28 .text:10004BC8 LDR LR, [SP],#arg_4 .text:10004BCC BX LR .text:10004BCC ; End of function sub_10004BBC .text:10004BCC .text:10004BD0 .text:10004BD0 ; =============== S U B R O U T I N E ======================================= .text:10004BD0 .text:10004BD0 .text:10004BD0 sub_10004BD0 ; DATA XREF: .text:100013D8o .text:10004BD0 ; .pdata:1000B240o .text:10004BD0 .text:10004BD0 var_4 = -4 .text:10004BD0 arg_4 = 4 .text:10004BD0 .text:10004BD0 STR LR, [SP,#var_4]! .text:10004BD4 LDR R0, [R0,#0x24] .text:10004BD8 BL CEDDK_13 .text:10004BDC LDR LR, [SP],#arg_4 .text:10004BE0 BX LR .text:10004BE0 ; End of function sub_10004BD0 .text:10004BE0 .text:10004BE4 .text:10004BE4 ; =============== S U B R O U T I N E ======================================= .text:10004BE4 .text:10004BE4 .text:10004BE4 sub_10004BE4 ; DATA XREF: .text:100013DCo .text:10004BE4 ; .pdata:1000B248o .text:10004BE4 .text:10004BE4 var_4 = -4 .text:10004BE4 arg_4 = 4 .text:10004BE4 .text:10004BE4 STR LR, [SP,#var_4]! .text:10004BE8 LDR R0, [R0,#0x28] .text:10004BEC BL CEDDK_28 .text:10004BF0 LDR LR, [SP],#arg_4 .text:10004BF4 BX LR .text:10004BF4 ; End of function sub_10004BE4 .text:10004BF4 .text:10004BF8 .text:10004BF8 ; =============== S U B R O U T I N E ======================================= .text:10004BF8 .text:10004BF8 .text:10004BF8 sub_10004BF8 ; DATA XREF: .text:100013E0o .text:10004BF8 ; .pdata:1000B250o .text:10004BF8 .text:10004BF8 var_4 = -4 .text:10004BF8 arg_4 = 4 .text:10004BF8 .text:10004BF8 STR LR, [SP,#var_4]! .text:10004BFC LDR R0, [R0,#0x28] .text:10004C00 BL CEDDK_13 .text:10004C04 LDR LR, [SP],#arg_4 .text:10004C08 BX LR .text:10004C08 ; End of function sub_10004BF8 .text:10004C08 .text:10004C0C .text:10004C0C ; =============== S U B R O U T I N E ======================================= .text:10004C0C .text:10004C0C .text:10004C0C sub_10004C0C ; DATA XREF: .text:100013E4o .text:10004C0C ; .pdata:1000B258o .text:10004C0C .text:10004C0C var_4 = -4 .text:10004C0C arg_4 = 4 .text:10004C0C .text:10004C0C STR LR, [SP,#var_4]! .text:10004C10 LDR R0, [R0,#0x2C] .text:10004C14 BL CEDDK_28 .text:10004C18 LDR LR, [SP],#arg_4 .text:10004C1C BX LR .text:10004C1C ; End of function sub_10004C0C .text:10004C1C .text:10004C20 .text:10004C20 ; =============== S U B R O U T I N E ======================================= .text:10004C20 .text:10004C20 .text:10004C20 sub_10004C20 ; DATA XREF: .text:100013E8o .text:10004C20 ; .pdata:1000B260o .text:10004C20 .text:10004C20 var_4 = -4 .text:10004C20 arg_4 = 4 .text:10004C20 .text:10004C20 STR LR, [SP,#var_4]! .text:10004C24 LDR R0, [R0,#0x2C] .text:10004C28 BL CEDDK_13 .text:10004C2C LDR LR, [SP],#arg_4 .text:10004C30 BX LR .text:10004C30 ; End of function sub_10004C20 .text:10004C30 .text:10004C34 .text:10004C34 ; =============== S U B R O U T I N E ======================================= .text:10004C34 .text:10004C34 .text:10004C34 sub_10004C34 ; DATA XREF: .text:100013ECo .text:10004C34 ; .pdata:1000B268o .text:10004C34 .text:10004C34 var_4 = -4 .text:10004C34 arg_4 = 4 .text:10004C34 .text:10004C34 STR LR, [SP,#var_4]! .text:10004C38 LDR R0, [R0,#0x30] .text:10004C3C BL CEDDK_28 .text:10004C40 LDR LR, [SP],#arg_4 .text:10004C44 BX LR .text:10004C44 ; End of function sub_10004C34 .text:10004C44 .text:10004C48 .text:10004C48 ; =============== S U B R O U T I N E ======================================= .text:10004C48 .text:10004C48 .text:10004C48 sub_10004C48 ; DATA XREF: .text:100013F0o .text:10004C48 ; .pdata:1000B270o .text:10004C48 .text:10004C48 var_4 = -4 .text:10004C48 arg_4 = 4 .text:10004C48 .text:10004C48 STR LR, [SP,#var_4]! .text:10004C4C LDR R0, [R0,#0x30] .text:10004C50 BL CEDDK_13 .text:10004C54 LDR LR, [SP],#arg_4 .text:10004C58 BX LR .text:10004C58 ; End of function sub_10004C48 .text:10004C58 .text:10004C5C .text:10004C5C ; =============== S U B R O U T I N E ======================================= .text:10004C5C .text:10004C5C .text:10004C5C sub_10004C5C ; DATA XREF: .text:off_100013A8o .text:10004C5C ; .pdata:1000B278o .text:10004C5C STMFD SP!, {R4,LR} .text:10004C60 MOV R4, R0 .text:10004C64 LDR R3, =off_100013A8 .text:10004C68 TST R1, #1 .text:10004C6C STR R3, [R4] .text:10004C70 BLNE __3_YAXPAX_Z ; operator delete(void *) .text:10004C74 MOV R0, R4 .text:10004C78 LDMFD SP!, {R4,LR} .text:10004C7C BX LR .text:10004C7C ; End of function sub_10004C5C .text:10004C7C .text:10004C7C ; --------------------------------------------------------------------------- .text:10004C80 off_10004C80 DCD off_100013A8 ; DATA XREF: sub_10004C5C+8r .text:10004C84 .text:10004C84 ; =============== S U B R O U T I N E ======================================= .text:10004C84 .text:10004C84 .text:10004C84 sub_10004C84 ; DATA XREF: .text:10001700o .text:10004C84 ; .pdata:1000B280o .text:10004C84 .text:10004C84 var_4 = -4 .text:10004C84 arg_4 = 4 .text:10004C84 .text:10004C84 STR LR, [SP,#var_4]! .text:10004C88 LDR R0, [R0,#0x124] .text:10004C8C LDR R3, [R0] .text:10004C90 LDR R3, [R3,#0x50] .text:10004C94 MOV LR, PC .text:10004C98 BX R3 .text:10004C9C LDR LR, [SP],#arg_4 .text:10004CA0 BX LR .text:10004CA0 ; End of function sub_10004C84 .text:10004CA0 .text:10004CA4 .text:10004CA4 ; =============== S U B R O U T I N E ======================================= .text:10004CA4 .text:10004CA4 .text:10004CA4 sub_10004CA4 ; DATA XREF: .text:10001404o .text:10004CA4 ; .pdata:1000B288o .text:10004CA4 LDR R3, [R0,#0x3C] .text:10004CA8 CMP R3, #0 .text:10004CAC MOVNE R0, #1 .text:10004CB0 MOVEQ R0, #0 .text:10004CB4 BX LR .text:10004CB4 ; End of function sub_10004CA4 .text:10004CB4 .text:10004CB8 .text:10004CB8 ; =============== S U B R O U T I N E ======================================= .text:10004CB8 .text:10004CB8 .text:10004CB8 sub_10004CB8 ; DATA XREF: .text:10001408o .text:10004CB8 ; .pdata:1000B290o .text:10004CB8 .text:10004CB8 var_4 = -4 .text:10004CB8 arg_4 = 4 .text:10004CB8 .text:10004CB8 STR LR, [SP,#var_4]! .text:10004CBC LDR R0, [R0,#0x3C] .text:10004CC0 BL CEDDK_35 .text:10004CC4 LDR LR, [SP],#arg_4 .text:10004CC8 BX LR .text:10004CC8 ; End of function sub_10004CB8 .text:10004CC8 .text:10004CCC .text:10004CCC ; =============== S U B R O U T I N E ======================================= .text:10004CCC .text:10004CCC .text:10004CCC sub_10004CCC ; DATA XREF: .text:1000140Co .text:10004CCC ; .pdata:1000B298o .text:10004CCC .text:10004CCC var_4 = -4 .text:10004CCC arg_4 = 4 .text:10004CCC .text:10004CCC STR LR, [SP,#var_4]! .text:10004CD0 LDR R0, [R0,#0x3C] .text:10004CD4 BL CEDDK_20 .text:10004CD8 AND R0, R0, #0xFF .text:10004CDC LDR LR, [SP],#arg_4 .text:10004CE0 BX LR .text:10004CE0 ; End of function sub_10004CCC .text:10004CE0 .text:10004CE4 .text:10004CE4 ; =============== S U B R O U T I N E ======================================= .text:10004CE4 .text:10004CE4 .text:10004CE4 sub_10004CE4 ; DATA XREF: .text:10001410o .text:10004CE4 ; .pdata:1000B2A0o .text:10004CE4 .text:10004CE4 var_4 = -4 .text:10004CE4 arg_4 = 4 .text:10004CE4 .text:10004CE4 STR LR, [SP,#var_4]! .text:10004CE8 LDR R3, [R0,#0x3C] .text:10004CEC ADD R0, R3, #4 .text:10004CF0 BL CEDDK_35 .text:10004CF4 LDR LR, [SP],#arg_4 .text:10004CF8 BX LR .text:10004CF8 ; End of function sub_10004CE4 .text:10004CF8 .text:10004CFC .text:10004CFC ; =============== S U B R O U T I N E ======================================= .text:10004CFC .text:10004CFC .text:10004CFC sub_10004CFC ; DATA XREF: .text:10001414o .text:10004CFC ; .pdata:1000B2A8o .text:10004CFC .text:10004CFC var_4 = -4 .text:10004CFC arg_4 = 4 .text:10004CFC .text:10004CFC STR LR, [SP,#var_4]! .text:10004D00 LDR R3, [R0,#0x3C] .text:10004D04 ADD R0, R3, #4 .text:10004D08 BL CEDDK_20 .text:10004D0C AND R0, R0, #0xFF .text:10004D10 LDR LR, [SP],#arg_4 .text:10004D14 BX LR .text:10004D14 ; End of function sub_10004CFC .text:10004D14 .text:10004D18 .text:10004D18 ; =============== S U B R O U T I N E ======================================= .text:10004D18 .text:10004D18 .text:10004D18 sub_10004D18 ; DATA XREF: .text:10001418o .text:10004D18 ; .pdata:1000B2B0o .text:10004D18 STMFD SP!, {R4,R5,LR} .text:10004D1C MOV R5, R1 .text:10004D20 MOV R4, R0 .text:10004D24 LDR R3, [R4,#0x3C] .text:10004D28 ADD R0, R3, #8 .text:10004D2C BL CEDDK_35 .text:10004D30 STRB R5, [R4,#0xC] .text:10004D34 LDMFD SP!, {R4,R5,LR} .text:10004D38 BX LR .text:10004D38 ; End of function sub_10004D18 .text:10004D38 .text:10004D3C .text:10004D3C ; =============== S U B R O U T I N E ======================================= .text:10004D3C .text:10004D3C .text:10004D3C sub_10004D3C ; DATA XREF: .text:1000141Co .text:10004D3C ; .pdata:1000B2B8o .text:10004D3C LDRB R0, [R0,#0xC] .text:10004D40 BX LR .text:10004D40 ; End of function sub_10004D3C .text:10004D40 .text:10004D44 .text:10004D44 ; =============== S U B R O U T I N E ======================================= .text:10004D44 .text:10004D44 .text:10004D44 sub_10004D44 ; DATA XREF: .text:10001420o .text:10004D44 ; .pdata:1000B2C0o .text:10004D44 .text:10004D44 var_4 = -4 .text:10004D44 arg_4 = 4 .text:10004D44 .text:10004D44 STR LR, [SP,#var_4]! .text:10004D48 LDR R3, [R0,#0x3C] .text:10004D4C ADD R0, R3, #8 .text:10004D50 BL CEDDK_20 .text:10004D54 AND R0, R0, #0xFF .text:10004D58 LDR LR, [SP],#arg_4 .text:10004D5C BX LR .text:10004D5C ; End of function sub_10004D44 .text:10004D5C .text:10004D60 .text:10004D60 ; =============== S U B R O U T I N E ======================================= .text:10004D60 .text:10004D60 .text:10004D60 sub_10004D60 ; DATA XREF: .text:10001424o .text:10004D60 ; .pdata:1000B2C8o .text:10004D60 .text:10004D60 var_4 = -4 .text:10004D60 arg_4 = 4 .text:10004D60 .text:10004D60 STR LR, [SP,#var_4]! .text:10004D64 LDR R3, [R0,#0x3C] .text:10004D68 ADD R0, R3, #0xC .text:10004D6C BL CEDDK_35 .text:10004D70 LDR LR, [SP],#arg_4 .text:10004D74 BX LR .text:10004D74 ; End of function sub_10004D60 .text:10004D74 .text:10004D78 .text:10004D78 ; =============== S U B R O U T I N E ======================================= .text:10004D78 .text:10004D78 .text:10004D78 sub_10004D78 ; DATA XREF: .text:10001428o .text:10004D78 ; .pdata:1000B2D0o .text:10004D78 .text:10004D78 var_4 = -4 .text:10004D78 arg_4 = 4 .text:10004D78 .text:10004D78 STR LR, [SP,#var_4]! .text:10004D7C LDR R3, [R0,#0x3C] .text:10004D80 ADD R0, R3, #0xC .text:10004D84 BL CEDDK_20 .text:10004D88 AND R0, R0, #0xFF .text:10004D8C LDR LR, [SP],#arg_4 .text:10004D90 BX LR .text:10004D90 ; End of function sub_10004D78 .text:10004D90 .text:10004D94 .text:10004D94 ; =============== S U B R O U T I N E ======================================= .text:10004D94 .text:10004D94 .text:10004D94 sub_10004D94 ; DATA XREF: .text:1000142Co .text:10004D94 ; .pdata:1000B2D8o .text:10004D94 .text:10004D94 var_4 = -4 .text:10004D94 arg_4 = 4 .text:10004D94 .text:10004D94 STR LR, [SP,#var_4]! .text:10004D98 LDR R3, [R0,#0x3C] .text:10004D9C ADD R0, R3, #0x10 .text:10004DA0 BL CEDDK_35 .text:10004DA4 LDR LR, [SP],#arg_4 .text:10004DA8 BX LR .text:10004DA8 ; End of function sub_10004D94 .text:10004DA8 .text:10004DAC .text:10004DAC ; =============== S U B R O U T I N E ======================================= .text:10004DAC .text:10004DAC .text:10004DAC sub_10004DAC ; DATA XREF: .text:10001430o .text:10004DAC ; .pdata:1000B2E0o .text:10004DAC .text:10004DAC var_4 = -4 .text:10004DAC arg_4 = 4 .text:10004DAC .text:10004DAC STR LR, [SP,#var_4]! .text:10004DB0 LDR R3, [R0,#0x3C] .text:10004DB4 ADD R0, R3, #0x10 .text:10004DB8 BL CEDDK_20 .text:10004DBC AND R0, R0, #0xFF .text:10004DC0 LDR LR, [SP],#arg_4 .text:10004DC4 BX LR .text:10004DC4 ; End of function sub_10004DAC .text:10004DC4 .text:10004DC8 .text:10004DC8 ; =============== S U B R O U T I N E ======================================= .text:10004DC8 .text:10004DC8 .text:10004DC8 sub_10004DC8 ; DATA XREF: .text:10001434o .text:10004DC8 ; .pdata:1000B2E8o .text:10004DC8 .text:10004DC8 var_4 = -4 .text:10004DC8 arg_4 = 4 .text:10004DC8 .text:10004DC8 STR LR, [SP,#var_4]! .text:10004DCC LDR R3, [R0,#0x3C] .text:10004DD0 ADD R0, R3, #0x14 .text:10004DD4 BL CEDDK_35 .text:10004DD8 LDR LR, [SP],#arg_4 .text:10004DDC BX LR .text:10004DDC ; End of function sub_10004DC8 .text:10004DDC .text:10004DE0 .text:10004DE0 ; =============== S U B R O U T I N E ======================================= .text:10004DE0 .text:10004DE0 .text:10004DE0 sub_10004DE0 ; DATA XREF: .text:10001438o .text:10004DE0 ; .pdata:1000B2F0o .text:10004DE0 .text:10004DE0 var_4 = -4 .text:10004DE0 arg_4 = 4 .text:10004DE0 .text:10004DE0 STR LR, [SP,#var_4]! .text:10004DE4 LDR R3, [R0,#0x3C] .text:10004DE8 ADD R0, R3, #0x14 .text:10004DEC BL CEDDK_20 .text:10004DF0 AND R0, R0, #0xFF .text:10004DF4 LDR LR, [SP],#arg_4 .text:10004DF8 BX LR .text:10004DF8 ; End of function sub_10004DE0 .text:10004DF8 .text:10004DFC .text:10004DFC ; =============== S U B R O U T I N E ======================================= .text:10004DFC .text:10004DFC .text:10004DFC sub_10004DFC ; DATA XREF: .text:1000143Co .text:10004DFC ; .pdata:1000B2F8o .text:10004DFC .text:10004DFC var_4 = -4 .text:10004DFC arg_4 = 4 .text:10004DFC .text:10004DFC STR LR, [SP,#var_4]! .text:10004E00 LDR R3, [R0,#0x3C] .text:10004E04 ADD R0, R3, #0x18 .text:10004E08 BL CEDDK_35 .text:10004E0C LDR LR, [SP],#arg_4 .text:10004E10 BX LR .text:10004E10 ; End of function sub_10004DFC .text:10004E10 .text:10004E14 .text:10004E14 ; =============== S U B R O U T I N E ======================================= .text:10004E14 .text:10004E14 .text:10004E14 sub_10004E14 ; DATA XREF: .text:10001440o .text:10004E14 ; .pdata:1000B300o .text:10004E14 .text:10004E14 var_4 = -4 .text:10004E14 arg_4 = 4 .text:10004E14 .text:10004E14 STR LR, [SP,#var_4]! .text:10004E18 LDR R3, [R0,#0x3C] .text:10004E1C ADD R0, R3, #0x18 .text:10004E20 BL CEDDK_20 .text:10004E24 AND R0, R0, #0xFF .text:10004E28 LDR LR, [SP],#arg_4 .text:10004E2C BX LR .text:10004E2C ; End of function sub_10004E14 .text:10004E2C .text:10004E30 .text:10004E30 ; =============== S U B R O U T I N E ======================================= .text:10004E30 .text:10004E30 .text:10004E30 sub_10004E30 ; DATA XREF: .text:10001444o .text:10004E30 ; .pdata:1000B308o .text:10004E30 .text:10004E30 var_4 = -4 .text:10004E30 arg_4 = 4 .text:10004E30 .text:10004E30 STR LR, [SP,#var_4]! .text:10004E34 LDR R3, [R0,#0x3C] .text:10004E38 ADD R0, R3, #0x1C .text:10004E3C BL CEDDK_35 .text:10004E40 LDR LR, [SP],#arg_4 .text:10004E44 BX LR .text:10004E44 ; End of function sub_10004E30 .text:10004E44 .text:10004E48 .text:10004E48 ; =============== S U B R O U T I N E ======================================= .text:10004E48 .text:10004E48 .text:10004E48 sub_10004E48 ; DATA XREF: .text:10001448o .text:10004E48 ; .pdata:1000B310o .text:10004E48 .text:10004E48 var_4 = -4 .text:10004E48 arg_4 = 4 .text:10004E48 .text:10004E48 STR LR, [SP,#var_4]! .text:10004E4C LDR R3, [R0,#0x3C] .text:10004E50 ADD R0, R3, #0x1C .text:10004E54 BL CEDDK_20 .text:10004E58 AND R0, R0, #0xFF .text:10004E5C LDR LR, [SP],#arg_4 .text:10004E60 BX LR .text:10004E60 ; End of function sub_10004E48 .text:10004E60 .text:10004E64 .text:10004E64 ; =============== S U B R O U T I N E ======================================= .text:10004E64 .text:10004E64 .text:10004E64 sub_10004E64 ; DATA XREF: .text:10001458o .text:10004E64 ; .pdata:1000B318o .text:10004E64 .text:10004E64 var_4 = -4 .text:10004E64 arg_4 = 4 .text:10004E64 .text:10004E64 STR LR, [SP,#var_4]! .text:10004E68 LDR R3, [R0,#0x3C] .text:10004E6C ADD R0, R3, #0x20 .text:10004E70 BL CEDDK_35 .text:10004E74 LDR LR, [SP],#arg_4 .text:10004E78 BX LR .text:10004E78 ; End of function sub_10004E64 .text:10004E78 .text:10004E7C .text:10004E7C ; =============== S U B R O U T I N E ======================================= .text:10004E7C .text:10004E7C .text:10004E7C sub_10004E7C ; DATA XREF: .text:1000145Co .text:10004E7C ; .pdata:1000B320o .text:10004E7C .text:10004E7C var_4 = -4 .text:10004E7C arg_4 = 4 .text:10004E7C .text:10004E7C STR LR, [SP,#var_4]! .text:10004E80 LDR R3, [R0,#0x3C] .text:10004E84 ADD R0, R3, #0x20 .text:10004E88 BL CEDDK_20 .text:10004E8C AND R0, R0, #0xFF .text:10004E90 LDR LR, [SP],#arg_4 .text:10004E94 BX LR .text:10004E94 ; End of function sub_10004E7C .text:10004E94 .text:10004E98 .text:10004E98 ; =============== S U B R O U T I N E ======================================= .text:10004E98 .text:10004E98 .text:10004E98 sub_10004E98 ; DATA XREF: .text:10001460o .text:10004E98 ; .pdata:1000B328o .text:10004E98 .text:10004E98 var_4 = -4 .text:10004E98 arg_4 = 4 .text:10004E98 .text:10004E98 STR LR, [SP,#var_4]! .text:10004E9C LDR R3, [R0,#0x3C] .text:10004EA0 ADD R0, R3, #0x24 .text:10004EA4 BL CEDDK_20 .text:10004EA8 AND R0, R0, #0xFF .text:10004EAC LDR LR, [SP],#arg_4 .text:10004EB0 BX LR .text:10004EB0 ; End of function sub_10004E98 .text:10004EB0 .text:10004EB4 .text:10004EB4 ; =============== S U B R O U T I N E ======================================= .text:10004EB4 .text:10004EB4 .text:10004EB4 sub_10004EB4 ; DATA XREF: .text:10001464o .text:10004EB4 ; .pdata:1000B330o .text:10004EB4 .text:10004EB4 var_4 = -4 .text:10004EB4 arg_4 = 4 .text:10004EB4 .text:10004EB4 STR LR, [SP,#var_4]! .text:10004EB8 LDR R3, [R0,#0x3C] .text:10004EBC ADD R0, R3, #0x28 .text:10004EC0 BL CEDDK_20 .text:10004EC4 AND R0, R0, #0xFF .text:10004EC8 LDR LR, [SP],#arg_4 .text:10004ECC BX LR .text:10004ECC ; End of function sub_10004EB4 .text:10004ECC .text:10004ED0 .text:10004ED0 ; =============== S U B R O U T I N E ======================================= .text:10004ED0 .text:10004ED0 .text:10004ED0 sub_10004ED0 ; DATA XREF: .text:10001468o .text:10004ED0 ; .pdata:1000B338o .text:10004ED0 .text:10004ED0 var_4 = -4 .text:10004ED0 arg_4 = 4 .text:10004ED0 .text:10004ED0 STR LR, [SP,#var_4]! .text:10004ED4 LDR R3, [R0,#0x3C] .text:10004ED8 ADD R0, R3, #0x28 .text:10004EDC BL CEDDK_35 .text:10004EE0 LDR LR, [SP],#arg_4 .text:10004EE4 BX LR .text:10004EE4 ; End of function sub_10004ED0 .text:10004EE4 .text:10004EE8 .text:10004EE8 ; =============== S U B R O U T I N E ======================================= .text:10004EE8 .text:10004EE8 .text:10004EE8 sub_10004EE8 ; DATA XREF: .text:10001450o .text:10004EE8 ; .pdata:1000B340o .text:10004EE8 STMFD SP!, {R4,LR} .text:10004EEC MOV R4, R0 .text:10004EF0 BL sub_10005CEC .text:10004EF4 LDR R3, [R4] .text:10004EF8 MOV R0, R4 .text:10004EFC LDR R3, [R3,#0x5C] .text:10004F00 MOV LR, PC .text:10004F04 BX R3 .text:10004F08 LDR R3, [R4] .text:10004F0C MOV R2, R0 .text:10004F10 MOV R1, #0 .text:10004F14 LDR R3, [R3,#0x58] .text:10004F18 MOV R0, R4 .text:10004F1C STRB R2, [R4,#0x40] .text:10004F20 MOV LR, PC .text:10004F24 BX R3 .text:10004F28 LDMFD SP!, {R4,LR} .text:10004F2C BX LR .text:10004F2C ; End of function sub_10004EE8 .text:10004F2C .text:10004F30 .text:10004F30 ; =============== S U B R O U T I N E ======================================= .text:10004F30 .text:10004F30 .text:10004F30 sub_10004F30 ; DATA XREF: .text:10001454o .text:10004F30 ; .pdata:1000B348o .text:10004F30 STMFD SP!, {R4,LR} .text:10004F34 MOV R4, R0 .text:10004F38 LDR R3, [R4,#0x10] .text:10004F3C CMP R3, #0 .text:10004F40 BEQ loc_10004F60 .text:10004F44 BL sub_10005D50 .text:10004F48 LDR R3, [R4] .text:10004F4C LDRB R1, [R4,#0x40] .text:10004F50 MOV R0, R4 .text:10004F54 LDR R3, [R3,#0x58] .text:10004F58 MOV LR, PC .text:10004F5C BX R3 .text:10004F60 .text:10004F60 loc_10004F60 ; CODE XREF: sub_10004F30+10j .text:10004F60 LDMFD SP!, {R4,LR} .text:10004F64 BX LR .text:10004F64 ; End of function sub_10004F30 .text:10004F64 .text:10004F68 .text:10004F68 ; =============== S U B R O U T I N E ======================================= .text:10004F68 .text:10004F68 .text:10004F68 sub_10004F68 ; CODE XREF: sub_10001ED4+70p .text:10004F68 ; sub_10001ED4+A0p ... .text:10004F68 STMFD SP!, {R4,LR} .text:10004F6C MOV R4, R0 .text:10004F70 BL sub_10007010 .text:10004F74 LDR R3, =off_10001470 .text:10004F78 LDR R2, =off_10001554 .text:10004F7C MOV R1, #0 .text:10004F80 STR R1, [R4,#0x144] .text:10004F84 STR R1, [R4,#0x148] .text:10004F88 STR R3, [R4] .text:10004F8C STR R2, [R4,#0xFC] .text:10004F90 STR R1, [R4,#0x14C] .text:10004F94 STR R1, [R4,#0x150] .text:10004F98 MOV R0, R4 .text:10004F9C LDMFD SP!, {R4,LR} .text:10004FA0 BX LR .text:10004FA0 ; End of function sub_10004F68 .text:10004FA0 .text:10004FA0 ; --------------------------------------------------------------------------- .text:10004FA4 off_10004FA4 DCD off_10001554 ; DATA XREF: sub_10004F68+10r .text:10004FA8 off_10004FA8 DCD off_10001470 ; DATA XREF: sub_10004F68+Cr .text:10004FAC .text:10004FAC ; =============== S U B R O U T I N E ======================================= .text:10004FAC .text:10004FAC .text:10004FAC sub_10004FAC ; CODE XREF: sub_10001AD0+30p .text:10004FAC ; sub_10001D84+30p ... .text:10004FAC STMFD SP!, {R4,LR} .text:10004FB0 MOV R4, R0 .text:10004FB4 LDR R3, [R4,#0x144] .text:10004FB8 LDR R1, =off_10001554 .text:10004FBC LDR R2, =off_10001470 .text:10004FC0 CMP R3, #0 .text:10004FC4 LDRNE R0, [R4,#0x144] .text:10004FC8 STR R1, [R4,#0xFC] .text:10004FCC MOVNE R1, #0 .text:10004FD0 STR R2, [R4] .text:10004FD4 BLNE CEDDK_9 .text:10004FD8 LDR R3, [R4,#0x148] .text:10004FDC CMP R3, #0 .text:10004FE0 LDRNE R0, [R4,#0x148] .text:10004FE4 MOVNE R1, #0 .text:10004FE8 BLNE CEDDK_9 .text:10004FEC LDR R3, [R4,#0x14C] .text:10004FF0 CMP R3, #0 .text:10004FF4 LDRNE R0, [R4,#0x14C] .text:10004FF8 MOVNE R1, #0 .text:10004FFC BLNE CEDDK_9 .text:10005000 MOV R0, R4 .text:10005004 BL sub_100070AC .text:10005008 LDMFD SP!, {R4,LR} .text:1000500C BX LR .text:1000500C ; End of function sub_10004FAC .text:1000500C .text:1000500C ; --------------------------------------------------------------------------- .text:10005010 off_10005010 DCD off_10001470 ; DATA XREF: sub_10004FAC+10r .text:10005014 off_10005014 DCD off_10001554 ; DATA XREF: sub_10004FAC+Cr .text:10005018 .text:10005018 ; =============== S U B R O U T I N E ======================================= .text:10005018 .text:10005018 .text:10005018 sub_10005018 ; CODE XREF: sub_10002050+3Cp .text:10005018 ; sub_10002100+3Cp ... .text:10005018 .text:10005018 var_12C = -0x12C .text:10005018 var_128 = -0x128 .text:10005018 var_124 = -0x124 .text:10005018 var_11C = -0x11C .text:10005018 var_118 = -0x118 .text:10005018 var_114 = -0x114 .text:10005018 var_10 = -0x10 .text:10005018 .text:10005018 STMFD SP!, {R4,R5,LR} .text:1000501C SUB SP, SP, #0x120 .text:10005020 MOV R4, R0 .text:10005024 LDR R3, =unk_1000A5A8 .text:10005028 LDR R3, [R3] .text:1000502C STR R3, [SP,#0x12C+var_10] .text:10005030 LDR R3, [R4,#4] .text:10005034 MOVL R2, 0xFFFFFFFF .text:10005038 MOVL R1, 0xFFFFFFFF .text:1000503C CMP R3, #0 .text:10005040 STR R2, [SP,#0x12C+var_118] .text:10005044 STR R1, [SP,#0x12C+var_114] .text:10005048 BEQ loc_1000506C .text:1000504C MOV R2, #0x10C .text:10005050 ADD R1, SP, #0x12C+var_11C .text:10005054 MOV R0, R3 .text:10005058 STR R2, [SP,#0x12C+var_11C] .text:1000505C BL DDKReg_GetIsrInfo .text:10005060 LDR R1, [SP,#0x12C+var_114] .text:10005064 LDR R2, [SP,#0x12C+var_118] .text:10005068 B loc_10005070 .text:1000506C ; --------------------------------------------------------------------------- .text:1000506C .text:1000506C loc_1000506C ; CODE XREF: sub_10005018+30j .text:1000506C MOV R0, #1 .text:10005070 .text:10005070 loc_10005070 ; CODE XREF: sub_10005018+50j .text:10005070 CMP R0, #0 .text:10005074 BNE loc_100050E0 .text:10005078 CMP R1, #0 .text:1000507C BEQ loc_10005088 .text:10005080 CMP R1, #0xFF .text:10005084 BCC loc_100050E0 .text:10005088 .text:10005088 loc_10005088 ; CODE XREF: sub_10005018+64j .text:10005088 CMP R2, #0 .text:1000508C BEQ loc_100050E0 .text:10005090 CMP R2, #0xFF .text:10005094 BCS loc_100050E0 .text:10005098 LDR R0, =0x1010098 .text:1000509C MOV R3, #0 .text:100050A0 STR R3, [SP,#0x12C+var_128] .text:100050A4 MOV R5, #4 .text:100050A8 ADD R3, SP, #0x12C+var_114 .text:100050AC MOV R2, #4 .text:100050B0 ADD R1, SP, #0x12C+var_118 .text:100050B4 STR R5, [SP,#0x12C+var_12C] .text:100050B8 BL KernelIoControl .text:100050BC CMP R0, #0 .text:100050C0 LDRNE R1, =aSysintr .text:100050C4 LDRNE R0, [R4,#4] .text:100050C8 ADDNE LR, SP, #0x12C+var_114 .text:100050CC MOVNE R3, #4 .text:100050D0 MOVNE R2, #0 .text:100050D4 STRNE R5, [SP,#0x12C+var_128] .text:100050D8 STRNE LR, [SP,#0x12C+var_12C] .text:100050DC BLNE RegSetValueExW .text:100050E0 .text:100050E0 loc_100050E0 ; CODE XREF: sub_10005018+5Cj .text:100050E0 ; sub_10005018+6Cj ... .text:100050E0 LDR R1, =aIrconnected .text:100050E4 MOV LR, #0 .text:100050E8 MOV R3, #4 .text:100050EC ADD R2, SP, #0x12C+var_124 .text:100050F0 ADD R0, R4, #4 .text:100050F4 STR LR, [SP,#0x12C+var_124] .text:100050F8 BL sub_10004A98 .text:100050FC CMP R0, #0 .text:10005100 MOVEQ R3, #0 .text:10005104 STREQ R3, [SP,#0x12C+var_124] .text:10005108 LDRNE R3, [SP,#0x12C+var_124] .text:1000510C MOV R0, R4 .text:10005110 CMP R3, #0 .text:10005114 MOVNE R3, #1 .text:10005118 MOVEQ R3, #0 .text:1000511C STR R3, [R4,#0x150] .text:10005120 BL sub_10005E7C .text:10005124 MOV R5, R0 .text:10005128 CMP R5, #1 .text:1000512C BNE loc_10005188 .text:10005130 LDR R1, =aWatermarker .text:10005134 MOV R3, #4 .text:10005138 ADD R2, R4, #0x120 .text:1000513C ADD R0, R4, #4 .text:10005140 BL sub_10004A98 .text:10005144 CMP R0, #0 .text:10005148 MOVEQ R3, #0x20 .text:1000514C STREQ R3, [R4,#0x120] .text:10005150 LDR R3, [R4,#0x124] .text:10005154 MOVS R0, R3 .text:10005158 BEQ loc_10005188 .text:1000515C LDR R3, [R0] .text:10005160 MOV R1, #0 .text:10005164 LDR R3, [R3,#0x18] .text:10005168 MOV LR, PC .text:1000516C BX R3 .text:10005170 LDR R0, [R4,#0x124] .text:10005174 MOV R1, #0 .text:10005178 LDR R3, [R0] .text:1000517C LDR R3, [R3,#0x68] .text:10005180 MOV LR, PC .text:10005184 BX R3 .text:10005188 .text:10005188 loc_10005188 ; CODE XREF: sub_10005018+114j .text:10005188 ; sub_10005018+140j .text:10005188 LDR R0, [SP,#0x12C+var_10] .text:1000518C BL sub_10008E20 .text:10005190 MOV R0, R5 .text:10005194 ADD SP, SP, #0x120 .text:10005198 LDMFD SP!, {R4,R5,LR} .text:1000519C BX LR .text:1000519C ; End of function sub_10005018 .text:1000519C .text:1000519C ; --------------------------------------------------------------------------- .text:100051A0 off_100051A0 DCD aWatermarker ; DATA XREF: sub_10005018+118r .text:100051A0 ; "WaterMarker" .text:100051A4 off_100051A4 DCD aIrconnected ; DATA XREF: sub_10005018:loc_100050E0r .text:100051A4 ; "IRConnected" .text:100051A8 off_100051A8 DCD aSysintr ; DATA XREF: sub_10005018+A8r .text:100051A8 ; "SysIntr" .text:100051AC dword_100051AC DCD 0x1010098 ; DATA XREF: sub_10005018+80r .text:100051B0 off_100051B0 DCD unk_1000A5A8 ; DATA XREF: sub_10005018+Cr .text:100051B4 .text:100051B4 ; =============== S U B R O U T I N E ======================================= .text:100051B4 .text:100051B4 .text:100051B4 sub_100051B4 ; DATA XREF: .text:1000102Co .text:100051B4 ; .text:10001114o ... .text:100051B4 STMFD SP!, {R4,R5,LR} .text:100051B8 MOV R4, R0 .text:100051BC BL sub_100075BC .text:100051C0 MOVS R5, R0 .text:100051C4 BEQ loc_10005220 .text:100051C8 ADD R0, R4, #0x60 .text:100051CC BL EnterCriticalSection .text:100051D0 LDR R0, [R4,#0x124] .text:100051D4 LDR R3, [R0] .text:100051D8 LDR R3, [R3,#0x14] .text:100051DC MOV LR, PC .text:100051E0 BX R3 .text:100051E4 LDR R2, [R4,#0x124] .text:100051E8 ORR R1, R0, #0x50 .text:100051EC LDR R3, [R2] .text:100051F0 MOV R0, R2 .text:100051F4 LDR R3, [R3,#0x10] .text:100051F8 MOV LR, PC .text:100051FC BX R3 .text:10005200 LDR R3, [R4] .text:10005204 MOV R1, #1 .text:10005208 MOV R0, R4 .text:1000520C LDR R3, [R3,#0xE0] .text:10005210 MOV LR, PC .text:10005214 BX R3 .text:10005218 ADD R0, R4, #0x60 .text:1000521C BL LeaveCriticalSection .text:10005220 .text:10005220 loc_10005220 ; CODE XREF: sub_100051B4+10j .text:10005220 MOV R0, R5 .text:10005224 LDMFD SP!, {R4,R5,LR} .text:10005228 BX LR .text:10005228 ; End of function sub_100051B4 .text:10005228 .text:1000522C .text:1000522C ; =============== S U B R O U T I N E ======================================= .text:1000522C .text:1000522C .text:1000522C sub_1000522C ; CODE XREF: sub_10001C2C+8p .text:1000522C ; DATA XREF: .text:10001118o ... .text:1000522C STMFD SP!, {R4,R5,LR} .text:10005230 MOV R4, R0 .text:10005234 BL sub_1000765C .text:10005238 MOVS R5, R0 .text:1000523C BEQ loc_10005298 .text:10005240 ADD R0, R4, #0x60 .text:10005244 BL EnterCriticalSection .text:10005248 LDR R3, [R4] .text:1000524C MOV R1, #0 .text:10005250 MOV R0, R4 .text:10005254 LDR R3, [R3,#0xE0] .text:10005258 MOV LR, PC .text:1000525C BX R3 .text:10005260 LDR R0, [R4,#0x124] .text:10005264 LDR R3, [R0] .text:10005268 LDR R3, [R3,#0x14] .text:1000526C MOV LR, PC .text:10005270 BX R3 .text:10005274 LDR R2, [R4,#0x124] .text:10005278 AND R1, R0, #0xAF .text:1000527C LDR R3, [R2] .text:10005280 MOV R0, R2 .text:10005284 LDR R3, [R3,#0x10] .text:10005288 MOV LR, PC .text:1000528C BX R3 .text:10005290 ADD R0, R4, #0x60 .text:10005294 BL LeaveCriticalSection .text:10005298 .text:10005298 loc_10005298 ; CODE XREF: sub_1000522C+10j .text:10005298 MOV R0, R5 .text:1000529C LDMFD SP!, {R4,R5,LR} .text:100052A0 BX LR .text:100052A0 ; End of function sub_1000522C .text:100052A0 .text:100052A4 .text:100052A4 ; =============== S U B R O U T I N E ======================================= .text:100052A4 .text:100052A4 .text:100052A4 sub_100052A4 ; DATA XREF: .text:100010E8o .text:100052A4 ; .text:100011D0o ... .text:100052A4 .text:100052A4 var_7C = -0x7C .text:100052A4 var_3C = -0x3C .text:100052A4 var_38 = -0x38 .text:100052A4 var_34 = -0x34 .text:100052A4 .text:100052A4 STMFD SP!, {R4,LR} .text:100052A8 SUB SP, SP, #0x74 .text:100052AC MOV R4, R0 .text:100052B0 LDR R1, =aRegstride .text:100052B4 ADD R0, R4, #4 .text:100052B8 MOV R3, #4 .text:100052BC ADD R2, R4, #0x130 .text:100052C0 BL sub_10004A98 .text:100052C4 CMP R0, #0 .text:100052C8 MOVEQ R3, #4 .text:100052CC STREQ R3, [R4,#0x130] .text:100052D0 LDR R3, [R4,#0x144] .text:100052D4 CMP R3, #0 .text:100052D8 BNE loc_10005344 .text:100052DC LDR R3, [R4,#4] .text:100052E0 CMP R3, #0 .text:100052E4 BEQ loc_10005300 .text:100052E8 MOV R2, #0x74 .text:100052EC ADD R1, SP, #0x7C+var_7C .text:100052F0 MOV R0, R3 .text:100052F4 STR R2, [SP,#0x7C+var_7C] .text:100052F8 BL DDKReg_GetWindowInfo .text:100052FC B loc_10005304 .text:10005300 ; --------------------------------------------------------------------------- .text:10005300 .text:10005300 loc_10005300 ; CODE XREF: sub_100052A4+40j .text:10005300 MOV R0, #1 .text:10005304 .text:10005304 loc_10005304 ; CODE XREF: sub_100052A4+58j .text:10005304 CMP R0, #0 .text:10005308 BNE loc_10005344 .text:1000530C LDR R3, [SP,#0x7C+var_3C] .text:10005310 CMP R3, #1 .text:10005314 BCC loc_10005344 .text:10005318 LDR R0, [SP,#0x7C+var_38] .text:1000531C CMP R0, #0 .text:10005320 BEQ loc_10005344 .text:10005324 LDR R3, [R4,#0x130] .text:10005328 LDR R2, [SP,#0x7C+var_34] .text:1000532C CMP R2, R3,LSL#4 .text:10005330 BCC loc_10005344 .text:10005334 MOV R1, #0 .text:10005338 MOV R3, #0 .text:1000533C BL CEDDK_8 .text:10005340 STR R0, [R4,#0x144] .text:10005344 .text:10005344 loc_10005344 ; CODE XREF: sub_100052A4+34j .text:10005344 ; sub_100052A4+64j ... .text:10005344 LDR R3, [R4,#0x148] .text:10005348 CMP R3, #0 .text:1000534C BNE loc_1000536C .text:10005350 MOVL R0, 0x40E00000 .text:10005358 MOV R1, #0 .text:1000535C MOV R3, #0 .text:10005360 MOV R2, #0x14C .text:10005364 BL CEDDK_8 .text:10005368 STR R0, [R4,#0x148] .text:1000536C .text:1000536C loc_1000536C ; CODE XREF: sub_100052A4+A8j .text:1000536C LDR R3, [R4,#0x14C] .text:10005370 CMP R3, #0 .text:10005374 BNE loc_10005394 .text:10005378 MOVL R0, 0x41300000 .text:10005380 MOV R1, #0 .text:10005384 MOV R3, #0 .text:10005388 MOV R2, #0x10 .text:1000538C BL CEDDK_8 .text:10005390 STR R0, [R4,#0x14C] .text:10005394 .text:10005394 loc_10005394 ; CODE XREF: sub_100052A4+D0j .text:10005394 LDR R3, [R4,#0x144] .text:10005398 CMP R3, #0 .text:1000539C BEQ loc_100053B8 .text:100053A0 LDR R3, [R4,#0x148] .text:100053A4 CMP R3, #0 .text:100053A8 LDRNE R3, [R4,#0x14C] .text:100053AC CMPNE R3, #0 .text:100053B0 MOVNE R0, #1 .text:100053B4 BNE loc_100053BC .text:100053B8 .text:100053B8 loc_100053B8 ; CODE XREF: sub_100052A4+F8j .text:100053B8 MOV R0, #0 .text:100053BC .text:100053BC loc_100053BC ; CODE XREF: sub_100052A4+110j .text:100053BC ADD SP, SP, #0x74 .text:100053C0 LDMFD SP!, {R4,LR} .text:100053C4 BX LR .text:100053C4 ; End of function sub_100052A4 .text:100053C4 .text:100053C4 ; --------------------------------------------------------------------------- .text:100053C8 off_100053C8 DCD aRegstride ; DATA XREF: sub_100052A4+Cr .text:100053C8 ; "RegStride" .text:100053CC .text:100053CC ; =============== S U B R O U T I N E ======================================= .text:100053CC .text:100053CC .text:100053CC sub_100053CC ; DATA XREF: .text:100010ECo .text:100053CC ; .text:100011D4o ... .text:100053CC STMFD SP!, {R4-R6,LR} .text:100053D0 MOV R5, R0 .text:100053D4 LDR R3, [R5,#0x124] .text:100053D8 CMP R3, #0 .text:100053DC BEQ loc_100053EC .text:100053E0 .text:100053E0 loc_100053E0 ; CODE XREF: sub_100053CC+B8j .text:100053E0 MOV R0, #1 .text:100053E4 LDMFD SP!, {R4-R6,LR} .text:100053E8 BX LR .text:100053EC ; --------------------------------------------------------------------------- .text:100053EC .text:100053EC loc_100053EC ; CODE XREF: sub_100053CC+10j .text:100053EC LDR R3, [R5,#0x144] .text:100053F0 CMP R3, #0 .text:100053F4 BEQ loc_1000547C .text:100053F8 MOV R0, #0x44 .text:100053FC BL __2_YAPAXI_Z ; operator new(uint) .text:10005400 MOVS R6, R0 .text:10005404 BEQ loc_1000542C .text:10005408 LDR R4, [R5,#0x144] .text:1000540C MOV R2, #4 .text:10005410 MOV R0, R6 .text:10005414 MOV R1, R4 .text:10005418 BL sub_10005C7C .text:1000541C LDR R3, =off_10001400 .text:10005420 STR R4, [R6,#0x3C] .text:10005424 STR R3, [R6] .text:10005428 B loc_10005430 .text:1000542C ; --------------------------------------------------------------------------- .text:1000542C .text:1000542C loc_1000542C ; CODE XREF: sub_100053CC+38j .text:1000542C MOV R6, #0 .text:10005430 .text:10005430 loc_10005430 ; CODE XREF: sub_100053CC+5Cj .text:10005430 STR R6, [R5,#0x124] .text:10005434 CMP R6, #0 .text:10005438 BEQ loc_10005488 .text:1000543C LDR R3, [R6] .text:10005440 MOV R0, R6 .text:10005444 LDR R3, [R3,#4] .text:10005448 MOV LR, PC .text:1000544C BX R3 .text:10005450 CMP R0, #0 .text:10005454 BNE loc_1000547C .text:10005458 LDR R3, [R5,#0x124] .text:1000545C MOVS R0, R3 .text:10005460 LDRNE R3, [R0] .text:10005464 MOVNE R1, #1 .text:10005468 LDRNE R3, [R3] .text:1000546C MOVNE LR, PC .text:10005470 BXNE R3 .text:10005474 MOV R3, #0 .text:10005478 STR R3, [R5,#0x124] .text:1000547C .text:1000547C loc_1000547C ; CODE XREF: sub_100053CC+28j .text:1000547C ; sub_100053CC+88j .text:1000547C LDR R3, [R5,#0x124] .text:10005480 CMP R3, #0 .text:10005484 BNE loc_100053E0 .text:10005488 .text:10005488 loc_10005488 ; CODE XREF: sub_100053CC+6Cj .text:10005488 MOV R0, #0 .text:1000548C LDMFD SP!, {R4-R6,LR} .text:10005490 BX LR .text:10005490 ; End of function sub_100053CC .text:10005490 .text:10005490 ; --------------------------------------------------------------------------- .text:10005494 off_10005494 DCD off_10001400 ; DATA XREF: sub_100053CC+50r .text:10005498 .text:10005498 ; =============== S U B R O U T I N E ======================================= .text:10005498 .text:10005498 .text:10005498 sub_10005498 ; DATA XREF: .text:100010F8o .text:10005498 ; .text:100011E0o ... .text:10005498 STMFD SP!, {R4,LR} .text:1000549C LDR LR, =unk_1000A564 .text:100054A0 LDR R4, [R0,#0x120] .text:100054A4 MOV R2, #3 .text:100054A8 LDR R3, [LR] .text:100054AC ADD R1, LR, #0x18 .text:100054B0 AND R0, R3, #0xFF .text:100054B4 .text:100054B4 loc_100054B4 ; CODE XREF: sub_10005498+30j .text:100054B4 LDR R3, [R1,#4] .text:100054B8 CMP R4, R3 .text:100054BC BCS loc_100054D4 .text:100054C0 SUBS R2, R2, #1 .text:100054C4 SUB R1, R1, #8 .text:100054C8 BNE loc_100054B4 .text:100054CC LDMFD SP!, {R4,LR} .text:100054D0 BX LR .text:100054D4 ; --------------------------------------------------------------------------- .text:100054D4 .text:100054D4 loc_100054D4 ; CODE XREF: sub_10005498+24j .text:100054D4 LDR R3, [LR,R2,LSL#3] .text:100054D8 AND R0, R3, #0xFF .text:100054DC LDMFD SP!, {R4,LR} .text:100054E0 BX LR .text:100054E0 ; End of function sub_10005498 .text:100054E0 .text:100054E0 ; --------------------------------------------------------------------------- .text:100054E4 off_100054E4 DCD unk_1000A564 ; DATA XREF: sub_10005498+4r .text:100054E8 .text:100054E8 ; =============== S U B R O U T I N E ======================================= .text:100054E8 .text:100054E8 .text:100054E8 sub_100054E8 ; DATA XREF: .text:100010F4o .text:100054E8 ; .text:100011DCo ... .text:100054E8 STMFD SP!, {R4,LR} .text:100054EC LDR LR, =unk_1000A564 .text:100054F0 LDR R4, [R0,#0x120] .text:100054F4 MOV R2, #3 .text:100054F8 LDR R3, [LR,#4] .text:100054FC ADD R1, LR, #0x18 .text:10005500 AND R0, R3, #0xFF .text:10005504 .text:10005504 loc_10005504 ; CODE XREF: sub_100054E8+30j .text:10005504 LDR R3, [R1,#4] .text:10005508 CMP R4, R3 .text:1000550C BCS loc_10005524 .text:10005510 SUBS R2, R2, #1 .text:10005514 SUB R1, R1, #8 .text:10005518 BNE loc_10005504 .text:1000551C LDMFD SP!, {R4,LR} .text:10005520 BX LR .text:10005524 ; --------------------------------------------------------------------------- .text:10005524 .text:10005524 loc_10005524 ; CODE XREF: sub_100054E8+24j .text:10005524 ADD R3, LR, R2,LSL#3 .text:10005528 LDR R3, [R3,#4] .text:1000552C AND R0, R3, #0xFF .text:10005530 LDMFD SP!, {R4,LR} .text:10005534 BX LR .text:10005534 ; End of function sub_100054E8 .text:10005534 .text:10005534 ; --------------------------------------------------------------------------- .text:10005538 off_10005538 DCD unk_1000A564 ; DATA XREF: sub_100054E8+4r .text:1000553C .text:1000553C ; =============== S U B R O U T I N E ======================================= .text:1000553C .text:1000553C .text:1000553C sub_1000553C ; DATA XREF: .text:100010D4o .text:1000553C ; .text:100011BCo ... .text:1000553C STMFD SP!, {R4,LR} .text:10005540 LDR R4, =a2 .text:10005544 MOV R3, #0 .text:10005548 MOV R0, R4 .text:1000554C .text:1000554C loc_1000554C ; CODE XREF: sub_1000553C+2Cj .text:1000554C LDR LR, [R0] .text:10005550 CMP LR, R1 .text:10005554 BHI loc_1000556C .text:10005558 BEQ loc_10005578 .text:1000555C ADD R3, R3, #1 .text:10005560 CMP R3, #0x16 .text:10005564 ADD R0, R0, #8 .text:10005568 BCC loc_1000554C .text:1000556C .text:1000556C loc_1000556C ; CODE XREF: sub_1000553C+18j .text:1000556C MOV R0, #0 .text:10005570 LDMFD SP!, {R4,LR} .text:10005574 BX LR .text:10005578 ; --------------------------------------------------------------------------- .text:10005578 .text:10005578 loc_10005578 ; CODE XREF: sub_1000553C+1Cj .text:10005578 CMP R2, #0 .text:1000557C ADDNE R3, R4, R3,LSL#3 .text:10005580 LDRNE R3, [R3,#4] .text:10005584 MOV R0, #1 .text:10005588 STRNE R3, [R2] .text:1000558C LDMFD SP!, {R4,LR} .text:10005590 BX LR .text:10005590 ; End of function sub_1000553C .text:10005590 .text:10005590 ; --------------------------------------------------------------------------- .text:10005594 off_10005594 DCD a2 ; DATA XREF: sub_1000553C+4r .text:10005594 ; "2" .text:10005598 .text:10005598 ; =============== S U B R O U T I N E ======================================= .text:10005598 .text:10005598 .text:10005598 sub_10005598 ; CODE XREF: sub_10005688+9Cp .text:10005598 ; sub_10005770+38p ... .text:10005598 STMFD SP!, {R4-R6,LR} .text:1000559C MOV R5, R0 .text:100055A0 LDR R3, [R5,#0x150] .text:100055A4 CMP R3, #0 .text:100055A8 BEQ loc_1000567C .text:100055AC CMP R1, #0 .text:100055B0 MOVNE R1, #2 .text:100055B4 MOVEQ R1, #0 .text:100055B8 CMP R2, #0 .text:100055BC MOVNE R3, #1 .text:100055C0 MOVEQ R3, #0 .text:100055C4 ORR R3, R1, R3 .text:100055C8 ADD R0, R5, #0x60 .text:100055CC AND R6, R3, #0xFF .text:100055D0 BL EnterCriticalSection .text:100055D4 LDR R0, [R5,#0x124] .text:100055D8 LDR R3, [R0] .text:100055DC LDR R3, [R3,#0x5C] .text:100055E0 MOV LR, PC .text:100055E4 BX R3 .text:100055E8 AND R3, R0, #3 .text:100055EC CMP R3, R6 .text:100055F0 BEQ loc_10005674 .text:100055F4 LDR R0, [R5,#0x124] .text:100055F8 LDR R3, [R0] .text:100055FC LDR R3, [R3,#0x14] .text:10005600 MOV LR, PC .text:10005604 BX R3 .text:10005608 LDR R2, [R5,#0x124] .text:1000560C MOV R4, R0 .text:10005610 AND R1, R4, #0xBF .text:10005614 LDR R3, [R2] .text:10005618 MOV R0, R2 .text:1000561C LDR R3, [R3,#0x10] .text:10005620 MOV LR, PC .text:10005624 BX R3 .text:10005628 LDR R0, [R5,#0x124] .text:1000562C LDR R3, [R0] .text:10005630 LDR R3, [R3,#0x5C] .text:10005634 MOV LR, PC .text:10005638 BX R3 .text:1000563C LDR LR, [R5,#0x124] .text:10005640 AND R3, R0, #0xFC .text:10005644 ORR R1, R3, R6 .text:10005648 LDR R2, [LR] .text:1000564C MOV R0, LR .text:10005650 LDR R3, [R2,#0x58] .text:10005654 MOV LR, PC .text:10005658 BX R3 .text:1000565C LDR R0, [R5,#0x124] .text:10005660 MOV R1, R4 .text:10005664 LDR R3, [R0] .text:10005668 LDR R3, [R3,#0x10] .text:1000566C MOV LR, PC .text:10005670 BX R3 .text:10005674 .text:10005674 loc_10005674 ; CODE XREF: sub_10005598+58j .text:10005674 ADD R0, R5, #0x60 .text:10005678 BL LeaveCriticalSection .text:1000567C .text:1000567C loc_1000567C ; CODE XREF: sub_10005598+10j .text:1000567C MOV R0, #1 .text:10005680 LDMFD SP!, {R4-R6,LR} .text:10005684 BX LR .text:10005684 ; End of function sub_10005598 .text:10005684 .text:10005688 .text:10005688 ; =============== S U B R O U T I N E ======================================= .text:10005688 .text:10005688 .text:10005688 sub_10005688 ; DATA XREF: .text:10001100o .text:10005688 ; .text:100011E8o ... .text:10005688 STMFD SP!, {R4-R6,LR} .text:1000568C MOV R5, R1 .text:10005690 MOV R4, R0 .text:10005694 ADD R0, R4, #0x60 .text:10005698 BL EnterCriticalSection .text:1000569C LDR R0, [R4,#0x124] .text:100056A0 LDR R3, [R0] .text:100056A4 LDR R3, [R3,#0x14] .text:100056A8 MOV LR, PC .text:100056AC BX R3 .text:100056B0 LDR R2, [R4,#0x124] .text:100056B4 MOV R6, R0 .text:100056B8 AND R1, R6, #0xBF .text:100056BC LDR R3, [R2] .text:100056C0 MOV R0, R2 .text:100056C4 LDR R3, [R3,#0x10] .text:100056C8 MOV LR, PC .text:100056CC BX R3 .text:100056D0 LDR R3, [R4,#0x150] .text:100056D4 CMP R3, #0 .text:100056D8 BEQ loc_1000572C .text:100056DC CMP R5, #0 .text:100056E0 BEQ loc_1000572C .text:100056E4 LDR R0, [R4,#0x124] .text:100056E8 LDR R3, [R0] .text:100056EC LDR R3, [R3,#0x5C] .text:100056F0 MOV LR, PC .text:100056F4 BX R3 .text:100056F8 LDR LR, [R4,#0x124] .text:100056FC AND R3, R0, #0xE3 .text:10005700 ORR R1, R3, #0x14 .text:10005704 LDR R2, [LR] .text:10005708 MOV R0, LR .text:1000570C LDR R3, [R2,#0x58] .text:10005710 MOV LR, PC .text:10005714 BX R3 .text:10005718 MOV R2, #0 .text:1000571C MOV R1, #1 .text:10005720 MOV R0, R4 .text:10005724 BL sub_10005598 .text:10005728 B loc_10005744 .text:1000572C ; --------------------------------------------------------------------------- .text:1000572C .text:1000572C loc_1000572C ; CODE XREF: sub_10005688+50j .text:1000572C ; sub_10005688+58j .text:1000572C LDR R0, [R4,#0x124] .text:10005730 MOV R1, #0 .text:10005734 LDR R3, [R0] .text:10005738 LDR R3, [R3,#0x58] .text:1000573C MOV LR, PC .text:10005740 BX R3 .text:10005744 .text:10005744 loc_10005744 ; CODE XREF: sub_10005688+A0j .text:10005744 LDR R0, [R4,#0x124] .text:10005748 MOV R1, R6 .text:1000574C LDR R3, [R0] .text:10005750 LDR R3, [R3,#0x10] .text:10005754 MOV LR, PC .text:10005758 BX R3 .text:1000575C ADD R0, R4, #0x60 .text:10005760 BL LeaveCriticalSection .text:10005764 LDR R0, [R4,#0x150] .text:10005768 LDMFD SP!, {R4-R6,LR} .text:1000576C BX LR .text:1000576C ; End of function sub_10005688 .text:1000576C .text:10005770 .text:10005770 ; =============== S U B R O U T I N E ======================================= .text:10005770 .text:10005770 .text:10005770 sub_10005770 ; DATA XREF: .text:100010D8o .text:10005770 ; .text:100011C0o ... .text:10005770 STMFD SP!, {R4,LR} .text:10005774 CMP R1, #0 .text:10005778 MOV R4, R0 .text:1000577C LDR R3, [R4] .text:10005780 STR R1, [R4,#0xEC] .text:10005784 STR R2, [R4,#0xF0] .text:10005788 LDR R3, [R3,#0xE0] .text:1000578C BEQ loc_100057B4 .text:10005790 MOV R1, #1 .text:10005794 MOV LR, PC .text:10005798 BX R3 .text:1000579C MOV R2, #0 .text:100057A0 MOV R1, #1 .text:100057A4 MOV R0, R4 .text:100057A8 BL sub_10005598 .text:100057AC LDMFD SP!, {R4,LR} .text:100057B0 BX LR .text:100057B4 ; --------------------------------------------------------------------------- .text:100057B4 .text:100057B4 loc_100057B4 ; CODE XREF: sub_10005770+1Cj .text:100057B4 MOV R1, #0 .text:100057B8 MOV LR, PC .text:100057BC BX R3 .text:100057C0 LDMFD SP!, {R4,LR} .text:100057C4 BX LR .text:100057C4 ; End of function sub_10005770 .text:100057C4 .text:100057C8 .text:100057C8 ; =============== S U B R O U T I N E ======================================= .text:100057C8 .text:100057C8 .text:100057C8 sub_100057C8 ; DATA XREF: .text:100010FCo .text:100057C8 ; .text:100011E4o ... .text:100057C8 STMFD SP!, {R4,LR} .text:100057CC MOV R4, R0 .text:100057D0 LDR R0, [R4,#0x124] .text:100057D4 LDR R3, [R0] .text:100057D8 LDR R3, [R3,#0x38] .text:100057DC MOV LR, PC .text:100057E0 BX R3 .text:100057E4 MOV R3, R0 .text:100057E8 TST R3, #0x40 .text:100057EC MOV R0, #0 .text:100057F0 BEQ loc_1000580C .text:100057F4 LDR R3, [R4,#0x114] .text:100057F8 CMP R3, #0 .text:100057FC BEQ loc_10005828 .text:10005800 MOV R0, #0x40 .text:10005804 LDMFD SP!, {R4,LR} .text:10005808 BX LR .text:1000580C ; --------------------------------------------------------------------------- .text:1000580C .text:1000580C loc_1000580C ; CODE XREF: sub_100057C8+28j .text:1000580C TST R3, #0x20 .text:10005810 BEQ loc_1000582C .text:10005814 LDR R3, [R4,#0x114] .text:10005818 CMP R3, #0 .text:1000581C MOVNE R0, #0x20 .text:10005820 LDMNEFD SP!, {R4,LR} .text:10005824 BXNE LR .text:10005828 .text:10005828 loc_10005828 ; CODE XREF: sub_100057C8+34j .text:10005828 MOV R0, #1 .text:1000582C .text:1000582C loc_1000582C ; CODE XREF: sub_100057C8+48j .text:1000582C LDMFD SP!, {R4,LR} .text:10005830 BX LR .text:10005830 ; End of function sub_100057C8 .text:10005830 .text:10005834 .text:10005834 ; =============== S U B R O U T I N E ======================================= .text:10005834 .text:10005834 .text:10005834 sub_10005834 ; DATA XREF: .text:1000107Co .text:10005834 ; .text:10001164o ... .text:10005834 STMFD SP!, {R4,R5,LR} .text:10005838 MOV R4, R1 .text:1000583C MOV R5, R0 .text:10005840 LDR R3, [R5,#0xEC] .text:10005844 CMP R3, #0 .text:10005848 BEQ loc_10005864 .text:1000584C CMP R4, #0 .text:10005850 MOVEQ R1, #1 .text:10005854 MOVNE R1, #0 .text:10005858 MOV R2, R4 .text:1000585C MOV R0, R5 .text:10005860 BL sub_10005598 .text:10005864 .text:10005864 loc_10005864 ; CODE XREF: sub_10005834+14j .text:10005864 MOV R1, R4 .text:10005868 MOV R0, R5 .text:1000586C BL sub_1000656C .text:10005870 LDMFD SP!, {R4,R5,LR} .text:10005874 BX LR .text:10005874 ; End of function sub_10005834 .text:10005874 .text:10005878 .text:10005878 ; =============== S U B R O U T I N E ======================================= .text:10005878 .text:10005878 .text:10005878 sub_10005878 ; DATA XREF: .text:10001074o .text:10005878 ; .text:1000115Co ... .text:10005878 STMFD SP!, {R4-R7,LR} .text:1000587C MOV R4, R2 .text:10005880 MOVS R7, R1 .text:10005884 MOV R5, R0 .text:10005888 BEQ loc_100058A0 .text:1000588C CMP R4, #0 .text:10005890 BEQ loc_100058A0 .text:10005894 LDR R3, [R4] .text:10005898 CMP R3, #0 .text:1000589C BNE loc_100058D4 .text:100058A0 .text:100058A0 loc_100058A0 ; CODE XREF: sub_10005878+10j .text:100058A0 ; sub_10005878+18j .text:100058A0 MOV R6, #0 .text:100058A4 .text:100058A4 loc_100058A4 ; CODE XREF: sub_10005878+58j .text:100058A4 LDR R0, [R5,#0x124] .text:100058A8 LDR R3, [R0] .text:100058AC LDR R3, [R3,#0x38] .text:100058B0 MOV LR, PC .text:100058B4 BX R3 .text:100058B8 TST R0, #0x40 .text:100058BC BNE loc_100058D4 .text:100058C0 MOV R0, #1 .text:100058C4 BL Sleep .text:100058C8 ADD R6, R6, #1 .text:100058CC CMP R6, #0x1F4 .text:100058D0 BCC loc_100058A4 .text:100058D4 .text:100058D4 loc_100058D4 ; CODE XREF: sub_10005878+24j .text:100058D4 ; sub_10005878+44j .text:100058D4 LDR R3, [R5,#0xEC] .text:100058D8 CMP R3, #0 .text:100058DC BEQ loc_10005910 .text:100058E0 CMP R7, #0 .text:100058E4 BEQ loc_10005900 .text:100058E8 CMP R4, #0 .text:100058EC LDRNE R3, [R4] .text:100058F0 CMPNE R3, #0 .text:100058F4 MOVNE R2, #1 .text:100058F8 MOVNE R1, #0 .text:100058FC BNE loc_10005908 .text:10005900 .text:10005900 loc_10005900 ; CODE XREF: sub_10005878+6Cj .text:10005900 MOV R2, #0 .text:10005904 MOV R1, #1 .text:10005908 .text:10005908 loc_10005908 ; CODE XREF: sub_10005878+84j .text:10005908 MOV R0, R5 .text:1000590C BL sub_10005598 .text:10005910 .text:10005910 loc_10005910 ; CODE XREF: sub_10005878+64j .text:10005910 MOV R2, R4 .text:10005914 MOV R1, R7 .text:10005918 MOV R0, R5 .text:1000591C BL sub_100063E0 .text:10005920 LDMFD SP!, {R4-R7,LR} .text:10005924 BX LR .text:10005924 ; End of function sub_10005878 .text:10005924 .text:10005928 .text:10005928 ; =============== S U B R O U T I N E ======================================= .text:10005928 .text:10005928 .text:10005928 sub_10005928 ; DATA XREF: .text:10001078o .text:10005928 ; .text:10001160o ... .text:10005928 STMFD SP!, {R4,R5,LR} .text:1000592C MOV R5, R1 .text:10005930 MOV R4, R0 .text:10005934 LDR R3, [R4,#0xEC] .text:10005938 CMP R3, #0 .text:1000593C MOVNE R2, #1 .text:10005940 MOVNE R1, #0 .text:10005944 BLNE sub_10005598 .text:10005948 MOV R1, R5 .text:1000594C MOV R0, R4 .text:10005950 BL sub_100072C8 .text:10005954 LDMFD SP!, {R4,R5,LR} .text:10005958 BX LR .text:10005958 ; End of function sub_10005928 .text:10005958 .text:1000595C .text:1000595C ; =============== S U B R O U T I N E ======================================= .text:1000595C .text:1000595C .text:1000595C sub_1000595C ; DATA XREF: .text:100010CCo .text:1000595C ; .text:100011B4o ... .text:1000595C STMFD SP!, {R4,R5,LR} .text:10005960 MOV R4, R1 .text:10005964 MOV R5, R0 .text:10005968 ADD R0, R5, #0x60 .text:1000596C BL EnterCriticalSection .text:10005970 MOV R2, #0 .text:10005974 MOV R1, #0 .text:10005978 MOV R0, R5 .text:1000597C BL sub_10005598 .text:10005980 MOV R1, R4 .text:10005984 MOV R0, R5 .text:10005988 BL sub_10007E80 .text:1000598C MOV R4, R0 .text:10005990 MOV R0, R5 .text:10005994 MOV R2, #0 .text:10005998 MOV R1, #1 .text:1000599C BL sub_10005598 .text:100059A0 ADD R0, R5, #0x60 .text:100059A4 BL LeaveCriticalSection .text:100059A8 MOV R0, R4 .text:100059AC LDMFD SP!, {R4,R5,LR} .text:100059B0 BX LR .text:100059B0 ; End of function sub_1000595C .text:100059B0 .text:100059B4 .text:100059B4 ; =============== S U B R O U T I N E ======================================= .text:100059B4 .text:100059B4 .text:100059B4 sub_100059B4 ; DATA XREF: .text:10001048o .text:100059B4 ; .text:10001130o ... .text:100059B4 STMFD SP!, {R4,LR} .text:100059B8 MOV R4, R0 .text:100059BC LDR R0, [R4,#0x124] .text:100059C0 LDR R3, [R0] .text:100059C4 LDR R3, [R3,#0x50] .text:100059C8 MOV LR, PC .text:100059CC BX R3 .text:100059D0 LDR R0, [R4,#0x124] .text:100059D4 LDR R3, [R0] .text:100059D8 LDR R3, [R3,#0x14] .text:100059DC MOV LR, PC .text:100059E0 BX R3 .text:100059E4 LDR R2, [R4,#0x124] .text:100059E8 AND R1, R0, #0xBF .text:100059EC LDR R3, [R2] .text:100059F0 MOV R0, R2 .text:100059F4 LDR R3, [R3,#0x10] .text:100059F8 MOV LR, PC .text:100059FC BX R3 .text:10005A00 LDMFD SP!, {R4,LR} .text:10005A04 BX LR .text:10005A04 ; End of function sub_100059B4 .text:10005A04 .text:10005A08 .text:10005A08 ; =============== S U B R O U T I N E ======================================= .text:10005A08 .text:10005A08 .text:10005A08 sub_10005A08 ; DATA XREF: .text:1000108Co .text:10005A08 ; .text:10001174o ... .text:10005A08 STMFD SP!, {R4-R6,LR} .text:10005A0C MOV R4, R2 .text:10005A10 MOV R5, R1 .text:10005A14 MOV R6, R0 .text:10005A18 LDR R0, [R6,#0x124] .text:10005A1C LDR R3, [R0] .text:10005A20 LDR R3, [R3,#0x14] .text:10005A24 MOV LR, PC .text:10005A28 BX R3 .text:10005A2C LDR LR, [R6,#0x124] .text:10005A30 AND R1, R0, #0xEF .text:10005A34 LDR R3, [LR] .text:10005A38 MOV R0, LR .text:10005A3C LDR R3, [R3,#0x10] .text:10005A40 MOV LR, PC .text:10005A44 BX R3 .text:10005A48 MOV R2, R4 .text:10005A4C MOV R1, R5 .text:10005A50 MOV R0, R6 .text:10005A54 BL sub_10007350 .text:10005A58 LDR R2, [R6,#0x124] .text:10005A5C MOV R4, R0 .text:10005A60 LDR R3, [R2] .text:10005A64 MOV R0, R2 .text:10005A68 LDR R3, [R3,#0x14] .text:10005A6C MOV LR, PC .text:10005A70 BX R3 .text:10005A74 LDR R2, [R6,#0x124] .text:10005A78 ORR R1, R0, #0x10 .text:10005A7C LDR R3, [R2] .text:10005A80 MOV R0, R2 .text:10005A84 LDR R3, [R3,#0x10] .text:10005A88 MOV LR, PC .text:10005A8C BX R3 .text:10005A90 MOV R0, R4 .text:10005A94 LDMFD SP!, {R4-R6,LR} .text:10005A98 BX LR .text:10005A98 ; End of function sub_10005A08 .text:10005A98 .text:10005A9C .text:10005A9C ; =============== S U B R O U T I N E ======================================= .text:10005A9C .text:10005A9C .text:10005A9C sub_10005A9C ; CODE XREF: sub_10001B14+8p .text:10005A9C ; DATA XREF: .text:10001110o ... .text:10005A9C .text:10005A9C var_4 = -4 .text:10005A9C arg_4 = 4 .text:10005A9C .text:10005A9C STR LR, [SP,#var_4]! .text:10005AA0 BL sub_10006160 .text:10005AA4 LDR LR, [SP],#arg_4 .text:10005AA8 BX LR .text:10005AA8 ; End of function sub_10005A9C .text:10005AA8 .text:10005AAC .text:10005AAC ; =============== S U B R O U T I N E ======================================= .text:10005AAC .text:10005AAC .text:10005AAC sub_10005AAC ; DATA XREF: .text:10001184o .text:10005AAC ; .text:1000126Co ... .text:10005AAC .text:10005AAC var_4 = -4 .text:10005AAC arg_4 = 4 .text:10005AAC .text:10005AAC STR LR, [SP,#var_4]! .text:10005AB0 BL sub_10006910 .text:10005AB4 LDR LR, [SP],#arg_4 .text:10005AB8 BX LR .text:10005AB8 ; End of function sub_10005AAC .text:10005AB8 .text:10005ABC .text:10005ABC ; =============== S U B R O U T I N E ======================================= .text:10005ABC .text:10005ABC .text:10005ABC sub_10005ABC ; DATA XREF: .text:off_10001400o .text:10005ABC ; .pdata:1000B400o .text:10005ABC STMFD SP!, {R4,LR} .text:10005AC0 MOV R4, R0 .text:10005AC4 LDR R3, =off_100013A8 .text:10005AC8 TST R1, #1 .text:10005ACC STR R3, [R4] .text:10005AD0 BLNE __3_YAXPAX_Z ; operator delete(void *) .text:10005AD4 MOV R0, R4 .text:10005AD8 LDMFD SP!, {R4,LR} .text:10005ADC BX LR .text:10005ADC ; End of function sub_10005ABC .text:10005ADC .text:10005ADC ; --------------------------------------------------------------------------- .text:10005AE0 off_10005AE0 DCD off_100013A8 ; DATA XREF: sub_10005ABC+8r .text:10005AE4 .text:10005AE4 ; =============== S U B R O U T I N E ======================================= .text:10005AE4 .text:10005AE4 .text:10005AE4 sub_10005AE4 ; DATA XREF: .text:off_10001470o .text:10005AE4 ; .pdata:1000B408o .text:10005AE4 STMFD SP!, {R4,R5,LR} .text:10005AE8 MOV R4, R1 .text:10005AEC MOV R5, R0 .text:10005AF0 BL sub_10004FAC .text:10005AF4 TST R4, #1 .text:10005AF8 MOVNE R0, R5 .text:10005AFC BLNE __3_YAXPAX_Z ; operator delete(void *) .text:10005B00 MOV R0, R5 .text:10005B04 LDMFD SP!, {R4,R5,LR} .text:10005B08 BX LR .text:10005B08 ; End of function sub_10005AE4 .text:10005B08 .text:10005B0C .text:10005B0C ; =============== S U B R O U T I N E ======================================= .text:10005B0C .text:10005B0C .text:10005B0C sub_10005B0C ; CODE XREF: sub_10007010+3Cp .text:10005B0C ; DATA XREF: .pdata:1000B410o .text:10005B0C .text:10005B0C var_14 = -0x14 .text:10005B0C .text:10005B0C STMFD SP!, {R4-R6,LR} .text:10005B10 SUB SP, SP, #4 .text:10005B14 MOVS LR, R2 .text:10005B18 MOV R5, R1 .text:10005B1C MOV R4, R0 .text:10005B20 MOV R6, #0 .text:10005B24 STR R6, [R4] .text:10005B28 BEQ loc_10005B4C .text:10005B2C MOV R3, #0 .text:10005B30 MOV R2, #0 .text:10005B34 MOV R1, LR .text:10005B38 MOV R0, R5 .text:10005B3C STR R4, [SP,#0x14+var_14] .text:10005B40 BL RegOpenKeyExW .text:10005B44 CMP R0, #0 .text:10005B48 STRNE R6, [R4] .text:10005B4C .text:10005B4C loc_10005B4C ; CODE XREF: sub_10005B0C+1Cj .text:10005B4C MOV R0, R4 .text:10005B50 ADD SP, SP, #4 .text:10005B54 LDMFD SP!, {R4-R6,LR} .text:10005B58 BX LR .text:10005B58 ; End of function sub_10005B0C .text:10005B58 .text:10005B5C .text:10005B5C ; =============== S U B R O U T I N E ======================================= .text:10005B5C .text:10005B5C .text:10005B5C sub_10005B5C ; CODE XREF: sub_10005B9C+18p .text:10005B5C ; sub_10006160+C4p ... .text:10005B5C STMFD SP!, {R4,LR} .text:10005B60 MOV R4, R0 .text:10005B64 LDR R3, [R4,#0x10] .text:10005B68 CMP R3, #0 .text:10005B6C BEQ loc_10005B90 .text:10005B70 LDR R0, [R4,#8] .text:10005B74 BL ResumeThread .text:10005B78 CMN R0, #1 .text:10005B7C MOVEQ R0, #0 .text:10005B80 LDMEQFD SP!, {R4,LR} .text:10005B84 BXEQ LR .text:10005B88 MOV R3, #0 .text:10005B8C STR R3, [R4,#0x10] .text:10005B90 .text:10005B90 loc_10005B90 ; CODE XREF: sub_10005B5C+10j .text:10005B90 MOV R0, #1 .text:10005B94 LDMFD SP!, {R4,LR} .text:10005B98 BX LR .text:10005B98 ; End of function sub_10005B5C .text:10005B98 .text:10005B9C .text:10005B9C ; =============== S U B R O U T I N E ======================================= .text:10005B9C .text:10005B9C .text:10005B9C sub_10005B9C ; CODE XREF: sub_100070AC+5Cp .text:10005B9C ; sub_100087E8+38p .text:10005B9C ; DATA XREF: ... .text:10005B9C STMFD SP!, {R4,R5,LR} .text:10005BA0 MOV R5, R1 .text:10005BA4 MOV R4, R0 .text:10005BA8 LDR R3, [R4,#8] .text:10005BAC CMP R3, #0 .text:10005BB0 BEQ loc_10005BF0 .text:10005BB4 BL sub_10005B5C .text:10005BB8 CMP R0, #0 .text:10005BBC BEQ loc_10005BF0 .text:10005BC0 LDR R0, [R4,#8] .text:10005BC4 MOV R1, R5 .text:10005BC8 BL WaitForSingleObject .text:10005BCC CMP R0, #0 .text:10005BD0 BNE loc_10005BF0 .text:10005BD4 LDR R0, [R4,#8] .text:10005BD8 BL CloseHandle .text:10005BDC MOV R3, #0 .text:10005BE0 STR R3, [R4,#8] .text:10005BE4 MOV R0, #1 .text:10005BE8 LDMFD SP!, {R4,R5,LR} .text:10005BEC BX LR .text:10005BF0 ; --------------------------------------------------------------------------- .text:10005BF0 .text:10005BF0 loc_10005BF0 ; CODE XREF: sub_10005B9C+14j .text:10005BF0 ; sub_10005B9C+20j ... .text:10005BF0 MOV R0, #0 .text:10005BF4 LDMFD SP!, {R4,R5,LR} .text:10005BF8 BX LR .text:10005BF8 ; End of function sub_10005B9C .text:10005BF8 .text:10005BFC .text:10005BFC ; =============== S U B R O U T I N E ======================================= .text:10005BFC .text:10005BFC .text:10005BFC sub_10005BFC ; CODE XREF: sub_100070AC+D8p .text:10005BFC ; sub_100087E8+58p .text:10005BFC ; DATA XREF: ... .text:10005BFC STMFD SP!, {R4,R5,LR} .text:10005C00 MOV R5, R0 .text:10005C04 LDR R3, [R5,#8] .text:10005C08 CMP R3, #0 .text:10005C0C BEQ loc_10005C3C .text:10005C10 MOVL R1, 0xFFFFFFFF .text:10005C14 MOV R0, R3 .text:10005C18 BL TerminateThread .text:10005C1C MOV R4, R0 .text:10005C20 LDR R0, [R5,#8] .text:10005C24 MOVL R3, 0xFFFFFFFF .text:10005C28 STR R3, [R5,#0x14] .text:10005C2C BL CloseHandle .text:10005C30 MOV R3, #0 .text:10005C34 STR R3, [R5,#8] .text:10005C38 B loc_10005C40 .text:10005C3C ; --------------------------------------------------------------------------- .text:10005C3C .text:10005C3C loc_10005C3C ; CODE XREF: sub_10005BFC+10j .text:10005C3C MOV R4, #1 .text:10005C40 .text:10005C40 loc_10005C40 ; CODE XREF: sub_10005BFC+3Cj .text:10005C40 MOV R0, R4 .text:10005C44 LDMFD SP!, {R4,R5,LR} .text:10005C48 BX LR .text:10005C48 ; End of function sub_10005BFC .text:10005C48 .text:10005C4C .text:10005C4C ; =============== S U B R O U T I N E ======================================= .text:10005C4C .text:10005C4C .text:10005C4C sub_10005C4C ; DATA XREF: .text:off_10006E94o .text:10005C4C ; .pdata:1000B430o .text:10005C4C STMFD SP!, {R4,LR} .text:10005C50 MOV R4, R0 .text:10005C54 LDR R3, [R4] .text:10005C58 LDR R3, [R3] .text:10005C5C MOV LR, PC .text:10005C60 BX R3 .text:10005C64 MOV R3, R0 .text:10005C68 STR R3, [R4,#0x14] .text:10005C6C BL ExitThread .text:10005C70 LDR R0, [R4,#0x14] .text:10005C74 LDMFD SP!, {R4,LR} .text:10005C78 BX LR .text:10005C78 ; End of function sub_10005C4C .text:10005C78 .text:10005C7C .text:10005C7C ; =============== S U B R O U T I N E ======================================= .text:10005C7C .text:10005C7C .text:10005C7C sub_10005C7C ; CODE XREF: sub_100053CC+4Cp .text:10005C7C ; sub_100071A4+50p ... .text:10005C7C STMFD SP!, {R4-R9,LR} .text:10005C80 ADD R3, R2, R2,LSL#1 .text:10005C84 ADD LR, R2, R2,LSL#2 .text:10005C88 LDR R6, =off_100013A8 .text:10005C8C ADD R3, R3, R1 .text:10005C90 ADD LR, LR, R1 .text:10005C94 ADD R9, R1, R2,LSL#2 .text:10005C98 ADD R4, R2, R2,LSL#1 .text:10005C9C RSB R5, R2, R2,LSL#3 .text:10005CA0 ADD R12, R0, #0x20 .text:10005CA4 STMIA R12, {R3,R9,LR} .text:10005CA8 MOV R3, #0 .text:10005CAC ADD R4, R1, R4,LSL#1 .text:10005CB0 ADD R5, R5, R1 .text:10005CB4 ADD R7, R1, R2 .text:10005CB8 ADD R8, R1, R2,LSL#1 .text:10005CBC STRB R3, [R0,#0xC] .text:10005CC0 STR R3, [R0,#0x10] .text:10005CC4 STR R6, [R0] .text:10005CC8 ADD R12, R0, #0x2C .text:10005CCC STMIA R12, {R4,R5} .text:10005CD0 ADD R12, R0, #4 .text:10005CD4 STMIA R12, {R1,R2} .text:10005CD8 ADD R12, R0, #0x14 .text:10005CDC STMIA R12, {R1,R7,R8} .text:10005CE0 LDMFD SP!, {R4-R9,LR} .text:10005CE4 BX LR .text:10005CE4 ; End of function sub_10005C7C .text:10005CE4 .text:10005CE4 ; --------------------------------------------------------------------------- .text:10005CE8 off_10005CE8 DCD off_100013A8 ; DATA XREF: sub_10005C7C+Cr .text:10005CEC .text:10005CEC ; =============== S U B R O U T I N E ======================================= .text:10005CEC .text:10005CEC .text:10005CEC sub_10005CEC ; CODE XREF: sub_10004EE8+8p .text:10005CEC ; DATA XREF: .text:100013F8o ... .text:10005CEC STMFD SP!, {R4,LR} .text:10005CF0 MOV R4, R0 .text:10005CF4 LDR R3, [R4] .text:10005CF8 MOV R2, #1 .text:10005CFC STR R2, [R4,#0x10] .text:10005D00 LDR R3, [R3,#0x14] .text:10005D04 MOV LR, PC .text:10005D08 BX R3 .text:10005D0C LDR R3, [R4] .text:10005D10 MOV R2, R0 .text:10005D14 MOV R0, R4 .text:10005D18 LDR R3, [R3,#0x28] .text:10005D1C STRB R2, [R4,#0x34] .text:10005D20 MOV LR, PC .text:10005D24 BX R3 .text:10005D28 LDR R3, [R4] .text:10005D2C MOV R2, R0 .text:10005D30 MOV R0, R4 .text:10005D34 LDR R3, [R3,#0x30] .text:10005D38 STRB R2, [R4,#0x35] .text:10005D3C MOV LR, PC .text:10005D40 BX R3 .text:10005D44 STRB R0, [R4,#0x36] .text:10005D48 LDMFD SP!, {R4,LR} .text:10005D4C BX LR .text:10005D4C ; End of function sub_10005CEC .text:10005D4C .text:10005D50 .text:10005D50 ; =============== S U B R O U T I N E ======================================= .text:10005D50 .text:10005D50 .text:10005D50 sub_10005D50 ; CODE XREF: sub_10004F30+14p .text:10005D50 ; DATA XREF: .text:100013FCo ... .text:10005D50 STMFD SP!, {R4,LR} .text:10005D54 MOV R4, R0 .text:10005D58 LDR R3, [R4,#0x10] .text:10005D5C CMP R3, #0 .text:10005D60 BEQ loc_10005DE0 .text:10005D64 LDR R3, [R4] .text:10005D68 LDRB R1, [R4,#0xC] .text:10005D6C LDR R3, [R3,#0x18] .text:10005D70 MOV LR, PC .text:10005D74 BX R3 .text:10005D78 LDR R3, [R4] .text:10005D7C LDRB R1, [R4,#0x34] .text:10005D80 MOV R0, R4 .text:10005D84 LDR R3, [R3,#0x10] .text:10005D88 MOV LR, PC .text:10005D8C BX R3 .text:10005D90 LDR R3, [R4] .text:10005D94 LDRB R1, [R4,#0x35] .text:10005D98 MOV R0, R4 .text:10005D9C LDR R3, [R3,#0x24] .text:10005DA0 MOV LR, PC .text:10005DA4 BX R3 .text:10005DA8 LDR R3, [R4] .text:10005DAC LDRB R1, [R4,#0x36] .text:10005DB0 MOV R0, R4 .text:10005DB4 LDR R3, [R3,#0x2C] .text:10005DB8 MOV LR, PC .text:10005DBC BX R3 .text:10005DC0 LDR R3, [R4] .text:10005DC4 LDRH R1, [R4,#0x38] .text:10005DC8 MOV R0, R4 .text:10005DCC LDR R3, [R3,#0x4C] .text:10005DD0 MOV LR, PC .text:10005DD4 BX R3 .text:10005DD8 MOV R3, #0 .text:10005DDC STR R3, [R4,#0x10] .text:10005DE0 .text:10005DE0 loc_10005DE0 ; CODE XREF: sub_10005D50+10j .text:10005DE0 LDMFD SP!, {R4,LR} .text:10005DE4 BX LR .text:10005DE4 ; End of function sub_10005D50 .text:10005DE4 .text:10005DE8 .text:10005DE8 ; =============== S U B R O U T I N E ======================================= .text:10005DE8 .text:10005DE8 .text:10005DE8 sub_10005DE8 ; DATA XREF: .text:100013F4o .text:10005DE8 ; .text:1000144Co ... .text:10005DE8 STMFD SP!, {R4-R6,LR} .text:10005DEC MOV R6, R1 .text:10005DF0 MOV R5, R0 .text:10005DF4 LDR R3, [R5] .text:10005DF8 LDR R3, [R3,#0x28] .text:10005DFC MOV LR, PC .text:10005E00 BX R3 .text:10005E04 LDR R3, [R5] .text:10005E08 MOV R4, R0 .text:10005E0C ORR R1, R4, #0x80 .text:10005E10 LDR R3, [R3,#0x24] .text:10005E14 MOV R0, R5 .text:10005E18 MOV LR, PC .text:10005E1C BX R3 .text:10005E20 LDR R3, [R5] .text:10005E24 AND R1, R6, #0xFF .text:10005E28 MOV R0, R5 .text:10005E2C LDR R3, [R3,#8] .text:10005E30 MOV LR, PC .text:10005E34 BX R3 .text:10005E38 LDR R2, [R5] .text:10005E3C MOV R3, R6,LSR#8 .text:10005E40 AND R1, R3, #0xFF .text:10005E44 LDR R3, [R2,#0x10] .text:10005E48 MOV R0, R5 .text:10005E4C MOV LR, PC .text:10005E50 BX R3 .text:10005E54 LDR R3, [R5] .text:10005E58 MOV R1, R4 .text:10005E5C MOV R0, R5 .text:10005E60 LDR R3, [R3,#0x24] .text:10005E64 MOV LR, PC .text:10005E68 BX R3 .text:10005E6C STRH R6, [R5,#0x38] .text:10005E70 MOV R0, #1 .text:10005E74 LDMFD SP!, {R4-R6,LR} .text:10005E78 BX LR .text:10005E78 ; End of function sub_10005DE8 .text:10005E78 .text:10005E7C .text:10005E7C ; =============== S U B R O U T I N E ======================================= .text:10005E7C .text:10005E7C .text:10005E7C sub_10005E7C ; CODE XREF: sub_10005018+108p .text:10005E7C ; DATA XREF: .text:100016DCo ... .text:10005E7C .text:10005E7C var_118 = -0x118 .text:10005E7C var_110 = -0x110 .text:10005E7C var_C = -0xC .text:10005E7C .text:10005E7C STMFD SP!, {R4,LR} .text:10005E80 SUB SP, SP, #0x110 .text:10005E84 MOV R4, R0 .text:10005E88 LDR R3, =unk_1000A5A8 .text:10005E8C LDR R3, [R3] .text:10005E90 STR R3, [SP,#0x118+var_C] .text:10005E94 BL sub_10008854 .text:10005E98 CMP R0, #0 .text:10005E9C BEQ loc_10005F44 .text:10005EA0 LDR R3, [R4,#4] .text:10005EA4 CMP R3, #0 .text:10005EA8 BEQ loc_10005F44 .text:10005EAC LDR R3, [R4,#0x118] .text:10005EB0 CMP R3, #0 .text:10005EB4 BEQ loc_10005F44 .text:10005EB8 LDR R3, [R4,#4] .text:10005EBC CMP R3, #0 .text:10005EC0 BEQ loc_10005EDC .text:10005EC4 MOV R2, #0x10C .text:10005EC8 ADD R1, SP, #0x118+var_118 .text:10005ECC MOV R0, R3 .text:10005ED0 STR R2, [SP,#0x118+var_118] .text:10005ED4 BL DDKReg_GetIsrInfo .text:10005ED8 B loc_10005EE0 .text:10005EDC ; --------------------------------------------------------------------------- .text:10005EDC .text:10005EDC loc_10005EDC ; CODE XREF: sub_10005E7C+44j .text:10005EDC MOV R0, #1 .text:10005EE0 .text:10005EE0 loc_10005EE0 ; CODE XREF: sub_10005E7C+5Cj .text:10005EE0 CMP R0, #0 .text:10005EE4 BNE loc_10005F44 .text:10005EE8 LDR R3, [SP,#0x118+var_110] .text:10005EEC STR R3, [R4,#0x138] .text:10005EF0 CMN R3, #1 .text:10005EF4 BEQ loc_10005F18 .text:10005EF8 CMP R3, #0 .text:10005EFC BEQ loc_10005F18 .text:10005F00 MOV R3, #0 .text:10005F04 MOV R2, #0 .text:10005F08 MOV R1, #0 .text:10005F0C MOV R0, #0 .text:10005F10 BL CreateEventW .text:10005F14 STR R0, [R4,#0x13C] .text:10005F18 .text:10005F18 loc_10005F18 ; CODE XREF: sub_10005E7C+78j .text:10005F18 ; sub_10005E7C+80j .text:10005F18 LDR R3, [R4,#0x13C] .text:10005F1C MOVS R1, R3 .text:10005F20 BEQ loc_10005F44 .text:10005F24 LDR R0, [R4,#0x138] .text:10005F28 MOV R3, #0 .text:10005F2C MOV R2, #0 .text:10005F30 BL InterruptInitialize .text:10005F34 CMP R0, #0 .text:10005F38 BNE loc_10005F5C .text:10005F3C MOVL R3, 0xFFFFFFFF .text:10005F40 STR R3, [R4,#0x138] .text:10005F44 .text:10005F44 loc_10005F44 ; CODE XREF: sub_10005E7C+20j .text:10005F44 ; sub_10005E7C+2Cj ... .text:10005F44 LDR R0, [SP,#0x118+var_C] .text:10005F48 BL sub_10008E20 .text:10005F4C MOV R0, #0 .text:10005F50 .text:10005F50 loc_10005F50 ; CODE XREF: sub_10005E7C+164j .text:10005F50 ADD SP, SP, #0x110 .text:10005F54 LDMFD SP!, {R4,LR} .text:10005F58 BX LR .text:10005F5C ; --------------------------------------------------------------------------- .text:10005F5C .text:10005F5C loc_10005F5C ; CODE XREF: sub_10005E7C+BCj .text:10005F5C LDR R1, =aDevicearrayind .text:10005F60 MOV R3, #4 .text:10005F64 ADD R2, R4, #0x140 .text:10005F68 ADD R0, R4, #4 .text:10005F6C BL sub_10004A98 .text:10005F70 CMP R0, #0 .text:10005F74 LDR R1, =aWatermarker .text:10005F78 MOVEQ R3, #0 .text:10005F7C STREQ R3, [R4,#0x140] .text:10005F80 MOV R3, #4 .text:10005F84 ADD R2, R4, #0x120 .text:10005F88 ADD R0, R4, #4 .text:10005F8C BL sub_10004A98 .text:10005F90 CMP R0, #0 .text:10005F94 MOVEQ R3, #8 .text:10005F98 STREQ R3, [R4,#0x120] .text:10005F9C LDR R3, [R4] .text:10005FA0 MOV R0, R4 .text:10005FA4 LDR R3, [R3,#0xC8] .text:10005FA8 MOV LR, PC .text:10005FAC BX R3 .text:10005FB0 CMP R0, #0 .text:10005FB4 BEQ loc_10005F44 .text:10005FB8 LDR R3, [R4] .text:10005FBC MOV R0, R4 .text:10005FC0 LDR R3, [R3,#0xCC] .text:10005FC4 MOV LR, PC .text:10005FC8 BX R3 .text:10005FCC CMP R0, #0 .text:10005FD0 BEQ loc_10005F44 .text:10005FD4 LDR R0, [SP,#0x118+var_C] .text:10005FD8 BL sub_10008E20 .text:10005FDC MOV R0, #1 .text:10005FE0 B loc_10005F50 .text:10005FE0 ; End of function sub_10005E7C .text:10005FE0 .text:10005FE0 ; --------------------------------------------------------------------------- .text:10005FE4 off_10005FE4 DCD aWatermarker ; DATA XREF: sub_10005E7C+F8r .text:10005FE4 ; "WaterMarker" .text:10005FE8 off_10005FE8 DCD aDevicearrayind ; DATA XREF: sub_10005E7C:loc_10005F5Cr .text:10005FE8 ; "DeviceArrayIndex" .text:10005FEC off_10005FEC DCD unk_1000A5A8 ; DATA XREF: sub_10005E7C+Cr .text:10005FF0 .text:10005FF0 ; =============== S U B R O U T I N E ======================================= .text:10005FF0 .text:10005FF0 .text:10005FF0 sub_10005FF0 ; DATA XREF: .text:100017A0o .text:10005FF0 ; .pdata:1000B460o .text:10005FF0 .text:10005FF0 var_AC = -0xAC .text:10005FF0 var_A8 = -0xA8 .text:10005FF0 var_A4 = -0xA4 .text:10005FF0 var_A0 = -0xA0 .text:10005FF0 var_9C = -0x9C .text:10005FF0 var_98 = -0x98 .text:10005FF0 var_94 = -0x94 .text:10005FF0 var_90 = -0x90 .text:10005FF0 var_8C = -0x8C .text:10005FF0 var_88 = -0x88 .text:10005FF0 var_84 = -0x84 .text:10005FF0 var_80 = -0x80 .text:10005FF0 var_7C = -0x7C .text:10005FF0 .text:10005FF0 STMFD SP!, {R4-R9,LR} .text:10005FF4 SUB SP, SP, #0x90 .text:10005FF8 MOV R5, R0 .text:10005FFC LDR R3, [R5,#0x128] .text:10006000 CMP R3, #0 .text:10006004 BNE loc_10006140 .text:10006008 LDR R1, =aRegstride .text:1000600C MOV R9, #1 .text:10006010 ADD R0, R5, #4 .text:10006014 MOV R3, #4 .text:10006018 ADD R2, R5, #0x130 .text:1000601C STR R9, [R5,#0x130] .text:10006020 BL sub_10004A98 .text:10006024 CMP R0, #0 .text:10006028 STREQ R9, [R5,#0x130] .text:1000602C LDR R3, [R5,#4] .text:10006030 CMP R3, #0 .text:10006034 BEQ loc_10006050 .text:10006038 MOV R2, #0x74 .text:1000603C ADD R1, SP, #0xAC+var_90 .text:10006040 MOV R0, R3 .text:10006044 STR R2, [SP,#0xAC+var_90] .text:10006048 BL DDKReg_GetWindowInfo .text:1000604C B loc_10006054 .text:10006050 ; --------------------------------------------------------------------------- .text:10006050 .text:10006050 loc_10006050 ; CODE XREF: sub_10005FF0+44j .text:10006050 MOV R0, #1 .text:10006054 .text:10006054 loc_10006054 ; CODE XREF: sub_10005FF0+5Cj .text:10006054 CMP R0, #0 .text:10006058 BNE loc_10006148 .text:1000605C LDR R3, [SP,#0xAC+var_84] .text:10006060 CMP R3, #1 .text:10006064 BCC loc_10006148 .text:10006068 LDR R6, [SP,#0xAC+var_80] .text:1000606C CMP R6, #0 .text:10006070 BEQ loc_10006148 .text:10006074 LDR R2, [R5,#0x130] .text:10006078 LDR R3, [SP,#0xAC+var_7C] .text:1000607C CMP R3, R2,LSL#3 .text:10006080 BCC loc_10006148 .text:10006084 LDR R3, [R5,#0x134] .text:10006088 CMP R3, #0 .text:1000608C BEQ loc_100060B8 .text:10006090 LDR R1, =(dword_100015B4+0xAC) .text:10006094 MOV R3, #4 .text:10006098 ADD R2, SP, #0xAC+var_94 .text:1000609C ADD R0, R5, #0x134 .text:100060A0 BL sub_10004A98 .text:100060A4 CMP R0, #0 .text:100060A8 LDRNE R1, [SP,#0xAC+var_94] .text:100060AC LDR R6, [SP,#0xAC+var_80] .text:100060B0 STRNE R1, [SP,#0xAC+var_88] .text:100060B4 BNE loc_100060BC .text:100060B8 .text:100060B8 loc_100060B8 ; CODE XREF: sub_10005FF0+9Cj .text:100060B8 LDR R1, [SP,#0xAC+var_88] .text:100060BC .text:100060BC loc_100060BC ; CODE XREF: sub_10005FF0+C4j .text:100060BC LDR R2, [SP,#0xAC+var_8C] .text:100060C0 LDR R0, [R5,#0x10] .text:100060C4 MOV R8, #0 .text:100060C8 MOV R7, #1 .text:100060CC ADD LR, SP, #0xAC+var_A0 .text:100060D0 ADD R4, SP, #0xAC+var_98 .text:100060D4 MOV R3, R6 .text:100060D8 STR R8, [SP,#0xAC+var_9C] .text:100060DC STR R6, [SP,#0xAC+var_A0] .text:100060E0 STR R7, [SP,#0xAC+var_98] .text:100060E4 STR LR, [SP,#0xAC+var_A4] .text:100060E8 STR R4, [SP,#0xAC+var_A8] .text:100060EC STR R8, [SP,#0xAC+var_AC] .text:100060F0 BL CEDDK_41 .text:100060F4 CMP R0, #0 .text:100060F8 BEQ loc_10006134 .text:100060FC LDR R3, [SP,#0xAC+var_98] .text:10006100 CMP R3, #0 .text:10006104 LDRNE R3, [SP,#0xAC+var_A0] .text:10006108 STRNE R9, [R5,#0x12C] .text:1000610C STRNE R3, [R5,#0x128] .text:10006110 BNE loc_10006134 .text:10006114 LDR R2, [SP,#0xAC+var_7C] .text:10006118 LDR R0, [SP,#0xAC+var_A0] .text:1000611C LDR R1, [SP,#0xAC+var_9C] .text:10006120 MOV R3, #0 .text:10006124 BL CEDDK_8 .text:10006128 MOV R3, #0 .text:1000612C STR R3, [R5,#0x12C] .text:10006130 STR R0, [R5,#0x128] .text:10006134 .text:10006134 loc_10006134 ; CODE XREF: sub_10005FF0+108j .text:10006134 ; sub_10005FF0+120j .text:10006134 LDR R3, [R5,#0x128] .text:10006138 CMP R3, #0 .text:1000613C BEQ loc_10006148 .text:10006140 .text:10006140 loc_10006140 ; CODE XREF: sub_10005FF0+14j .text:10006140 MOV R0, #1 .text:10006144 B loc_1000614C .text:10006148 ; --------------------------------------------------------------------------- .text:10006148 .text:10006148 loc_10006148 ; CODE XREF: sub_10005FF0+68j .text:10006148 ; sub_10005FF0+74j ... .text:10006148 MOV R0, #0 .text:1000614C .text:1000614C loc_1000614C ; CODE XREF: sub_10005FF0+154j .text:1000614C ADD SP, SP, #0x90 .text:10006150 LDMFD SP!, {R4-R9,LR} .text:10006154 BX LR .text:10006154 ; End of function sub_10005FF0 .text:10006154 .text:10006154 ; --------------------------------------------------------------------------- .text:10006158 off_10006158 DCD dword_100015B4+0xAC ; DATA XREF: sub_10005FF0+A0r .text:1000615C off_1000615C DCD aRegstride ; DATA XREF: sub_10005FF0+18r .text:1000615C ; "RegStride" .text:10006160 .text:10006160 ; =============== S U B R O U T I N E ======================================= .text:10006160 .text:10006160 .text:10006160 sub_10006160 ; CODE XREF: sub_10005A9C+4p .text:10006160 ; DATA XREF: .text:100016E0o ... .text:10006160 STMFD SP!, {R4,R5,LR} .text:10006164 MOV R4, R0 .text:10006168 ADD R0, R4, #0x60 .text:1000616C MOV R5, #0 .text:10006170 BL EnterCriticalSection .text:10006174 LDR R0, [R4,#0x124] .text:10006178 LDR R3, [R0] .text:1000617C LDR R3, [R3,#0x20] .text:10006180 MOV LR, PC .text:10006184 BX R3 .text:10006188 B loc_100061F4 .text:1000618C ; --------------------------------------------------------------------------- .text:1000618C .text:1000618C loc_1000618C ; CODE XREF: sub_10006160+98j .text:1000618C CMP R5, #0x1000 .text:10006190 BCS loc_100061FC .text:10006194 LDR R3, [R4] .text:10006198 MOV R1, #1 .text:1000619C MOV R0, R4 .text:100061A0 LDR R3, [R3,#0x64] .text:100061A4 MOV LR, PC .text:100061A8 BX R3 .text:100061AC LDR R3, [R4] .text:100061B0 MOV R1, #1 .text:100061B4 MOV R0, R4 .text:100061B8 LDR R3, [R3,#0x74] .text:100061BC MOV LR, PC .text:100061C0 BX R3 .text:100061C4 LDR R3, [R4] .text:100061C8 MOV R1, #1 .text:100061CC MOV R0, R4 .text:100061D0 LDR R3, [R3,#0x90] .text:100061D4 MOV LR, PC .text:100061D8 BX R3 .text:100061DC LDR R0, [R4,#0x124] .text:100061E0 ADD R5, R5, #1 .text:100061E4 LDR R3, [R0] .text:100061E8 LDR R3, [R3,#0x20] .text:100061EC MOV LR, PC .text:100061F0 BX R3 .text:100061F4 .text:100061F4 loc_100061F4 ; CODE XREF: sub_10006160+28j .text:100061F4 TST R0, #1 .text:100061F8 BEQ loc_1000618C .text:100061FC .text:100061FC loc_100061FC ; CODE XREF: sub_10006160+30j .text:100061FC ADD R0, R4, #0x60 .text:10006200 BL LeaveCriticalSection .text:10006204 MOV R0, R4 .text:10006208 BL sub_10007580 .text:1000620C LDR R3, [R4,#0x104] .text:10006210 CMP R3, #0 .text:10006214 LDRNE R1, [R4,#0x8C] .text:10006218 MOVNE R0, R3 .text:1000621C BLNE CeSetThreadPriority .text:10006220 ADD R0, R4, #0xFC .text:10006224 BL sub_10005B5C .text:10006228 LDMFD SP!, {R4,R5,LR} .text:1000622C BX LR .text:1000622C ; End of function sub_10006160 .text:1000622C .text:10006230 .text:10006230 ; =============== S U B R O U T I N E ======================================= .text:10006230 .text:10006230 .text:10006230 sub_10006230 ; DATA XREF: .text:off_10001104o .text:10006230 ; .text:off_100011ECo ... .text:10006230 STMFD SP!, {R4,LR} .text:10006234 MOV R4, R0 .text:10006238 B loc_100062F4 .text:1000623C ; --------------------------------------------------------------------------- .text:1000623C .text:1000623C loc_1000623C ; CODE XREF: sub_10006230+CCj .text:1000623C LDR R3, [R4,#4] .text:10006240 CMP R3, #0 .text:10006244 BNE loc_10006300 .text:10006248 MOVL R1, 0xFFFFFFFF .text:1000624C BL WaitForSingleObject .text:10006250 CMP R0, #0 .text:10006254 BNE loc_100062F4 .text:10006258 .text:10006258 loc_10006258 ; CODE XREF: sub_10006230+B4j .text:10006258 LDR R3, [R4,#4] .text:1000625C CMP R3, #0 .text:10006260 BNE loc_100062E8 .text:10006264 LDR R0, [R4,#0x28] .text:10006268 LDR R3, [R0] .text:1000626C LDR R3, [R3,#0x20] .text:10006270 MOV LR, PC .text:10006274 BX R3 .text:10006278 TST R0, #1 .text:1000627C BNE loc_100062E8 .text:10006280 MOV R1, #0 .text:10006284 ANDS R3, R0, #0xF .text:10006288 BEQ loc_100062CC .text:1000628C CMP R3, #2 .text:10006290 BEQ loc_100062C4 .text:10006294 CMP R3, #4 .text:10006298 BEQ loc_100062B4 .text:1000629C CMP R3, #6 .text:100062A0 BEQ loc_100062BC .text:100062A4 CMP R3, #0xC .text:100062A8 BEQ loc_100062B4 .text:100062AC CMP R3, #0xE .text:100062B0 BNE loc_100062D0 .text:100062B4 .text:100062B4 loc_100062B4 ; CODE XREF: sub_10006230+68j .text:100062B4 ; sub_10006230+78j .text:100062B4 MOV R1, #2 .text:100062B8 B loc_100062D0 .text:100062BC ; --------------------------------------------------------------------------- .text:100062BC .text:100062BC loc_100062BC ; CODE XREF: sub_10006230+70j .text:100062BC MOV R1, #1 .text:100062C0 B loc_100062D0 .text:100062C4 ; --------------------------------------------------------------------------- .text:100062C4 .text:100062C4 loc_100062C4 ; CODE XREF: sub_10006230+60j .text:100062C4 MOV R1, #4 .text:100062C8 B loc_100062D0 .text:100062CC ; --------------------------------------------------------------------------- .text:100062CC .text:100062CC loc_100062CC ; CODE XREF: sub_10006230+58j .text:100062CC MOV R1, #8 .text:100062D0 .text:100062D0 loc_100062D0 ; CODE XREF: sub_10006230+80j .text:100062D0 ; sub_10006230+88j ... .text:100062D0 LDR R3, [R4,#-0xFC] .text:100062D4 SUB R0, R4, #0xFC .text:100062D8 LDR R3, [R3,#0x3C] .text:100062DC MOV LR, PC .text:100062E0 BX R3 .text:100062E4 B loc_10006258 .text:100062E8 ; --------------------------------------------------------------------------- .text:100062E8 .text:100062E8 loc_100062E8 ; CODE XREF: sub_10006230+30j .text:100062E8 ; sub_10006230+4Cj .text:100062E8 LDR R0, [R4,#0x3C] .text:100062EC CMN R0, #1 .text:100062F0 BLNE InterruptDone .text:100062F4 .text:100062F4 loc_100062F4 ; CODE XREF: sub_10006230+8j .text:100062F4 ; sub_10006230+24j .text:100062F4 LDR R3, [R4,#0x40] .text:100062F8 MOVS R0, R3 .text:100062FC BNE loc_1000623C .text:10006300 .text:10006300 loc_10006300 ; CODE XREF: sub_10006230+14j .text:10006300 MOV R0, #1 .text:10006304 LDMFD SP!, {R4,LR} .text:10006308 BX LR .text:10006308 ; End of function sub_10006230 .text:10006308 .text:1000630C .text:1000630C ; =============== S U B R O U T I N E ======================================= .text:1000630C .text:1000630C .text:1000630C sub_1000630C ; DATA XREF: .text:10001058o .text:1000630C ; .text:10001140o ... .text:1000630C STMFD SP!, {R4,R5,LR} .text:10006310 MOV R4, R1 .text:10006314 MOV R5, R0 .text:10006318 ADD R0, R5, #0x60 .text:1000631C BL EnterCriticalSection .text:10006320 MOV R1, R4 .text:10006324 MOV R0, R5 .text:10006328 BL sub_10007ACC .text:1000632C LDR R0, [R5,#0x124] .text:10006330 CMP R4, #0 .text:10006334 LDR R3, [R0] .text:10006338 LDR R3, [R3,#0x10] .text:1000633C BEQ loc_10006350 .text:10006340 MOV R1, #0xD .text:10006344 MOV LR, PC .text:10006348 BX R3 .text:1000634C B loc_1000635C .text:10006350 ; --------------------------------------------------------------------------- .text:10006350 .text:10006350 loc_10006350 ; CODE XREF: sub_1000630C+30j .text:10006350 MOV R1, #8 .text:10006354 MOV LR, PC .text:10006358 BX R3 .text:1000635C .text:1000635C loc_1000635C ; CODE XREF: sub_1000630C+40j .text:1000635C ADD R0, R5, #0x60 .text:10006360 BL LeaveCriticalSection .text:10006364 MOV R0, #1 .text:10006368 LDMFD SP!, {R4,R5,LR} .text:1000636C BX LR .text:1000636C ; End of function sub_1000630C .text:1000636C .text:10006370 .text:10006370 ; =============== S U B R O U T I N E ======================================= .text:10006370 .text:10006370 .text:10006370 sub_10006370 ; DATA XREF: .text:10001070o .text:10006370 ; .text:10001158o ... .text:10006370 STMFD SP!, {R4,R5,LR} .text:10006374 MOV R4, R1 .text:10006378 MOV R5, R0 .text:1000637C ADD R0, R5, #0x60 .text:10006380 BL EnterCriticalSection .text:10006384 CMP R4, #0 .text:10006388 BEQ loc_100063C4 .text:1000638C LDR R0, [R5,#0x124] .text:10006390 LDR R3, [R0] .text:10006394 LDR R3, [R3,#0x1C] .text:10006398 MOV LR, PC .text:1000639C BX R3 .text:100063A0 LDR R2, [R5,#0x124] .text:100063A4 ORR R1, R0, #5 .text:100063A8 LDR R3, [R2] .text:100063AC MOV R0, R2 .text:100063B0 LDR R3, [R3,#0x18] .text:100063B4 MOV LR, PC .text:100063B8 BX R3 .text:100063BC MOV R3, #1 .text:100063C0 STR R3, [R5,#0x114] .text:100063C4 .text:100063C4 loc_100063C4 ; CODE XREF: sub_10006370+18j .text:100063C4 ADD R0, R5, #0x60 .text:100063C8 BL LeaveCriticalSection .text:100063CC MOV R0, #1 .text:100063D0 LDMFD SP!, {R4,R5,LR} .text:100063D4 BX LR .text:100063D4 ; End of function sub_10006370 .text:100063D4 .text:100063D4 ; --------------------------------------------------------------------------- .text:100063D8 DCD loc_10008BA0 .text:100063DC DCD dword_10008EFC .text:100063E0 .text:100063E0 ; =============== S U B R O U T I N E ======================================= .text:100063E0 .text:100063E0 ; Attributes: bp-based frame .text:100063E0 .text:100063E0 sub_100063E0 ; CODE XREF: sub_10005878+A4p .text:100063E0 ; DATA XREF: .text:1000172Co ... .text:100063E0 .text:100063E0 var_28 = -0x28 .text:100063E0 oldR4 = -0x24 .text:100063E0 oldR5 = -0x20 .text:100063E0 oldR6 = -0x1C .text:100063E0 oldR7 = -0x18 .text:100063E0 oldR8 = -0x14 .text:100063E0 oldR9 = -0x10 .text:100063E0 oldR11 = -0xC .text:100063E0 oldSP = -8 .text:100063E0 oldLR = -4 .text:100063E0 param_R0 = 0 .text:100063E0 param_R1 = 4 .text:100063E0 param_R2 = 8 .text:100063E0 .text:100063E0 MOV R12, SP .text:100063E4 STMFD SP!, {R0-R2} .text:100063E8 STMFD SP!, {R4-R9,R11,R12,LR} .text:100063EC ADD R11, SP, #0x24 .text:100063F0 SUB SP, SP, #4 .text:100063F4 MOV R9, R2 .text:100063F8 STR R9, [R11,#param_R2] .text:100063FC MOV R7, R1 .text:10006400 STR R7, [R11,#param_R1] .text:10006404 MOV R4, R0 .text:10006408 STR R4, [R11,#param_R0] .text:1000640C ADD R0, R4, #0x60 .text:10006410 BL EnterCriticalSection .text:10006414 LDR R3, [R9] .text:10006418 CMP R3, #0 .text:1000641C BNE loc_1000643C .text:10006420 LDR R3, [R4] .text:10006424 MOV R1, #0 .text:10006428 MOV R0, R4 .text:1000642C LDR R3, [R3,#0x5C] .text:10006430 MOV LR, PC .text:10006434 BX R3 .text:10006438 B loc_10006554 .text:1000643C ; --------------------------------------------------------------------------- .text:1000643C .text:1000643C loc_1000643C ; CODE XREF: sub_100063E0+3Cj .text:1000643C LDR R0, [R4,#0x118] .text:10006440 MOV R1, #1 .text:10006444 BL EventModify .text:10006448 MOV R3, #0 .text:1000644C LDR R6, [R9] .text:10006450 STR R3, [R9] .text:10006454 LDR R3, [R4,#0x98] .text:10006458 TST R3, #4 .text:1000645C BEQ loc_1000647C .text:10006460 LDR R3, [R4] .text:10006464 MOV R0, R4 .text:10006468 LDR R3, [R3,#0x88] .text:1000646C MOV LR, PC .text:10006470 BX R3 .text:10006474 CMP R0, #0 .text:10006478 BNE loc_100064A4 .text:1000647C .text:1000647C loc_1000647C ; CODE XREF: sub_100063E0+7Cj .text:1000647C LDR R3, [R4,#0x98] .text:10006480 TST R3, #8 .text:10006484 BEQ loc_100064C0 .text:10006488 LDR R3, [R4] .text:1000648C MOV R0, R4 .text:10006490 LDR R3, [R3,#0x8C] .text:10006494 MOV LR, PC .text:10006498 BX R3 .text:1000649C CMP R0, #0 .text:100064A0 BEQ loc_100064C0 .text:100064A4 .text:100064A4 loc_100064A4 ; CODE XREF: sub_100063E0+98j .text:100064A4 LDR R3, [R4] .text:100064A8 MOV R1, #0 .text:100064AC MOV R0, R4 .text:100064B0 LDR R3, [R3,#0x5C] .text:100064B4 MOV LR, PC .text:100064B8 BX R3 .text:100064BC B loc_10006554 .text:100064C0 ; --------------------------------------------------------------------------- .text:100064C0 .text:100064C0 loc_100064C0 ; CODE XREF: sub_100063E0+A4j .text:100064C0 ; sub_100063E0+C0j .text:100064C0 LDR R3, [R4] .text:100064C4 MOV R0, R4 .text:100064C8 LDR R3, [R3,#0xD0] .text:100064CC MOV LR, PC .text:100064D0 BX R3 .text:100064D4 MOV R8, R0 .text:100064D8 STR R8, [R11,#var_28] .text:100064DC MOV R5, #0 .text:100064E0 .text:100064E0 loc_100064E0 ; CODE XREF: sub_100063E0+154j .text:100064E0 CMP R5, R8 .text:100064E4 BCS loc_10006538 .text:100064E8 CMP R6, #0 .text:100064EC BEQ loc_10006538 .text:100064F0 .text:100064F0 loc_100064F0 ; DATA XREF: .text:10008F00o .text:100064F0 LDR R0, [R4,#0x124] .text:100064F4 LDRB R1, [R7] .text:100064F8 LDR R3, [R0] .text:100064FC LDR R3, [R3,#8] .text:10006500 MOV LR, PC .text:10006504 BX R3 .text:10006508 .text:10006508 loc_10006508 ; DATA XREF: .text:10008F04o .text:10006508 B loc_10006524 .text:1000650C ; --------------------------------------------------------------------------- .text:1000650C .text:1000650C loc_1000650C ; DATA XREF: .text:10008F0Co .text:1000650C LDR R8, [R11,#var_28] .text:10006510 MOV R6, #1 .text:10006514 SUB R5, R8, #1 .text:10006518 LDR R4, [R11,#param_R0] .text:1000651C LDR R9, [R11,#param_R2] .text:10006520 LDR R7, [R11,#param_R1] .text:10006524 .text:10006524 loc_10006524 ; CODE XREF: sub_100063E0:loc_10006508j .text:10006524 ADD R7, R7, #1 .text:10006528 STR R7, [R11,#param_R1] .text:1000652C SUB R6, R6, #1 .text:10006530 ADD R5, R5, #1 .text:10006534 B loc_100064E0 .text:10006538 ; --------------------------------------------------------------------------- .text:10006538 .text:10006538 loc_10006538 ; CODE XREF: sub_100063E0+104j .text:10006538 ; sub_100063E0+10Cj .text:10006538 STR R5, [R9] .text:1000653C LDR R3, [R4] .text:10006540 MOV R1, #1 .text:10006544 MOV R0, R4 .text:10006548 LDR R3, [R3,#0x5C] .text:1000654C MOV LR, PC .text:10006550 BX R3 .text:10006554 .text:10006554 loc_10006554 ; CODE XREF: sub_100063E0+58j .text:10006554 ; sub_100063E0+DCj .text:10006554 ADD R0, R4, #0x60 .text:10006558 BL LeaveCriticalSection .text:1000655C LDMDB R11, {R4-R9,R11,SP,LR} .text:10006560 BX LR .text:10006560 ; End of function sub_100063E0 .text:10006560 .text:10006564 .text:10006564 ; =============== S U B R O U T I N E ======================================= .text:10006564 .text:10006564 .text:10006564 sub_10006564 ; DATA XREF: .text:10008F08o .text:10006564 ; .pdata:1000B490o .text:10006564 MOV R0, #1 .text:10006568 RET .text:10006568 ; End of function sub_10006564 .text:10006568 .text:1000656C .text:1000656C ; =============== S U B R O U T I N E ======================================= .text:1000656C .text:1000656C .text:1000656C sub_1000656C ; CODE XREF: sub_10005834+38p .text:1000656C ; DATA XREF: .text:10001734o ... .text:1000656C STMFD SP!, {R4,R5,LR} .text:10006570 MOV R4, R1 .text:10006574 MOV R5, R0 .text:10006578 ADD R0, R5, #0x60 .text:1000657C BL EnterCriticalSection .text:10006580 LDR R0, [R5,#0x124] .text:10006584 CMP R4, #0 .text:10006588 LDR R3, [R0] .text:1000658C LDR R3, [R3,#0x14] .text:10006590 BEQ loc_100065BC .text:10006594 MOV LR, PC .text:10006598 BX R3 .text:1000659C LDR R2, [R5,#0x124] .text:100065A0 ORR R1, R0, #2 .text:100065A4 LDR R3, [R2] .text:100065A8 MOV R0, R2 .text:100065AC LDR R3, [R3,#0x10] .text:100065B0 MOV LR, PC .text:100065B4 BX R3 .text:100065B8 B loc_100065E0 .text:100065BC ; --------------------------------------------------------------------------- .text:100065BC .text:100065BC loc_100065BC ; CODE XREF: sub_1000656C+24j .text:100065BC MOV LR, PC .text:100065C0 BX R3 .text:100065C4 LDR R2, [R5,#0x124] .text:100065C8 AND R1, R0, #0xFD .text:100065CC LDR R3, [R2] .text:100065D0 MOV R0, R2 .text:100065D4 LDR R3, [R3,#0x10] .text:100065D8 MOV LR, PC .text:100065DC BX R3 .text:100065E0 .text:100065E0 loc_100065E0 ; CODE XREF: sub_1000656C+4Cj .text:100065E0 ADD R0, R5, #0x60 .text:100065E4 BL LeaveCriticalSection .text:100065E8 MOV R0, #1 .text:100065EC LDMFD SP!, {R4,R5,LR} .text:100065F0 BX LR .text:100065F0 ; End of function sub_1000656C .text:100065F0 .text:100065F4 .text:100065F4 ; =============== S U B R O U T I N E ======================================= .text:100065F4 .text:100065F4 .text:100065F4 sub_100065F4 ; DATA XREF: .text:10001080o .text:100065F4 ; .text:10001168o ... .text:100065F4 STMFD SP!, {R4,LR} .text:100065F8 MOV R4, R0 .text:100065FC ADD R0, R4, #0x60 .text:10006600 BL EnterCriticalSection .text:10006604 LDR R0, [R4,#0x124] .text:10006608 LDR R3, [R0] .text:1000660C LDR R3, [R3,#0x1C] .text:10006610 MOV LR, PC .text:10006614 BX R3 .text:10006618 LDR R2, [R4,#0x124] .text:1000661C ORR R1, R0, #5 .text:10006620 LDR R3, [R2] .text:10006624 MOV R0, R2 .text:10006628 LDR R3, [R3,#0x18] .text:1000662C MOV LR, PC .text:10006630 BX R3 .text:10006634 ADD R0, R4, #0x60 .text:10006638 BL LeaveCriticalSection .text:1000663C MOV R0, #0 .text:10006640 LDMFD SP!, {R4,LR} .text:10006644 BX LR .text:10006644 ; End of function sub_100065F4 .text:10006644 .text:10006648 .text:10006648 ; =============== S U B R O U T I N E ======================================= .text:10006648 .text:10006648 .text:10006648 sub_10006648 ; DATA XREF: .text:100017B0o .text:10006648 ; .pdata:1000B4A8o .text:10006648 STMFD SP!, {R4,LR} .text:1000664C LDR LR, =unk_1000A584 .text:10006650 LDR R4, [R0,#0x120] .text:10006654 MOV R2, #3 .text:10006658 LDR R3, [LR] .text:1000665C ADD R1, LR, #0x18 .text:10006660 AND R0, R3, #0xFF .text:10006664 .text:10006664 loc_10006664 ; CODE XREF: sub_10006648+30j .text:10006664 LDR R3, [R1,#4] .text:10006668 CMP R4, R3 .text:1000666C BCS loc_10006684 .text:10006670 SUBS R2, R2, #1 .text:10006674 SUB R1, R1, #8 .text:10006678 BNE loc_10006664 .text:1000667C LDMFD SP!, {R4,LR} .text:10006680 BX LR .text:10006684 ; --------------------------------------------------------------------------- .text:10006684 .text:10006684 loc_10006684 ; CODE XREF: sub_10006648+24j .text:10006684 LDR R3, [LR,R2,LSL#3] .text:10006688 AND R0, R3, #0xFF .text:1000668C LDMFD SP!, {R4,LR} .text:10006690 BX LR .text:10006690 ; End of function sub_10006648 .text:10006690 .text:10006690 ; --------------------------------------------------------------------------- .text:10006694 off_10006694 DCD unk_1000A584 ; DATA XREF: sub_10006648+4r .text:10006698 .text:10006698 ; =============== S U B R O U T I N E ======================================= .text:10006698 .text:10006698 .text:10006698 sub_10006698 ; DATA XREF: .text:100017ACo .text:10006698 ; .pdata:1000B4B0o .text:10006698 STMFD SP!, {R4,LR} .text:1000669C LDR LR, =unk_1000A584 .text:100066A0 LDR R4, [R0,#0x120] .text:100066A4 MOV R2, #3 .text:100066A8 LDR R3, [LR,#4] .text:100066AC ADD R1, LR, #0x18 .text:100066B0 AND R0, R3, #0xFF .text:100066B4 .text:100066B4 loc_100066B4 ; CODE XREF: sub_10006698+30j .text:100066B4 LDR R3, [R1,#4] .text:100066B8 CMP R4, R3 .text:100066BC BCS loc_100066D4 .text:100066C0 SUBS R2, R2, #1 .text:100066C4 SUB R1, R1, #8 .text:100066C8 BNE loc_100066B4 .text:100066CC LDMFD SP!, {R4,LR} .text:100066D0 BX LR .text:100066D4 ; --------------------------------------------------------------------------- .text:100066D4 .text:100066D4 loc_100066D4 ; CODE XREF: sub_10006698+24j .text:100066D4 ADD R3, LR, R2,LSL#3 .text:100066D8 LDR R3, [R3,#4] .text:100066DC AND R0, R3, #0xFF .text:100066E0 LDMFD SP!, {R4,LR} .text:100066E4 BX LR .text:100066E4 ; End of function sub_10006698 .text:100066E4 .text:100066E4 ; --------------------------------------------------------------------------- .text:100066E8 off_100066E8 DCD unk_1000A584 ; DATA XREF: sub_10006698+4r .text:100066EC .text:100066EC ; =============== S U B R O U T I N E ======================================= .text:100066EC .text:100066EC .text:100066EC sub_100066EC ; DATA XREF: .text:10001084o .text:100066EC ; .text:1000116Co ... .text:100066EC STMFD SP!, {R4,R5,LR} .text:100066F0 MOV R4, R1 .text:100066F4 MOV R5, R0 .text:100066F8 ADD R0, R5, #0x60 .text:100066FC BL EnterCriticalSection .text:10006700 CMP R4, #0 .text:10006704 BEQ loc_100067A4 .text:10006708 LDR R3, [R5] .text:1000670C MOV R0, R5 .text:10006710 LDR R3, [R3,#0xD8] .text:10006714 MOV LR, PC .text:10006718 BX R3 .text:1000671C LDR R2, [R5,#0x124] .text:10006720 MOV R4, R0 .text:10006724 LDR R3, [R2] .text:10006728 MOV R0, R2 .text:1000672C LDR R3, [R3,#0x1C] .text:10006730 MOV LR, PC .text:10006734 BX R3 .text:10006738 LDR LR, [R5,#0x124] .text:1000673C AND R3, R4, #0xC0 .text:10006740 ORR R3, R3, R0 .text:10006744 LDR R2, [LR] .text:10006748 ORR R1, R3, #3 .text:1000674C MOV R0, LR .text:10006750 LDR R3, [R2,#0x18] .text:10006754 MOV LR, PC .text:10006758 BX R3 .text:1000675C LDR R0, [R5,#0x124] .text:10006760 LDR R3, [R0] .text:10006764 LDR R3, [R3,#0x14] .text:10006768 MOV LR, PC .text:1000676C BX R3 .text:10006770 LDR R2, [R5,#0x124] .text:10006774 ORR R1, R0, #1 .text:10006778 LDR R3, [R2] .text:1000677C MOV R0, R2 .text:10006780 LDR R3, [R3,#0x10] .text:10006784 MOV LR, PC .text:10006788 BX R3 .text:1000678C LDR R0, [R5,#0x124] .text:10006790 LDR R3, [R0] .text:10006794 LDR R3, [R3,#0x38] .text:10006798 MOV LR, PC .text:1000679C BX R3 .text:100067A0 B loc_100067D4 .text:100067A4 ; --------------------------------------------------------------------------- .text:100067A4 .text:100067A4 loc_100067A4 ; CODE XREF: sub_100066EC+18j .text:100067A4 LDR R0, [R5,#0x124] .text:100067A8 LDR R3, [R0] .text:100067AC LDR R3, [R3,#0x14] .text:100067B0 MOV LR, PC .text:100067B4 BX R3 .text:100067B8 LDR R2, [R5,#0x124] .text:100067BC AND R1, R0, #0xFE .text:100067C0 LDR R3, [R2] .text:100067C4 MOV R0, R2 .text:100067C8 LDR R3, [R3,#0x10] .text:100067CC MOV LR, PC .text:100067D0 BX R3 .text:100067D4 .text:100067D4 loc_100067D4 ; CODE XREF: sub_100066EC+B4j .text:100067D4 ADD R0, R5, #0x60 .text:100067D8 BL LeaveCriticalSection .text:100067DC MOV R0, #1 .text:100067E0 LDMFD SP!, {R4,R5,LR} .text:100067E4 BX LR .text:100067E4 ; End of function sub_100066EC .text:100067E4 .text:100067E8 .text:100067E8 ; =============== S U B R O U T I N E ======================================= .text:100067E8 .text:100067E8 .text:100067E8 sub_100067E8 ; DATA XREF: .text:10001090o .text:100067E8 ; .text:10001178o ... .text:100067E8 STMFD SP!, {R4,LR} .text:100067EC MOV R4, R0 .text:100067F0 MOV R3, #1 .text:100067F4 ADD R0, R4, #0x60 .text:100067F8 STR R3, [R4,#0x11C] .text:100067FC BL EnterCriticalSection .text:10006800 LDR R0, [R4,#0x124] .text:10006804 LDR R3, [R0] .text:10006808 LDR R3, [R3,#0x1C] .text:1000680C MOV LR, PC .text:10006810 BX R3 .text:10006814 LDR R2, [R4,#0x124] .text:10006818 ORR R1, R0, #2 .text:1000681C LDR R3, [R2] .text:10006820 MOV R0, R2 .text:10006824 LDR R3, [R3,#0x18] .text:10006828 MOV LR, PC .text:1000682C BX R3 .text:10006830 ADD R0, R4, #0x60 .text:10006834 BL LeaveCriticalSection .text:10006838 MOV R0, #0 .text:1000683C LDMFD SP!, {R4,LR} .text:10006840 BX LR .text:10006840 ; End of function sub_100067E8 .text:10006840 .text:10006844 .text:10006844 ; =============== S U B R O U T I N E ======================================= .text:10006844 .text:10006844 .text:10006844 sub_10006844 ; CODE XREF: sub_100070AC+24p .text:10006844 ; DATA XREF: .text:10001264o ... .text:10006844 STMFD SP!, {R4,R5,LR} .text:10006848 MOV R4, R1 .text:1000684C MOV R5, R0 .text:10006850 ADD R0, R5, #0x60 .text:10006854 BL EnterCriticalSection .text:10006858 LDR R0, [R5,#0x124] .text:1000685C CMP R4, #0 .text:10006860 LDR R3, [R0] .text:10006864 LDR R3, [R3,#0x2C] .text:10006868 BEQ loc_100068C0 .text:1000686C MOV R1, #8 .text:10006870 MOV LR, PC .text:10006874 BX R3 .text:10006878 LDR R0, [R5,#0x124] .text:1000687C LDR R3, [R0] .text:10006880 LDR R3, [R3,#0x14] .text:10006884 MOV LR, PC .text:10006888 BX R3 .text:1000688C LDR R2, [R5,#0x124] .text:10006890 ORR R1, R0, #8 .text:10006894 LDR R3, [R2] .text:10006898 MOV R0, R2 .text:1000689C LDR R3, [R3,#0x10] .text:100068A0 MOV LR, PC .text:100068A4 BX R3 .text:100068A8 LDR R0, [R5,#0x124] .text:100068AC LDR R3, [R0] .text:100068B0 LDR R3, [R3,#0x40] .text:100068B4 MOV LR, PC .text:100068B8 BX R3 .text:100068BC B loc_100068FC .text:100068C0 ; --------------------------------------------------------------------------- .text:100068C0 .text:100068C0 loc_100068C0 ; CODE XREF: sub_10006844+24j .text:100068C0 MOV R1, #0 .text:100068C4 MOV LR, PC .text:100068C8 BX R3 .text:100068CC LDR R0, [R5,#0x124] .text:100068D0 LDR R3, [R0] .text:100068D4 LDR R3, [R3,#0x14] .text:100068D8 MOV LR, PC .text:100068DC BX R3 .text:100068E0 LDR R2, [R5,#0x124] .text:100068E4 AND R1, R0, #0xF7 .text:100068E8 LDR R3, [R2] .text:100068EC MOV R0, R2 .text:100068F0 LDR R3, [R3,#0x10] .text:100068F4 MOV LR, PC .text:100068F8 BX R3 .text:100068FC .text:100068FC loc_100068FC ; CODE XREF: sub_10006844+78j .text:100068FC ADD R0, R5, #0x60 .text:10006900 BL LeaveCriticalSection .text:10006904 MOV R0, #1 .text:10006908 LDMFD SP!, {R4,R5,LR} .text:1000690C BX LR .text:1000690C ; End of function sub_10006844 .text:1000690C .text:10006910 .text:10006910 ; =============== S U B R O U T I N E ======================================= .text:10006910 .text:10006910 .text:10006910 sub_10006910 ; CODE XREF: sub_10005AAC+4p .text:10006910 ; DATA XREF: .text:10001754o ... .text:10006910 STMFD SP!, {R4-R7,LR} .text:10006914 MOV R7, R0 .text:10006918 ADD R0, R7, #0x60 .text:1000691C BL EnterCriticalSection .text:10006920 LDR R0, [R7,#0x124] .text:10006924 MOV R4, #0 .text:10006928 MOV R5, #0 .text:1000692C LDR R3, [R0] .text:10006930 LDR R3, [R3,#0x40] .text:10006934 MOV LR, PC .text:10006938 BX R3 .text:1000693C MOV R6, R0 .text:10006940 ADD R0, R7, #0x60 .text:10006944 BL LeaveCriticalSection .text:10006948 TST R6, #1 .text:1000694C MOVNE R5, #8 .text:10006950 TST R6, #2 .text:10006954 ORRNE R5, R5, #0x10 .text:10006958 TST R6, #4 .text:1000695C ORRNE R5, R5, #0x100 .text:10006960 TST R6, #8 .text:10006964 ORRNE R5, R5, #0x20 .text:10006968 TST R6, #0x10 .text:1000696C MOVNE R4, #0x10 .text:10006970 TST R6, #0x20 .text:10006974 ORRNE R4, R4, #0x20 .text:10006978 TST R6, #0x40 .text:1000697C ORRNE R4, R4, #0x40 .text:10006980 TST R6, #0x80 .text:10006984 ORRNE R4, R4, #0x80 .text:10006988 CMP R5, #0 .text:1000698C LDRNE R3, [R7] .text:10006990 MOVNE R2, R4 .text:10006994 MOVNE R1, R5 .text:10006998 LDRNE R3, [R3,#0x44] .text:1000699C MOVNE R0, R7 .text:100069A0 MOVNE LR, PC .text:100069A4 BXNE R3 .text:100069A8 MOV R0, R4 .text:100069AC LDMFD SP!, {R4-R7,LR} .text:100069B0 BX LR .text:100069B0 ; End of function sub_10006910 .text:100069B0 .text:100069B4 .text:100069B4 ; =============== S U B R O U T I N E ======================================= .text:100069B4 .text:100069B4 .text:100069B4 sub_100069B4 ; DATA XREF: .text:100010A0o .text:100069B4 ; .text:10001270o ... .text:100069B4 STMFD SP!, {R4,R5,LR} .text:100069B8 MOV R4, R1 .text:100069BC MOV R5, R0 .text:100069C0 ADD R0, R5, #0x60 .text:100069C4 BL EnterCriticalSection .text:100069C8 LDR R0, [R5,#0x124] .text:100069CC LDR R3, [R0] .text:100069D0 LDR R3, [R3,#0x30] .text:100069D4 MOV LR, PC .text:100069D8 BX R3 .text:100069DC CMP R4, #0 .text:100069E0 ORRNE R1, R0, #1 .text:100069E4 ANDEQ R1, R0, #0xFE .text:100069E8 LDR R0, [R5,#0x124] .text:100069EC LDR R3, [R0] .text:100069F0 LDR R3, [R3,#0x2C] .text:100069F4 MOV LR, PC .text:100069F8 BX R3 .text:100069FC ADD R0, R5, #0x60 .text:10006A00 BL LeaveCriticalSection .text:10006A04 LDMFD SP!, {R4,R5,LR} .text:10006A08 BX LR .text:10006A08 ; End of function sub_100069B4 .text:10006A08 .text:10006A0C .text:10006A0C ; =============== S U B R O U T I N E ======================================= .text:10006A0C .text:10006A0C .text:10006A0C sub_10006A0C ; DATA XREF: .text:100010A4o .text:10006A0C ; .text:1000118Co ... .text:10006A0C STMFD SP!, {R4,R5,LR} .text:10006A10 MOV R4, R1 .text:10006A14 MOV R5, R0 .text:10006A18 ADD R0, R5, #0x60 .text:10006A1C BL EnterCriticalSection .text:10006A20 LDR R0, [R5,#0x124] .text:10006A24 LDR R3, [R0] .text:10006A28 LDR R3, [R3,#0x30] .text:10006A2C MOV LR, PC .text:10006A30 BX R3 .text:10006A34 CMP R4, #0 .text:10006A38 ORRNE R1, R0, #2 .text:10006A3C ANDEQ R1, R0, #0xFD .text:10006A40 LDR R0, [R5,#0x124] .text:10006A44 LDR R3, [R0] .text:10006A48 LDR R3, [R3,#0x2C] .text:10006A4C MOV LR, PC .text:10006A50 BX R3 .text:10006A54 ADD R0, R5, #0x60 .text:10006A58 BL LeaveCriticalSection .text:10006A5C LDMFD SP!, {R4,R5,LR} .text:10006A60 BX LR .text:10006A60 ; End of function sub_10006A0C .text:10006A60 .text:10006A64 .text:10006A64 ; =============== S U B R O U T I N E ======================================= .text:10006A64 .text:10006A64 .text:10006A64 sub_10006A64 ; DATA XREF: .text:100010B0o .text:10006A64 ; .text:10001198o ... .text:10006A64 STMFD SP!, {R4,R5,LR} .text:10006A68 MOV R4, R1 .text:10006A6C MOV R5, R0 .text:10006A70 ADD R0, R5, #0x60 .text:10006A74 BL EnterCriticalSection .text:10006A78 LDR R0, [R5,#0x124] .text:10006A7C CMP R4, #0 .text:10006A80 LDR R3, [R0] .text:10006A84 LDR R3, [R3,#0x14] .text:10006A88 BEQ loc_10006ACC .text:10006A8C MOV LR, PC .text:10006A90 BX R3 .text:10006A94 LDR R2, [R5,#0x124] .text:10006A98 ORR R1, R0, #4 .text:10006A9C LDR R3, [R2] .text:10006AA0 MOV R0, R2 .text:10006AA4 LDR R3, [R3,#0x10] .text:10006AA8 MOV LR, PC .text:10006AAC BX R3 .text:10006AB0 LDR R0, [R5,#0x124] .text:10006AB4 MOV R1, #3 .text:10006AB8 LDR R3, [R0] .text:10006ABC LDR R3, [R3,#0x24] .text:10006AC0 MOV LR, PC .text:10006AC4 BX R3 .text:10006AC8 B loc_10006AF0 .text:10006ACC ; --------------------------------------------------------------------------- .text:10006ACC .text:10006ACC loc_10006ACC ; CODE XREF: sub_10006A64+24j .text:10006ACC MOV LR, PC .text:10006AD0 BX R3 .text:10006AD4 LDR R2, [R5,#0x124] .text:10006AD8 AND R1, R0, #0xFB .text:10006ADC LDR R3, [R2] .text:10006AE0 MOV R0, R2 .text:10006AE4 LDR R3, [R3,#0x10] .text:10006AE8 MOV LR, PC .text:10006AEC BX R3 .text:10006AF0 .text:10006AF0 loc_10006AF0 ; CODE XREF: sub_10006A64+64j .text:10006AF0 ADD R0, R5, #0x60 .text:10006AF4 BL LeaveCriticalSection .text:10006AF8 MOV R0, #1 .text:10006AFC LDMFD SP!, {R4,R5,LR} .text:10006B00 BX LR .text:10006B00 ; End of function sub_10006A64 .text:10006B00 .text:10006B04 .text:10006B04 ; =============== S U B R O U T I N E ======================================= .text:10006B04 .text:10006B04 .text:10006B04 sub_10006B04 ; CODE XREF: sub_10001AC0+4p .text:10006B04 ; sub_10007294+Cp ... .text:10006B04 STMFD SP!, {R4,R5,LR} .text:10006B08 MOV R5, R0 .text:10006B0C ADD R0, R5, #0x60 .text:10006B10 BL EnterCriticalSection .text:10006B14 LDR R0, [R5,#0x124] .text:10006B18 LDR R3, [R0] .text:10006B1C LDR R3, [R3,#0x38] .text:10006B20 MOV LR, PC .text:10006B24 BX R3 .text:10006B28 MOV R4, R0 .text:10006B2C ADD R0, R5, #0x60 .text:10006B30 BL LeaveCriticalSection .text:10006B34 TST R4, #2 .text:10006B38 MOV R1, #0 .text:10006B3C MOVNE R1, #2 .text:10006B40 TST R4, #4 .text:10006B44 ORRNE R1, R1, #4 .text:10006B48 TST R4, #8 .text:10006B4C ORRNE R1, R1, #8 .text:10006B50 CMP R1, #0 .text:10006B54 LDRNE R3, [R5] .text:10006B58 MOVNE R0, R5 .text:10006B5C LDRNE R3, [R3,#0xC0] .text:10006B60 MOVNE LR, PC .text:10006B64 BXNE R3 .text:10006B68 TST R4, #0x10 .text:10006B6C LDRNE R3, [R5] .text:10006B70 MOVNE R2, #0 .text:10006B74 MOVNE R1, #0x40 .text:10006B78 LDRNE R3, [R3,#0x44] .text:10006B7C MOVNE R0, R5 .text:10006B80 MOVNE LR, PC .text:10006B84 BXNE R3 .text:10006B88 MOV R0, R4 .text:10006B8C LDMFD SP!, {R4,R5,LR} .text:10006B90 BX LR .text:10006B90 ; End of function sub_10006B04 .text:10006B90 .text:10006B94 .text:10006B94 ; =============== S U B R O U T I N E ======================================= .text:10006B94 .text:10006B94 .text:10006B94 sub_10006B94 ; DATA XREF: .text:100010B8o .text:10006B94 ; .text:100011A0o ... .text:10006B94 STMFD SP!, {R4,R5,LR} .text:10006B98 MOV R4, R1 .text:10006B9C MOV R5, R0 .text:10006BA0 ADD R0, R5, #0x60 .text:10006BA4 BL EnterCriticalSection .text:10006BA8 LDR R0, [R5,#0x124] .text:10006BAC LDR R3, [R0] .text:10006BB0 LDR R3, [R3,#0x28] .text:10006BB4 MOV LR, PC .text:10006BB8 BX R3 .text:10006BBC CMP R4, #0 .text:10006BC0 ORRNE R1, R0, #0x40 .text:10006BC4 ANDEQ R1, R0, #0xBF .text:10006BC8 LDR R0, [R5,#0x124] .text:10006BCC LDR R3, [R0] .text:10006BD0 LDR R3, [R3,#0x24] .text:10006BD4 MOV LR, PC .text:10006BD8 BX R3 .text:10006BDC ADD R0, R5, #0x60 .text:10006BE0 BL LeaveCriticalSection .text:10006BE4 LDMFD SP!, {R4,R5,LR} .text:10006BE8 BX LR .text:10006BE8 ; End of function sub_10006B94 .text:10006BE8 .text:10006BE8 ; --------------------------------------------------------------------------- .text:10006BEC DCD loc_10008BA0 .text:10006BF0 DCD dword_10008F10 .text:10006BF4 .text:10006BF4 ; =============== S U B R O U T I N E ======================================= .text:10006BF4 .text:10006BF4 ; Attributes: bp-based frame .text:10006BF4 .text:10006BF4 sub_10006BF4 ; DATA XREF: .text:100010BCo .text:10006BF4 ; .text:100011A4o ... .text:10006BF4 .text:10006BF4 var_18 = -0x18 .text:10006BF4 oldR4 = -0x10 .text:10006BF4 oldR11 = -0xC .text:10006BF4 oldSP = -8 .text:10006BF4 oldLR = -4 .text:10006BF4 param_R0 = 0 .text:10006BF4 .text:10006BF4 MOV R12, SP .text:10006BF8 STMFD SP!, {R0} .text:10006BFC STMFD SP!, {R4,R11,R12,LR} .text:10006C00 ADD R11, SP, #0x10 .text:10006C04 SUB SP, SP, #8 .text:10006C08 MOV R4, R0 .text:10006C0C STR R4, [R11,#param_R0] .text:10006C10 LDR R3, [R4] .text:10006C14 SUB R2, R11, #0x18 .text:10006C18 LDR R3, [R3,#0xB4] .text:10006C1C MOV LR, PC .text:10006C20 BX R3 .text:10006C24 CMP R0, #0 .text:10006C28 MOVEQ R0, #0 .text:10006C2C LDMEQDB R11, {R4,R11,SP,LR} .text:10006C30 BXEQ LR .text:10006C34 ADD R0, R4, #0x60 .text:10006C38 BL EnterCriticalSection .text:10006C3C LDR R0, [R4,#0x138] .text:10006C40 CMN R0, #1 .text:10006C44 MOVNE R1, #1 .text:10006C48 BLNE InterruptMask .text:10006C4C .text:10006C4C loc_10006C4C ; DATA XREF: .text:10008F14o .text:10006C4C LDR R0, [R4,#0x124] .text:10006C50 LDR R3, [R11,#var_18] .text:10006C54 LDR R2, [R0] .text:10006C58 MOV R1, R3,LSL#16 .text:10006C5C MOV R1, R1,LSR#16 .text:10006C60 LDR R3, [R2,#0x4C] .text:10006C64 MOV LR, PC .text:10006C68 BX R3 .text:10006C6C .text:10006C6C loc_10006C6C ; DATA XREF: .text:10008F18o .text:10006C6C B loc_10006C74 .text:10006C70 ; --------------------------------------------------------------------------- .text:10006C70 .text:10006C70 loc_10006C70 ; DATA XREF: .text:10008F20o .text:10006C70 LDR R4, [R11,#param_R0] .text:10006C74 .text:10006C74 loc_10006C74 ; CODE XREF: sub_10006BF4:loc_10006C6Cj .text:10006C74 LDR R0, [R4,#0x138] .text:10006C78 CMN R0, #1 .text:10006C7C MOVNE R1, #0 .text:10006C80 BLNE InterruptMask .text:10006C84 ADD R0, R4, #0x60 .text:10006C88 BL LeaveCriticalSection .text:10006C8C MOV R0, #1 .text:10006C90 LDMDB R11, {R4,R11,SP,LR} .text:10006C94 BX LR .text:10006C94 ; End of function sub_10006BF4 .text:10006C94 .text:10006C98 ; --------------------------------------------------------------------------- .text:10006C98 LDR R0, [R11,#-0x14] .text:10006C9C LDMDB R11, {R4,R11,SP,LR} .text:10006CA0 BX LR .text:10006CA4 .text:10006CA4 ; =============== S U B R O U T I N E ======================================= .text:10006CA4 .text:10006CA4 .text:10006CA4 sub_10006CA4 ; DATA XREF: .text:10008F1Co .text:10006CA4 ; .pdata:1000B508o .text:10006CA4 MOV R0, #1 .text:10006CA8 RET .text:10006CA8 ; End of function sub_10006CA4 .text:10006CA8 .text:10006CAC .text:10006CAC ; =============== S U B R O U T I N E ======================================= .text:10006CAC .text:10006CAC .text:10006CAC sub_10006CAC ; DATA XREF: .text:100010C0o .text:10006CAC ; .text:100011A8o ... .text:10006CAC STMFD SP!, {R4-R6,LR} .text:10006CB0 MOV R4, R1 .text:10006CB4 MOV R6, R0 .text:10006CB8 ADD R0, R6, #0x60 .text:10006CBC MOV R5, #1 .text:10006CC0 BL EnterCriticalSection .text:10006CC4 LDR R0, [R6,#0x124] .text:10006CC8 LDR R3, [R0] .text:10006CCC LDR R3, [R3,#0x28] .text:10006CD0 MOV LR, PC .text:10006CD4 BX R3 .text:10006CD8 AND R1, R0, #0xFC .text:10006CDC CMP R4, #5 .text:10006CE0 BEQ loc_10006D14 .text:10006CE4 CMP R4, #6 .text:10006CE8 BEQ loc_10006D10 .text:10006CEC CMP R4, #7 .text:10006CF0 BEQ loc_10006D08 .text:10006CF4 CMP R4, #8 .text:10006CF8 MOVNE R5, #0 .text:10006CFC BNE loc_10006D28 .text:10006D00 ORR R1, R1, #3 .text:10006D04 B loc_10006D14 .text:10006D08 ; --------------------------------------------------------------------------- .text:10006D08 .text:10006D08 loc_10006D08 ; CODE XREF: sub_10006CAC+44j .text:10006D08 ORR R1, R1, #2 .text:10006D0C B loc_10006D14 .text:10006D10 ; --------------------------------------------------------------------------- .text:10006D10 .text:10006D10 loc_10006D10 ; CODE XREF: sub_10006CAC+3Cj .text:10006D10 ORR R1, R1, #1 .text:10006D14 .text:10006D14 loc_10006D14 ; CODE XREF: sub_10006CAC+34j .text:10006D14 ; sub_10006CAC+58j ... .text:10006D14 LDR R0, [R6,#0x124] .text:10006D18 LDR R3, [R0] .text:10006D1C LDR R3, [R3,#0x24] .text:10006D20 MOV LR, PC .text:10006D24 BX R3 .text:10006D28 .text:10006D28 loc_10006D28 ; CODE XREF: sub_10006CAC+50j .text:10006D28 ADD R0, R6, #0x60 .text:10006D2C BL LeaveCriticalSection .text:10006D30 MOV R0, R5 .text:10006D34 LDMFD SP!, {R4-R6,LR} .text:10006D38 BX LR .text:10006D38 ; End of function sub_10006CAC .text:10006D38 .text:10006D3C .text:10006D3C ; =============== S U B R O U T I N E ======================================= .text:10006D3C .text:10006D3C .text:10006D3C sub_10006D3C ; DATA XREF: .text:100010C4o .text:10006D3C ; .text:100011ACo ... .text:10006D3C STMFD SP!, {R4-R6,LR} .text:10006D40 MOV R4, R1 .text:10006D44 MOV R6, R0 .text:10006D48 LDR R0, [R6,#0x124] .text:10006D4C MOV R5, #1 .text:10006D50 LDR R3, [R0] .text:10006D54 LDR R3, [R3,#0x28] .text:10006D58 MOV LR, PC .text:10006D5C BX R3 .text:10006D60 AND R1, R0, #0xC7 .text:10006D64 CMP R4, #0 .text:10006D68 BEQ loc_10006DAC .text:10006D6C CMP R4, #1 .text:10006D70 BEQ loc_10006DA8 .text:10006D74 CMP R4, #2 .text:10006D78 BEQ loc_10006DA0 .text:10006D7C CMP R4, #3 .text:10006D80 BEQ loc_10006D98 .text:10006D84 CMP R4, #4 .text:10006D88 MOVNE R5, #0 .text:10006D8C BNE loc_10006DC0 .text:10006D90 ORR R1, R1, #0x38 .text:10006D94 B loc_10006DAC .text:10006D98 ; --------------------------------------------------------------------------- .text:10006D98 .text:10006D98 loc_10006D98 ; CODE XREF: sub_10006D3C+44j .text:10006D98 ORR R1, R1, #0x28 .text:10006D9C B loc_10006DAC .text:10006DA0 ; --------------------------------------------------------------------------- .text:10006DA0 .text:10006DA0 loc_10006DA0 ; CODE XREF: sub_10006D3C+3Cj .text:10006DA0 ORR R1, R1, #0x18 .text:10006DA4 B loc_10006DAC .text:10006DA8 ; --------------------------------------------------------------------------- .text:10006DA8 .text:10006DA8 loc_10006DA8 ; CODE XREF: sub_10006D3C+34j .text:10006DA8 ORR R1, R1, #8 .text:10006DAC .text:10006DAC loc_10006DAC ; CODE XREF: sub_10006D3C+2Cj .text:10006DAC ; sub_10006D3C+58j ... .text:10006DAC LDR R0, [R6,#0x124] .text:10006DB0 LDR R3, [R0] .text:10006DB4 LDR R3, [R3,#0x24] .text:10006DB8 MOV LR, PC .text:10006DBC BX R3 .text:10006DC0 .text:10006DC0 loc_10006DC0 ; CODE XREF: sub_10006D3C+50j .text:10006DC0 MOV R0, R5 .text:10006DC4 LDMFD SP!, {R4-R6,LR} .text:10006DC8 BX LR .text:10006DC8 ; End of function sub_10006D3C .text:10006DC8 .text:10006DCC .text:10006DCC ; =============== S U B R O U T I N E ======================================= .text:10006DCC .text:10006DCC .text:10006DCC sub_10006DCC ; DATA XREF: .text:100010C8o .text:10006DCC ; .text:100011B0o ... .text:10006DCC STMFD SP!, {R4-R6,LR} .text:10006DD0 MOV R5, R1 .text:10006DD4 MOV R6, R0 .text:10006DD8 LDR R0, [R6,#0x124] .text:10006DDC MOV R4, #1 .text:10006DE0 LDR R3, [R0] .text:10006DE4 LDR R3, [R3,#0x28] .text:10006DE8 MOV LR, PC .text:10006DEC BX R3 .text:10006DF0 AND R1, R0, #0xFB .text:10006DF4 CMP R5, #0 .text:10006DF8 BEQ loc_10006E10 .text:10006DFC CMP R5, #1 .text:10006E00 CMPNE R5, #2 .text:10006E04 MOVNE R4, #0 .text:10006E08 BNE loc_10006E24 .text:10006E0C ORR R1, R1, #4 .text:10006E10 .text:10006E10 loc_10006E10 ; CODE XREF: sub_10006DCC+2Cj .text:10006E10 LDR R0, [R6,#0x124] .text:10006E14 LDR R3, [R0] .text:10006E18 LDR R3, [R3,#0x24] .text:10006E1C MOV LR, PC .text:10006E20 BX R3 .text:10006E24 .text:10006E24 loc_10006E24 ; CODE XREF: sub_10006DCC+3Cj .text:10006E24 MOV R0, R4 .text:10006E28 LDMFD SP!, {R4-R6,LR} .text:10006E2C BX LR .text:10006E2C ; End of function sub_10006DCC .text:10006E2C .text:10006E30 .text:10006E30 ; =============== S U B R O U T I N E ======================================= .text:10006E30 .text:10006E30 .text:10006E30 sub_10006E30 ; CODE XREF: sub_10007010+1Cp .text:10006E30 ; sub_10008790+14p .text:10006E30 ; DATA XREF: ... .text:10006E30 .text:10006E30 var_18 = -0x18 .text:10006E30 var_14 = -0x14 .text:10006E30 .text:10006E30 STMFD SP!, {R4-R6,LR} .text:10006E34 SUB SP, SP, #8 .text:10006E38 MOVS R6, R2 .text:10006E3C MOV R5, R0 .text:10006E40 LDR R3, =off_1000167C .text:10006E44 MOV R2, #0 .text:10006E48 STR R2, [R5,#4] .text:10006E4C LDR R2, =sub_10005C4C .text:10006E50 MOVL R0, 0xFFFFFFFF .text:10006E54 MOVNE R4, #4 .text:10006E58 STR R3, [R5] .text:10006E5C STR R0, [R5,#0x14] .text:10006E60 MOVEQ R4, #0 .text:10006E64 ADD LR, R5, #0xC .text:10006E68 MOV R3, R5 .text:10006E6C MOV R0, #0 .text:10006E70 STR LR, [SP,#0x18+var_14] .text:10006E74 STR R4, [SP,#0x18+var_18] .text:10006E78 BL CreateThread .text:10006E7C STR R0, [R5,#8] .text:10006E80 MOV R0, R5 .text:10006E84 STR R6, [R5,#0x10] .text:10006E88 ADD SP, SP, #8 .text:10006E8C LDMFD SP!, {R4-R6,LR} .text:10006E90 BX LR .text:10006E90 ; End of function sub_10006E30 .text:10006E90 .text:10006E90 ; --------------------------------------------------------------------------- .text:10006E94 off_10006E94 DCD sub_10005C4C ; DATA XREF: sub_10006E30+1Cr .text:10006E98 off_10006E98 DCD off_1000167C ; DATA XREF: sub_10006E30+10r .text:10006E9C .text:10006E9C ; =============== S U B R O U T I N E ======================================= .text:10006E9C .text:10006E9C .text:10006E9C sub_10006E9C ; DATA XREF: .text:10001688o .text:10006E9C ; .pdata:1000B530o .text:10006E9C .text:10006E9C var_4 = -4 .text:10006E9C arg_4 = 4 .text:10006E9C .text:10006E9C STR LR, [SP,#var_4]! .text:10006EA0 LDR R0, [R0,#0x14] .text:10006EA4 BL CEDDK_34 .text:10006EA8 LDR LR, [SP],#arg_4 .text:10006EAC BX LR .text:10006EAC ; End of function sub_10006E9C .text:10006EAC .text:10006EB0 .text:10006EB0 ; =============== S U B R O U T I N E ======================================= .text:10006EB0 .text:10006EB0 .text:10006EB0 sub_10006EB0 ; DATA XREF: .text:1000168Co .text:10006EB0 ; .pdata:1000B538o .text:10006EB0 .text:10006EB0 var_4 = -4 .text:10006EB0 arg_4 = 4 .text:10006EB0 .text:10006EB0 STR LR, [SP,#var_4]! .text:10006EB4 LDR R0, [R0,#0x14] .text:10006EB8 BL CEDDK_19 .text:10006EBC LDR LR, [SP],#arg_4 .text:10006EC0 BX LR .text:10006EC0 ; End of function sub_10006EB0 .text:10006EC0 .text:10006EC4 .text:10006EC4 ; =============== S U B R O U T I N E ======================================= .text:10006EC4 .text:10006EC4 .text:10006EC4 sub_10006EC4 ; DATA XREF: .text:10001690o .text:10006EC4 ; .pdata:1000B540o .text:10006EC4 .text:10006EC4 var_4 = -4 .text:10006EC4 arg_4 = 4 .text:10006EC4 .text:10006EC4 STR LR, [SP,#var_4]! .text:10006EC8 LDR R0, [R0,#0x18] .text:10006ECC BL CEDDK_34 .text:10006ED0 LDR LR, [SP],#arg_4 .text:10006ED4 BX LR .text:10006ED4 ; End of function sub_10006EC4 .text:10006ED4 .text:10006ED8 .text:10006ED8 ; =============== S U B R O U T I N E ======================================= .text:10006ED8 .text:10006ED8 .text:10006ED8 sub_10006ED8 ; DATA XREF: .text:10001694o .text:10006ED8 ; .pdata:1000B548o .text:10006ED8 .text:10006ED8 var_4 = -4 .text:10006ED8 arg_4 = 4 .text:10006ED8 .text:10006ED8 STR LR, [SP,#var_4]! .text:10006EDC LDR R0, [R0,#0x18] .text:10006EE0 BL CEDDK_19 .text:10006EE4 LDR LR, [SP],#arg_4 .text:10006EE8 BX LR .text:10006EE8 ; End of function sub_10006ED8 .text:10006EE8 .text:10006EEC .text:10006EEC ; =============== S U B R O U T I N E ======================================= .text:10006EEC .text:10006EEC .text:10006EEC sub_10006EEC ; DATA XREF: .text:10001698o .text:10006EEC ; .pdata:1000B550o .text:10006EEC STMFD SP!, {R4,R5,LR} .text:10006EF0 MOV R5, R1 .text:10006EF4 MOV R4, R0 .text:10006EF8 LDR R0, [R4,#0x1C] .text:10006EFC BL CEDDK_34 .text:10006F00 STRB R5, [R4,#0xC] .text:10006F04 LDMFD SP!, {R4,R5,LR} .text:10006F08 BX LR .text:10006F08 ; End of function sub_10006EEC .text:10006F08 .text:10006F0C .text:10006F0C ; =============== S U B R O U T I N E ======================================= .text:10006F0C .text:10006F0C .text:10006F0C sub_10006F0C ; DATA XREF: .text:100016A0o .text:10006F0C ; .pdata:1000B558o .text:10006F0C .text:10006F0C var_4 = -4 .text:10006F0C arg_4 = 4 .text:10006F0C .text:10006F0C STR LR, [SP,#var_4]! .text:10006F10 LDR R0, [R0,#0x1C] .text:10006F14 BL CEDDK_19 .text:10006F18 LDR LR, [SP],#arg_4 .text:10006F1C BX LR .text:10006F1C ; End of function sub_10006F0C .text:10006F1C .text:10006F20 .text:10006F20 ; =============== S U B R O U T I N E ======================================= .text:10006F20 .text:10006F20 .text:10006F20 sub_10006F20 ; DATA XREF: .text:100016A4o .text:10006F20 ; .pdata:1000B560o .text:10006F20 .text:10006F20 var_4 = -4 .text:10006F20 arg_4 = 4 .text:10006F20 .text:10006F20 STR LR, [SP,#var_4]! .text:10006F24 LDR R0, [R0,#0x20] .text:10006F28 BL CEDDK_34 .text:10006F2C LDR LR, [SP],#arg_4 .text:10006F30 BX LR .text:10006F30 ; End of function sub_10006F20 .text:10006F30 .text:10006F34 .text:10006F34 ; =============== S U B R O U T I N E ======================================= .text:10006F34 .text:10006F34 .text:10006F34 sub_10006F34 ; DATA XREF: .text:100016A8o .text:10006F34 ; .pdata:1000B568o .text:10006F34 .text:10006F34 var_4 = -4 .text:10006F34 arg_4 = 4 .text:10006F34 .text:10006F34 STR LR, [SP,#var_4]! .text:10006F38 LDR R0, [R0,#0x20] .text:10006F3C BL CEDDK_19 .text:10006F40 LDR LR, [SP],#arg_4 .text:10006F44 BX LR .text:10006F44 ; End of function sub_10006F34 .text:10006F44 .text:10006F48 .text:10006F48 ; =============== S U B R O U T I N E ======================================= .text:10006F48 .text:10006F48 .text:10006F48 sub_10006F48 ; DATA XREF: .text:100016ACo .text:10006F48 ; .pdata:1000B570o .text:10006F48 .text:10006F48 var_4 = -4 .text:10006F48 arg_4 = 4 .text:10006F48 .text:10006F48 STR LR, [SP,#var_4]! .text:10006F4C LDR R0, [R0,#0x24] .text:10006F50 BL CEDDK_34 .text:10006F54 LDR LR, [SP],#arg_4 .text:10006F58 BX LR .text:10006F58 ; End of function sub_10006F48 .text:10006F58 .text:10006F5C .text:10006F5C ; =============== S U B R O U T I N E ======================================= .text:10006F5C .text:10006F5C .text:10006F5C sub_10006F5C ; DATA XREF: .text:100016B0o .text:10006F5C ; .pdata:1000B578o .text:10006F5C .text:10006F5C var_4 = -4 .text:10006F5C arg_4 = 4 .text:10006F5C .text:10006F5C STR LR, [SP,#var_4]! .text:10006F60 LDR R0, [R0,#0x24] .text:10006F64 BL CEDDK_19 .text:10006F68 LDR LR, [SP],#arg_4 .text:10006F6C BX LR .text:10006F6C ; End of function sub_10006F5C .text:10006F6C .text:10006F70 .text:10006F70 ; =============== S U B R O U T I N E ======================================= .text:10006F70 .text:10006F70 .text:10006F70 sub_10006F70 ; DATA XREF: .text:100016B4o .text:10006F70 ; .pdata:1000B580o .text:10006F70 .text:10006F70 var_4 = -4 .text:10006F70 arg_4 = 4 .text:10006F70 .text:10006F70 STR LR, [SP,#var_4]! .text:10006F74 LDR R0, [R0,#0x28] .text:10006F78 BL CEDDK_34 .text:10006F7C LDR LR, [SP],#arg_4 .text:10006F80 BX LR .text:10006F80 ; End of function sub_10006F70 .text:10006F80 .text:10006F84 .text:10006F84 ; =============== S U B R O U T I N E ======================================= .text:10006F84 .text:10006F84 .text:10006F84 sub_10006F84 ; DATA XREF: .text:100016B8o .text:10006F84 ; .pdata:1000B588o .text:10006F84 .text:10006F84 var_4 = -4 .text:10006F84 arg_4 = 4 .text:10006F84 .text:10006F84 STR LR, [SP,#var_4]! .text:10006F88 LDR R0, [R0,#0x28] .text:10006F8C BL CEDDK_19 .text:10006F90 LDR LR, [SP],#arg_4 .text:10006F94 BX LR .text:10006F94 ; End of function sub_10006F84 .text:10006F94 .text:10006F98 .text:10006F98 ; =============== S U B R O U T I N E ======================================= .text:10006F98 .text:10006F98 .text:10006F98 sub_10006F98 ; DATA XREF: .text:100016BCo .text:10006F98 ; .pdata:1000B590o .text:10006F98 .text:10006F98 var_4 = -4 .text:10006F98 arg_4 = 4 .text:10006F98 .text:10006F98 STR LR, [SP,#var_4]! .text:10006F9C LDR R0, [R0,#0x2C] .text:10006FA0 BL CEDDK_34 .text:10006FA4 LDR LR, [SP],#arg_4 .text:10006FA8 BX LR .text:10006FA8 ; End of function sub_10006F98 .text:10006FA8 .text:10006FAC .text:10006FAC ; =============== S U B R O U T I N E ======================================= .text:10006FAC .text:10006FAC .text:10006FAC sub_10006FAC ; DATA XREF: .text:100016C0o .text:10006FAC ; .pdata:1000B598o .text:10006FAC .text:10006FAC var_4 = -4 .text:10006FAC arg_4 = 4 .text:10006FAC .text:10006FAC STR LR, [SP,#var_4]! .text:10006FB0 LDR R0, [R0,#0x2C] .text:10006FB4 BL CEDDK_19 .text:10006FB8 LDR LR, [SP],#arg_4 .text:10006FBC BX LR .text:10006FBC ; End of function sub_10006FAC .text:10006FBC .text:10006FC0 .text:10006FC0 ; =============== S U B R O U T I N E ======================================= .text:10006FC0 .text:10006FC0 .text:10006FC0 sub_10006FC0 ; DATA XREF: .text:100016C4o .text:10006FC0 ; .pdata:1000B5A0o .text:10006FC0 .text:10006FC0 var_4 = -4 .text:10006FC0 arg_4 = 4 .text:10006FC0 .text:10006FC0 STR LR, [SP,#var_4]! .text:10006FC4 LDR R0, [R0,#0x30] .text:10006FC8 BL CEDDK_34 .text:10006FCC LDR LR, [SP],#arg_4 .text:10006FD0 BX LR .text:10006FD0 ; End of function sub_10006FC0 .text:10006FD0 .text:10006FD4 .text:10006FD4 ; =============== S U B R O U T I N E ======================================= .text:10006FD4 .text:10006FD4 .text:10006FD4 sub_10006FD4 ; DATA XREF: .text:100016C8o .text:10006FD4 ; .pdata:1000B5A8o .text:10006FD4 .text:10006FD4 var_4 = -4 .text:10006FD4 arg_4 = 4 .text:10006FD4 .text:10006FD4 STR LR, [SP,#var_4]! .text:10006FD8 LDR R0, [R0,#0x30] .text:10006FDC BL CEDDK_19 .text:10006FE0 LDR LR, [SP],#arg_4 .text:10006FE4 BX LR .text:10006FE4 ; End of function sub_10006FD4 .text:10006FE4 .text:10006FE8 .text:10006FE8 ; =============== S U B R O U T I N E ======================================= .text:10006FE8 .text:10006FE8 .text:10006FE8 sub_10006FE8 ; DATA XREF: .text:off_10001680o .text:10006FE8 ; .pdata:1000B5B0o .text:10006FE8 STMFD SP!, {R4,LR} .text:10006FEC MOV R4, R0 .text:10006FF0 LDR R3, =off_100013A8 .text:10006FF4 TST R1, #1 .text:10006FF8 STR R3, [R4] .text:10006FFC BLNE __3_YAXPAX_Z ; operator delete(void *) .text:10007000 MOV R0, R4 .text:10007004 LDMFD SP!, {R4,LR} .text:10007008 BX LR .text:10007008 ; End of function sub_10006FE8 .text:10007008 .text:10007008 ; --------------------------------------------------------------------------- .text:1000700C off_1000700C DCD off_100013A8 ; DATA XREF: sub_10006FE8+8r .text:10007010 .text:10007010 ; =============== S U B R O U T I N E ======================================= .text:10007010 .text:10007010 .text:10007010 sub_10007010 ; CODE XREF: sub_10001ED4+44p .text:10007010 ; sub_10004F68+8p .text:10007010 ; DATA XREF: ... .text:10007010 STMFD SP!, {R4,R5,LR} .text:10007014 MOV R4, R1 .text:10007018 MOV R5, R0 .text:1000701C BL sub_100074C8 .text:10007020 MOV R2, #1 .text:10007024 MOV R1, #0 .text:10007028 ADD R0, R5, #0xFC .text:1000702C BL sub_10006E30 .text:10007030 LDR LR, =off_100017B4 .text:10007034 LDR R3, =off_100016D8 .text:10007038 MOV R2, R4 .text:1000703C MOV R1, #0x80000002 .text:10007040 ADD R0, R5, #0x134 .text:10007044 STR LR, [R5,#0xFC] .text:10007048 STR R3, [R5] .text:1000704C BL sub_10005B0C .text:10007050 MOVL R3, 0xFFFFFFFF .text:10007054 MOV R2, #1 .text:10007058 STR R3, [R5,#0x138] .text:1000705C STR R2, [R5,#0x12C] .text:10007060 MOV R4, #0 .text:10007064 MOV R3, #0 .text:10007068 MOV R2, #0 .text:1000706C MOV R1, #0 .text:10007070 MOV R0, #0 .text:10007074 STR R4, [R5,#0x124] .text:10007078 STR R4, [R5,#0x13C] .text:1000707C STR R4, [R5,#0x140] .text:10007080 STR R4, [R5,#0x128] .text:10007084 BL CreateEventW .text:10007088 MOV R3, #8 .text:1000708C STR R0, [R5,#0x118] .text:10007090 STR R3, [R5,#0x120] .text:10007094 MOV R0, R5 .text:10007098 STR R4, [R5,#0x114] .text:1000709C LDMFD SP!, {R4,R5,LR} .text:100070A0 BX LR .text:100070A0 ; End of function sub_10007010 .text:100070A0 .text:100070A0 ; --------------------------------------------------------------------------- .text:100070A4 off_100070A4 DCD off_100016D8 ; DATA XREF: sub_10007010+24r .text:100070A8 off_100070A8 DCD off_100017B4 ; DATA XREF: sub_10007010+20r .text:100070AC .text:100070AC ; =============== S U B R O U T I N E ======================================= .text:100070AC .text:100070AC .text:100070AC sub_100070AC ; CODE XREF: sub_10004FAC+58p .text:100070AC ; sub_10007430+Cp .text:100070AC ; DATA XREF: ... .text:100070AC STMFD SP!, {R4,R5,LR} .text:100070B0 MOV R4, R0 .text:100070B4 LDR R1, [R4,#0x124] .text:100070B8 LDR R3, =off_100016D8 .text:100070BC LDR R2, =off_100017B4 .text:100070C0 CMP R1, #0 .text:100070C4 MOVNE R1, #0 .text:100070C8 STR R3, [R4] .text:100070CC STR R2, [R4,#0xFC] .text:100070D0 BLNE sub_10006844 .text:100070D4 LDR R3, [R4,#0x13C] .text:100070D8 CMP R3, #0 .text:100070DC BEQ loc_10007120 .text:100070E0 MOV R5, #1 .text:100070E4 ADD R0, R4, #0xFC .text:100070E8 STR R5, [R4,#0x100] .text:100070EC BL sub_10005B5C .text:100070F0 LDR R0, [R4,#0x13C] .text:100070F4 MOV R1, #3 .text:100070F8 BL EventModify .text:100070FC MOV R1, #0x3E8 .text:10007100 ADD R0, R4, #0xFC .text:10007104 STR R5, [R4,#0x100] .text:10007108 BL sub_10005B9C .text:1000710C LDR R0, [R4,#0x138] .text:10007110 CMN R0, #1 .text:10007114 BLNE InterruptDisable .text:10007118 LDR R0, [R4,#0x13C] .text:1000711C BL CloseHandle .text:10007120 .text:10007120 loc_10007120 ; CODE XREF: sub_100070AC+30j .text:10007120 LDR R3, [R4,#0x124] .text:10007124 MOVS R0, R3 .text:10007128 LDRNE R3, [R0] .text:1000712C MOVNE R1, #1 .text:10007130 LDRNE R3, [R3] .text:10007134 MOVNE LR, PC .text:10007138 BXNE R3 .text:1000713C LDR R3, [R4,#0x118] .text:10007140 CMP R3, #0 .text:10007144 MOVNE R0, R3 .text:10007148 BLNE CloseHandle .text:1000714C LDR R3, [R4,#0x128] .text:10007150 MOVS R0, R3 .text:10007154 LDRNE R3, [R4,#0x12C] .text:10007158 CMPNE R3, #1 .text:1000715C MOVNE R1, #0 .text:10007160 BLNE CEDDK_9 .text:10007164 MOV R3, R4 .text:10007168 LDR R2, [R3,#0x134]! .text:1000716C CMP R2, #0 .text:10007170 MOVNE R0, R2 .text:10007174 BLNE RegCloseKey .text:10007178 LDR R3, =off_1000167C .text:1000717C MOV R0, R4 .text:10007180 STR R3, [R0,#0xFC]! .text:10007184 BL sub_10005BFC .text:10007188 MOV R0, R4 .text:1000718C BL sub_1000890C .text:10007190 LDMFD SP!, {R4,R5,LR} .text:10007194 BX LR .text:10007194 ; End of function sub_100070AC .text:10007194 .text:10007194 ; --------------------------------------------------------------------------- .text:10007198 off_10007198 DCD off_1000167C ; DATA XREF: sub_100070AC+CCr .text:1000719C off_1000719C DCD off_100017B4 ; DATA XREF: sub_100070AC+10r .text:100071A0 off_100071A0 DCD off_100016D8 ; DATA XREF: sub_100070AC+Cr .text:100071A4 .text:100071A4 ; =============== S U B R O U T I N E ======================================= .text:100071A4 .text:100071A4 .text:100071A4 sub_100071A4 ; DATA XREF: .text:100017A4o .text:100071A4 ; .pdata:1000B5C8o .text:100071A4 STMFD SP!, {R4,R5,LR} .text:100071A8 MOV R4, R0 .text:100071AC LDR R3, [R4,#0x124] .text:100071B0 CMP R3, #0 .text:100071B4 BEQ loc_100071C4 .text:100071B8 .text:100071B8 loc_100071B8 ; CODE XREF: sub_100071A4+DCj .text:100071B8 MOV R0, #1 .text:100071BC LDMFD SP!, {R4,R5,LR} .text:100071C0 BX LR .text:100071C4 ; --------------------------------------------------------------------------- .text:100071C4 .text:100071C4 loc_100071C4 ; CODE XREF: sub_100071A4+10j .text:100071C4 LDR R3, [R4,#0x128] .text:100071C8 CMP R3, #0 .text:100071CC BEQ loc_10007278 .text:100071D0 LDR R3, [R4,#0x12C] .text:100071D4 MOV R0, #0x3C .text:100071D8 CMP R3, #0 .text:100071DC BEQ loc_10007200 .text:100071E0 BL __2_YAPAXI_Z ; operator new(uint) .text:100071E4 CMP R0, #0 .text:100071E8 BEQ loc_10007228 .text:100071EC LDR R2, [R4,#0x130] .text:100071F0 LDR R1, [R4,#0x128] .text:100071F4 BL sub_10005C7C .text:100071F8 MOV R5, R0 .text:100071FC B loc_1000722C .text:10007200 ; --------------------------------------------------------------------------- .text:10007200 .text:10007200 loc_10007200 ; CODE XREF: sub_100071A4+38j .text:10007200 BL __2_YAPAXI_Z ; operator new(uint) .text:10007204 MOVS R5, R0 .text:10007208 BEQ loc_10007228 .text:1000720C LDR R2, [R4,#0x130] .text:10007210 LDR R1, [R4,#0x128] .text:10007214 MOV R0, R5 .text:10007218 BL sub_10005C7C .text:1000721C LDR R3, =off_10001680 .text:10007220 STR R3, [R5] .text:10007224 B loc_1000722C .text:10007228 ; --------------------------------------------------------------------------- .text:10007228 .text:10007228 loc_10007228 ; CODE XREF: sub_100071A4+44j .text:10007228 ; sub_100071A4+64j .text:10007228 MOV R5, #0 .text:1000722C .text:1000722C loc_1000722C ; CODE XREF: sub_100071A4+58j .text:1000722C ; sub_100071A4+80j .text:1000722C STR R5, [R4,#0x124] .text:10007230 CMP R5, #0 .text:10007234 BEQ loc_10007284 .text:10007238 LDR R3, [R5] .text:1000723C MOV R0, R5 .text:10007240 LDR R3, [R3,#4] .text:10007244 MOV LR, PC .text:10007248 BX R3 .text:1000724C CMP R0, #0 .text:10007250 BNE loc_10007278 .text:10007254 LDR R3, [R4,#0x124] .text:10007258 MOVS R0, R3 .text:1000725C LDRNE R3, [R0] .text:10007260 MOVNE R1, #1 .text:10007264 LDRNE R3, [R3] .text:10007268 MOVNE LR, PC .text:1000726C BXNE R3 .text:10007270 MOV R3, #0 .text:10007274 STR R3, [R4,#0x124] .text:10007278 .text:10007278 loc_10007278 ; CODE XREF: sub_100071A4+28j .text:10007278 ; sub_100071A4+ACj .text:10007278 LDR R3, [R4,#0x124] .text:1000727C CMP R3, #0 .text:10007280 BNE loc_100071B8 .text:10007284 .text:10007284 loc_10007284 ; CODE XREF: sub_100071A4+90j .text:10007284 MOV R0, #0 .text:10007288 LDMFD SP!, {R4,R5,LR} .text:1000728C BX LR .text:1000728C ; End of function sub_100071A4 .text:1000728C .text:1000728C ; --------------------------------------------------------------------------- .text:10007290 off_10007290 DCD off_10001680 ; DATA XREF: sub_100071A4+78r .text:10007294 .text:10007294 ; =============== S U B R O U T I N E ======================================= .text:10007294 .text:10007294 .text:10007294 sub_10007294 ; DATA XREF: .text:100010F0o .text:10007294 ; .text:100011D8o ... .text:10007294 STMFD SP!, {R4,R5,LR} .text:10007298 MOV R5, R0 .text:1000729C MOV R4, #0 .text:100072A0 BL sub_10006B04 .text:100072A4 TST R0, #0x20 .text:100072A8 BEQ loc_100072BC .text:100072AC LDR R3, [R5,#0x114] .text:100072B0 CMP R3, #0 .text:100072B4 MOVNE R4, #0x10 .text:100072B8 MOVEQ R4, #1 .text:100072BC .text:100072BC loc_100072BC ; CODE XREF: sub_10007294+14j .text:100072BC MOV R0, R4 .text:100072C0 LDMFD SP!, {R4,R5,LR} .text:100072C4 BX LR .text:100072C4 ; End of function sub_10007294 .text:100072C4 .text:100072C8 .text:100072C8 ; =============== S U B R O U T I N E ======================================= .text:100072C8 .text:100072C8 .text:100072C8 sub_100072C8 ; CODE XREF: sub_10005928+28p .text:100072C8 ; DATA XREF: .text:10001730o ... .text:100072C8 STMFD SP!, {R4-R6,LR} .text:100072CC MOV R6, R1 .text:100072D0 MOV R4, R0 .text:100072D4 MOV R5, #0 .text:100072D8 .text:100072D8 loc_100072D8 ; CODE XREF: sub_100072C8+7Cj .text:100072D8 ADD R0, R4, #0x60 .text:100072DC BL EnterCriticalSection .text:100072E0 MOV R0, R4 .text:100072E4 BL sub_10006B04 .text:100072E8 TST R0, #0x20 .text:100072EC BEQ loc_10007310 .text:100072F0 LDR R0, [R4,#0x124] .text:100072F4 MOV R1, R6 .text:100072F8 LDR R3, [R0] .text:100072FC LDR R3, [R3,#8] .text:10007300 MOV LR, PC .text:10007304 BX R3 .text:10007308 MOV R5, #1 .text:1000730C B loc_10007328 .text:10007310 ; --------------------------------------------------------------------------- .text:10007310 .text:10007310 loc_10007310 ; CODE XREF: sub_100072C8+24j .text:10007310 LDR R3, [R4] .text:10007314 MOV R1, #1 .text:10007318 MOV R0, R4 .text:1000731C LDR R3, [R3,#0x5C] .text:10007320 MOV LR, PC .text:10007324 BX R3 .text:10007328 .text:10007328 loc_10007328 ; CODE XREF: sub_100072C8+44j .text:10007328 ADD R0, R4, #0x60 .text:1000732C BL LeaveCriticalSection .text:10007330 CMP R5, #0 .text:10007334 BNE loc_10007348 .text:10007338 LDR R0, [R4,#0x118] .text:1000733C MOV R1, #0x3E8 .text:10007340 BL WaitForSingleObject .text:10007344 B loc_100072D8 .text:10007348 ; --------------------------------------------------------------------------- .text:10007348 .text:10007348 loc_10007348 ; CODE XREF: sub_100072C8+6Cj .text:10007348 LDMFD SP!, {R4-R6,LR} .text:1000734C BX LR .text:1000734C ; End of function sub_100072C8 .text:1000734C .text:10007350 .text:10007350 ; =============== S U B R O U T I N E ======================================= .text:10007350 .text:10007350 .text:10007350 sub_10007350 ; CODE XREF: sub_10005A08+4Cp .text:10007350 ; DATA XREF: .text:10001744o ... .text:10007350 .text:10007350 var_20 = -0x20 .text:10007350 .text:10007350 STMFD SP!, {R4-R9,LR} .text:10007354 SUB SP, SP, #4 .text:10007358 MOV R7, R2 .text:1000735C MOVS R8, R1 .text:10007360 MOV R4, R0 .text:10007364 BEQ loc_10007420 .text:10007368 CMP R7, #0 .text:1000736C BEQ loc_10007420 .text:10007370 LDR R6, [R7] .text:10007374 MOV R3, #0 .text:10007378 ADD R0, R4, #0x60 .text:1000737C STR R3, [R4,#0x11C] .text:10007380 MOV R5, #0 .text:10007384 BL EnterCriticalSection .text:10007388 B loc_100073FC .text:1000738C ; --------------------------------------------------------------------------- .text:1000738C .text:1000738C loc_1000738C ; CODE XREF: sub_10007350+B0j .text:1000738C LDR R3, [R4,#0x11C] .text:10007390 CMP R3, #0 .text:10007394 BNE loc_10007410 .text:10007398 MOV R0, R4 .text:1000739C BL sub_10006B04 .text:100073A0 MOV R9, R0 .text:100073A4 TST R9, #1 .text:100073A8 BEQ loc_10007404 .text:100073AC LDR R0, [R4,#0x124] .text:100073B0 LDR R3, [R0] .text:100073B4 LDR R3, [R3,#0xC] .text:100073B8 MOV LR, PC .text:100073BC BX R3 .text:100073C0 LDR R3, [R4] .text:100073C4 TST R9, #4 .text:100073C8 STRB R0, [SP,#0x20+var_20] .text:100073CC LDR R3, [R3,#0x48] .text:100073D0 MOVNE R2, #1 .text:100073D4 MOVEQ R2, #0 .text:100073D8 ADD R1, SP, #0x20+var_20 .text:100073DC MOV R0, R4 .text:100073E0 MOV LR, PC .text:100073E4 BX R3 .text:100073E8 CMP R0, #0 .text:100073EC LDRNEB R3, [SP,#0x20+var_20] .text:100073F0 SUBNE R6, R6, #1 .text:100073F4 ADDNE R5, R5, #1 .text:100073F8 STRNEB R3, [R8],#1 .text:100073FC .text:100073FC loc_100073FC ; CODE XREF: sub_10007350+38j .text:100073FC CMP R6, #0 .text:10007400 BNE loc_1000738C .text:10007404 .text:10007404 loc_10007404 ; CODE XREF: sub_10007350+58j .text:10007404 LDR R3, [R4,#0x11C] .text:10007408 CMP R3, #0 .text:1000740C BEQ loc_10007414 .text:10007410 .text:10007410 loc_10007410 ; CODE XREF: sub_10007350+44j .text:10007410 MOV R5, #0 .text:10007414 .text:10007414 loc_10007414 ; CODE XREF: sub_10007350+BCj .text:10007414 ADD R0, R4, #0x60 .text:10007418 BL LeaveCriticalSection .text:1000741C STR R5, [R7] .text:10007420 .text:10007420 loc_10007420 ; CODE XREF: sub_10007350+14j .text:10007420 ; sub_10007350+1Cj .text:10007420 MOV R0, #0 .text:10007424 ADD SP, SP, #4 .text:10007428 LDMFD SP!, {R4-R9,LR} .text:1000742C BX LR .text:1000742C ; End of function sub_10007350 .text:1000742C .text:10007430 .text:10007430 ; =============== S U B R O U T I N E ======================================= .text:10007430 .text:10007430 .text:10007430 sub_10007430 ; DATA XREF: .text:off_100016D8o .text:10007430 ; .pdata:1000B5E8o .text:10007430 STMFD SP!, {R4,R5,LR} .text:10007434 MOV R4, R1 .text:10007438 MOV R5, R0 .text:1000743C BL sub_100070AC .text:10007440 TST R4, #1 .text:10007444 MOVNE R0, R5 .text:10007448 BLNE __3_YAXPAX_Z ; operator delete(void *) .text:1000744C MOV R0, R5 .text:10007450 LDMFD SP!, {R4,R5,LR} .text:10007454 BX LR .text:10007454 ; End of function sub_10007430 .text:10007454 .text:10007458 .text:10007458 ; =============== S U B R O U T I N E ======================================= .text:10007458 .text:10007458 .text:10007458 sub_10007458 ; DATA XREF: .text:off_100019B0o .text:10007458 ; .pdata:1000B5F0o .text:10007458 STMFD SP!, {R4,LR} .text:1000745C MOV R4, R0 .text:10007460 .text:10007460 loc_10007460 ; CODE XREF: sub_10007458+38j .text:10007460 ; sub_10007458+44j ... .text:10007460 LDR R3, [R4,#4] .text:10007464 CMP R3, #0 .text:10007468 BNE loc_100074BC .text:1000746C LDR R3, [R4,#0x1C] .text:10007470 MOVS R0, R3 .text:10007474 BEQ loc_100074BC .text:10007478 LDR R3, [R4,#0x18] .text:1000747C CMP R3, #0 .text:10007480 BEQ loc_100074BC .text:10007484 MOVL R1, 0xFFFFFFFF .text:10007488 BL WaitForSingleObject .text:1000748C CMP R0, #0 .text:10007490 BNE loc_10007460 .text:10007494 LDR R3, [R4,#4] .text:10007498 CMP R3, #0 .text:1000749C BNE loc_10007460 .text:100074A0 LDR R0, [R4,#0x18] .text:100074A4 MOV R1, #0 .text:100074A8 LDR R3, [R0] .text:100074AC LDR R3, [R3,#0x3C] .text:100074B0 MOV LR, PC .text:100074B4 BX R3 .text:100074B8 B loc_10007460 .text:100074BC ; --------------------------------------------------------------------------- .text:100074BC .text:100074BC loc_100074BC ; CODE XREF: sub_10007458+10j .text:100074BC ; sub_10007458+1Cj ... .text:100074BC MOV R0, #0 .text:100074C0 LDMFD SP!, {R4,LR} .text:100074C4 BX LR .text:100074C4 ; End of function sub_10007458 .text:100074C4 .text:100074C8 .text:100074C8 ; =============== S U B R O U T I N E ======================================= .text:100074C8 .text:100074C8 .text:100074C8 sub_100074C8 ; CODE XREF: sub_10007010+Cp .text:100074C8 ; DATA XREF: .pdata:1000B5F8o .text:100074C8 STMFD SP!, {R4-R8,LR} .text:100074CC MOV R6, R3 .text:100074D0 MOV R7, R2 .text:100074D4 MOVS R5, R1 .text:100074D8 MOV R4, R0 .text:100074DC MOV R8, #0 .text:100074E0 STR R8, [R4,#4] .text:100074E4 BEQ loc_100074F4 .text:100074E8 MOV R0, R5 .text:100074EC BL OpenDeviceKey .text:100074F0 STR R0, [R4,#4] .text:100074F4 .text:100074F4 loc_100074F4 ; CODE XREF: sub_100074C8+1Cj .text:100074F4 LDR LR, =off_10001830 .text:100074F8 ADD R0, R4, #0x60 .text:100074FC STR R7, [R4,#8] .text:10007500 STR LR, [R4] .text:10007504 STR R6, [R4,#0xC] .text:10007508 BL InitializeCriticalSection .text:1000750C ADD R0, R4, #0x78 .text:10007510 BL InitializeCriticalSection .text:10007514 MOV R0, R5 .text:10007518 BL CEDDK_37 .text:1000751C MOV R3, R0 .text:10007520 MOVL LR, 0xFFFFFFFF .text:10007524 ADD R0, R4, #0x20 .text:10007528 MOV R2, #0x30 .text:1000752C MOV R1, #0 .text:10007530 STR R3, [R4,#0x10] .text:10007534 STR LR, [R4,#0x58] .text:10007538 STR R8, [R4,#0x5C] .text:1000753C STR R8, [R4,#0x14] .text:10007540 STR R8, [R4,#0xF8] .text:10007544 STR R8, [R4,#0x54] .text:10007548 BL memset .text:1000754C LDR R1, =aPriority256 .text:10007550 MOV R3, #4 .text:10007554 ADD R2, R4, #0x8C .text:10007558 ADD R0, R4, #4 .text:1000755C BL sub_10004A98 .text:10007560 CMP R0, #0 .text:10007564 MOVEQ R3, #0x9F .text:10007568 STREQ R3, [R4,#0x8C] .text:1000756C MOV R0, R4 .text:10007570 LDMFD SP!, {R4-R8,LR} .text:10007574 BX LR .text:10007574 ; End of function sub_100074C8 .text:10007574 .text:10007574 ; --------------------------------------------------------------------------- .text:10007578 off_10007578 DCD aPriority256 ; DATA XREF: sub_100074C8+84r .text:10007578 ; "Priority256" .text:1000757C off_1000757C DCD off_10001830 ; DATA XREF: sub_100074C8:loc_100074F4r .text:10007580 .text:10007580 ; =============== S U B R O U T I N E ======================================= .text:10007580 .text:10007580 .text:10007580 sub_10007580 ; CODE XREF: sub_10006160+A8p .text:10007580 ; DATA XREF: .text:10001838o ... .text:10007580 STMFD SP!, {R4,LR} .text:10007584 MOV R4, R0 .text:10007588 LDR R3, [R4] .text:1000758C MOV R1, #1 .text:10007590 LDR R3, [R3,#0x38] .text:10007594 MOV LR, PC .text:10007598 BX R3 .text:1000759C LDR R3, [R4] .text:100075A0 MOV R1, #1 .text:100075A4 MOV R0, R4 .text:100075A8 LDR R3, [R3,#0x74] .text:100075AC MOV LR, PC .text:100075B0 BX R3 .text:100075B4 LDMFD SP!, {R4,LR} .text:100075B8 BX LR .text:100075B8 ; End of function sub_10007580 .text:100075B8 .text:100075BC .text:100075BC ; =============== S U B R O U T I N E ======================================= .text:100075BC .text:100075BC .text:100075BC sub_100075BC ; CODE XREF: sub_100051B4+8p .text:100075BC ; DATA XREF: .text:100016E4o ... .text:100075BC STMFD SP!, {R4,LR} .text:100075C0 MOV R4, R0 .text:100075C4 MOV R1, #1 .text:100075C8 ADD R0, R4, #0x14 .text:100075CC BL InterlockedExchange .text:100075D0 CMP R0, #0 .text:100075D4 MOVNE R0, #0 .text:100075D8 LDMNEFD SP!, {R4,LR} .text:100075DC BXNE LR .text:100075E0 LDR R0, [R4,#0x58] .text:100075E4 MOV R1, #0 .text:100075E8 BL CEDDK_53 .text:100075EC LDR R3, [R4] .text:100075F0 MOV R2, R0 .text:100075F4 MOV R0, R4 .text:100075F8 LDR R3, [R3,#0xB0] .text:100075FC STR R2, [R4,#0x5C] .text:10007600 MOV LR, PC .text:10007604 BX R3 .text:10007608 LDR R3, [R4] .text:1000760C MOV R1, #1 .text:10007610 MOV R0, R4 .text:10007614 LDR R3, [R3,#0x90] .text:10007618 MOV LR, PC .text:1000761C BX R3 .text:10007620 LDR R3, [R4] .text:10007624 MOV R1, #1 .text:10007628 MOV R0, R4 .text:1000762C LDR R3, [R3,#0x64] .text:10007630 MOV LR, PC .text:10007634 BX R3 .text:10007638 LDR R3, [R4] .text:1000763C MOV R1, #1 .text:10007640 MOV R0, R4 .text:10007644 LDR R3, [R3,#0x50] .text:10007648 MOV LR, PC .text:1000764C BX R3 .text:10007650 MOV R0, #1 .text:10007654 LDMFD SP!, {R4,LR} .text:10007658 BX LR .text:10007658 ; End of function sub_100075BC .text:10007658 .text:1000765C .text:1000765C ; =============== S U B R O U T I N E ======================================= .text:1000765C .text:1000765C .text:1000765C sub_1000765C ; CODE XREF: sub_1000522C+8p .text:1000765C ; DATA XREF: .text:100016E8o ... .text:1000765C STMFD SP!, {R4,LR} .text:10007660 MOV R4, R0 .text:10007664 MOV R1, #0 .text:10007668 ADD R0, R4, #0x14 .text:1000766C BL InterlockedExchange .text:10007670 CMP R0, #1 .text:10007674 MOVNE R0, #0 .text:10007678 LDMNEFD SP!, {R4,LR} .text:1000767C BXNE LR .text:10007680 LDR R3, [R4] .text:10007684 MOV R1, #0 .text:10007688 MOV R0, R4 .text:1000768C LDR R3, [R3,#0x50] .text:10007690 MOV LR, PC .text:10007694 BX R3 .text:10007698 LDR R3, [R4] .text:1000769C MOV R1, #0 .text:100076A0 MOV R0, R4 .text:100076A4 LDR R3, [R3,#0x64] .text:100076A8 MOV LR, PC .text:100076AC BX R3 .text:100076B0 LDR R3, [R4] .text:100076B4 MOV R1, #0 .text:100076B8 MOV R0, R4 .text:100076BC LDR R3, [R3,#0x90] .text:100076C0 MOV LR, PC .text:100076C4 BX R3 .text:100076C8 LDR R1, [R4,#0x5C] .text:100076CC LDR R0, [R4,#0x58] .text:100076D0 BL CEDDK_54 .text:100076D4 MOV R3, #0 .text:100076D8 STR R3, [R4,#0x5C] .text:100076DC MOV R0, #1 .text:100076E0 LDMFD SP!, {R4,LR} .text:100076E4 BX LR .text:100076E4 ; End of function sub_1000765C .text:100076E4 .text:100076E8 .text:100076E8 ; =============== S U B R O U T I N E ======================================= .text:100076E8 .text:100076E8 .text:100076E8 sub_100076E8 ; CODE XREF: sub_100085D8+8p .text:100076E8 ; DATA XREF: .pdata:1000B618o .text:100076E8 STMFD SP!, {R4,LR} .text:100076EC MOV R4, R0 .text:100076F0 LDR R3, [R4] .text:100076F4 MOV R1, #1 .text:100076F8 LDR R3, [R3,#0x18] .text:100076FC MOV LR, PC .text:10007700 BX R3 .text:10007704 LDR R3, [R4] .text:10007708 MOV R1, #1 .text:1000770C MOV R0, R4 .text:10007710 LDR R3, [R3,#0x74] .text:10007714 MOV LR, PC .text:10007718 BX R3 .text:1000771C LDR R3, [R4] .text:10007720 MOV R1, #1 .text:10007724 MOV R0, R4 .text:10007728 LDR R3, [R3,#0x90] .text:1000772C MOV LR, PC .text:10007730 BX R3 .text:10007734 LDR R3, [R4] .text:10007738 MOV R1, #1 .text:1000773C MOV R0, R4 .text:10007740 LDR R3, [R3,#0x64] .text:10007744 MOV LR, PC .text:10007748 BX R3 .text:1000774C LDR R3, [R4] .text:10007750 MOV R1, #1 .text:10007754 MOV R0, R4 .text:10007758 LDR R3, [R3,#0x50] .text:1000775C MOV LR, PC .text:10007760 BX R3 .text:10007764 LDR R3, [R4] .text:10007768 MOV R1, #1 .text:1000776C MOV R0, R4 .text:10007770 LDR R3, [R3,#0x38] .text:10007774 MOV LR, PC .text:10007778 BX R3 .text:1000777C LDMFD SP!, {R4,LR} .text:10007780 BX LR .text:10007780 ; End of function sub_100076E8 .text:10007780 .text:10007784 .text:10007784 ; =============== S U B R O U T I N E ======================================= .text:10007784 .text:10007784 .text:10007784 sub_10007784 ; DATA XREF: .text:10001034o .text:10007784 ; .text:1000111Co ... .text:10007784 .text:10007784 var_44 = -0x44 .text:10007784 arg_0 = 0 .text:10007784 arg_4 = 4 .text:10007784 arg_8 = 8 .text:10007784 .text:10007784 STMFD SP!, {R4-R7,LR} .text:10007788 SUB SP, SP, #0x30 .text:1000778C MOV R6, R0 .text:10007790 MOVL R3, 0x321000 .text:10007798 CMP R1, R3 .text:1000779C BEQ loc_10007820 .text:100077A0 LDR R3, =0x321008 .text:100077A4 CMP R1, R3 .text:100077A8 BNE loc_10007884 .text:100077AC LDR R5, [SP,#0x44+arg_0] .text:100077B0 CMP R5, #0 .text:100077B4 BEQ loc_10007884 .text:100077B8 LDR R3, [SP,#0x44+arg_4] .text:100077BC CMP R3, #4 .text:100077C0 BCC loc_10007884 .text:100077C4 LDR R7, [SP,#0x44+arg_8] .text:100077C8 CMP R7, #0 .text:100077CC BEQ loc_10007884 .text:100077D0 LDR R0, [R6,#0x58] .text:100077D4 CMN R0, #1 .text:100077D8 BEQ loc_10007884 .text:100077DC MOV R3, #1 .text:100077E0 STR R3, [R6,#0x1C] .text:100077E4 LDR R1, [R5] .text:100077E8 MOV R2, #0 .text:100077EC BL CEDDK_56 .text:100077F0 MOV R4, R0 .text:100077F4 CMP R4, #1 .text:100077F8 BNE loc_10007814 .text:100077FC LDR R0, [R6,#0x58] .text:10007800 BL CEDDK_55 .text:10007804 MOV R3, #4 .text:10007808 STR R0, [R5] .text:1000780C STR R3, [R7] .text:10007810 B loc_10007890 .text:10007814 ; --------------------------------------------------------------------------- .text:10007814 .text:10007814 loc_10007814 ; CODE XREF: sub_10007784+74j .text:10007814 MOV R0, #0x57 .text:10007818 BL SetLastError .text:1000781C B loc_10007890 .text:10007820 ; --------------------------------------------------------------------------- .text:10007820 .text:10007820 loc_10007820 ; CODE XREF: sub_10007784+18j .text:10007820 LDR R4, [SP,#0x44+arg_0] .text:10007824 CMP R4, #0 .text:10007828 BEQ loc_10007884 .text:1000782C LDR R3, [SP,#0x44+arg_4] .text:10007830 CMP R3, #0x30 .text:10007834 BCC loc_10007884 .text:10007838 LDR R5, [SP,#0x44+arg_8] .text:1000783C CMP R5, #0 .text:10007840 BEQ loc_10007884 .text:10007844 LDR R3, [R6] .text:10007848 MOV R2, #1 .text:1000784C ADD R1, SP, #0x44+var_44 .text:10007850 LDR R3, [R3,#0x34] .text:10007854 MOV R0, R6 .text:10007858 STR R2, [R6,#0x1C] .text:1000785C MOV LR, PC .text:10007860 BX R3 .text:10007864 MOV R1, R0 .text:10007868 MOV R0, R4 .text:1000786C MOV R2, #0x30 .text:10007870 BL memcpy .text:10007874 MOV R3, #0x30 .text:10007878 STR R3, [R5] .text:1000787C MOV R4, #1 .text:10007880 B loc_10007890 .text:10007884 ; --------------------------------------------------------------------------- .text:10007884 .text:10007884 loc_10007884 ; CODE XREF: sub_10007784+24j .text:10007884 ; sub_10007784+30j ... .text:10007884 MOV R0, #0x57 .text:10007888 BL SetLastError .text:1000788C MOV R4, #0 .text:10007890 .text:10007890 loc_10007890 ; CODE XREF: sub_10007784+8Cj .text:10007890 ; sub_10007784+98j ... .text:10007890 MOV R0, R4 .text:10007894 ADD SP, SP, #0x30 .text:10007898 LDMFD SP!, {R4-R7,LR} .text:1000789C BX LR .text:1000789C ; End of function sub_10007784 .text:1000789C .text:1000789C ; --------------------------------------------------------------------------- .text:100078A0 dword_100078A0 DCD 0x321008 ; DATA XREF: sub_10007784+1Cr .text:100078A4 .text:100078A4 ; =============== S U B R O U T I N E ======================================= .text:100078A4 .text:100078A4 .text:100078A4 sub_100078A4 ; DATA XREF: .text:10001038o .text:100078A4 ; .text:10001120o ... .text:100078A4 MOV R3, #0x19 .text:100078A8 MOV R2, #0 .text:100078AC STRB R3, [R0,#0x20] .text:100078B0 STR R2, [R0,#0x18] .text:100078B4 STR R2, [R0,#0x1C] .text:100078B8 MOV R0, #1 .text:100078BC BX LR .text:100078BC ; End of function sub_100078A4 .text:100078BC .text:100078C0 .text:100078C0 ; =============== S U B R O U T I N E ======================================= .text:100078C0 .text:100078C0 .text:100078C0 sub_100078C0 ; DATA XREF: .text:off_10008908o .text:100078C0 ; .pdata:1000B630o .text:100078C0 STMFD SP!, {R4,R5,LR} .text:100078C4 MOV R4, R1 .text:100078C8 MOVS R5, R0 .text:100078CC BEQ loc_10007930 .text:100078D0 LDRB LR, [R5] .text:100078D4 LDRB R3, [R5,#1] .text:100078D8 LDRB R2, [R5,#2] .text:100078DC LDRB R1, [R5,#3] .text:100078E0 ORR R3, LR, R3,LSL#8 .text:100078E4 ORR R3, R3, R2,LSL#16 .text:100078E8 ORR R3, R3, R1,LSL#24 .text:100078EC LDR R3, [R3,#0x24] .text:100078F0 MOV R1, R4 .text:100078F4 MOV R0, R5 .text:100078F8 MOV LR, PC .text:100078FC BX R3 .text:10007900 LDRB LR, [R5] .text:10007904 LDRB R3, [R5,#1] .text:10007908 LDRB R2, [R5,#2] .text:1000790C LDRB R1, [R5,#3] .text:10007910 ORR R3, LR, R3,LSL#8 .text:10007914 ORR R3, R3, R2,LSL#16 .text:10007918 ORR R3, R3, R1,LSL#24 .text:1000791C LDR R3, [R3,#0x30] .text:10007920 MOV R0, R5 .text:10007924 MOV LR, PC .text:10007928 BX R3 .text:1000792C MOV R4, R0 .text:10007930 .text:10007930 loc_10007930 ; CODE XREF: sub_100078C0+Cj .text:10007930 MOV R0, R4 .text:10007934 LDMFD SP!, {R4,R5,LR} .text:10007938 BX LR .text:10007938 ; End of function sub_100078C0 .text:10007938 .text:1000793C .text:1000793C ; =============== S U B R O U T I N E ======================================= .text:1000793C .text:1000793C .text:1000793C sub_1000793C ; DATA XREF: .text:1000103Co .text:1000793C ; .text:10001124o ... .text:1000793C STMFD SP!, {R4,LR} .text:10007940 MOV R4, R0 .text:10007944 LDR R3, [R4,#0x1C] .text:10007948 CMP R3, #0 .text:1000794C BNE loc_10007978 .text:10007950 LDR R3, [R4] .text:10007954 LDR R3, [R3,#0x28] .text:10007958 MOV LR, PC .text:1000795C BX R3 .text:10007960 LDR R3, [R4,#0x10] .text:10007964 CMP R3, #0 .text:10007968 MOVNE R2, #0 .text:1000796C MOVNE R1, #4 .text:10007970 MOVNE R0, R3 .text:10007974 BLNE CEDDK_39 .text:10007978 .text:10007978 loc_10007978 ; CODE XREF: sub_1000793C+10j .text:10007978 MOV R0, #1 .text:1000797C LDMFD SP!, {R4,LR} .text:10007980 BX LR .text:10007980 ; End of function sub_1000793C .text:10007980 .text:10007984 .text:10007984 ; =============== S U B R O U T I N E ======================================= .text:10007984 .text:10007984 .text:10007984 sub_10007984 ; DATA XREF: .text:10001040o .text:10007984 ; .text:10001128o ... .text:10007984 STMFD SP!, {R4,LR} .text:10007988 MOV R4, R0 .text:1000798C LDR R3, [R4,#0x1C] .text:10007990 CMP R3, #0 .text:10007994 BNE loc_100079C4 .text:10007998 LDR R3, [R4,#0x10] .text:1000799C CMP R3, #0 .text:100079A0 MOVNE R2, #0 .text:100079A4 MOVNE R1, #0 .text:100079A8 MOVNE R0, R3 .text:100079AC BLNE CEDDK_39 .text:100079B0 LDR R3, [R4] .text:100079B4 MOV R0, R4 .text:100079B8 LDR R3, [R3,#0x2C] .text:100079BC MOV LR, PC .text:100079C0 BX R3 .text:100079C4 .text:100079C4 loc_100079C4 ; CODE XREF: sub_10007984+10j .text:100079C4 LDR R3, [R4,#0x54] .text:100079C8 MOV R2, #1 .text:100079CC STR R2, [R4,#0x50] .text:100079D0 CMP R3, #0 .text:100079D4 LDRNE R3, [R3,#0x1C] .text:100079D8 CMPNE R3, #0 .text:100079DC MOVNE R1, #3 .text:100079E0 MOVNE R0, R3 .text:100079E4 BLNE EventModify .text:100079E8 MOV R0, #1 .text:100079EC LDMFD SP!, {R4,LR} .text:100079F0 BX LR .text:100079F0 ; End of function sub_10007984 .text:100079F0 .text:100079F4 .text:100079F4 ; =============== S U B R O U T I N E ======================================= .text:100079F4 .text:100079F4 .text:100079F4 sub_100079F4 ; DATA XREF: .text:10001044o .text:100079F4 ; .text:1000112Co ... .text:100079F4 STMFD SP!, {R4-R6,LR} .text:100079F8 MOV R4, R1 .text:100079FC MOV R5, R0 .text:10007A00 LDR R3, [R5,#0x18] .text:10007A04 CMP R3, R4 .text:10007A08 BEQ loc_10007ABC .text:10007A0C CMN R4, #1 .text:10007A10 BEQ loc_10007ABC .text:10007A14 CMP R3, #3 .text:10007A18 BEQ loc_10007A48 .text:10007A1C CMP R3, #4 .text:10007A20 BEQ loc_10007A48 .text:10007A24 CMP R4, #3 .text:10007A28 BEQ loc_10007A34 .text:10007A2C CMP R4, #4 .text:10007A30 BNE loc_10007A48 .text:10007A34 .text:10007A34 loc_10007A34 ; CODE XREF: sub_100079F4+34j .text:10007A34 LDR R3, [R5] .text:10007A38 MOV R0, R5 .text:10007A3C LDR R3, [R3,#0x28] .text:10007A40 MOV LR, PC .text:10007A44 BX R3 .text:10007A48 .text:10007A48 loc_10007A48 ; CODE XREF: sub_100079F4+24j .text:10007A48 ; sub_100079F4+2Cj ... .text:10007A48 LDR R3, [R5,#0x10] .text:10007A4C CMP R3, #0 .text:10007A50 BEQ loc_10007A74 .text:10007A54 MOV R2, #0 .text:10007A58 MOV R1, R4 .text:10007A5C MOV R0, R3 .text:10007A60 BL CEDDK_39 .text:10007A64 CMP R0, #0 .text:10007A68 STRNE R4, [R5,#0x18] .text:10007A6C MOVNE R6, #1 .text:10007A70 BNE loc_10007A78 .text:10007A74 .text:10007A74 loc_10007A74 ; CODE XREF: sub_100079F4+5Cj .text:10007A74 MOV R6, #0 .text:10007A78 .text:10007A78 loc_10007A78 ; CODE XREF: sub_100079F4+7Cj .text:10007A78 LDR R3, [R5,#0x18] .text:10007A7C CMP R3, #3 .text:10007A80 BEQ loc_10007A8C .text:10007A84 CMP R3, #4 .text:10007A88 BNE loc_10007AC0 .text:10007A8C .text:10007A8C loc_10007A8C ; CODE XREF: sub_100079F4+8Cj .text:10007A8C CMP R4, #3 .text:10007A90 BEQ loc_10007AC0 .text:10007A94 CMP R4, #4 .text:10007A98 BEQ loc_10007AC0 .text:10007A9C LDR R3, [R5] .text:10007AA0 MOV R0, R5 .text:10007AA4 LDR R3, [R3,#0x2C] .text:10007AA8 MOV LR, PC .text:10007AAC BX R3 .text:10007AB0 MOV R3, #1 .text:10007AB4 STR R3, [R5,#0x50] .text:10007AB8 B loc_10007AC0 .text:10007ABC ; --------------------------------------------------------------------------- .text:10007ABC .text:10007ABC loc_10007ABC ; CODE XREF: sub_100079F4+14j .text:10007ABC ; sub_100079F4+1Cj .text:10007ABC MOV R6, #1 .text:10007AC0 .text:10007AC0 loc_10007AC0 ; CODE XREF: sub_100079F4+94j .text:10007AC0 ; sub_100079F4+9Cj ... .text:10007AC0 MOV R0, R6 .text:10007AC4 LDMFD SP!, {R4-R6,LR} .text:10007AC8 BX LR .text:10007AC8 ; End of function sub_100079F4 .text:10007AC8 .text:10007ACC .text:10007ACC ; =============== S U B R O U T I N E ======================================= .text:10007ACC .text:10007ACC .text:10007ACC sub_10007ACC ; CODE XREF: sub_1000630C+1Cp .text:10007ACC ; DATA XREF: .text:10001868o ... .text:10007ACC STMFD SP!, {R4,LR} .text:10007AD0 MOV R4, R0 .text:10007AD4 ADD R0, R4, #0x78 .text:10007AD8 BL EnterCriticalSection .text:10007ADC MOV R3, #0 .text:10007AE0 ADD R0, R4, #0x78 .text:10007AE4 STR R3, [R4,#0x74] .text:10007AE8 BL LeaveCriticalSection .text:10007AEC MOV R0, #1 .text:10007AF0 LDMFD SP!, {R4,LR} .text:10007AF4 BX LR .text:10007AF4 ; End of function sub_10007ACC .text:10007AF4 .text:10007AF8 .text:10007AF8 ; =============== S U B R O U T I N E ======================================= .text:10007AF8 .text:10007AF8 .text:10007AF8 sub_10007AF8 ; DATA XREF: .text:1000105Co .text:10007AF8 ; .text:10001144o ... .text:10007AF8 STMFD SP!, {R4,R5,LR} .text:10007AFC MOV R4, R1 .text:10007B00 MOV R5, R0 .text:10007B04 ADD R0, R5, #0x78 .text:10007B08 BL EnterCriticalSection .text:10007B0C LDR R3, [R5,#0x74] .text:10007B10 ADD R0, R5, #0x78 .text:10007B14 ORR R3, R3, R4 .text:10007B18 STR R3, [R5,#0x74] .text:10007B1C BL LeaveCriticalSection .text:10007B20 MOV R1, #0 .text:10007B24 ADD R0, R5, #0x50 .text:10007B28 BL InterlockedExchange .text:10007B2C CMP R0, #0 .text:10007B30 BEQ loc_10007B7C .text:10007B34 LDR R3, [R5,#0x14] .text:10007B38 MOV R0, R5 .text:10007B3C CMP R3, #0 .text:10007B40 LDR R3, [R5] .text:10007B44 BEQ loc_10007B60 .text:10007B48 LDR R3, [R3,#0x44] .text:10007B4C MOV R2, #0 .text:10007B50 MOV R1, #0x2000 .text:10007B54 MOV LR, PC .text:10007B58 BX R3 .text:10007B5C B loc_10007B7C .text:10007B60 ; --------------------------------------------------------------------------- .text:10007B60 .text:10007B60 loc_10007B60 ; CODE XREF: sub_10007AF8+4Cj .text:10007B60 LDR R3, [R3,#0x7C] .text:10007B64 MOV LR, PC .text:10007B68 BX R3 .text:10007B6C TST R0, #0x80 .text:10007B70 MOVNE R1, #0 .text:10007B74 MOVNE R0, #9 .text:10007B78 BLNE CeEventHasOccurred .text:10007B7C .text:10007B7C loc_10007B7C ; CODE XREF: sub_10007AF8+38j .text:10007B7C ; sub_10007AF8+64j .text:10007B7C LDR R0, [R5,#8] .text:10007B80 BL sub_10003EF0 .text:10007B84 MOV R0, #1 .text:10007B88 LDMFD SP!, {R4,R5,LR} .text:10007B8C BX LR .text:10007B8C ; End of function sub_10007AF8 .text:10007B8C .text:10007B90 .text:10007B90 ; =============== S U B R O U T I N E ======================================= .text:10007B90 .text:10007B90 .text:10007B90 sub_10007B90 ; DATA XREF: .text:10001060o .text:10007B90 ; .text:10001148o ... .text:10007B90 STMFD SP!, {R4,R5,LR} .text:10007B94 MOV R5, R0 .text:10007B98 ADD R0, R5, #0x78 .text:10007B9C BL EnterCriticalSection .text:10007BA0 LDR R4, [R5,#0x74] .text:10007BA4 MOV R3, #0 .text:10007BA8 ADD R0, R5, #0x78 .text:10007BAC STR R3, [R5,#0x74] .text:10007BB0 BL LeaveCriticalSection .text:10007BB4 MOV R0, R4 .text:10007BB8 LDMFD SP!, {R4,R5,LR} .text:10007BBC BX LR .text:10007BBC ; End of function sub_10007B90 .text:10007BBC .text:10007BC0 .text:10007BC0 ; =============== S U B R O U T I N E ======================================= .text:10007BC0 .text:10007BC0 .text:10007BC0 sub_10007BC0 ; DATA XREF: .text:10001068o .text:10007BC0 ; .text:10001150o ... .text:10007BC0 STMFD SP!, {R4-R8,LR} .text:10007BC4 MOV R8, R2 .text:10007BC8 MOVS R6, R1 .text:10007BCC MOV R4, R0 .text:10007BD0 MOV R7, #0 .text:10007BD4 BEQ loc_10007C50 .text:10007BD8 LDR R3, [R4,#0x98] .text:10007BDC LDRB R5, [R6] .text:10007BE0 TST R3, #0x40 .text:10007BE4 BEQ loc_10007C00 .text:10007BE8 LDR R3, [R4] .text:10007BEC LDR R3, [R3,#0x8C] .text:10007BF0 MOV LR, PC .text:10007BF4 BX R3 .text:10007BF8 CMP R0, #0 .text:10007BFC BNE loc_10007C50 .text:10007C00 .text:10007C00 loc_10007C00 ; CODE XREF: sub_10007BC0+24j .text:10007C00 MOVS R1, R5 .text:10007C04 BNE loc_10007C14 .text:10007C08 LDR R3, [R4,#0x98] .text:10007C0C TST R3, #0x800 .text:10007C10 BNE loc_10007C50 .text:10007C14 .text:10007C14 loc_10007C14 ; CODE XREF: sub_10007BC0+44j .text:10007C14 LDR R3, [R4,#0x98] .text:10007C18 MOV R7, #1 .text:10007C1C TST R3, #0x400 .text:10007C20 CMPNE R8, #0 .text:10007C24 LDREQSB R3, [R4,#0xA9] .text:10007C28 LDRNEB R5, [R4,#0xA7] .text:10007C2C CMPEQ R1, R3 .text:10007C30 LDREQ R3, [R4] .text:10007C34 MOVEQ R2, #0 .text:10007C38 MOVEQ R1, #2 .text:10007C3C LDREQ R3, [R3,#0x44] .text:10007C40 MOVEQ R0, R4 .text:10007C44 MOVEQ LR, PC .text:10007C48 BXEQ R3 .text:10007C4C STRB R5, [R6] .text:10007C50 .text:10007C50 loc_10007C50 ; CODE XREF: sub_10007BC0+14j .text:10007C50 ; sub_10007BC0+3Cj ... .text:10007C50 MOV R0, R7 .text:10007C54 LDMFD SP!, {R4-R8,LR} .text:10007C58 BX LR .text:10007C58 ; End of function sub_10007BC0 .text:10007C58 .text:10007C5C .text:10007C5C ; =============== S U B R O U T I N E ======================================= .text:10007C5C .text:10007C5C .text:10007C5C sub_10007C5C ; DATA XREF: .text:10001064o .text:10007C5C ; .text:1000114Co ... .text:10007C5C STMFD SP!, {R4-R6,LR} .text:10007C60 MOV R6, R2 .text:10007C64 MOV R5, R1 .text:10007C68 MOV R4, R0 .text:10007C6C LDR R0, [R4,#8] .text:10007C70 BL sub_10003478 .text:10007C74 LDR R3, [R4,#0x14] .text:10007C78 CMP R3, #0 .text:10007C7C BNE loc_10007C94 .text:10007C80 TST R5, #0x20 .text:10007C84 TSTNE R6, #0x80 .text:10007C88 MOVNE R1, #0 .text:10007C8C MOVNE R0, #9 .text:10007C90 BLNE CeEventHasOccurred .text:10007C94 .text:10007C94 loc_10007C94 ; CODE XREF: sub_10007C5C+20j .text:10007C94 MOV R0, #1 .text:10007C98 LDMFD SP!, {R4-R6,LR} .text:10007C9C BX LR .text:10007C9C ; End of function sub_10007C5C .text:10007C9C .text:10007CA0 .text:10007CA0 ; =============== S U B R O U T I N E ======================================= .text:10007CA0 .text:10007CA0 .text:10007CA0 sub_10007CA0 ; DATA XREF: .text:1000106Co .text:10007CA0 ; .text:10001154o ... .text:10007CA0 STMFD SP!, {R4,R5,LR} .text:10007CA4 MOV R5, R1 .text:10007CA8 MOV R4, R0 .text:10007CAC TST R5, #8 .text:10007CB0 LDRNE R3, [R4] .text:10007CB4 LDRNE R3, [R3,#0x70] .text:10007CB8 MOVNE LR, PC .text:10007CBC BXNE R3 .text:10007CC0 TST R5, #4 .text:10007CC4 LDRNE R3, [R4] .text:10007CC8 MOVNE R0, R4 .text:10007CCC LDRNE R3, [R3,#0x60] .text:10007CD0 MOVNE LR, PC .text:10007CD4 BXNE R3 .text:10007CD8 MOV R0, #1 .text:10007CDC LDMFD SP!, {R4,R5,LR} .text:10007CE0 BX LR .text:10007CE0 ; End of function sub_10007CA0 .text:10007CE0 .text:10007CE4 .text:10007CE4 ; =============== S U B R O U T I N E ======================================= .text:10007CE4 .text:10007CE4 .text:10007CE4 sub_10007CE4 ; DATA XREF: .text:100010E0o .text:10007CE4 ; .text:100011C8o ... .text:10007CE4 STMFD SP!, {R4,R5,LR} .text:10007CE8 MOVS R5, R1 .text:10007CEC MOV R4, R0 .text:10007CF0 BEQ loc_10007D2C .text:10007CF4 ADD R0, R4, #0x60 .text:10007CF8 BL EnterCriticalSection .text:10007CFC LDR R3, [R4,#0xF8] .text:10007D00 ADD R0, R4, #0x60 .text:10007D04 ORR R3, R3, R5 .text:10007D08 STR R3, [R4,#0xF8] .text:10007D0C BL LeaveCriticalSection .text:10007D10 LDR R3, [R4] .text:10007D14 MOV R2, #0 .text:10007D18 MOV R1, #0x80 .text:10007D1C LDR R3, [R3,#0x44] .text:10007D20 MOV R0, R4 .text:10007D24 MOV LR, PC .text:10007D28 BX R3 .text:10007D2C .text:10007D2C loc_10007D2C ; CODE XREF: sub_10007CE4+Cj .text:10007D2C LDMFD SP!, {R4,R5,LR} .text:10007D30 BX LR .text:10007D30 ; End of function sub_10007CE4 .text:10007D30 .text:10007D34 .text:10007D34 ; =============== S U B R O U T I N E ======================================= .text:10007D34 .text:10007D34 .text:10007D34 sub_10007D34 ; DATA XREF: .text:100010E4o .text:10007D34 ; .text:100011CCo ... .text:10007D34 STMFD SP!, {R4,R5,LR} .text:10007D38 MOV R5, R0 .text:10007D3C ADD R0, R5, #0x60 .text:10007D40 BL EnterCriticalSection .text:10007D44 LDR R4, [R5,#0xF8] .text:10007D48 MOV R3, #0 .text:10007D4C ADD R0, R5, #0x60 .text:10007D50 STR R3, [R5,#0xF8] .text:10007D54 BL LeaveCriticalSection .text:10007D58 MOV R0, R4 .text:10007D5C LDMFD SP!, {R4,R5,LR} .text:10007D60 BX LR .text:10007D60 ; End of function sub_10007D34 .text:10007D60 .text:10007D64 .text:10007D64 ; =============== S U B R O U T I N E ======================================= .text:10007D64 .text:10007D64 .text:10007D64 sub_10007D64 ; DATA XREF: .text:100010D0o .text:10007D64 ; .text:100011B8o ... .text:10007D64 STMFD SP!, {R4-R11,LR} .text:10007D68 MOV R8, R0 .text:10007D6C LDR R3, [R8] .text:10007D70 LDR R4, =0x1007FFFB .text:10007D74 MOV R6, #0x1FC .text:10007D78 LDR R7, [R3,#0xB8] .text:10007D7C MOVL R3, 0xFFFF .text:10007D84 STRH R3, [R8,#0xAC] .text:10007D88 STRH R3, [R8,#0xAE] .text:10007D8C MOV R3, #0 .text:10007D90 STR R3, [R8,#0xB4] .text:10007D94 MOV R3, #0x7F .text:10007D98 MOV R5, #0x1F00 .text:10007D9C STR R3, [R8,#0xCC] .text:10007DA0 MOV R3, #0xF .text:10007DA4 MOV R11, #0x20000 .text:10007DA8 ORR R6, R6, #3 .text:10007DAC ORR R5, R5, #5 .text:10007DB0 MOV R10, #1 .text:10007DB4 MOV R9, #0x10 .text:10007DB8 STRH R3, [R8,#0xD4] .text:10007DBC MOV R2, #1 .text:10007DC0 MOV R1, #0 .text:10007DC4 STR R10, [R8,#0xB0] .text:10007DC8 STR R9, [R8,#0xB8] .text:10007DCC STR R9, [R8,#0xBC] .text:10007DD0 STR R11, [R8,#0xC0] .text:10007DD4 STR R10, [R8,#0xC4] .text:10007DD8 STR R6, [R8,#0xC8] .text:10007DDC STR R4, [R8,#0xD0] .text:10007DE0 STRH R5, [R8,#0xD6] .text:10007DE4 MOV LR, PC .text:10007DE8 BX R7 .text:10007DEC LDR R3, [R8] .text:10007DF0 MOV R4, #0x1C .text:10007DF4 MOV R5, #0x2580 .text:10007DF8 LDR R3, [R3,#0x9C] .text:10007DFC MOV R2, #0 .text:10007E00 MOV R1, #0x2580 .text:10007E04 MOV R0, R8 .text:10007E08 STR R4, [R8,#0x90] .text:10007E0C STR R5, [R8,#0x94] .text:10007E10 MOV LR, PC .text:10007E14 BX R3 .text:10007E18 LDR R3, [R8] .text:10007E1C MOV R2, #8 .text:10007E20 MOV R1, #8 .text:10007E24 LDR R3, [R3,#0xA0] .text:10007E28 MOV R0, R8 .text:10007E2C STRB R2, [R8,#0xA2] .text:10007E30 MOV LR, PC .text:10007E34 BX R3 .text:10007E38 LDR R3, [R8] .text:10007E3C MOV R4, #0 .text:10007E40 MOV R1, #0 .text:10007E44 LDR R3, [R3,#0xA4] .text:10007E48 MOV R0, R8 .text:10007E4C STRB R4, [R8,#0xA3] .text:10007E50 MOV LR, PC .text:10007E54 BX R3 .text:10007E58 LDR R3, [R8] .text:10007E5C MOV R1, #0 .text:10007E60 MOV R0, R8 .text:10007E64 LDR R3, [R3,#0xA8] .text:10007E68 STRB R4, [R8,#0xA4] .text:10007E6C MOV LR, PC .text:10007E70 BX R3 .text:10007E74 LDMFD SP!, {R4-R11,LR} .text:10007E78 BX LR .text:10007E78 ; End of function sub_10007D64 .text:10007E78 .text:10007E78 ; --------------------------------------------------------------------------- .text:10007E7C dword_10007E7C DCD 0x1007FFFB ; DATA XREF: sub_10007D64+Cr .text:10007E80 .text:10007E80 ; =============== S U B R O U T I N E ======================================= .text:10007E80 .text:10007E80 .text:10007E80 sub_10007E80 ; CODE XREF: sub_1000595C+2Cp .text:10007E80 ; DATA XREF: .text:10001784o ... .text:10007E80 .text:10007E80 var_2C = -0x2C .text:10007E80 var_28 = -0x28 .text:10007E80 var_1A = -0x1A .text:10007E80 var_19 = -0x19 .text:10007E80 var_18 = -0x18 .text:10007E80 .text:10007E80 STMFD SP!, {R4-R6,LR} .text:10007E84 SUB SP, SP, #0x1C .text:10007E88 MOV R6, R1 .text:10007E8C MOV R4, R0 .text:10007E90 LDR R3, [R4,#0x14] .text:10007E94 MOV R5, #1 .text:10007E98 CMP R3, #0 .text:10007E9C BEQ loc_10007FC8 .text:10007EA0 CMP R6, #0 .text:10007EA4 BEQ loc_10007FC8 .text:10007EA8 LDR R3, [R6] .text:10007EAC CMP R3, #0x1C .text:10007EB0 BNE loc_10007FC8 .text:10007EB4 ADD R0, R4, #0x60 .text:10007EB8 BL EnterCriticalSection .text:10007EBC ADD R0, SP, #0x2C+var_2C .text:10007EC0 MOV R2, #0x1C .text:10007EC4 MOV R1, R6 .text:10007EC8 BL memcpy .text:10007ECC LDR R1, [R6,#4] .text:10007ED0 LDR R3, [R4,#0x94] .text:10007ED4 CMP R1, R3 .text:10007ED8 BEQ loc_10007F10 .text:10007EDC CMP R1, #0 .text:10007EE0 BEQ loc_10007F04 .text:10007EE4 LDR R3, [R4] .text:10007EE8 LDR R2, [R4,#0xEC] .text:10007EEC MOV R0, R4 .text:10007EF0 LDR R3, [R3,#0x9C] .text:10007EF4 MOV LR, PC .text:10007EF8 BX R3 .text:10007EFC CMP R0, #0 .text:10007F00 BNE loc_10007F10 .text:10007F04 .text:10007F04 loc_10007F04 ; CODE XREF: sub_10007E80+60j .text:10007F04 LDR R3, [R4,#0x94] .text:10007F08 MOV R5, #0 .text:10007F0C STR R3, [SP,#0x2C+var_28] .text:10007F10 .text:10007F10 loc_10007F10 ; CODE XREF: sub_10007E80+58j .text:10007F10 ; sub_10007E80+80j .text:10007F10 LDRB R1, [R6,#0x12] .text:10007F14 LDRB R3, [R4,#0xA2] .text:10007F18 CMP R1, R3 .text:10007F1C BEQ loc_10007F44 .text:10007F20 LDR R3, [R4] .text:10007F24 MOV R0, R4 .text:10007F28 LDR R3, [R3,#0xA0] .text:10007F2C MOV LR, PC .text:10007F30 BX R3 .text:10007F34 CMP R0, #0 .text:10007F38 LDREQB R3, [R4,#0xA2] .text:10007F3C MOVEQ R5, #0 .text:10007F40 STREQB R3, [SP,#0x2C+var_1A] .text:10007F44 .text:10007F44 loc_10007F44 ; CODE XREF: sub_10007E80+9Cj .text:10007F44 LDRB R1, [R6,#0x13] .text:10007F48 LDRB R3, [R4,#0xA3] .text:10007F4C CMP R1, R3 .text:10007F50 BEQ loc_10007F78 .text:10007F54 LDR R3, [R4] .text:10007F58 MOV R0, R4 .text:10007F5C LDR R3, [R3,#0xA4] .text:10007F60 MOV LR, PC .text:10007F64 BX R3 .text:10007F68 CMP R0, #0 .text:10007F6C LDREQB R3, [R4,#0xA3] .text:10007F70 MOVEQ R5, #0 .text:10007F74 STREQB R3, [SP,#0x2C+var_19] .text:10007F78 .text:10007F78 loc_10007F78 ; CODE XREF: sub_10007E80+D0j .text:10007F78 LDRB R1, [R6,#0x14] .text:10007F7C LDRB R3, [R4,#0xA4] .text:10007F80 CMP R1, R3 .text:10007F84 BEQ loc_10007FAC .text:10007F88 LDR R3, [R4] .text:10007F8C MOV R0, R4 .text:10007F90 LDR R3, [R3,#0xA8] .text:10007F94 MOV LR, PC .text:10007F98 BX R3 .text:10007F9C CMP R0, #0 .text:10007FA0 LDREQB R3, [R4,#0xA4] .text:10007FA4 MOVEQ R5, #0 .text:10007FA8 STREQB R3, [SP,#0x2C+var_18] .text:10007FAC .text:10007FAC loc_10007FAC ; CODE XREF: sub_10007E80+104j .text:10007FAC ADD R0, R4, #0x90 .text:10007FB0 ADD R1, SP, #0x2C+var_2C .text:10007FB4 MOV R2, #0x1C .text:10007FB8 BL memcpy .text:10007FBC ADD R0, R4, #0x60 .text:10007FC0 BL LeaveCriticalSection .text:10007FC4 B loc_10007FCC .text:10007FC8 ; --------------------------------------------------------------------------- .text:10007FC8 .text:10007FC8 loc_10007FC8 ; CODE XREF: sub_10007E80+1Cj .text:10007FC8 ; sub_10007E80+24j ... .text:10007FC8 MOV R5, #0 .text:10007FCC .text:10007FCC loc_10007FCC ; CODE XREF: sub_10007E80+144j .text:10007FCC MOV R0, R5 .text:10007FD0 ADD SP, SP, #0x1C .text:10007FD4 LDMFD SP!, {R4-R6,LR} .text:10007FD8 BX LR .text:10007FD8 ; End of function sub_10007E80 .text:10007FD8 .text:10007FDC .text:10007FDC ; =============== S U B R O U T I N E ======================================= .text:10007FDC .text:10007FDC .text:10007FDC sub_10007FDC ; DATA XREF: .text:1000178Co .text:10007FDC ; .text:100018E4o ... .text:10007FDC STMFD SP!, {R4,LR} .text:10007FE0 LDR R4, =dword_100018F8 .text:10007FE4 MOV R3, #0 .text:10007FE8 MOV R0, R4 .text:10007FEC .text:10007FEC loc_10007FEC ; CODE XREF: sub_10007FDC+2Cj .text:10007FEC LDR LR, [R0] .text:10007FF0 CMP LR, R1 .text:10007FF4 BHI loc_1000800C .text:10007FF8 BEQ loc_10008018 .text:10007FFC ADD R3, R3, #1 .text:10008000 CMP R3, #0x17 .text:10008004 ADD R0, R0, #8 .text:10008008 BCC loc_10007FEC .text:1000800C .text:1000800C loc_1000800C ; CODE XREF: sub_10007FDC+18j .text:1000800C MOV R0, #0 .text:10008010 LDMFD SP!, {R4,LR} .text:10008014 BX LR .text:10008018 ; --------------------------------------------------------------------------- .text:10008018 .text:10008018 loc_10008018 ; CODE XREF: sub_10007FDC+1Cj .text:10008018 CMP R2, #0 .text:1000801C ADDNE R3, R4, R3,LSL#3 .text:10008020 LDRNE R3, [R3,#4] .text:10008024 MOV R0, #1 .text:10008028 STRNE R3, [R2] .text:1000802C LDMFD SP!, {R4,LR} .text:10008030 BX LR .text:10008030 ; End of function sub_10007FDC .text:10008030 .text:10008030 ; --------------------------------------------------------------------------- .text:10008034 off_10008034 DCD dword_100018F8 ; DATA XREF: sub_10007FDC+4r .text:10008038 .text:10008038 ; =============== S U B R O U T I N E ======================================= .text:10008038 .text:10008038 .text:10008038 sub_10008038 ; DATA XREF: .text:off_100017B8o .text:10008038 ; .pdata:1000B6A8o .text:10008038 STMFD SP!, {R4,R5,LR} .text:1000803C MOVS R4, R2 .text:10008040 MOV R5, #0 .text:10008044 BEQ loc_10008064 .text:10008048 LDR R3, [R4,#4] .text:1000804C MOV LR, #0 .text:10008050 MOV R2, R4 .text:10008054 STR LR, [R4,#4] .text:10008058 BL sub_10001ED4 .text:1000805C MOVS R5, R0 .text:10008060 BNE loc_1000806C .text:10008064 .text:10008064 loc_10008064 ; CODE XREF: sub_10008038+Cj .text:10008064 MOV R0, R4 .text:10008068 BL LocalFree .text:1000806C .text:1000806C loc_1000806C ; CODE XREF: sub_10008038+28j .text:1000806C MOV R0, R5 .text:10008070 LDMFD SP!, {R4,R5,LR} .text:10008074 BX LR .text:10008074 ; End of function sub_10008038 .text:10008074 .text:10008078 .text:10008078 ; =============== S U B R O U T I N E ======================================= .text:10008078 .text:10008078 .text:10008078 sub_10008078 ; DATA XREF: .text:100017C0o .text:10008078 ; .pdata:1000B6B0o .text:10008078 STMFD SP!, {R4,LR} .text:1000807C MOVS R3, R0 .text:10008080 BEQ loc_100080A8 .text:10008084 LDR R4, [R3,#0xC] .text:10008088 MOV R0, R3 .text:1000808C BL sub_1000202C .text:10008090 CMP R4, #0 .text:10008094 MOVNE R0, R4 .text:10008098 BLNE LocalFree .text:1000809C MOV R0, #1 .text:100080A0 LDMFD SP!, {R4,LR} .text:100080A4 BX LR .text:100080A8 ; --------------------------------------------------------------------------- .text:100080A8 .text:100080A8 loc_100080A8 ; CODE XREF: sub_10008078+8j .text:100080A8 MOV R0, #0 .text:100080AC LDMFD SP!, {R4,LR} .text:100080B0 BX LR .text:100080B0 ; End of function sub_10008078 .text:100080B0 .text:100080B4 .text:100080B4 ; =============== S U B R O U T I N E ======================================= .text:100080B4 .text:100080B4 .text:100080B4 sub_100080B4 ; DATA XREF: .text:100017BCo .text:100080B4 ; .pdata:1000B6B8o .text:100080B4 .text:100080B4 var_4 = -4 .text:100080B4 arg_4 = 4 .text:100080B4 .text:100080B4 STR LR, [SP,#var_4]! .text:100080B8 CMP R0, #0 .text:100080BC LDRNE R3, [R0] .text:100080C0 LDRNE R3, [R3,#8] .text:100080C4 MOVNE LR, PC .text:100080C8 BXNE R3 .text:100080CC MOV R0, #1 .text:100080D0 LDR LR, [SP],#arg_4 .text:100080D4 BX LR .text:100080D4 ; End of function sub_100080B4 .text:100080D4 .text:100080D8 .text:100080D8 ; =============== S U B R O U T I N E ======================================= .text:100080D8 .text:100080D8 .text:100080D8 sub_100080D8 ; DATA XREF: .text:100017C4o .text:100080D8 ; .pdata:1000B6C0o .text:100080D8 .text:100080D8 var_4 = -4 .text:100080D8 arg_4 = 4 .text:100080D8 .text:100080D8 STR LR, [SP,#var_4]! .text:100080DC MOVS R2, R0 .text:100080E0 LDRNE R3, [R2] .text:100080E4 MOV R0, #0 .text:100080E8 MOVNE R0, R2 .text:100080EC LDRNE R3, [R3,#0xC] .text:100080F0 MOVNE LR, PC .text:100080F4 BXNE R3 .text:100080F8 LDR LR, [SP],#arg_4 .text:100080FC BX LR .text:100080FC ; End of function sub_100080D8 .text:100080FC .text:10008100 .text:10008100 ; =============== S U B R O U T I N E ======================================= .text:10008100 .text:10008100 .text:10008100 sub_10008100 ; DATA XREF: .text:100017C8o .text:10008100 ; .pdata:1000B6C8o .text:10008100 .text:10008100 var_4 = -4 .text:10008100 arg_4 = 4 .text:10008100 .text:10008100 STR LR, [SP,#var_4]! .text:10008104 MOVS R2, R0 .text:10008108 LDRNE R3, [R2] .text:1000810C MOV R0, #0 .text:10008110 MOVNE R0, R2 .text:10008114 LDRNE R3, [R3,#0x10] .text:10008118 MOVNE LR, PC .text:1000811C BXNE R3 .text:10008120 LDR LR, [SP],#arg_4 .text:10008124 BX LR .text:10008124 ; End of function sub_10008100 .text:10008124 .text:10008128 .text:10008128 ; =============== S U B R O U T I N E ======================================= .text:10008128 .text:10008128 .text:10008128 sub_10008128 ; DATA XREF: .text:100017CCo .text:10008128 ; .pdata:1000B6D0o .text:10008128 .text:10008128 var_4 = -4 .text:10008128 arg_4 = 4 .text:10008128 .text:10008128 STR LR, [SP,#var_4]! .text:1000812C MOVS R2, R0 .text:10008130 LDRNE R3, [R2] .text:10008134 MOV R0, #0 .text:10008138 MOVNE R0, R2 .text:1000813C LDRNE R3, [R3,#0x40] .text:10008140 MOVNE LR, PC .text:10008144 BXNE R3 .text:10008148 LDR LR, [SP],#arg_4 .text:1000814C BX LR .text:1000814C ; End of function sub_10008128 .text:1000814C .text:10008150 .text:10008150 ; =============== S U B R O U T I N E ======================================= .text:10008150 .text:10008150 .text:10008150 sub_10008150 ; DATA XREF: .text:100017D0o .text:10008150 ; .pdata:1000B6D8o .text:10008150 .text:10008150 var_4 = -4 .text:10008150 arg_4 = 4 .text:10008150 .text:10008150 STR LR, [SP,#var_4]! .text:10008154 MOVS LR, R0 .text:10008158 LDRNE R3, [LR] .text:1000815C MOV R0, #0 .text:10008160 MOVNE R0, LR .text:10008164 LDRNE R3, [R3,#0x6C] .text:10008168 MOVNE LR, PC .text:1000816C BXNE R3 .text:10008170 LDR LR, [SP],#arg_4 .text:10008174 BX LR .text:10008174 ; End of function sub_10008150 .text:10008174 .text:10008178 .text:10008178 ; =============== S U B R O U T I N E ======================================= .text:10008178 .text:10008178 .text:10008178 sub_10008178 ; DATA XREF: .text:100017D4o .text:10008178 ; .pdata:1000B6E0o .text:10008178 .text:10008178 var_4 = -4 .text:10008178 arg_4 = 4 .text:10008178 .text:10008178 STR LR, [SP,#var_4]! .text:1000817C CMP R0, #0 .text:10008180 LDRNE R3, [R0] .text:10008184 LDRNE R3, [R3,#0x54] .text:10008188 MOVNE LR, PC .text:1000818C BXNE R3 .text:10008190 LDR LR, [SP],#arg_4 .text:10008194 BX LR .text:10008194 ; End of function sub_10008178 .text:10008194 .text:10008198 .text:10008198 ; =============== S U B R O U T I N E ======================================= .text:10008198 .text:10008198 .text:10008198 sub_10008198 ; DATA XREF: .text:100017D8o .text:10008198 ; .pdata:1000B6E8o .text:10008198 .text:10008198 var_4 = -4 .text:10008198 arg_4 = 4 .text:10008198 .text:10008198 STR LR, [SP,#var_4]! .text:1000819C CMP R0, #0 .text:100081A0 BEQ loc_100081CC .text:100081A4 LDRB LR, [R0] .text:100081A8 LDRB R3, [R0,#1] .text:100081AC LDRB R2, [R0,#2] .text:100081B0 LDRB R1, [R0,#3] .text:100081B4 ORR R3, LR, R3,LSL#8 .text:100081B8 ORR R3, R3, R2,LSL#16 .text:100081BC ORR R3, R3, R1,LSL#24 .text:100081C0 LDR R3, [R3,#0x78] .text:100081C4 MOV LR, PC .text:100081C8 BX R3 .text:100081CC .text:100081CC loc_100081CC ; CODE XREF: sub_10008198+8j .text:100081CC LDR LR, [SP],#arg_4 .text:100081D0 BX LR .text:100081D0 ; End of function sub_10008198 .text:100081D0 .text:100081D4 .text:100081D4 ; =============== S U B R O U T I N E ======================================= .text:100081D4 .text:100081D4 .text:100081D4 sub_100081D4 ; DATA XREF: .text:100017DCo .text:100081D4 ; .pdata:1000B6F0o .text:100081D4 .text:100081D4 var_4 = -4 .text:100081D4 arg_4 = 4 .text:100081D4 .text:100081D4 STR LR, [SP,#var_4]! .text:100081D8 CMP R0, #0 .text:100081DC BEQ loc_10008208 .text:100081E0 LDRB LR, [R0] .text:100081E4 LDRB R3, [R0,#1] .text:100081E8 LDRB R2, [R0,#2] .text:100081EC LDRB R1, [R0,#3] .text:100081F0 ORR R3, LR, R3,LSL#8 .text:100081F4 ORR R3, R3, R2,LSL#16 .text:100081F8 ORR R3, R3, R1,LSL#24 .text:100081FC LDR R3, [R3,#0x94] .text:10008200 MOV LR, PC .text:10008204 BX R3 .text:10008208 .text:10008208 loc_10008208 ; CODE XREF: sub_100081D4+8j .text:10008208 LDR LR, [SP],#arg_4 .text:1000820C BX LR .text:1000820C ; End of function sub_100081D4 .text:1000820C .text:10008210 .text:10008210 ; =============== S U B R O U T I N E ======================================= .text:10008210 .text:10008210 .text:10008210 sub_10008210 ; DATA XREF: .text:100017E0o .text:10008210 ; .pdata:1000B6F8o .text:10008210 MOV R0, #0 .text:10008214 BX LR .text:10008214 ; End of function sub_10008210 .text:10008214 .text:10008218 .text:10008218 ; =============== S U B R O U T I N E ======================================= .text:10008218 .text:10008218 .text:10008218 sub_10008218 ; DATA XREF: .text:100017E4o .text:10008218 ; .pdata:1000B700o .text:10008218 STMFD SP!, {R4,LR} .text:1000821C MOVS R4, R0 .text:10008220 MOV R0, #0 .text:10008224 BEQ loc_10008254 .text:10008228 LDRB LR, [R4] .text:1000822C LDRB R3, [R4,#1] .text:10008230 LDRB R2, [R4,#2] .text:10008234 LDRB R1, [R4,#3] .text:10008238 ORR R3, LR, R3,LSL#8 .text:1000823C ORR R3, R3, R2,LSL#16 .text:10008240 ORR R3, R3, R1,LSL#24 .text:10008244 LDR R3, [R3,#0x1C] .text:10008248 MOV R0, R4 .text:1000824C MOV LR, PC .text:10008250 BX R3 .text:10008254 .text:10008254 loc_10008254 ; CODE XREF: sub_10008218+Cj .text:10008254 LDMFD SP!, {R4,LR} .text:10008258 BX LR .text:10008258 ; End of function sub_10008218 .text:10008258 .text:1000825C .text:1000825C ; =============== S U B R O U T I N E ======================================= .text:1000825C .text:1000825C .text:1000825C sub_1000825C ; DATA XREF: .text:100017E8o .text:1000825C ; .pdata:1000B708o .text:1000825C STMFD SP!, {R4,LR} .text:10008260 MOVS R4, R0 .text:10008264 MOV R0, #0 .text:10008268 BEQ loc_10008298 .text:1000826C LDRB LR, [R4] .text:10008270 LDRB R3, [R4,#1] .text:10008274 LDRB R2, [R4,#2] .text:10008278 LDRB R1, [R4,#3] .text:1000827C ORR R3, LR, R3,LSL#8 .text:10008280 ORR R3, R3, R2,LSL#16 .text:10008284 ORR R3, R3, R1,LSL#24 .text:10008288 LDR R3, [R3,#0x20] .text:1000828C MOV R0, R4 .text:10008290 MOV LR, PC .text:10008294 BX R3 .text:10008298 .text:10008298 loc_10008298 ; CODE XREF: sub_1000825C+Cj .text:10008298 LDMFD SP!, {R4,LR} .text:1000829C BX LR .text:1000829C ; End of function sub_1000825C .text:1000829C .text:100082A0 .text:100082A0 ; =============== S U B R O U T I N E ======================================= .text:100082A0 .text:100082A0 .text:100082A0 sub_100082A0 ; DATA XREF: .text:100017ECo .text:100082A0 ; .pdata:1000B710o .text:100082A0 .text:100082A0 var_4 = -4 .text:100082A0 arg_4 = 4 .text:100082A0 .text:100082A0 STR LR, [SP,#var_4]! .text:100082A4 CMP R0, #0 .text:100082A8 BEQ loc_100082D8 .text:100082AC LDRB LR, [R0] .text:100082B0 LDRB R3, [R0,#1] .text:100082B4 LDRB R2, [R0,#2] .text:100082B8 LDRB R1, [R0,#3] .text:100082BC ORR R3, LR, R3,LSL#8 .text:100082C0 ORR R3, R3, R2,LSL#16 .text:100082C4 ORR R3, R3, R1,LSL#24 .text:100082C8 LDR R3, [R3,#0x80] .text:100082CC MOV R1, #0 .text:100082D0 MOV LR, PC .text:100082D4 BX R3 .text:100082D8 .text:100082D8 loc_100082D8 ; CODE XREF: sub_100082A0+8j .text:100082D8 LDR LR, [SP],#arg_4 .text:100082DC BX LR .text:100082DC ; End of function sub_100082A0 .text:100082DC .text:100082E0 .text:100082E0 ; =============== S U B R O U T I N E ======================================= .text:100082E0 .text:100082E0 .text:100082E0 sub_100082E0 ; DATA XREF: .text:100017F0o .text:100082E0 ; .pdata:1000B718o .text:100082E0 .text:100082E0 var_4 = -4 .text:100082E0 arg_4 = 4 .text:100082E0 .text:100082E0 STR LR, [SP,#var_4]! .text:100082E4 CMP R0, #0 .text:100082E8 BEQ loc_10008318 .text:100082EC LDRB LR, [R0] .text:100082F0 LDRB R3, [R0,#1] .text:100082F4 LDRB R2, [R0,#2] .text:100082F8 LDRB R1, [R0,#3] .text:100082FC ORR R3, LR, R3,LSL#8 .text:10008300 ORR R3, R3, R2,LSL#16 .text:10008304 ORR R3, R3, R1,LSL#24 .text:10008308 LDR R3, [R3,#0x80] .text:1000830C MOV R1, #1 .text:10008310 MOV LR, PC .text:10008314 BX R3 .text:10008318 .text:10008318 loc_10008318 ; CODE XREF: sub_100082E0+8j .text:10008318 LDR LR, [SP],#arg_4 .text:1000831C BX LR .text:1000831C ; End of function sub_100082E0 .text:1000831C .text:10008320 .text:10008320 ; =============== S U B R O U T I N E ======================================= .text:10008320 .text:10008320 .text:10008320 sub_10008320 ; DATA XREF: .text:100017F4o .text:10008320 ; .pdata:1000B720o .text:10008320 .text:10008320 var_4 = -4 .text:10008320 arg_4 = 4 .text:10008320 .text:10008320 STR LR, [SP,#var_4]! .text:10008324 CMP R0, #0 .text:10008328 BEQ loc_10008358 .text:1000832C LDRB LR, [R0] .text:10008330 LDRB R3, [R0,#1] .text:10008334 LDRB R2, [R0,#2] .text:10008338 LDRB R1, [R0,#3] .text:1000833C ORR R3, LR, R3,LSL#8 .text:10008340 ORR R3, R3, R2,LSL#16 .text:10008344 ORR R3, R3, R1,LSL#24 .text:10008348 LDR R3, [R3,#0x84] .text:1000834C MOV R1, #0 .text:10008350 MOV LR, PC .text:10008354 BX R3 .text:10008358 .text:10008358 loc_10008358 ; CODE XREF: sub_10008320+8j .text:10008358 LDR LR, [SP],#arg_4 .text:1000835C BX LR .text:1000835C ; End of function sub_10008320 .text:1000835C .text:10008360 .text:10008360 ; =============== S U B R O U T I N E ======================================= .text:10008360 .text:10008360 .text:10008360 sub_10008360 ; DATA XREF: .text:100017F8o .text:10008360 ; .pdata:1000B728o .text:10008360 .text:10008360 var_4 = -4 .text:10008360 arg_4 = 4 .text:10008360 .text:10008360 STR LR, [SP,#var_4]! .text:10008364 CMP R0, #0 .text:10008368 BEQ loc_10008398 .text:1000836C LDRB LR, [R0] .text:10008370 LDRB R3, [R0,#1] .text:10008374 LDRB R2, [R0,#2] .text:10008378 LDRB R1, [R0,#3] .text:1000837C ORR R3, LR, R3,LSL#8 .text:10008380 ORR R3, R3, R2,LSL#16 .text:10008384 ORR R3, R3, R1,LSL#24 .text:10008388 LDR R3, [R3,#0x84] .text:1000838C MOV R1, #1 .text:10008390 MOV LR, PC .text:10008394 BX R3 .text:10008398 .text:10008398 loc_10008398 ; CODE XREF: sub_10008360+8j .text:10008398 LDR LR, [SP],#arg_4 .text:1000839C BX LR .text:1000839C ; End of function sub_10008360 .text:1000839C .text:100083A0 .text:100083A0 ; =============== S U B R O U T I N E ======================================= .text:100083A0 .text:100083A0 .text:100083A0 sub_100083A0 ; DATA XREF: .text:100017FCo .text:100083A0 ; .pdata:1000B730o .text:100083A0 STMFD SP!, {R4,R5,LR} .text:100083A4 MOV R5, R1 .text:100083A8 MOVS R4, R0 .text:100083AC BEQ loc_100083E8 .text:100083B0 LDR R3, [R4] .text:100083B4 MOV R2, #0 .text:100083B8 MOV R1, #1 .text:100083BC LDR R3, [R3,#0xB8] .text:100083C0 MOV R0, R4 .text:100083C4 MOV LR, PC .text:100083C8 BX R3 .text:100083CC LDR R3, [R4] .text:100083D0 MOV R2, #1 .text:100083D4 MOV R1, R5 .text:100083D8 LDR R3, [R3,#0x9C] .text:100083DC MOV R0, R4 .text:100083E0 MOV LR, PC .text:100083E4 BX R3 .text:100083E8 .text:100083E8 loc_100083E8 ; CODE XREF: sub_100083A0+Cj .text:100083E8 MOV R0, #1 .text:100083EC LDMFD SP!, {R4,R5,LR} .text:100083F0 BX LR .text:100083F0 ; End of function sub_100083A0 .text:100083F0 .text:100083F4 .text:100083F4 ; =============== S U B R O U T I N E ======================================= .text:100083F4 .text:100083F4 .text:100083F4 sub_100083F4 ; DATA XREF: .text:10001800o .text:100083F4 ; .pdata:1000B738o .text:100083F4 .text:100083F4 var_4 = -4 .text:100083F4 arg_4 = 4 .text:100083F4 .text:100083F4 STR LR, [SP,#var_4]! .text:100083F8 CMP R0, #0 .text:100083FC LDRNE R3, [R0] .text:10008400 MOVNE R2, #1 .text:10008404 MOVNE R1, #0 .text:10008408 LDRNE R3, [R3,#0xB8] .text:1000840C MOVNE LR, PC .text:10008410 BXNE R3 .text:10008414 MOV R0, #1 .text:10008418 LDR LR, [SP],#arg_4 .text:1000841C BX LR .text:1000841C ; End of function sub_100083F4 .text:1000841C .text:10008420 .text:10008420 ; =============== S U B R O U T I N E ======================================= .text:10008420 .text:10008420 .text:10008420 sub_10008420 ; DATA XREF: .text:10001804o .text:10008420 ; .pdata:1000B740o .text:10008420 .text:10008420 var_4 = -4 .text:10008420 arg_4 = 4 .text:10008420 .text:10008420 STR LR, [SP,#var_4]! .text:10008424 CMP R0, #0 .text:10008428 BEQ loc_10008458 .text:1000842C LDRB LR, [R0] .text:10008430 LDRB R3, [R0,#1] .text:10008434 LDRB R2, [R0,#2] .text:10008438 LDRB R1, [R0,#3] .text:1000843C ORR R3, LR, R3,LSL#8 .text:10008440 ORR R3, R3, R2,LSL#16 .text:10008444 ORR R3, R3, R1,LSL#24 .text:10008448 LDR R3, [R3,#0x98] .text:1000844C MOV R1, #0 .text:10008450 MOV LR, PC .text:10008454 BX R3 .text:10008458 .text:10008458 loc_10008458 ; CODE XREF: sub_10008420+8j .text:10008458 LDR LR, [SP],#arg_4 .text:1000845C BX LR .text:1000845C ; End of function sub_10008420 .text:1000845C .text:10008460 .text:10008460 ; =============== S U B R O U T I N E ======================================= .text:10008460 .text:10008460 .text:10008460 sub_10008460 ; DATA XREF: .text:10001808o .text:10008460 ; .pdata:1000B748o .text:10008460 .text:10008460 var_4 = -4 .text:10008460 arg_4 = 4 .text:10008460 .text:10008460 STR LR, [SP,#var_4]! .text:10008464 CMP R0, #0 .text:10008468 BEQ loc_10008498 .text:1000846C LDRB LR, [R0] .text:10008470 LDRB R3, [R0,#1] .text:10008474 LDRB R2, [R0,#2] .text:10008478 LDRB R1, [R0,#3] .text:1000847C ORR R3, LR, R3,LSL#8 .text:10008480 ORR R3, R3, R2,LSL#16 .text:10008484 ORR R3, R3, R1,LSL#24 .text:10008488 LDR R3, [R3,#0x98] .text:1000848C MOV R1, #1 .text:10008490 MOV LR, PC .text:10008494 BX R3 .text:10008498 .text:10008498 loc_10008498 ; CODE XREF: sub_10008460+8j .text:10008498 LDR LR, [SP],#arg_4 .text:1000849C BX LR .text:1000849C ; End of function sub_10008460 .text:1000849C .text:100084A0 .text:100084A0 ; =============== S U B R O U T I N E ======================================= .text:100084A0 .text:100084A0 .text:100084A0 sub_100084A0 ; DATA XREF: .text:1000180Co .text:100084A0 ; .pdata:1000B750o .text:100084A0 STMFD SP!, {R4,LR} .text:100084A4 CMP R0, #0 .text:100084A8 BEQ loc_100084D4 .text:100084AC LDRB R4, [R0] .text:100084B0 LDRB R3, [R0,#1] .text:100084B4 LDRB R2, [R0,#2] .text:100084B8 LDRB LR, [R0,#3] .text:100084BC ORR R3, R4, R3,LSL#8 .text:100084C0 ORR R3, R3, R2,LSL#16 .text:100084C4 ORR R3, R3, LR,LSL#24 .text:100084C8 LDR R3, [R3,#0x58] .text:100084CC MOV LR, PC .text:100084D0 BX R3 .text:100084D4 .text:100084D4 loc_100084D4 ; CODE XREF: sub_100084A0+8j .text:100084D4 MOV R0, #1 .text:100084D8 LDMFD SP!, {R4,LR} .text:100084DC BX LR .text:100084DC ; End of function sub_100084A0 .text:100084DC .text:100084E0 .text:100084E0 ; =============== S U B R O U T I N E ======================================= .text:100084E0 .text:100084E0 .text:100084E0 sub_100084E0 ; DATA XREF: .text:10001810o .text:100084E0 ; .pdata:1000B758o .text:100084E0 .text:100084E0 var_28 = -0x28 .text:100084E0 var_20 = -0x20 .text:100084E0 .text:100084E0 STMFD SP!, {R4,R5,LR} .text:100084E4 SUB SP, SP, #0x1C .text:100084E8 MOV R5, R1 .text:100084EC MOVS R4, R0 .text:100084F0 MOVL R0, 0xFFFFFFFF .text:100084F4 BEQ loc_100085CC .text:100084F8 CMP R5, #0 .text:100084FC BEQ loc_100085CC .text:10008500 ADD R0, SP, #0x28+var_28 .text:10008504 ADD R1, R4, #0x90 .text:10008508 MOV R2, #0x1C .text:1000850C BL memcpy .text:10008510 LDR R3, [SP,#0x28+var_20] .text:10008514 TST R3, #4 .text:10008518 BEQ loc_1000853C .text:1000851C LDR R3, [R4] .text:10008520 MOV R0, R4 .text:10008524 LDR R3, [R3,#0x88] .text:10008528 MOV LR, PC .text:1000852C BX R3 .text:10008530 CMP R0, #0 .text:10008534 MOVNE R2, #1 .text:10008538 BNE loc_10008540 .text:1000853C .text:1000853C loc_1000853C ; CODE XREF: sub_100084E0+38j .text:1000853C MOV R2, #0 .text:10008540 .text:10008540 loc_10008540 ; CODE XREF: sub_100084E0+58j .text:10008540 LDR R3, [R5] .text:10008544 AND R2, R2, #1 .text:10008548 ADD R0, SP, #0x28+var_28 .text:1000854C BIC R3, R3, #1 .text:10008550 ORR R3, R3, R2 .text:10008554 MOV R2, #0x1C .text:10008558 ADD R1, R4, #0x90 .text:1000855C STR R3, [R5] .text:10008560 BL memcpy .text:10008564 LDR R3, [SP,#0x28+var_20] .text:10008568 TST R3, #8 .text:1000856C BEQ loc_10008590 .text:10008570 LDR R3, [R4] .text:10008574 MOV R0, R4 .text:10008578 LDR R3, [R3,#0x8C] .text:1000857C MOV LR, PC .text:10008580 BX R3 .text:10008584 CMP R0, #0 .text:10008588 MOVNE R1, #1 .text:1000858C BNE loc_10008594 .text:10008590 .text:10008590 loc_10008590 ; CODE XREF: sub_100084E0+8Cj .text:10008590 MOV R1, #0 .text:10008594 .text:10008594 loc_10008594 ; CODE XREF: sub_100084E0+ACj .text:10008594 LDR R3, [R5] .text:10008598 MOV R0, #0 .text:1000859C STR R0, [R5,#4] .text:100085A0 MOV R2, R3 .text:100085A4 EOR R3, R3, R1,LSL#1 .text:100085A8 AND R3, R3, #2 .text:100085AC EOR R3, R3, R2 .text:100085B0 STR R3, [R5] .text:100085B4 STR R0, [R5,#8] .text:100085B8 LDR R3, [R4] .text:100085BC MOV R0, R4 .text:100085C0 LDR R3, [R3,#0xC4] .text:100085C4 MOV LR, PC .text:100085C8 BX R3 .text:100085CC .text:100085CC loc_100085CC ; CODE XREF: sub_100084E0+14j .text:100085CC ; sub_100084E0+1Cj .text:100085CC ADD SP, SP, #0x1C .text:100085D0 LDMFD SP!, {R4,R5,LR} .text:100085D4 BX LR .text:100085D4 ; End of function sub_100084E0 .text:100085D4 .text:100085D8 .text:100085D8 ; =============== S U B R O U T I N E ======================================= .text:100085D8 .text:100085D8 .text:100085D8 sub_100085D8 ; DATA XREF: .text:10001814o .text:100085D8 ; .pdata:1000B760o .text:100085D8 .text:100085D8 var_4 = -4 .text:100085D8 arg_4 = 4 .text:100085D8 .text:100085D8 STR LR, [SP,#var_4]! .text:100085DC CMP R0, #0 .text:100085E0 BLNE sub_100076E8 .text:100085E4 LDR LR, [SP],#arg_4 .text:100085E8 BX LR .text:100085E8 ; End of function sub_100085D8 .text:100085E8 .text:100085EC .text:100085EC ; =============== S U B R O U T I N E ======================================= .text:100085EC .text:100085EC .text:100085EC sub_100085EC ; DATA XREF: .text:10001818o .text:100085EC ; .pdata:1000B768o .text:100085EC STMFD SP!, {R4,R5,LR} .text:100085F0 MOV R5, R1 .text:100085F4 CMP R0, #0 .text:100085F8 BEQ loc_10008630 .text:100085FC CMP R5, #0 .text:10008600 BEQ loc_10008630 .text:10008604 LDRB R4, [R0] .text:10008608 LDRB R3, [R0,#1] .text:1000860C LDRB R2, [R0,#2] .text:10008610 LDRB LR, [R0,#3] .text:10008614 ORR R3, R4, R3,LSL#8 .text:10008618 ORR R3, R3, R2,LSL#16 .text:1000861C ORR R3, R3, LR,LSL#24 .text:10008620 LDR R3, [R3,#0x7C] .text:10008624 MOV LR, PC .text:10008628 BX R3 .text:1000862C STR R0, [R5] .text:10008630 .text:10008630 loc_10008630 ; CODE XREF: sub_100085EC+Cj .text:10008630 ; sub_100085EC+14j .text:10008630 LDMFD SP!, {R4,R5,LR} .text:10008634 BX LR .text:10008634 ; End of function sub_100085EC .text:10008634 .text:10008638 .text:10008638 ; =============== S U B R O U T I N E ======================================= .text:10008638 .text:10008638 .text:10008638 sub_10008638 ; DATA XREF: .text:1000181Co .text:10008638 ; .pdata:1000B770o .text:10008638 .text:10008638 var_4 = -4 .text:10008638 arg_4 = 4 .text:10008638 .text:10008638 STR LR, [SP,#var_4]! .text:1000863C MOV R3, R1 .text:10008640 CMP R0, #0 .text:10008644 CMPNE R3, #0 .text:10008648 ADDNE R1, R0, #0xAC .text:1000864C MOVNE R0, R3 .text:10008650 MOVNE R2, #0x40 .text:10008654 BLNE memcpy .text:10008658 LDR LR, [SP],#arg_4 .text:1000865C BX LR .text:1000865C ; End of function sub_10008638 .text:1000865C .text:10008660 .text:10008660 ; =============== S U B R O U T I N E ======================================= .text:10008660 .text:10008660 .text:10008660 sub_10008660 ; DATA XREF: .text:10001820o .text:10008660 ; .pdata:1000B778o .text:10008660 STMFD SP!, {R4,LR} .text:10008664 CMP R0, #0 .text:10008668 BEQ loc_10008694 .text:1000866C LDRB R4, [R0] .text:10008670 LDRB R3, [R0,#1] .text:10008674 LDRB R2, [R0,#2] .text:10008678 LDRB LR, [R0,#3] .text:1000867C ORR R3, R4, R3,LSL#8 .text:10008680 ORR R3, R3, R2,LSL#16 .text:10008684 ORR R3, R3, LR,LSL#24 .text:10008688 LDR R3, [R3,#0x4C] .text:1000868C MOV LR, PC .text:10008690 BX R3 .text:10008694 .text:10008694 loc_10008694 ; CODE XREF: sub_10008660+8j .text:10008694 LDMFD SP!, {R4,LR} .text:10008698 BX LR .text:10008698 ; End of function sub_10008660 .text:10008698 .text:1000869C .text:1000869C ; =============== S U B R O U T I N E ======================================= .text:1000869C .text:1000869C .text:1000869C sub_1000869C ; DATA XREF: .text:10001824o .text:1000869C ; .pdata:1000B780o .text:1000869C STMFD SP!, {R4,R5,LR} .text:100086A0 MOVS R5, R0 .text:100086A4 MOV R0, #0 .text:100086A8 BEQ loc_100086E0 .text:100086AC CMP R1, #0 .text:100086B0 BEQ loc_100086E0 .text:100086B4 LDRB R4, [R5] .text:100086B8 LDRB R3, [R5,#1] .text:100086BC LDRB R2, [R5,#2] .text:100086C0 LDRB LR, [R5,#3] .text:100086C4 ORR R3, R4, R3,LSL#8 .text:100086C8 ORR R3, R3, R2,LSL#16 .text:100086CC ORR R3, R3, LR,LSL#24 .text:100086D0 LDR R3, [R3,#0xAC] .text:100086D4 MOV R0, R5 .text:100086D8 MOV LR, PC .text:100086DC BX R3 .text:100086E0 .text:100086E0 loc_100086E0 ; CODE XREF: sub_1000869C+Cj .text:100086E0 ; sub_1000869C+14j .text:100086E0 LDMFD SP!, {R4,R5,LR} .text:100086E4 BX LR .text:100086E4 ; End of function sub_1000869C .text:100086E4 .text:100086E8 .text:100086E8 ; =============== S U B R O U T I N E ======================================= .text:100086E8 .text:100086E8 .text:100086E8 sub_100086E8 ; DATA XREF: .text:10001828o .text:100086E8 ; .pdata:1000B788o .text:100086E8 MOV R0, #1 .text:100086EC BX LR .text:100086EC ; End of function sub_100086E8 .text:100086EC .text:100086F0 .text:100086F0 ; =============== S U B R O U T I N E ======================================= .text:100086F0 .text:100086F0 .text:100086F0 sub_100086F0 ; DATA XREF: .text:1000182Co .text:100086F0 ; .pdata:1000B790o .text:100086F0 .text:100086F0 var_24 = -0x24 .text:100086F0 var_20 = -0x20 .text:100086F0 var_1C = -0x1C .text:100086F0 arg_0 = 0 .text:100086F0 arg_4 = 4 .text:100086F0 arg_8 = 8 .text:100086F0 .text:100086F0 STMFD SP!, {R4-R8,LR} .text:100086F4 SUB SP, SP, #0xC .text:100086F8 MOVS R8, R0 .text:100086FC MOV R0, #0 .text:10008700 BEQ loc_10008748 .text:10008704 LDRB R6, [R8] .text:10008708 LDRB LR, [R8,#1] .text:1000870C LDRB R4, [R8,#2] .text:10008710 LDRB R5, [R8,#3] .text:10008714 ORR LR, R6, LR,LSL#8 .text:10008718 ORR LR, LR, R4,LSL#16 .text:1000871C LDR R4, [SP,#0x24+arg_8] .text:10008720 LDR R6, [SP,#0x24+arg_0] .text:10008724 ORR LR, LR, R5,LSL#24 .text:10008728 LDR R5, [SP,#0x24+arg_4] .text:1000872C LDR R7, [LR,#0x14] .text:10008730 MOV R0, R8 .text:10008734 STR R5, [SP,#0x24+var_20] .text:10008738 STR R4, [SP,#0x24+var_1C] .text:1000873C STR R6, [SP,#0x24+var_24] .text:10008740 MOV LR, PC .text:10008744 BX R7 .text:10008748 .text:10008748 loc_10008748 ; CODE XREF: sub_100086F0+10j .text:10008748 ADD SP, SP, #0xC .text:1000874C LDMFD SP!, {R4-R8,LR} .text:10008750 BX LR .text:10008750 ; End of function sub_100086F0 .text:10008750 .text:10008754 .text:10008754 ; =============== S U B R O U T I N E ======================================= .text:10008754 .text:10008754 .text:10008754 sub_10008754 ; CODE XREF: COM_Init+1B8p .text:10008754 ; DATA XREF: .pdata:1000B798o .text:10008754 STMFD SP!, {R4,LR} .text:10008758 MOV R4, R0 .text:1000875C MOV R1, #0xC .text:10008760 MOV R0, #0x40 .text:10008764 BL LocalAlloc .text:10008768 CMP R0, #0 .text:1000876C MOVEQ R0, #0 .text:10008770 LDMEQFD SP!, {R4,LR} .text:10008774 LDRNE R3, =off_100017B8 .text:10008778 MOVNE R2, #0 .text:1000877C STMNEIA R0, {R2,R4} .text:10008780 STRNE R3, [R0,#8] .text:10008784 LDMNEFD SP!, {R4,LR} .text:10008788 BX LR .text:10008788 ; End of function sub_10008754 .text:10008788 .text:10008788 ; --------------------------------------------------------------------------- .text:1000878C off_1000878C DCD off_100017B8 ; DATA XREF: sub_10008754+20r .text:10008790 .text:10008790 ; =============== S U B R O U T I N E ======================================= .text:10008790 .text:10008790 .text:10008790 sub_10008790 ; CODE XREF: sub_10008854+3Cp .text:10008790 ; DATA XREF: .pdata:1000B7A0o .text:10008790 STMFD SP!, {R4,R5,LR} .text:10008794 MOV R4, R1 .text:10008798 MOV R5, R0 .text:1000879C MOV R2, #1 .text:100087A0 MOV R1, #0 .text:100087A4 BL sub_10006E30 .text:100087A8 LDR LR, =off_100019B0 .text:100087AC MOV R3, #0 .text:100087B0 MOV R2, #0 .text:100087B4 MOV R1, #0 .text:100087B8 MOV R0, #0 .text:100087BC STR LR, [R5] .text:100087C0 STR R4, [R5,#0x18] .text:100087C4 BL CreateEventW .text:100087C8 MOV R3, R0 .text:100087CC MOV R0, R5 .text:100087D0 STR R3, [R5,#0x1C] .text:100087D4 BL sub_10005B5C .text:100087D8 MOV R0, R5 .text:100087DC LDMFD SP!, {R4,R5,LR} .text:100087E0 BX LR .text:100087E0 ; End of function sub_10008790 .text:100087E0 .text:100087E0 ; --------------------------------------------------------------------------- .text:100087E4 off_100087E4 DCD off_100019B0 ; DATA XREF: sub_10008790+18r .text:100087E8 .text:100087E8 ; =============== S U B R O U T I N E ======================================= .text:100087E8 .text:100087E8 .text:100087E8 sub_100087E8 ; CODE XREF: sub_10008854+68p .text:100087E8 ; sub_1000890C+58p .text:100087E8 ; DATA XREF: ... .text:100087E8 STMFD SP!, {R4,R5,LR} .text:100087EC MOV R4, R0 .text:100087F0 LDR R2, [R4,#0x1C] .text:100087F4 LDR R3, =off_100019B0 .text:100087F8 MOV R5, #1 .text:100087FC CMP R2, #0 .text:10008800 MOVNE R1, #3 .text:10008804 MOVNE R0, R2 .text:10008808 STR R3, [R4] .text:1000880C STR R5, [R4,#4] .text:10008810 BLNE EventModify .text:10008814 MOV R1, #0x3E8 .text:10008818 MOV R0, R4 .text:1000881C STR R5, [R4,#4] .text:10008820 BL sub_10005B9C .text:10008824 LDR R3, [R4,#0x1C] .text:10008828 CMP R3, #0 .text:1000882C MOVNE R0, R3 .text:10008830 BLNE CloseHandle .text:10008834 LDR R3, =off_1000167C .text:10008838 MOV R0, R4 .text:1000883C STR R3, [R4] .text:10008840 BL sub_10005BFC .text:10008844 LDMFD SP!, {R4,R5,LR} .text:10008848 BX LR .text:10008848 ; End of function sub_100087E8 .text:10008848 .text:10008848 ; --------------------------------------------------------------------------- .text:1000884C off_1000884C DCD off_1000167C ; DATA XREF: sub_100087E8+4Cr .text:10008850 off_10008850 DCD off_100019B0 ; DATA XREF: sub_100087E8+Cr .text:10008854 .text:10008854 ; =============== S U B R O U T I N E ======================================= .text:10008854 .text:10008854 .text:10008854 sub_10008854 ; CODE XREF: sub_10005E7C+18p .text:10008854 ; DATA XREF: .text:10001834o ... .text:10008854 STMFD SP!, {R4,R5,LR} .text:10008858 MOV R5, R0 .text:1000885C LDR R3, [R5] .text:10008860 MOV R1, #1 .text:10008864 LDR R3, [R3,#0x18] .text:10008868 MOV LR, PC .text:1000886C BX R3 .text:10008870 LDR R3, [R5,#0x54] .text:10008874 CMP R3, #0 .text:10008878 BNE loc_100088D0 .text:1000887C MOV R0, #0x20 .text:10008880 BL __2_YAPAXI_Z ; operator new(uint) .text:10008884 CMP R0, #0 .text:10008888 BEQ loc_1000889C .text:1000888C MOV R1, R5 .text:10008890 BL sub_10008790 .text:10008894 MOV R4, R0 .text:10008898 B loc_100088A0 .text:1000889C ; --------------------------------------------------------------------------- .text:1000889C .text:1000889C loc_1000889C ; CODE XREF: sub_10008854+34j .text:1000889C MOV R4, #0 .text:100088A0 .text:100088A0 loc_100088A0 ; CODE XREF: sub_10008854+44j .text:100088A0 STR R4, [R5,#0x54] .text:100088A4 CMP R4, #0 .text:100088A8 BEQ loc_100088D0 .text:100088AC LDR R3, [R4,#0x1C] .text:100088B0 CMP R3, #0 .text:100088B4 BNE loc_100088D0 .text:100088B8 MOV R0, R4 .text:100088BC BL sub_100087E8 .text:100088C0 MOV R0, R4 .text:100088C4 BL __3_YAXPAX_Z ; operator delete(void *) .text:100088C8 MOV R3, #0 .text:100088CC STR R3, [R5,#0x54] .text:100088D0 .text:100088D0 loc_100088D0 ; CODE XREF: sub_10008854+24j .text:100088D0 ; sub_10008854+54j ... .text:100088D0 LDR R0, =sub_100078C0 .text:100088D4 MOV R3, #0x3E8 .text:100088D8 MOV R2, #1 .text:100088DC MOV R1, R5 .text:100088E0 BL CEDDK_51 .text:100088E4 LDR R3, [R5,#0x54] .text:100088E8 STR R0, [R5,#0x58] .text:100088EC CMP R3, #0 .text:100088F0 CMNNE R0, #1 .text:100088F4 MOVNE R0, #1 .text:100088F8 LDMNEFD SP!, {R4,R5,LR} .text:100088FC MOVEQ R0, #0 .text:10008900 LDMEQFD SP!, {R4,R5,LR} .text:10008904 BX LR .text:10008904 ; End of function sub_10008854 .text:10008904 .text:10008904 ; --------------------------------------------------------------------------- .text:10008908 off_10008908 DCD sub_100078C0 ; DATA XREF: sub_10008854:loc_100088D0r .text:1000890C .text:1000890C ; =============== S U B R O U T I N E ======================================= .text:1000890C .text:1000890C .text:1000890C sub_1000890C ; CODE XREF: sub_100070AC+E0p .text:1000890C ; sub_100089AC+Cp .text:1000890C ; DATA XREF: ... .text:1000890C STMFD SP!, {R4-R7,LR} .text:10008910 MOV R4, R0 .text:10008914 LDR R3, =off_10001830 .text:10008918 MOV R6, R4 .text:1000891C STR R3, [R6],#0x78 .text:10008920 MOV R0, R6 .text:10008924 BL EnterCriticalSection .text:10008928 MOV R7, #0 .text:1000892C MOV R0, R6 .text:10008930 STR R7, [R4,#0x74] .text:10008934 BL LeaveCriticalSection .text:10008938 LDR R3, [R4,#0x10] .text:1000893C CMP R3, #0 .text:10008940 MOVNE R0, R3 .text:10008944 BLNE CEDDK_38 .text:10008948 LDR R0, [R4,#0x58] .text:1000894C CMN R0, #1 .text:10008950 BLNE CEDDK_52 .text:10008954 LDR R3, [R4,#0x54] .text:10008958 MOVS R5, R3 .text:1000895C BEQ loc_10008970 .text:10008960 MOV R0, R5 .text:10008964 BL sub_100087E8 .text:10008968 MOV R0, R5 .text:1000896C BL __3_YAXPAX_Z ; operator delete(void *) .text:10008970 .text:10008970 loc_10008970 ; CODE XREF: sub_1000890C+50j .text:10008970 MOV R3, #0x19 .text:10008974 MOV R0, R6 .text:10008978 STRB R3, [R4,#0x20] .text:1000897C STR R7, [R4,#0x18] .text:10008980 STR R7, [R4,#0x1C] .text:10008984 BL DeleteCriticalSection .text:10008988 ADD R0, R4, #0x60 .text:1000898C BL DeleteCriticalSection .text:10008990 LDR R3, [R4,#4]! .text:10008994 CMP R3, #0 .text:10008998 MOVNE R0, R3 .text:1000899C BLNE RegCloseKey .text:100089A0 LDMFD SP!, {R4-R7,LR} .text:100089A4 BX LR .text:100089A4 ; End of function sub_1000890C .text:100089A4 .text:100089A4 ; --------------------------------------------------------------------------- .text:100089A8 off_100089A8 DCD off_10001830 ; DATA XREF: sub_1000890C+8r .text:100089AC .text:100089AC ; =============== S U B R O U T I N E ======================================= .text:100089AC .text:100089AC .text:100089AC sub_100089AC ; DATA XREF: .text:off_10001830o .text:100089AC ; .pdata:1000B7C0o .text:100089AC STMFD SP!, {R4,R5,LR} .text:100089B0 MOV R4, R1 .text:100089B4 MOV R5, R0 .text:100089B8 BL sub_1000890C .text:100089BC TST R4, #1 .text:100089C0 MOVNE R0, R5 .text:100089C4 BLNE __3_YAXPAX_Z ; operator delete(void *) .text:100089C8 MOV R0, R5 .text:100089CC LDMFD SP!, {R4,R5,LR} .text:100089D0 BX LR .text:100089D0 ; End of function sub_100089AC .text:100089D0 .text:100089D4 .text:100089D4 ; =============== S U B R O U T I N E ======================================= .text:100089D4 .text:100089D4 .text:100089D4 sub_100089D4 ; CODE XREF: sub_10002368+28p .text:100089D4 ; DATA XREF: .pdata:1000B7C8o .text:100089D4 .text:100089D4 var_4 = -4 .text:100089D4 arg_4 = 4 .text:100089D4 .text:100089D4 STR LR, [SP,#var_4]! .text:100089D8 LDR R2, [R0,#0x10] .text:100089DC MOVL R3, 0xCB2 .text:100089E4 MLA LR, R1, R3, R2 .text:100089E8 CMP LR, R2 .text:100089EC BCS loc_100089FC .text:100089F0 .text:100089F0 loc_100089F0 ; CODE XREF: sub_100089D4+24j .text:100089F0 LDR R3, [R0,#0x10] .text:100089F4 CMP R2, R3 .text:100089F8 BCC loc_100089F0 .text:100089FC .text:100089FC loc_100089FC ; CODE XREF: sub_100089D4+18j .text:100089FC ; sub_100089D4+30j .text:100089FC LDR R3, [R0,#0x10] .text:10008A00 CMP R3, LR .text:10008A04 BLS loc_100089FC .text:10008A08 LDR LR, [SP],#arg_4 .text:10008A0C BX LR .text:10008A0C ; End of function sub_100089D4 .text:10008A0C .text:10008A10 ; [0000000C BYTES: COLLAPSED FUNCTION EnterCriticalSection. PRESS KEYPAD "+" TO EXPAND] .text:10008A1C off_10008A1C DCD __imp_EnterCriticalSection .text:10008A1C ; DATA XREF: EnterCriticalSectionr .text:10008A20 ; [0000000C BYTES: COLLAPSED FUNCTION LeaveCriticalSection. PRESS KEYPAD "+" TO EXPAND] .text:10008A2C off_10008A2C DCD __imp_LeaveCriticalSection .text:10008A2C ; DATA XREF: LeaveCriticalSectionr .text:10008A30 ; [0000000C BYTES: COLLAPSED FUNCTION memcpy. PRESS KEYPAD "+" TO EXPAND] .text:10008A3C off_10008A3C DCD __imp_memcpy ; DATA XREF: memcpyr .text:10008A40 ; [0000000C BYTES: COLLAPSED FUNCTION CeEventHasOccurred. PRESS KEYPAD "+" TO EXPAND] .text:10008A4C off_10008A4C DCD __imp_CeEventHasOccurred ; DATA XREF: CeEventHasOccurredr .text:10008A50 ; [0000000C BYTES: COLLAPSED FUNCTION operator delete(void *). PRESS KEYPAD "+" TO EXPAND] .text:10008A5C off_10008A5C DCD __imp___3_YAXPAX_Z ; DATA XREF: operator delete(void *)r .text:10008A5C ; operator delete(void *) .text:10008A60 ; [0000000C BYTES: COLLAPSED FUNCTION operator new(uint). PRESS KEYPAD "+" TO EXPAND] .text:10008A6C off_10008A6C DCD __imp___2_YAPAXI_Z ; DATA XREF: operator new(uint)r .text:10008A6C ; operator new(uint) .text:10008A70 ; [0000000C BYTES: COLLAPSED FUNCTION EventModify. PRESS KEYPAD "+" TO EXPAND] .text:10008A7C off_10008A7C DCD __imp_EventModify ; DATA XREF: EventModifyr .text:10008A80 ; [0000000C BYTES: COLLAPSED FUNCTION DisableThreadLibraryCalls. PRESS KEYPAD "+" TO EXPAND] .text:10008A8C off_10008A8C DCD __imp_DisableThreadLibraryCalls .text:10008A8C ; DATA XREF: DisableThreadLibraryCallsr .text:10008A90 ; [0000000C BYTES: COLLAPSED FUNCTION SetProcPermissions. PRESS KEYPAD "+" TO EXPAND] .text:10008A9C off_10008A9C DCD __imp_SetProcPermissions ; DATA XREF: SetProcPermissionsr .text:10008AA0 ; [0000000C BYTES: COLLAPSED FUNCTION InterruptDisable. PRESS KEYPAD "+" TO EXPAND] .text:10008AAC off_10008AAC DCD __imp_InterruptDisable ; DATA XREF: InterruptDisabler .text:10008AB0 ; [0000000C BYTES: COLLAPSED FUNCTION InterruptDone. PRESS KEYPAD "+" TO EXPAND] .text:10008ABC off_10008ABC DCD __imp_InterruptDone ; DATA XREF: InterruptDoner .text:10008AC0 ; [0000000C BYTES: COLLAPSED FUNCTION CloseHandle. PRESS KEYPAD "+" TO EXPAND] .text:10008ACC off_10008ACC DCD __imp_CloseHandle ; DATA XREF: CloseHandler .text:10008AD0 ; [0000000C BYTES: COLLAPSED FUNCTION Sleep. PRESS KEYPAD "+" TO EXPAND] .text:10008ADC off_10008ADC DCD __imp_Sleep ; DATA XREF: Sleepr .text:10008AE0 ; [0000000C BYTES: COLLAPSED FUNCTION WaitForSingleObject. PRESS KEYPAD "+" TO EXPAND] .text:10008AEC off_10008AEC DCD __imp_WaitForSingleObject .text:10008AEC ; DATA XREF: WaitForSingleObjectr .text:10008AF0 ; [0000000C BYTES: COLLAPSED FUNCTION CeSetThreadPriority. PRESS KEYPAD "+" TO EXPAND] .text:10008AFC off_10008AFC DCD __imp_CeSetThreadPriority .text:10008AFC ; DATA XREF: CeSetThreadPriorityr .text:10008B00 ; [0000000C BYTES: COLLAPSED FUNCTION CeGetThreadPriority. PRESS KEYPAD "+" TO EXPAND] .text:10008B0C off_10008B0C DCD __imp_CeGetThreadPriority .text:10008B0C ; DATA XREF: CeGetThreadPriorityr .text:10008B10 ; [0000000C BYTES: COLLAPSED FUNCTION SetLastError. PRESS KEYPAD "+" TO EXPAND] .text:10008B1C off_10008B1C DCD __imp_SetLastError ; DATA XREF: SetLastErrorr .text:10008B20 ; [0000000C BYTES: COLLAPSED FUNCTION SetThreadPriority. PRESS KEYPAD "+" TO EXPAND] .text:10008B2C off_10008B2C DCD __imp_SetThreadPriority ; DATA XREF: SetThreadPriorityr .text:10008B30 ; [0000000C BYTES: COLLAPSED FUNCTION LocalFree. PRESS KEYPAD "+" TO EXPAND] .text:10008B3C off_10008B3C DCD __imp_LocalFree ; DATA XREF: LocalFreer .text:10008B40 ; [0000000C BYTES: COLLAPSED FUNCTION DeleteCriticalSection. PRESS KEYPAD "+" TO EXPAND] .text:10008B4C off_10008B4C DCD __imp_DeleteCriticalSection .text:10008B4C ; DATA XREF: DeleteCriticalSectionr .text:10008B50 ; [0000000C BYTES: COLLAPSED FUNCTION InterlockedDecrement. PRESS KEYPAD "+" TO EXPAND] .text:10008B5C off_10008B5C DCD __imp_InterlockedDecrement .text:10008B5C ; DATA XREF: InterlockedDecrementr .text:10008B60 ; [0000000C BYTES: COLLAPSED FUNCTION GetTickCount. PRESS KEYPAD "+" TO EXPAND] .text:10008B6C off_10008B6C DCD __imp_GetTickCount ; DATA XREF: GetTickCountr .text:10008B70 ; [0000000C BYTES: COLLAPSED FUNCTION COREDLL_2508. PRESS KEYPAD "+" TO EXPAND] .text:10008B7C off_10008B7C DCD __imp_COREDLL_2508 ; DATA XREF: COREDLL_2508r .text:10008B80 ; [0000000C BYTES: COLLAPSED FUNCTION InterlockedIncrement. PRESS KEYPAD "+" TO EXPAND] .text:10008B8C off_10008B8C DCD __imp_InterlockedIncrement .text:10008B8C ; DATA XREF: InterlockedIncrementr .text:10008B90 ; [0000000C BYTES: COLLAPSED FUNCTION InterlockedExchange. PRESS KEYPAD "+" TO EXPAND] .text:10008B9C off_10008B9C DCD __imp_InterlockedExchange .text:10008B9C ; DATA XREF: InterlockedExchanger .text:10008BA0 ; --------------------------------------------------------------------------- .text:10008BA0 .text:10008BA0 loc_10008BA0 ; DATA XREF: .text:10003320o .text:10008BA0 ; .text:100063D8o ... .text:10008BA0 LDR R12, =__C_specific_handler .text:10008BA4 LDR R12, [R12] .text:10008BA8 BX R12 .text:10008BA8 ; --------------------------------------------------------------------------- .text:10008BAC off_10008BAC DCD __C_specific_handler ; DATA XREF: .text:loc_10008BA0r .text:10008BB0 ; [0000000C BYTES: COLLAPSED FUNCTION memset. PRESS KEYPAD "+" TO EXPAND] .text:10008BBC off_10008BBC DCD __imp_memset ; DATA XREF: memsetr .text:10008BC0 ; [0000000C BYTES: COLLAPSED FUNCTION memmove. PRESS KEYPAD "+" TO EXPAND] .text:10008BCC off_10008BCC DCD __imp_memmove ; DATA XREF: memmover .text:10008BD0 ; [0000000C BYTES: COLLAPSED FUNCTION ExitThread. PRESS KEYPAD "+" TO EXPAND] .text:10008BDC off_10008BDC DCD __imp_ExitThread ; DATA XREF: ExitThreadr .text:10008BE0 ; [0000000C BYTES: COLLAPSED FUNCTION CreateThread. PRESS KEYPAD "+" TO EXPAND] .text:10008BEC off_10008BEC DCD __imp_CreateThread ; DATA XREF: CreateThreadr .text:10008BF0 ; [0000000C BYTES: COLLAPSED FUNCTION InterruptInitialize. PRESS KEYPAD "+" TO EXPAND] .text:10008BFC off_10008BFC DCD __imp_InterruptInitialize .text:10008BFC ; DATA XREF: InterruptInitializer .text:10008C00 ; [0000000C BYTES: COLLAPSED FUNCTION RegCloseKey. PRESS KEYPAD "+" TO EXPAND] .text:10008C0C off_10008C0C DCD __imp_RegCloseKey ; DATA XREF: RegCloseKeyr .text:10008C10 ; [0000000C BYTES: COLLAPSED FUNCTION RegQueryValueExW. PRESS KEYPAD "+" TO EXPAND] .text:10008C1C off_10008C1C DCD __imp_RegQueryValueExW ; DATA XREF: RegQueryValueExWr .text:10008C20 ; [0000000C BYTES: COLLAPSED FUNCTION OpenDeviceKey. PRESS KEYPAD "+" TO EXPAND] .text:10008C2C off_10008C2C DCD __imp_OpenDeviceKey ; DATA XREF: OpenDeviceKeyr .text:10008C30 ; [0000000C BYTES: COLLAPSED FUNCTION CreateEventW. PRESS KEYPAD "+" TO EXPAND] .text:10008C3C off_10008C3C DCD __imp_CreateEventW ; DATA XREF: CreateEventWr .text:10008C40 ; [0000000C BYTES: COLLAPSED FUNCTION InitializeCriticalSection. PRESS KEYPAD "+" TO EXPAND] .text:10008C4C off_10008C4C DCD __imp_InitializeCriticalSection .text:10008C4C ; DATA XREF: InitializeCriticalSectionr .text:10008C50 ; [0000000C BYTES: COLLAPSED FUNCTION LocalAlloc. PRESS KEYPAD "+" TO EXPAND] .text:10008C5C off_10008C5C DCD __imp_LocalAlloc ; DATA XREF: LocalAllocr .text:10008C60 ; [0000000C BYTES: COLLAPSED FUNCTION GetCurrentPermissions. PRESS KEYPAD "+" TO EXPAND] .text:10008C6C off_10008C6C DCD __imp_GetCurrentPermissions .text:10008C6C ; DATA XREF: GetCurrentPermissionsr .text:10008C70 ; [0000000C BYTES: COLLAPSED FUNCTION DDKReg_GetWindowInfo. PRESS KEYPAD "+" TO EXPAND] .text:10008C7C off_10008C7C DCD __imp_DDKReg_GetWindowInfo .text:10008C7C ; DATA XREF: DDKReg_GetWindowInfor .text:10008C80 ; [0000000C BYTES: COLLAPSED FUNCTION DDKReg_GetIsrInfo. PRESS KEYPAD "+" TO EXPAND] .text:10008C8C off_10008C8C DCD __imp_DDKReg_GetIsrInfo ; DATA XREF: DDKReg_GetIsrInfor .text:10008C90 ; [0000000C BYTES: COLLAPSED FUNCTION RegSetValueExW. PRESS KEYPAD "+" TO EXPAND] .text:10008C9C off_10008C9C DCD __imp_RegSetValueExW ; DATA XREF: RegSetValueExWr .text:10008CA0 ; [0000000C BYTES: COLLAPSED FUNCTION KernelIoControl. PRESS KEYPAD "+" TO EXPAND] .text:10008CAC off_10008CAC DCD __imp_KernelIoControl ; DATA XREF: KernelIoControlr .text:10008CB0 ; [0000000C BYTES: COLLAPSED FUNCTION RegOpenKeyExW. PRESS KEYPAD "+" TO EXPAND] .text:10008CBC off_10008CBC DCD __imp_RegOpenKeyExW ; DATA XREF: RegOpenKeyExWr .text:10008CC0 ; [0000000C BYTES: COLLAPSED FUNCTION ResumeThread. PRESS KEYPAD "+" TO EXPAND] .text:10008CCC off_10008CCC DCD __imp_ResumeThread ; DATA XREF: ResumeThreadr .text:10008CD0 ; [0000000C BYTES: COLLAPSED FUNCTION TerminateThread. PRESS KEYPAD "+" TO EXPAND] .text:10008CDC off_10008CDC DCD __imp_TerminateThread ; DATA XREF: TerminateThreadr .text:10008CE0 ; [0000000C BYTES: COLLAPSED FUNCTION InterruptMask. PRESS KEYPAD "+" TO EXPAND] .text:10008CEC off_10008CEC DCD __imp_InterruptMask ; DATA XREF: InterruptMaskr .text:10008CF0 ; [0000000C BYTES: COLLAPSED FUNCTION _purecall. PRESS KEYPAD "+" TO EXPAND] .text:10008CFC off_10008CFC DCD __imp__purecall ; DATA XREF: _purecallr .text:10008D00 ; [0000000C BYTES: COLLAPSED FUNCTION CEDDK_9. PRESS KEYPAD "+" TO EXPAND] .text:10008D0C off_10008D0C DCD __imp_CEDDK_9 ; DATA XREF: CEDDK_9r .text:10008D10 ; [0000000C BYTES: COLLAPSED FUNCTION CEDDK_8. PRESS KEYPAD "+" TO EXPAND] .text:10008D1C off_10008D1C DCD __imp_CEDDK_8 ; DATA XREF: CEDDK_8r .text:10008D20 ; [0000000C BYTES: COLLAPSED FUNCTION CEDDK_28. PRESS KEYPAD "+" TO EXPAND] .text:10008D2C off_10008D2C DCD __imp_CEDDK_28 ; DATA XREF: CEDDK_28r .text:10008D30 ; [0000000C BYTES: COLLAPSED FUNCTION CEDDK_13. PRESS KEYPAD "+" TO EXPAND] .text:10008D3C off_10008D3C DCD __imp_CEDDK_13 ; DATA XREF: CEDDK_13r .text:10008D40 ; [0000000C BYTES: COLLAPSED FUNCTION CEDDK_35. PRESS KEYPAD "+" TO EXPAND] .text:10008D4C off_10008D4C DCD __imp_CEDDK_35 ; DATA XREF: CEDDK_35r .text:10008D50 ; [0000000C BYTES: COLLAPSED FUNCTION CEDDK_20. PRESS KEYPAD "+" TO EXPAND] .text:10008D5C off_10008D5C DCD __imp_CEDDK_20 ; DATA XREF: CEDDK_20r .text:10008D60 ; [0000000C BYTES: COLLAPSED FUNCTION CEDDK_41. PRESS KEYPAD "+" TO EXPAND] .text:10008D6C off_10008D6C DCD __imp_CEDDK_41 ; DATA XREF: CEDDK_41r .text:10008D70 ; [0000000C BYTES: COLLAPSED FUNCTION CEDDK_34. PRESS KEYPAD "+" TO EXPAND] .text:10008D7C off_10008D7C DCD __imp_CEDDK_34 ; DATA XREF: CEDDK_34r .text:10008D80 ; [0000000C BYTES: COLLAPSED FUNCTION CEDDK_19. PRESS KEYPAD "+" TO EXPAND] .text:10008D8C off_10008D8C DCD __imp_CEDDK_19 ; DATA XREF: CEDDK_19r .text:10008D90 ; [0000000C BYTES: COLLAPSED FUNCTION CEDDK_37. PRESS KEYPAD "+" TO EXPAND] .text:10008D9C off_10008D9C DCD __imp_CEDDK_37 ; DATA XREF: CEDDK_37r .text:10008DA0 ; [0000000C BYTES: COLLAPSED FUNCTION CEDDK_53. PRESS KEYPAD "+" TO EXPAND] .text:10008DAC off_10008DAC DCD __imp_CEDDK_53 ; DATA XREF: CEDDK_53r .text:10008DB0 ; [0000000C BYTES: COLLAPSED FUNCTION CEDDK_54. PRESS KEYPAD "+" TO EXPAND] .text:10008DBC off_10008DBC DCD __imp_CEDDK_54 ; DATA XREF: CEDDK_54r .text:10008DC0 ; [0000000C BYTES: COLLAPSED FUNCTION CEDDK_55. PRESS KEYPAD "+" TO EXPAND] .text:10008DCC off_10008DCC DCD __imp_CEDDK_55 ; DATA XREF: CEDDK_55r .text:10008DD0 ; [0000000C BYTES: COLLAPSED FUNCTION CEDDK_56. PRESS KEYPAD "+" TO EXPAND] .text:10008DDC off_10008DDC DCD __imp_CEDDK_56 ; DATA XREF: CEDDK_56r .text:10008DE0 ; [0000000C BYTES: COLLAPSED FUNCTION CEDDK_39. PRESS KEYPAD "+" TO EXPAND] .text:10008DEC off_10008DEC DCD __imp_CEDDK_39 ; DATA XREF: CEDDK_39r .text:10008DF0 ; [0000000C BYTES: COLLAPSED FUNCTION CEDDK_51. PRESS KEYPAD "+" TO EXPAND] .text:10008DFC off_10008DFC DCD __imp_CEDDK_51 ; DATA XREF: CEDDK_51r .text:10008E00 ; [0000000C BYTES: COLLAPSED FUNCTION CEDDK_52. PRESS KEYPAD "+" TO EXPAND] .text:10008E0C off_10008E0C DCD __imp_CEDDK_52 ; DATA XREF: CEDDK_52r .text:10008E10 ; [0000000C BYTES: COLLAPSED FUNCTION CEDDK_38. PRESS KEYPAD "+" TO EXPAND] .text:10008E1C off_10008E1C DCD __imp_CEDDK_38 ; DATA XREF: CEDDK_38r .text:10008E20 .text:10008E20 ; =============== S U B R O U T I N E ======================================= .text:10008E20 .text:10008E20 .text:10008E20 sub_10008E20 ; CODE XREF: sub_10003EF0+398p .text:10008E20 ; sub_10005018+174p ... .text:10008E20 .text:10008E20 var_C = -0xC .text:10008E20 var_8 = -8 .text:10008E20 var_4 = -4 .text:10008E20 arg_4 = 4 .text:10008E20 .text:10008E20 LDR R12, =unk_1000A5A8 .text:10008E24 LDR R12, [R12] .text:10008E28 CMP R0, R12 .text:10008E2C MOVEQS R12, R0,LSR#16 .text:10008E30 BXEQ LR .text:10008E34 .text:10008E34 loc_10008E34 ; DATA XREF: .pdata:1000B7D0o .text:10008E34 STR LR, [SP,#var_4]! .text:10008E38 SUB SP, SP, #0xC .text:10008E3C LDR R12, =unk_1000A5A4 .text:10008E40 LDR R12, [R12] .text:10008E44 STR R12, [SP,#0xC+var_4] .text:10008E48 LDR R12, =unk_1000A5A8 .text:10008E4C LDR R12, [R12] .text:10008E50 STR R12, [SP,#0xC+var_8] .text:10008E54 LDR R12, =0xB064 .text:10008E58 STR R12, [SP,#0xC+var_C] .text:10008E5C BL COREDLL_1876 .text:10008E60 ADD SP, SP, #0xC .text:10008E64 LDR LR, [SP],#arg_4 .text:10008E68 BX LR .text:10008E68 ; End of function sub_10008E20 .text:10008E68 .text:10008E68 ; --------------------------------------------------------------------------- .text:10008E6C off_10008E6C DCD unk_1000A5A8 ; DATA XREF: sub_10008E20r .text:10008E6C ; sub_10008E20+28r .text:10008E70 off_10008E70 DCD unk_1000A5A4 ; DATA XREF: sub_10008E20+1Cr .text:10008E74 dword_10008E74 DCD 0xB064 ; DATA XREF: sub_10008E20+34r .text:10008E78 .text:10008E78 ; =============== S U B R O U T I N E ======================================= .text:10008E78 .text:10008E78 .text:10008E78 sub_10008E78 ; DATA XREF: .pdata:1000B7D8o .text:10008E78 ; .CRT:1000C000o .text:10008E78 STMFD SP!, {R4,R5,LR} .text:10008E7C LDR R5, =unk_1000A5A8 .text:10008E80 MOVL R4, 0xB064 .text:10008E88 LDR R3, [R5] .text:10008E8C CMP R3, #0 .text:10008E90 CMPNE R3, R4 .text:10008E94 MVNNE R3, R3 .text:10008E98 BNE loc_10008EB0 .text:10008E9C BL COREDLL_1875 .text:10008EA0 CMP R0, #0 .text:10008EA4 MOVEQ R0, R4 .text:10008EA8 MVN R3, R0 .text:10008EAC STR R0, [R5] .text:10008EB0 .text:10008EB0 loc_10008EB0 ; CODE XREF: sub_10008E78+20j .text:10008EB0 LDR R2, =unk_1000A5A4 .text:10008EB4 STR R3, [R2] .text:10008EB8 LDMFD SP!, {R4,R5,LR} .text:10008EBC BX LR .text:10008EBC ; End of function sub_10008E78 .text:10008EBC .text:10008EBC ; --------------------------------------------------------------------------- .text:10008EC0 off_10008EC0 DCD unk_1000A5A4 ; DATA XREF: sub_10008E78:loc_10008EB0r .text:10008EC4 off_10008EC4 DCD unk_1000A5A8 ; DATA XREF: sub_10008E78+4r .text:10008EC8 ; [0000000C BYTES: COLLAPSED FUNCTION COREDLL_1876. PRESS KEYPAD "+" TO EXPAND] .text:10008ED4 off_10008ED4 DCD __imp_COREDLL_1876 ; DATA XREF: COREDLL_1876r .text:10008ED8 ; [0000000C BYTES: COLLAPSED FUNCTION COREDLL_1875. PRESS KEYPAD "+" TO EXPAND] .text:10008EE4 off_10008EE4 DCD __imp_COREDLL_1875 ; DATA XREF: COREDLL_1875r .text:10008EE8 dword_10008EE8 DCD 1 ; DATA XREF: .text:10003324o .text:10008EEC DCD loc_10003414 .text:10008EF0 DCD loc_10003420 .text:10008EF4 DCD sub_10003470 .text:10008EF8 DCD loc_10003424 .text:10008EFC dword_10008EFC DCD 1 ; DATA XREF: .text:100063DCo .text:10008F00 DCD loc_100064F0 .text:10008F04 DCD loc_10006508 .text:10008F08 DCD sub_10006564 .text:10008F0C DCD loc_1000650C .text:10008F10 dword_10008F10 DCD 1 ; DATA XREF: .text:10006BF0o .text:10008F14 DCD loc_10006C4C .text:10008F18 DCD loc_10006C6C .text:10008F1C DCD sub_10006CA4 .text:10008F20 DCD loc_10006C70 .text:10008F24 DCD 0x8FAC, 0, 0 .text:10008F30 DCD 0x9074, 0xA04C, 0x8F60, 0, 0 .text:10008F44 DCD 0x9080, 0xA000, 0, 0, 0, 0, 0 .text:10008F60 DCD 0x80000034, 0x80000033, 0x80000027, 0x80000038, 0x80000037 .text:10008F60 DCD 0x80000036, 0x80000035, 0x80000025, 0x80000013, 0x80000022 .text:10008F60 DCD 0x80000029, 0x80000014, 0x80000023, 0x8000000D, 0x8000001C .text:10008F60 DCD 0x80000008, 0x80000009, 0x80000026, 0 .text:10008FAC DCD 0x80000003, 0x8000000B, 0x80000217, 0x800009CC, 0x8000000A .text:10008FAC DCD 0x8000000C, 0x80000057, 0x80000417, 0x80000416, 0x80000006 .text:10008FAC DCD 0x800001EC, 0x80000273, 0x800001C7, 0x800001CF, 0x80000024 .text:10008FAC DCD 0x800001EF, 0x80000002, 0x80000021, 0x80000264, 0x80000684 .text:10008FAC DCD 0x80000685, 0x800001D0, 0x8000022D, 0x800001CD, 0x800001F4 .text:10008FAC DCD 0x800001EB, 0x80000705, 0x80000444, 0x80000202, 0x80000205 .text:10008FAC DCD 0x8000026E, 0x8000026D, 0x800001F1, 0x800001F0, 0x80000229 .text:10008FAC DCD 0x80000274, 0x80000275, 0x80000263, 0x800004D0, 0x800001EE .text:10008FAC DCD 0x80000447, 0x80000446, 0x800001DF, 0x80000414, 0x80000005 .text:10008FAC DCD 0x80000574, 0x80000004, 0x80000754, 0x80000753, 0 .text:10009074 DCD 0x45524F43, 0x2E4C4C44, 0x6C6C64, 0x44444543, 0x6C642E4B .text:10009074 DCD 0x6C, 0, 0 .text:10009094 DCD 0xE68D1EB9, 0 .text:1000909C DCD 0x9130, 1, 0xC, 0xC, 0x90B8, 0x90E8, 0x9118, 0x2B50 .text:1000909C DCD 0x2D50, 0x3518, 0x4398, 0x4648, 0x32A0, 0x3220, 0x2A98 .text:1000909C DCD 0x2CE8, 0x2E90, 0x3218, 0x4920, 0x913B, 0x9145, 0x9150 .text:1000909C DCD 0x915E, 0x9167, 0x9170, 0x917E, 0x918A, 0x9197, 0x91A5 .text:1000909C DCD 0x91AE, 0x91B7, 0x10000, 0x30002, 0x50004, 0x70006 .text:1000909C DCD 0x90008, 0xB000A, 0x49524553, 0x642E4C41, 0x43006C6C .text:1000909C DCD 0x435F4D4F, 0x65736F6C, 0x4D4F4300, 0x6965445F, 0x74696E .text:1000909C DCD 0x5F4D4F43, 0x6F434F49, 0x6F72746E, 0x4F43006C, 0x6E495F4D .text:1000909C DCD 0x43007469, 0x4F5F4D4F, 0x6E6570, 0x5F4D4F43, 0x65776F50 .text:1000909C DCD 0x776F4472, 0x4F43006E, 0x6F505F4D, 0x55726577, 0x4F430070 .text:1000909C DCD 0x72505F4D, 0x6F6C4365, 0x43006573, 0x505F4D4F, 0x65446572 .text:1000909C DCD 0x74696E69, 0x4D4F4300, 0x6165525F, 0x4F430064, 0x65535F4D .text:1000909C DCD 0x43006B65, 0x575F4D4F, 0x65746972, 0, 0, 0, 0, 0 .text:1000909C DCD 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 .text:1000909C ; _text ends .text:1000909C .idata:1000A000 ; Section 2. (virtual address 0000A000) .idata:1000A000 ; Virtual size : 000005BC ( 1468.) .idata:1000A000 ; Section size in file : 00000600 ( 1536.) .idata:1000A000 ; Offset to raw data for section: 00008600 .idata:1000A000 ; Flags C0000040: Data Readable Writable .idata:1000A000 ; Alignment : default .idata:1000A000 ; .idata:1000A000 ; Imports from CEDDK.dll .idata:1000A000 ; .idata:1000A000 ; =========================================================================== .idata:1000A000 .idata:1000A000 ; Segment type: Externs .idata:1000A000 IMPORT __imp_CEDDK_52 ; DATA XREF: .text:off_10008E0Co .idata:1000A004 IMPORT __imp_CEDDK_51 ; DATA XREF: .text:off_10008DFCo .idata:1000A008 IMPORT __imp_CEDDK_39 ; DATA XREF: .text:off_10008DECo .idata:1000A00C IMPORT __imp_CEDDK_56 ; DATA XREF: .text:off_10008DDCo .idata:1000A010 IMPORT __imp_CEDDK_55 ; DATA XREF: .text:off_10008DCCo .idata:1000A014 IMPORT __imp_CEDDK_54 ; DATA XREF: .text:off_10008DBCo .idata:1000A018 IMPORT __imp_CEDDK_53 ; DATA XREF: .text:off_10008DACo .idata:1000A01C IMPORT __imp_CEDDK_37 ; DATA XREF: .text:off_10008D9Co .idata:1000A020 IMPORT __imp_CEDDK_19 ; DATA XREF: .text:off_10008D8Co .idata:1000A024 IMPORT __imp_CEDDK_34 ; DATA XREF: .text:off_10008D7Co .idata:1000A028 IMPORT __imp_CEDDK_41 ; DATA XREF: .text:off_10008D6Co .idata:1000A02C IMPORT __imp_CEDDK_20 ; DATA XREF: .text:off_10008D5Co .idata:1000A030 IMPORT __imp_CEDDK_35 ; DATA XREF: .text:off_10008D4Co .idata:1000A034 IMPORT __imp_CEDDK_13 ; DATA XREF: .text:off_10008D3Co .idata:1000A038 IMPORT __imp_CEDDK_28 ; DATA XREF: .text:off_10008D2Co .idata:1000A03C IMPORT __imp_CEDDK_8 ; DATA XREF: .text:off_10008D1Co .idata:1000A040 IMPORT __imp_CEDDK_9 ; DATA XREF: .text:off_10008D0Co .idata:1000A044 IMPORT __imp_CEDDK_38 ; DATA XREF: .text:off_10008E1Co .idata:1000A048 .idata:1000A04C ; .idata:1000A04C ; Imports from COREDLL.dll .idata:1000A04C ; .idata:1000A04C IMPORT __imp_DeleteCriticalSection .idata:1000A04C ; DATA XREF: .text:off_10008B4Co .idata:1000A050 IMPORT __imp_InterlockedDecrement .idata:1000A050 ; DATA XREF: .text:off_10008B5Co .idata:1000A054 IMPORT __imp_GetTickCount ; DATA XREF: .text:off_10008B6Co .idata:1000A058 IMPORT __imp_COREDLL_2508 ; DATA XREF: .text:off_10008B7Co .idata:1000A05C IMPORT __imp_InterlockedIncrement .idata:1000A05C ; DATA XREF: .text:off_10008B8Co .idata:1000A060 IMPORT __imp_InterlockedExchange .idata:1000A060 ; DATA XREF: .text:off_10008B9Co .idata:1000A064 IMPORT __C_specific_handler ; DATA XREF: .text:off_10008BACo .idata:1000A068 IMPORT __imp_memset ; DATA XREF: .text:off_10008BBCo .idata:1000A06C IMPORT __imp_memmove ; DATA XREF: .text:off_10008BCCo .idata:1000A070 IMPORT __imp_ExitThread ; DATA XREF: .text:off_10008BDCo .idata:1000A074 IMPORT __imp_CreateThread ; DATA XREF: .text:off_10008BECo .idata:1000A078 IMPORT __imp_InterruptInitialize .idata:1000A078 ; DATA XREF: .text:off_10008BFCo .idata:1000A07C IMPORT __imp_RegCloseKey ; DATA XREF: .text:off_10008C0Co .idata:1000A080 IMPORT __imp_RegQueryValueExW .idata:1000A080 ; DATA XREF: .text:off_10008C1Co .idata:1000A084 IMPORT __imp_LocalFree ; DATA XREF: .text:off_10008B3Co .idata:1000A088 IMPORT __imp_CreateEventW ; DATA XREF: .text:off_10008C3Co .idata:1000A08C IMPORT __imp_InitializeCriticalSection .idata:1000A08C ; DATA XREF: .text:off_10008C4Co .idata:1000A090 IMPORT __imp_LocalAlloc ; DATA XREF: .text:off_10008C5Co .idata:1000A094 IMPORT __imp_GetCurrentPermissions .idata:1000A094 ; DATA XREF: .text:off_10008C6Co .idata:1000A098 IMPORT __imp_DDKReg_GetWindowInfo .idata:1000A098 ; DATA XREF: .text:off_10008C7Co .idata:1000A09C IMPORT __imp_DDKReg_GetIsrInfo .idata:1000A09C ; DATA XREF: .text:off_10008C8Co .idata:1000A0A0 IMPORT __imp_RegSetValueExW ; DATA XREF: .text:off_10008C9Co .idata:1000A0A4 IMPORT __imp_KernelIoControl .idata:1000A0A4 ; DATA XREF: .text:off_10008CACo .idata:1000A0A8 IMPORT __imp_RegOpenKeyExW ; DATA XREF: .text:off_10008CBCo .idata:1000A0AC IMPORT __imp_ResumeThread ; DATA XREF: .text:off_10008CCCo .idata:1000A0B0 IMPORT __imp_TerminateThread .idata:1000A0B0 ; DATA XREF: .text:off_10008CDCo .idata:1000A0B4 IMPORT __imp_InterruptMask ; DATA XREF: .text:off_10008CECo .idata:1000A0B8 IMPORT __imp__purecall ; DATA XREF: .text:off_10008CFCo .idata:1000A0BC IMPORT __imp_SetThreadPriority .idata:1000A0BC ; DATA XREF: .text:off_10008B2Co .idata:1000A0C0 IMPORT __imp_SetLastError ; DATA XREF: .text:off_10008B1Co .idata:1000A0C4 IMPORT __imp_CeGetThreadPriority .idata:1000A0C4 ; DATA XREF: .text:off_10008B0Co .idata:1000A0C8 IMPORT __imp_CeSetThreadPriority .idata:1000A0C8 ; DATA XREF: .text:off_10008AFCo .idata:1000A0CC IMPORT __imp_WaitForSingleObject .idata:1000A0CC ; DATA XREF: .text:off_10008AECo .idata:1000A0D0 IMPORT __imp_Sleep ; DATA XREF: .text:off_10008ADCo .idata:1000A0D4 IMPORT __imp_CloseHandle ; DATA XREF: .text:off_10008ACCo .idata:1000A0D8 IMPORT __imp_InterruptDone ; DATA XREF: .text:off_10008ABCo .idata:1000A0DC IMPORT __imp_InterruptDisable .idata:1000A0DC ; DATA XREF: .text:off_10008AACo .idata:1000A0E0 IMPORT __imp_SetProcPermissions .idata:1000A0E0 ; DATA XREF: .text:off_10008A9Co .idata:1000A0E4 IMPORT __imp_DisableThreadLibraryCalls .idata:1000A0E4 ; DATA XREF: .text:off_10008A8Co .idata:1000A0E8 IMPORT __imp_EventModify ; DATA XREF: .text:off_10008A7Co .idata:1000A0EC ; __declspec(dllimport) void * __cdecl operator new(unsigned int) .idata:1000A0EC IMPORT __imp___2_YAPAXI_Z ; DATA XREF: .text:off_10008A6Co .idata:1000A0F0 ; __declspec(dllimport) void __cdecl operator delete(void *) .idata:1000A0F0 IMPORT __imp___3_YAXPAX_Z ; DATA XREF: .text:off_10008A5Co .idata:1000A0F4 IMPORT __imp_CeEventHasOccurred .idata:1000A0F4 ; DATA XREF: .text:off_10008A4Co .idata:1000A0F8 IMPORT __imp_memcpy ; DATA XREF: .text:off_10008A3Co .idata:1000A0FC IMPORT __imp_LeaveCriticalSection .idata:1000A0FC ; DATA XREF: .text:off_10008A2Co .idata:1000A100 IMPORT __imp_OpenDeviceKey ; DATA XREF: .text:off_10008C2Co .idata:1000A104 IMPORT __imp_EnterCriticalSection .idata:1000A104 ; DATA XREF: .text:off_10008A1Co .idata:1000A108 IMPORT __imp_COREDLL_1876 ; DATA XREF: .text:off_10008ED4o .idata:1000A10C IMPORT __imp_COREDLL_1875 ; DATA XREF: .text:off_10008EE4o .idata:1000A10C .data:1000A110 ; =========================================================================== .data:1000A110 .data:1000A110 ; Segment type: Pure data .data:1000A110 AREA .data, DATA, ALIGN=4 .data:1000A110 ; ORG 0x1000A110 .data:1000A110 DCB 0 .data:1000A111 DCB 0 .data:1000A112 DCB 0 .data:1000A113 DCB 0 .data:1000A114 DCB 0 .data:1000A115 DCB 0 .data:1000A116 DCB 0 .data:1000A117 DCB 0 .data:1000A118 aCig DCB "!Cëg",0 ; DATA XREF: .text:off_10002CACo .data:1000A118 ; .text:off_10003298o ... .data:1000A11D ALIGN 0x10 .data:1000A120 aSerial unicode 0, ,0 .data:1000A12E DCB 0 .data:1000A12F DCB 0 .data:1000A130 DCB 0 .data:1000A131 DCB 0 .data:1000A132 DCB 0 .data:1000A133 DCB 0 .data:1000A134 DCB 0 .data:1000A135 DCB 0 .data:1000A136 DCB 0 .data:1000A137 DCB 0 .data:1000A138 DCB 0 .data:1000A139 DCB 0 .data:1000A13A DCB 0 .data:1000A13B DCB 0 .data:1000A13C DCB 0 .data:1000A13D DCB 0 .data:1000A13E DCB 0 .data:1000A13F DCB 0 .data:1000A140 DCB 0 .data:1000A141 DCB 0 .data:1000A142 DCB 0 .data:1000A143 DCB 0 .data:1000A144 DCB 0 .data:1000A145 DCB 0 .data:1000A146 DCB 0 .data:1000A147 DCB 0 .data:1000A148 DCB 0 .data:1000A149 DCB 0 .data:1000A14A DCB 0 .data:1000A14B DCB 0 .data:1000A14C DCB 0 .data:1000A14D DCB 0 .data:1000A14E DCB 0 .data:1000A14F DCB 0 .data:1000A150 DCB 0 .data:1000A151 DCB 0 .data:1000A152 DCB 0 .data:1000A153 DCB 0 .data:1000A154 DCB 0 .data:1000A155 DCB 0 .data:1000A156 DCB 0 .data:1000A157 DCB 0 .data:1000A158 DCB 0 .data:1000A159 DCB 0 .data:1000A15A DCB 0 .data:1000A15B DCB 0 .data:1000A15C DCB 0 .data:1000A15D DCB 0 .data:1000A15E DCB 0 .data:1000A15F DCB 0 .data:1000A160 DCB 0x49 ; I .data:1000A161 DCB 0 .data:1000A162 DCB 0x6E ; n .data:1000A163 DCB 0 .data:1000A164 DCB 0x69 ; i .data:1000A165 DCB 0 .data:1000A166 DCB 0x74 ; t .data:1000A167 DCB 0 .data:1000A168 DCB 0 .data:1000A169 DCB 0 .data:1000A16A DCB 0 .data:1000A16B DCB 0 .data:1000A16C DCB 0 .data:1000A16D DCB 0 .data:1000A16E DCB 0 .data:1000A16F DCB 0 .data:1000A170 DCB 0 .data:1000A171 DCB 0 .data:1000A172 DCB 0 .data:1000A173 DCB 0 .data:1000A174 DCB 0 .data:1000A175 DCB 0 .data:1000A176 DCB 0 .data:1000A177 DCB 0 .data:1000A178 DCB 0 .data:1000A179 DCB 0 .data:1000A17A DCB 0 .data:1000A17B DCB 0 .data:1000A17C DCB 0 .data:1000A17D DCB 0 .data:1000A17E DCB 0 .data:1000A17F DCB 0 .data:1000A180 DCB 0 .data:1000A181 DCB 0 .data:1000A182 DCB 0 .data:1000A183 DCB 0 .data:1000A184 DCB 0 .data:1000A185 DCB 0 .data:1000A186 DCB 0 .data:1000A187 DCB 0 .data:1000A188 DCB 0 .data:1000A189 DCB 0 .data:1000A18A DCB 0 .data:1000A18B DCB 0 .data:1000A18C DCB 0 .data:1000A18D DCB 0 .data:1000A18E DCB 0 .data:1000A18F DCB 0 .data:1000A190 DCB 0 .data:1000A191 DCB 0 .data:1000A192 DCB 0 .data:1000A193 DCB 0 .data:1000A194 DCB 0 .data:1000A195 DCB 0 .data:1000A196 DCB 0 .data:1000A197 DCB 0 .data:1000A198 DCB 0 .data:1000A199 DCB 0 .data:1000A19A DCB 0 .data:1000A19B DCB 0 .data:1000A19C DCB 0 .data:1000A19D DCB 0 .data:1000A19E DCB 0 .data:1000A19F DCB 0 .data:1000A1A0 DCB 0x4F ; O .data:1000A1A1 DCB 0 .data:1000A1A2 DCB 0x70 ; p .data:1000A1A3 DCB 0 .data:1000A1A4 DCB 0x65 ; e .data:1000A1A5 DCB 0 .data:1000A1A6 DCB 0x6E ; n .data:1000A1A7 DCB 0 .data:1000A1A8 DCB 0 .data:1000A1A9 DCB 0 .data:1000A1AA DCB 0 .data:1000A1AB DCB 0 .data:1000A1AC DCB 0 .data:1000A1AD DCB 0 .data:1000A1AE DCB 0 .data:1000A1AF DCB 0 .data:1000A1B0 DCB 0 .data:1000A1B1 DCB 0 .data:1000A1B2 DCB 0 .data:1000A1B3 DCB 0 .data:1000A1B4 DCB 0 .data:1000A1B5 DCB 0 .data:1000A1B6 DCB 0 .data:1000A1B7 DCB 0 .data:1000A1B8 DCB 0 .data:1000A1B9 DCB 0 .data:1000A1BA DCB 0 .data:1000A1BB DCB 0 .data:1000A1BC DCB 0 .data:1000A1BD DCB 0 .data:1000A1BE DCB 0 .data:1000A1BF DCB 0 .data:1000A1C0 DCB 0 .data:1000A1C1 DCB 0 .data:1000A1C2 DCB 0 .data:1000A1C3 DCB 0 .data:1000A1C4 DCB 0 .data:1000A1C5 DCB 0 .data:1000A1C6 DCB 0 .data:1000A1C7 DCB 0 .data:1000A1C8 DCB 0 .data:1000A1C9 DCB 0 .data:1000A1CA DCB 0 .data:1000A1CB DCB 0 .data:1000A1CC DCB 0 .data:1000A1CD DCB 0 .data:1000A1CE DCB 0 .data:1000A1CF DCB 0 .data:1000A1D0 DCB 0 .data:1000A1D1 DCB 0 .data:1000A1D2 DCB 0 .data:1000A1D3 DCB 0 .data:1000A1D4 DCB 0 .data:1000A1D5 DCB 0 .data:1000A1D6 DCB 0 .data:1000A1D7 DCB 0 .data:1000A1D8 DCB 0 .data:1000A1D9 DCB 0 .data:1000A1DA DCB 0 .data:1000A1DB DCB 0 .data:1000A1DC DCB 0 .data:1000A1DD DCB 0 .data:1000A1DE DCB 0 .data:1000A1DF DCB 0 .data:1000A1E0 DCB 0x52 ; R .data:1000A1E1 DCB 0 .data:1000A1E2 DCB 0x65 ; e .data:1000A1E3 DCB 0 .data:1000A1E4 DCB 0x61 ; a .data:1000A1E5 DCB 0 .data:1000A1E6 DCB 0x64 ; d .data:1000A1E7 DCB 0 .data:1000A1E8 DCB 0 .data:1000A1E9 DCB 0 .data:1000A1EA DCB 0 .data:1000A1EB DCB 0 .data:1000A1EC DCB 0 .data:1000A1ED DCB 0 .data:1000A1EE DCB 0 .data:1000A1EF DCB 0 .data:1000A1F0 DCB 0 .data:1000A1F1 DCB 0 .data:1000A1F2 DCB 0 .data:1000A1F3 DCB 0 .data:1000A1F4 DCB 0 .data:1000A1F5 DCB 0 .data:1000A1F6 DCB 0 .data:1000A1F7 DCB 0 .data:1000A1F8 DCB 0 .data:1000A1F9 DCB 0 .data:1000A1FA DCB 0 .data:1000A1FB DCB 0 .data:1000A1FC DCB 0 .data:1000A1FD DCB 0 .data:1000A1FE DCB 0 .data:1000A1FF DCB 0 .data:1000A200 DCB 0 .data:1000A201 DCB 0 .data:1000A202 DCB 0 .data:1000A203 DCB 0 .data:1000A204 DCB 0 .data:1000A205 DCB 0 .data:1000A206 DCB 0 .data:1000A207 DCB 0 .data:1000A208 DCB 0 .data:1000A209 DCB 0 .data:1000A20A DCB 0 .data:1000A20B DCB 0 .data:1000A20C DCB 0 .data:1000A20D DCB 0 .data:1000A20E DCB 0 .data:1000A20F DCB 0 .data:1000A210 DCB 0 .data:1000A211 DCB 0 .data:1000A212 DCB 0 .data:1000A213 DCB 0 .data:1000A214 DCB 0 .data:1000A215 DCB 0 .data:1000A216 DCB 0 .data:1000A217 DCB 0 .data:1000A218 DCB 0 .data:1000A219 DCB 0 .data:1000A21A DCB 0 .data:1000A21B DCB 0 .data:1000A21C DCB 0 .data:1000A21D DCB 0 .data:1000A21E DCB 0 .data:1000A21F DCB 0 .data:1000A220 DCB 0x57 ; W .data:1000A221 DCB 0 .data:1000A222 DCB 0x72 ; r .data:1000A223 DCB 0 .data:1000A224 DCB 0x69 ; i .data:1000A225 DCB 0 .data:1000A226 DCB 0x74 ; t .data:1000A227 DCB 0 .data:1000A228 DCB 0x65 ; e .data:1000A229 DCB 0 .data:1000A22A DCB 0 .data:1000A22B DCB 0 .data:1000A22C DCB 0 .data:1000A22D DCB 0 .data:1000A22E DCB 0 .data:1000A22F DCB 0 .data:1000A230 DCB 0 .data:1000A231 DCB 0 .data:1000A232 DCB 0 .data:1000A233 DCB 0 .data:1000A234 DCB 0 .data:1000A235 DCB 0 .data:1000A236 DCB 0 .data:1000A237 DCB 0 .data:1000A238 DCB 0 .data:1000A239 DCB 0 .data:1000A23A DCB 0 .data:1000A23B DCB 0 .data:1000A23C DCB 0 .data:1000A23D DCB 0 .data:1000A23E DCB 0 .data:1000A23F DCB 0 .data:1000A240 DCB 0 .data:1000A241 DCB 0 .data:1000A242 DCB 0 .data:1000A243 DCB 0 .data:1000A244 DCB 0 .data:1000A245 DCB 0 .data:1000A246 DCB 0 .data:1000A247 DCB 0 .data:1000A248 DCB 0 .data:1000A249 DCB 0 .data:1000A24A DCB 0 .data:1000A24B DCB 0 .data:1000A24C DCB 0 .data:1000A24D DCB 0 .data:1000A24E DCB 0 .data:1000A24F DCB 0 .data:1000A250 DCB 0 .data:1000A251 DCB 0 .data:1000A252 DCB 0 .data:1000A253 DCB 0 .data:1000A254 DCB 0 .data:1000A255 DCB 0 .data:1000A256 DCB 0 .data:1000A257 DCB 0 .data:1000A258 DCB 0 .data:1000A259 DCB 0 .data:1000A25A DCB 0 .data:1000A25B DCB 0 .data:1000A25C DCB 0 .data:1000A25D DCB 0 .data:1000A25E DCB 0 .data:1000A25F DCB 0 .data:1000A260 DCB 0x43 ; C .data:1000A261 DCB 0 .data:1000A262 DCB 0x6C ; l .data:1000A263 DCB 0 .data:1000A264 DCB 0x6F ; o .data:1000A265 DCB 0 .data:1000A266 DCB 0x73 ; s .data:1000A267 DCB 0 .data:1000A268 DCB 0x65 ; e .data:1000A269 DCB 0 .data:1000A26A DCB 0 .data:1000A26B DCB 0 .data:1000A26C DCB 0 .data:1000A26D DCB 0 .data:1000A26E DCB 0 .data:1000A26F DCB 0 .data:1000A270 DCB 0 .data:1000A271 DCB 0 .data:1000A272 DCB 0 .data:1000A273 DCB 0 .data:1000A274 DCB 0 .data:1000A275 DCB 0 .data:1000A276 DCB 0 .data:1000A277 DCB 0 .data:1000A278 DCB 0 .data:1000A279 DCB 0 .data:1000A27A DCB 0 .data:1000A27B DCB 0 .data:1000A27C DCB 0 .data:1000A27D DCB 0 .data:1000A27E DCB 0 .data:1000A27F DCB 0 .data:1000A280 DCB 0 .data:1000A281 DCB 0 .data:1000A282 DCB 0 .data:1000A283 DCB 0 .data:1000A284 DCB 0 .data:1000A285 DCB 0 .data:1000A286 DCB 0 .data:1000A287 DCB 0 .data:1000A288 DCB 0 .data:1000A289 DCB 0 .data:1000A28A DCB 0 .data:1000A28B DCB 0 .data:1000A28C DCB 0 .data:1000A28D DCB 0 .data:1000A28E DCB 0 .data:1000A28F DCB 0 .data:1000A290 DCB 0 .data:1000A291 DCB 0 .data:1000A292 DCB 0 .data:1000A293 DCB 0 .data:1000A294 DCB 0 .data:1000A295 DCB 0 .data:1000A296 DCB 0 .data:1000A297 DCB 0 .data:1000A298 DCB 0 .data:1000A299 DCB 0 .data:1000A29A DCB 0 .data:1000A29B DCB 0 .data:1000A29C DCB 0 .data:1000A29D DCB 0 .data:1000A29E DCB 0 .data:1000A29F DCB 0 .data:1000A2A0 DCB 0x49 ; I .data:1000A2A1 DCB 0 .data:1000A2A2 DCB 0x6F ; o .data:1000A2A3 DCB 0 .data:1000A2A4 DCB 0x63 ; c .data:1000A2A5 DCB 0 .data:1000A2A6 DCB 0x74 ; t .data:1000A2A7 DCB 0 .data:1000A2A8 DCB 0x6C ; l .data:1000A2A9 DCB 0 .data:1000A2AA DCB 0 .data:1000A2AB DCB 0 .data:1000A2AC DCB 0 .data:1000A2AD DCB 0 .data:1000A2AE DCB 0 .data:1000A2AF DCB 0 .data:1000A2B0 DCB 0 .data:1000A2B1 DCB 0 .data:1000A2B2 DCB 0 .data:1000A2B3 DCB 0 .data:1000A2B4 DCB 0 .data:1000A2B5 DCB 0 .data:1000A2B6 DCB 0 .data:1000A2B7 DCB 0 .data:1000A2B8 DCB 0 .data:1000A2B9 DCB 0 .data:1000A2BA DCB 0 .data:1000A2BB DCB 0 .data:1000A2BC DCB 0 .data:1000A2BD DCB 0 .data:1000A2BE DCB 0 .data:1000A2BF DCB 0 .data:1000A2C0 DCB 0 .data:1000A2C1 DCB 0 .data:1000A2C2 DCB 0 .data:1000A2C3 DCB 0 .data:1000A2C4 DCB 0 .data:1000A2C5 DCB 0 .data:1000A2C6 DCB 0 .data:1000A2C7 DCB 0 .data:1000A2C8 DCB 0 .data:1000A2C9 DCB 0 .data:1000A2CA DCB 0 .data:1000A2CB DCB 0 .data:1000A2CC DCB 0 .data:1000A2CD DCB 0 .data:1000A2CE DCB 0 .data:1000A2CF DCB 0 .data:1000A2D0 DCB 0 .data:1000A2D1 DCB 0 .data:1000A2D2 DCB 0 .data:1000A2D3 DCB 0 .data:1000A2D4 DCB 0 .data:1000A2D5 DCB 0 .data:1000A2D6 DCB 0 .data:1000A2D7 DCB 0 .data:1000A2D8 DCB 0 .data:1000A2D9 DCB 0 .data:1000A2DA DCB 0 .data:1000A2DB DCB 0 .data:1000A2DC DCB 0 .data:1000A2DD DCB 0 .data:1000A2DE DCB 0 .data:1000A2DF DCB 0 .data:1000A2E0 DCB 0x54 ; T .data:1000A2E1 DCB 0 .data:1000A2E2 DCB 0x68 ; h .data:1000A2E3 DCB 0 .data:1000A2E4 DCB 0x72 ; r .data:1000A2E5 DCB 0 .data:1000A2E6 DCB 0x65 ; e .data:1000A2E7 DCB 0 .data:1000A2E8 DCB 0x61 ; a .data:1000A2E9 DCB 0 .data:1000A2EA DCB 0x64 ; d .data:1000A2EB DCB 0 .data:1000A2EC DCB 0 .data:1000A2ED DCB 0 .data:1000A2EE DCB 0 .data:1000A2EF DCB 0 .data:1000A2F0 DCB 0 .data:1000A2F1 DCB 0 .data:1000A2F2 DCB 0 .data:1000A2F3 DCB 0 .data:1000A2F4 DCB 0 .data:1000A2F5 DCB 0 .data:1000A2F6 DCB 0 .data:1000A2F7 DCB 0 .data:1000A2F8 DCB 0 .data:1000A2F9 DCB 0 .data:1000A2FA DCB 0 .data:1000A2FB DCB 0 .data:1000A2FC DCB 0 .data:1000A2FD DCB 0 .data:1000A2FE DCB 0 .data:1000A2FF DCB 0 .data:1000A300 DCB 0 .data:1000A301 DCB 0 .data:1000A302 DCB 0 .data:1000A303 DCB 0 .data:1000A304 DCB 0 .data:1000A305 DCB 0 .data:1000A306 DCB 0 .data:1000A307 DCB 0 .data:1000A308 DCB 0 .data:1000A309 DCB 0 .data:1000A30A DCB 0 .data:1000A30B DCB 0 .data:1000A30C DCB 0 .data:1000A30D DCB 0 .data:1000A30E DCB 0 .data:1000A30F DCB 0 .data:1000A310 DCB 0 .data:1000A311 DCB 0 .data:1000A312 DCB 0 .data:1000A313 DCB 0 .data:1000A314 DCB 0 .data:1000A315 DCB 0 .data:1000A316 DCB 0 .data:1000A317 DCB 0 .data:1000A318 DCB 0 .data:1000A319 DCB 0 .data:1000A31A DCB 0 .data:1000A31B DCB 0 .data:1000A31C DCB 0 .data:1000A31D DCB 0 .data:1000A31E DCB 0 .data:1000A31F DCB 0 .data:1000A320 DCB 0x45 ; E .data:1000A321 DCB 0 .data:1000A322 DCB 0x76 ; v .data:1000A323 DCB 0 .data:1000A324 DCB 0x65 ; e .data:1000A325 DCB 0 .data:1000A326 DCB 0x6E ; n .data:1000A327 DCB 0 .data:1000A328 DCB 0x74 ; t .data:1000A329 DCB 0 .data:1000A32A DCB 0x73 ; s .data:1000A32B DCB 0 .data:1000A32C DCB 0 .data:1000A32D DCB 0 .data:1000A32E DCB 0 .data:1000A32F DCB 0 .data:1000A330 DCB 0 .data:1000A331 DCB 0 .data:1000A332 DCB 0 .data:1000A333 DCB 0 .data:1000A334 DCB 0 .data:1000A335 DCB 0 .data:1000A336 DCB 0 .data:1000A337 DCB 0 .data:1000A338 DCB 0 .data:1000A339 DCB 0 .data:1000A33A DCB 0 .data:1000A33B DCB 0 .data:1000A33C DCB 0 .data:1000A33D DCB 0 .data:1000A33E DCB 0 .data:1000A33F DCB 0 .data:1000A340 DCB 0 .data:1000A341 DCB 0 .data:1000A342 DCB 0 .data:1000A343 DCB 0 .data:1000A344 DCB 0 .data:1000A345 DCB 0 .data:1000A346 DCB 0 .data:1000A347 DCB 0 .data:1000A348 DCB 0 .data:1000A349 DCB 0 .data:1000A34A DCB 0 .data:1000A34B DCB 0 .data:1000A34C DCB 0 .data:1000A34D DCB 0 .data:1000A34E DCB 0 .data:1000A34F DCB 0 .data:1000A350 DCB 0 .data:1000A351 DCB 0 .data:1000A352 DCB 0 .data:1000A353 DCB 0 .data:1000A354 DCB 0 .data:1000A355 DCB 0 .data:1000A356 DCB 0 .data:1000A357 DCB 0 .data:1000A358 DCB 0 .data:1000A359 DCB 0 .data:1000A35A DCB 0 .data:1000A35B DCB 0 .data:1000A35C DCB 0 .data:1000A35D DCB 0 .data:1000A35E DCB 0 .data:1000A35F DCB 0 .data:1000A360 DCB 0x43 ; C .data:1000A361 DCB 0 .data:1000A362 DCB 0x72 ; r .data:1000A363 DCB 0 .data:1000A364 DCB 0x69 ; i .data:1000A365 DCB 0 .data:1000A366 DCB 0x74 ; t .data:1000A367 DCB 0 .data:1000A368 DCB 0x53 ; S .data:1000A369 DCB 0 .data:1000A36A DCB 0x65 ; e .data:1000A36B DCB 0 .data:1000A36C DCB 0x63 ; c .data:1000A36D DCB 0 .data:1000A36E DCB 0 .data:1000A36F DCB 0 .data:1000A370 DCB 0 .data:1000A371 DCB 0 .data:1000A372 DCB 0 .data:1000A373 DCB 0 .data:1000A374 DCB 0 .data:1000A375 DCB 0 .data:1000A376 DCB 0 .data:1000A377 DCB 0 .data:1000A378 DCB 0 .data:1000A379 DCB 0 .data:1000A37A DCB 0 .data:1000A37B DCB 0 .data:1000A37C DCB 0 .data:1000A37D DCB 0 .data:1000A37E DCB 0 .data:1000A37F DCB 0 .data:1000A380 DCB 0 .data:1000A381 DCB 0 .data:1000A382 DCB 0 .data:1000A383 DCB 0 .data:1000A384 DCB 0 .data:1000A385 DCB 0 .data:1000A386 DCB 0 .data:1000A387 DCB 0 .data:1000A388 DCB 0 .data:1000A389 DCB 0 .data:1000A38A DCB 0 .data:1000A38B DCB 0 .data:1000A38C DCB 0 .data:1000A38D DCB 0 .data:1000A38E DCB 0 .data:1000A38F DCB 0 .data:1000A390 DCB 0 .data:1000A391 DCB 0 .data:1000A392 DCB 0 .data:1000A393 DCB 0 .data:1000A394 DCB 0 .data:1000A395 DCB 0 .data:1000A396 DCB 0 .data:1000A397 DCB 0 .data:1000A398 DCB 0 .data:1000A399 DCB 0 .data:1000A39A DCB 0 .data:1000A39B DCB 0 .data:1000A39C DCB 0 .data:1000A39D DCB 0 .data:1000A39E DCB 0 .data:1000A39F DCB 0 .data:1000A3A0 DCB 0x46 ; F .data:1000A3A1 DCB 0 .data:1000A3A2 DCB 0x6C ; l .data:1000A3A3 DCB 0 .data:1000A3A4 DCB 0x6F ; o .data:1000A3A5 DCB 0 .data:1000A3A6 DCB 0x77 ; w .data:1000A3A7 DCB 0 .data:1000A3A8 DCB 0x43 ; C .data:1000A3A9 DCB 0 .data:1000A3AA DCB 0x74 ; t .data:1000A3AB DCB 0 .data:1000A3AC DCB 0x72 ; r .data:1000A3AD DCB 0 .data:1000A3AE DCB 0x6C ; l .data:1000A3AF DCB 0 .data:1000A3B0 DCB 0 .data:1000A3B1 DCB 0 .data:1000A3B2 DCB 0 .data:1000A3B3 DCB 0 .data:1000A3B4 DCB 0 .data:1000A3B5 DCB 0 .data:1000A3B6 DCB 0 .data:1000A3B7 DCB 0 .data:1000A3B8 DCB 0 .data:1000A3B9 DCB 0 .data:1000A3BA DCB 0 .data:1000A3BB DCB 0 .data:1000A3BC DCB 0 .data:1000A3BD DCB 0 .data:1000A3BE DCB 0 .data:1000A3BF DCB 0 .data:1000A3C0 DCB 0 .data:1000A3C1 DCB 0 .data:1000A3C2 DCB 0 .data:1000A3C3 DCB 0 .data:1000A3C4 DCB 0 .data:1000A3C5 DCB 0 .data:1000A3C6 DCB 0 .data:1000A3C7 DCB 0 .data:1000A3C8 DCB 0 .data:1000A3C9 DCB 0 .data:1000A3CA DCB 0 .data:1000A3CB DCB 0 .data:1000A3CC DCB 0 .data:1000A3CD DCB 0 .data:1000A3CE DCB 0 .data:1000A3CF DCB 0 .data:1000A3D0 DCB 0 .data:1000A3D1 DCB 0 .data:1000A3D2 DCB 0 .data:1000A3D3 DCB 0 .data:1000A3D4 DCB 0 .data:1000A3D5 DCB 0 .data:1000A3D6 DCB 0 .data:1000A3D7 DCB 0 .data:1000A3D8 DCB 0 .data:1000A3D9 DCB 0 .data:1000A3DA DCB 0 .data:1000A3DB DCB 0 .data:1000A3DC DCB 0 .data:1000A3DD DCB 0 .data:1000A3DE DCB 0 .data:1000A3DF DCB 0 .data:1000A3E0 DCB 0x49 ; I .data:1000A3E1 DCB 0 .data:1000A3E2 DCB 0x6E ; n .data:1000A3E3 DCB 0 .data:1000A3E4 DCB 0x66 ; f .data:1000A3E5 DCB 0 .data:1000A3E6 DCB 0x72 ; r .data:1000A3E7 DCB 0 .data:1000A3E8 DCB 0x61 ; a .data:1000A3E9 DCB 0 .data:1000A3EA DCB 0x72 ; r .data:1000A3EB DCB 0 .data:1000A3EC DCB 0x65 ; e .data:1000A3ED DCB 0 .data:1000A3EE DCB 0x64 ; d .data:1000A3EF DCB 0 .data:1000A3F0 DCB 0 .data:1000A3F1 DCB 0 .data:1000A3F2 DCB 0 .data:1000A3F3 DCB 0 .data:1000A3F4 DCB 0 .data:1000A3F5 DCB 0 .data:1000A3F6 DCB 0 .data:1000A3F7 DCB 0 .data:1000A3F8 DCB 0 .data:1000A3F9 DCB 0 .data:1000A3FA DCB 0 .data:1000A3FB DCB 0 .data:1000A3FC DCB 0 .data:1000A3FD DCB 0 .data:1000A3FE DCB 0 .data:1000A3FF DCB 0 .data:1000A400 DCB 0 .data:1000A401 DCB 0 .data:1000A402 DCB 0 .data:1000A403 DCB 0 .data:1000A404 DCB 0 .data:1000A405 DCB 0 .data:1000A406 DCB 0 .data:1000A407 DCB 0 .data:1000A408 DCB 0 .data:1000A409 DCB 0 .data:1000A40A DCB 0 .data:1000A40B DCB 0 .data:1000A40C DCB 0 .data:1000A40D DCB 0 .data:1000A40E DCB 0 .data:1000A40F DCB 0 .data:1000A410 DCB 0 .data:1000A411 DCB 0 .data:1000A412 DCB 0 .data:1000A413 DCB 0 .data:1000A414 DCB 0 .data:1000A415 DCB 0 .data:1000A416 DCB 0 .data:1000A417 DCB 0 .data:1000A418 DCB 0 .data:1000A419 DCB 0 .data:1000A41A DCB 0 .data:1000A41B DCB 0 .data:1000A41C DCB 0 .data:1000A41D DCB 0 .data:1000A41E DCB 0 .data:1000A41F DCB 0 .data:1000A420 DCB 0x55 ; U .data:1000A421 DCB 0 .data:1000A422 DCB 0x73 ; s .data:1000A423 DCB 0 .data:1000A424 DCB 0x65 ; e .data:1000A425 DCB 0 .data:1000A426 DCB 0x72 ; r .data:1000A427 DCB 0 .data:1000A428 DCB 0x20 .data:1000A429 DCB 0 .data:1000A42A DCB 0x52 ; R .data:1000A42B DCB 0 .data:1000A42C DCB 0x65 ; e .data:1000A42D DCB 0 .data:1000A42E DCB 0x61 ; a .data:1000A42F DCB 0 .data:1000A430 DCB 0x64 ; d .data:1000A431 DCB 0 .data:1000A432 DCB 0 .data:1000A433 DCB 0 .data:1000A434 DCB 0 .data:1000A435 DCB 0 .data:1000A436 DCB 0 .data:1000A437 DCB 0 .data:1000A438 DCB 0 .data:1000A439 DCB 0 .data:1000A43A DCB 0 .data:1000A43B DCB 0 .data:1000A43C DCB 0 .data:1000A43D DCB 0 .data:1000A43E DCB 0 .data:1000A43F DCB 0 .data:1000A440 DCB 0 .data:1000A441 DCB 0 .data:1000A442 DCB 0 .data:1000A443 DCB 0 .data:1000A444 DCB 0 .data:1000A445 DCB 0 .data:1000A446 DCB 0 .data:1000A447 DCB 0 .data:1000A448 DCB 0 .data:1000A449 DCB 0 .data:1000A44A DCB 0 .data:1000A44B DCB 0 .data:1000A44C DCB 0 .data:1000A44D DCB 0 .data:1000A44E DCB 0 .data:1000A44F DCB 0 .data:1000A450 DCB 0 .data:1000A451 DCB 0 .data:1000A452 DCB 0 .data:1000A453 DCB 0 .data:1000A454 DCB 0 .data:1000A455 DCB 0 .data:1000A456 DCB 0 .data:1000A457 DCB 0 .data:1000A458 DCB 0 .data:1000A459 DCB 0 .data:1000A45A DCB 0 .data:1000A45B DCB 0 .data:1000A45C DCB 0 .data:1000A45D DCB 0 .data:1000A45E DCB 0 .data:1000A45F DCB 0 .data:1000A460 DCB 0x41 ; A .data:1000A461 DCB 0 .data:1000A462 DCB 0x6C ; l .data:1000A463 DCB 0 .data:1000A464 DCB 0x6C ; l .data:1000A465 DCB 0 .data:1000A466 DCB 0x6F ; o .data:1000A467 DCB 0 .data:1000A468 DCB 0x63 ; c .data:1000A469 DCB 0 .data:1000A46A DCB 0 .data:1000A46B DCB 0 .data:1000A46C DCB 0 .data:1000A46D DCB 0 .data:1000A46E DCB 0 .data:1000A46F DCB 0 .data:1000A470 DCB 0 .data:1000A471 DCB 0 .data:1000A472 DCB 0 .data:1000A473 DCB 0 .data:1000A474 DCB 0 .data:1000A475 DCB 0 .data:1000A476 DCB 0 .data:1000A477 DCB 0 .data:1000A478 DCB 0 .data:1000A479 DCB 0 .data:1000A47A DCB 0 .data:1000A47B DCB 0 .data:1000A47C DCB 0 .data:1000A47D DCB 0 .data:1000A47E DCB 0 .data:1000A47F DCB 0 .data:1000A480 DCB 0 .data:1000A481 DCB 0 .data:1000A482 DCB 0 .data:1000A483 DCB 0 .data:1000A484 DCB 0 .data:1000A485 DCB 0 .data:1000A486 DCB 0 .data:1000A487 DCB 0 .data:1000A488 DCB 0 .data:1000A489 DCB 0 .data:1000A48A DCB 0 .data:1000A48B DCB 0 .data:1000A48C DCB 0 .data:1000A48D DCB 0 .data:1000A48E DCB 0 .data:1000A48F DCB 0 .data:1000A490 DCB 0 .data:1000A491 DCB 0 .data:1000A492 DCB 0 .data:1000A493 DCB 0 .data:1000A494 DCB 0 .data:1000A495 DCB 0 .data:1000A496 DCB 0 .data:1000A497 DCB 0 .data:1000A498 DCB 0 .data:1000A499 DCB 0 .data:1000A49A DCB 0 .data:1000A49B DCB 0 .data:1000A49C DCB 0 .data:1000A49D DCB 0 .data:1000A49E DCB 0 .data:1000A49F DCB 0 .data:1000A4A0 DCB 0x46 ; F .data:1000A4A1 DCB 0 .data:1000A4A2 DCB 0x75 ; u .data:1000A4A3 DCB 0 .data:1000A4A4 DCB 0x6E ; n .data:1000A4A5 DCB 0 .data:1000A4A6 DCB 0x63 ; c .data:1000A4A7 DCB 0 .data:1000A4A8 DCB 0x74 ; t .data:1000A4A9 DCB 0 .data:1000A4AA DCB 0x69 ; i .data:1000A4AB DCB 0 .data:1000A4AC DCB 0x6F ; o .data:1000A4AD DCB 0 .data:1000A4AE DCB 0x6E ; n .data:1000A4AF DCB 0 .data:1000A4B0 DCB 0 .data:1000A4B1 DCB 0 .data:1000A4B2 DCB 0 .data:1000A4B3 DCB 0 .data:1000A4B4 DCB 0 .data:1000A4B5 DCB 0 .data:1000A4B6 DCB 0 .data:1000A4B7 DCB 0 .data:1000A4B8 DCB 0 .data:1000A4B9 DCB 0 .data:1000A4BA DCB 0 .data:1000A4BB DCB 0 .data:1000A4BC DCB 0 .data:1000A4BD DCB 0 .data:1000A4BE DCB 0 .data:1000A4BF DCB 0 .data:1000A4C0 DCB 0 .data:1000A4C1 DCB 0 .data:1000A4C2 DCB 0 .data:1000A4C3 DCB 0 .data:1000A4C4 DCB 0 .data:1000A4C5 DCB 0 .data:1000A4C6 DCB 0 .data:1000A4C7 DCB 0 .data:1000A4C8 DCB 0 .data:1000A4C9 DCB 0 .data:1000A4CA DCB 0 .data:1000A4CB DCB 0 .data:1000A4CC DCB 0 .data:1000A4CD DCB 0 .data:1000A4CE DCB 0 .data:1000A4CF DCB 0 .data:1000A4D0 DCB 0 .data:1000A4D1 DCB 0 .data:1000A4D2 DCB 0 .data:1000A4D3 DCB 0 .data:1000A4D4 DCB 0 .data:1000A4D5 DCB 0 .data:1000A4D6 DCB 0 .data:1000A4D7 DCB 0 .data:1000A4D8 DCB 0 .data:1000A4D9 DCB 0 .data:1000A4DA DCB 0 .data:1000A4DB DCB 0 .data:1000A4DC DCB 0 .data:1000A4DD DCB 0 .data:1000A4DE DCB 0 .data:1000A4DF DCB 0 .data:1000A4E0 DCB 0x57 ; W .data:1000A4E1 DCB 0 .data:1000A4E2 DCB 0x61 ; a .data:1000A4E3 DCB 0 .data:1000A4E4 DCB 0x72 ; r .data:1000A4E5 DCB 0 .data:1000A4E6 DCB 0x6E ; n .data:1000A4E7 DCB 0 .data:1000A4E8 DCB 0x69 ; i .data:1000A4E9 DCB 0 .data:1000A4EA DCB 0x6E ; n .data:1000A4EB DCB 0 .data:1000A4EC DCB 0x67 ; g .data:1000A4ED DCB 0 .data:1000A4EE DCB 0 .data:1000A4EF DCB 0 .data:1000A4F0 DCB 0 .data:1000A4F1 DCB 0 .data:1000A4F2 DCB 0 .data:1000A4F3 DCB 0 .data:1000A4F4 DCB 0 .data:1000A4F5 DCB 0 .data:1000A4F6 DCB 0 .data:1000A4F7 DCB 0 .data:1000A4F8 DCB 0 .data:1000A4F9 DCB 0 .data:1000A4FA DCB 0 .data:1000A4FB DCB 0 .data:1000A4FC DCB 0 .data:1000A4FD DCB 0 .data:1000A4FE DCB 0 .data:1000A4FF DCB 0 .data:1000A500 DCB 0 .data:1000A501 DCB 0 .data:1000A502 DCB 0 .data:1000A503 DCB 0 .data:1000A504 DCB 0 .data:1000A505 DCB 0 .data:1000A506 DCB 0 .data:1000A507 DCB 0 .data:1000A508 DCB 0 .data:1000A509 DCB 0 .data:1000A50A DCB 0 .data:1000A50B DCB 0 .data:1000A50C DCB 0 .data:1000A50D DCB 0 .data:1000A50E DCB 0 .data:1000A50F DCB 0 .data:1000A510 DCB 0 .data:1000A511 DCB 0 .data:1000A512 DCB 0 .data:1000A513 DCB 0 .data:1000A514 DCB 0 .data:1000A515 DCB 0 .data:1000A516 DCB 0 .data:1000A517 DCB 0 .data:1000A518 DCB 0 .data:1000A519 DCB 0 .data:1000A51A DCB 0 .data:1000A51B DCB 0 .data:1000A51C DCB 0 .data:1000A51D DCB 0 .data:1000A51E DCB 0 .data:1000A51F DCB 0 .data:1000A520 DCB 0x45 ; E .data:1000A521 DCB 0 .data:1000A522 DCB 0x72 ; r .data:1000A523 DCB 0 .data:1000A524 DCB 0x72 ; r .data:1000A525 DCB 0 .data:1000A526 DCB 0x6F ; o .data:1000A527 DCB 0 .data:1000A528 DCB 0x72 ; r .data:1000A529 DCB 0 .data:1000A52A DCB 0 .data:1000A52B DCB 0 .data:1000A52C DCB 0 .data:1000A52D DCB 0 .data:1000A52E DCB 0 .data:1000A52F DCB 0 .data:1000A530 DCB 0 .data:1000A531 DCB 0 .data:1000A532 DCB 0 .data:1000A533 DCB 0 .data:1000A534 DCB 0 .data:1000A535 DCB 0 .data:1000A536 DCB 0 .data:1000A537 DCB 0 .data:1000A538 DCB 0 .data:1000A539 DCB 0 .data:1000A53A DCB 0 .data:1000A53B DCB 0 .data:1000A53C DCB 0 .data:1000A53D DCB 0 .data:1000A53E DCB 0 .data:1000A53F DCB 0 .data:1000A540 DCB 0 .data:1000A541 DCB 0 .data:1000A542 DCB 0 .data:1000A543 DCB 0 .data:1000A544 DCB 0 .data:1000A545 DCB 0 .data:1000A546 DCB 0 .data:1000A547 DCB 0 .data:1000A548 DCB 0 .data:1000A549 DCB 0 .data:1000A54A DCB 0 .data:1000A54B DCB 0 .data:1000A54C DCB 0 .data:1000A54D DCB 0 .data:1000A54E DCB 0 .data:1000A54F DCB 0 .data:1000A550 DCB 0 .data:1000A551 DCB 0 .data:1000A552 DCB 0 .data:1000A553 DCB 0 .data:1000A554 DCB 0 .data:1000A555 DCB 0 .data:1000A556 DCB 0 .data:1000A557 DCB 0 .data:1000A558 DCB 0 .data:1000A559 DCB 0 .data:1000A55A DCB 0 .data:1000A55B DCB 0 .data:1000A55C DCB 0 .data:1000A55D DCB 0 .data:1000A55E DCB 0 .data:1000A55F DCB 0 .data:1000A560 DCB 0 .data:1000A561 DCB 0 .data:1000A562 DCB 0 .data:1000A563 DCB 0 .data:1000A564 unk_1000A564 DCB 0 ; DATA XREF: .text:off_100054E4o .data:1000A564 ; .text:off_10005538o .data:1000A565 DCB 0 .data:1000A566 DCB 0 .data:1000A567 DCB 0 .data:1000A568 DCB 1 .data:1000A569 DCB 0 .data:1000A56A DCB 0 .data:1000A56B DCB 0 .data:1000A56C DCB 0x40 ; @ .data:1000A56D DCB 0 .data:1000A56E DCB 0 .data:1000A56F DCB 0 .data:1000A570 DCB 8 .data:1000A571 DCB 0 .data:1000A572 DCB 0 .data:1000A573 DCB 0 .data:1000A574 DCB 0x80 ; Ç .data:1000A575 DCB 0 .data:1000A576 DCB 0 .data:1000A577 DCB 0 .data:1000A578 DCB 0x10 .data:1000A579 DCB 0 .data:1000A57A DCB 0 .data:1000A57B DCB 0 .data:1000A57C DCB 0xC0 ; + .data:1000A57D DCB 0 .data:1000A57E DCB 0 .data:1000A57F DCB 0 .data:1000A580 DCB 0x20 .data:1000A581 DCB 0 .data:1000A582 DCB 0 .data:1000A583 DCB 0 .data:1000A584 unk_1000A584 DCB 0 ; DATA XREF: .text:off_10006694o .data:1000A584 ; .text:off_100066E8o .data:1000A585 DCB 0 .data:1000A586 DCB 0 .data:1000A587 DCB 0 .data:1000A588 DCB 0 .data:1000A589 DCB 0 .data:1000A58A DCB 0 .data:1000A58B DCB 0 .data:1000A58C DCB 0x40 ; @ .data:1000A58D DCB 0 .data:1000A58E DCB 0 .data:1000A58F DCB 0 .data:1000A590 DCB 4 .data:1000A591 DCB 0 .data:1000A592 DCB 0 .data:1000A593 DCB 0 .data:1000A594 DCB 0x80 ; Ç .data:1000A595 DCB 0 .data:1000A596 DCB 0 .data:1000A597 DCB 0 .data:1000A598 DCB 8 .data:1000A599 DCB 0 .data:1000A59A DCB 0 .data:1000A59B DCB 0 .data:1000A59C DCB 0xC0 ; + .data:1000A59D DCB 0 .data:1000A59E DCB 0 .data:1000A59F DCB 0 .data:1000A5A0 DCB 0xE .data:1000A5A1 DCB 0 .data:1000A5A2 DCB 0 .data:1000A5A3 DCB 0 .data:1000A5A4 unk_1000A5A4 DCB 0x9B ; ø ; DATA XREF: .text:off_10008E70o .data:1000A5A4 ; .text:off_10008EC0o .data:1000A5A5 DCB 0x4F ; O .data:1000A5A6 DCB 0xFF .data:1000A5A7 DCB 0xFF .data:1000A5A8 unk_1000A5A8 DCB 0x64 ; d ; DATA XREF: .text:off_10004298o .data:1000A5A8 ; .text:off_100051B0o ... .data:1000A5A9 DCB 0xB0 ; ¦ .data:1000A5AA DCB 0 .data:1000A5AB DCB 0 .data:1000A5AC unk_1000A5AC DCB 0 ; DATA XREF: .text:off_1000256Co .data:1000A5AD DCB 0 .data:1000A5AE DCB 0 .data:1000A5AF DCB 0 .data:1000A5B0 unk_1000A5B0 DCB 0 ; DATA XREF: .text:off_10002CB0o .data:1000A5B0 ; .text:off_10002E8Co ... .data:1000A5B1 DCB 0 .data:1000A5B2 DCB 0 .data:1000A5B3 DCB 0 .data:1000A5B4 unk_1000A5B4 DCB 0 ; DATA XREF: .text:off_1000329Co .data:1000A5B4 ; .text:off_1000331Co ... .data:1000A5B5 DCB 0 .data:1000A5B6 DCB 0 .data:1000A5B7 DCB 0 .data:1000A5B8 DCB 0 .data:1000A5B9 DCB 0 .data:1000A5BA DCB 0 .data:1000A5BB DCB 0 .data:1000A5BC DCB 0 .data:1000A5BD DCB 0 .data:1000A5BE DCB 0 .data:1000A5BF DCB 0 .data:1000A5C0 DCB 0 .data:1000A5C1 DCB 0 .data:1000A5C2 DCB 0 .data:1000A5C3 DCB 0 .data:1000A5C4 DCB 0 .data:1000A5C5 DCB 0 .data:1000A5C6 DCB 0 .data:1000A5C7 DCB 0 .data:1000A5C8 DCB 0 .data:1000A5C9 DCB 0 .data:1000A5CA DCB 0 .data:1000A5CB DCB 0 .data:1000A5CC DCB 0 .data:1000A5CD DCB 0 .data:1000A5CE DCB 0 .data:1000A5CF DCB 0 .data:1000A5D0 DCB 0 .data:1000A5D1 DCB 0 .data:1000A5D2 DCB 0 .data:1000A5D3 DCB 0 .data:1000A5D4 DCB 0 .data:1000A5D5 DCB 0 .data:1000A5D6 DCB 0 .data:1000A5D7 DCB 0 .data:1000A5D8 DCB 0 .data:1000A5D9 DCB 0 .data:1000A5DA DCB 0 .data:1000A5DB DCB 0 .data:1000A5DC DCB 0 .data:1000A5DD DCB 0 .data:1000A5DE DCB 0 .data:1000A5DF DCB 0 .data:1000A5E0 DCB 0 .data:1000A5E1 DCB 0 .data:1000A5E2 DCB 0 .data:1000A5E3 DCB 0 .data:1000A5E4 DCB 0 .data:1000A5E5 DCB 0 .data:1000A5E6 DCB 0 .data:1000A5E7 DCB 0 .data:1000A5E8 DCB 0 .data:1000A5E9 DCB 0 .data:1000A5EA DCB 0 .data:1000A5EB DCB 0 .data:1000A5EC DCB 0 .data:1000A5ED DCB 0 .data:1000A5EE DCB 0 .data:1000A5EF DCB 0 .data:1000A5F0 DCB 0 .data:1000A5F1 DCB 0 .data:1000A5F2 DCB 0 .data:1000A5F3 DCB 0 .data:1000A5F4 DCB 0 .data:1000A5F5 DCB 0 .data:1000A5F6 DCB 0 .data:1000A5F7 DCB 0 .data:1000A5F8 DCB 0 .data:1000A5F9 DCB 0 .data:1000A5FA DCB 0 .data:1000A5FB DCB 0 .data:1000A5FC DCB 0 .data:1000A5FD DCB 0 .data:1000A5FE DCB 0 .data:1000A5FF DCB 0 .data:1000A5FF ; _data ends .data:1000A5FF .pdata:1000B000 ; Section 3. (virtual address 0000B000) .pdata:1000B000 ; Virtual size : 000007E0 ( 2016.) .pdata:1000B000 ; Section size in file : 00000800 ( 2048.) .pdata:1000B000 ; Offset to raw data for section: 00008C00 .pdata:1000B000 ; Flags 40000040: Data Readable .pdata:1000B000 ; Alignment : default .pdata:1000B000 ; =========================================================================== .pdata:1000B000 .pdata:1000B000 ; Segment type: Pure data .pdata:1000B000 AREA .pdata, DATA, READONLY, ALIGN=4 .pdata:1000B000 ; ORG 0x1000B000 .pdata:1000B000 DCD sub_100019DC .pdata:1000B004 DCB 0 .pdata:1000B005 DCB 2 .pdata:1000B006 DCB 0 .pdata:1000B007 DCB 0x40 ; @ .pdata:1000B008 DCD sub_100019E4 .pdata:1000B00C DCB 1 .pdata:1000B00D DCB 9 .pdata:1000B00E DCB 0 .pdata:1000B00F DCB 0x40 ; @ .pdata:1000B010 DCD sub_10001A08 .pdata:1000B014 DCB 0 .pdata:1000B015 DCB 2 .pdata:1000B016 DCB 0 .pdata:1000B017 DCB 0x40 ; @ .pdata:1000B018 DCD sub_10001A10 .pdata:1000B01C DCB 1 .pdata:1000B01D DCB 0xB .pdata:1000B01E DCB 0 .pdata:1000B01F DCB 0x40 ; @ .pdata:1000B020 DCD sub_10001A3C .pdata:1000B024 DCB 1 .pdata:1000B025 DCB 0xB .pdata:1000B026 DCB 0 .pdata:1000B027 DCB 0x40 ; @ .pdata:1000B028 DCD sub_10001A68 .pdata:1000B02C DCB 0 .pdata:1000B02D DCB 7 .pdata:1000B02E DCB 0 .pdata:1000B02F DCB 0x40 ; @ .pdata:1000B030 DCD sub_10001A84 .pdata:1000B034 DCB 1 .pdata:1000B035 DCB 8 .pdata:1000B036 DCB 0 .pdata:1000B037 DCB 0x40 ; @ .pdata:1000B038 DCD sub_10001AA4 .pdata:1000B03C DCB 1 .pdata:1000B03D DCB 7 .pdata:1000B03E DCB 0 .pdata:1000B03F DCB 0x40 ; @ .pdata:1000B040 DCD sub_10001AC0 .pdata:1000B044 DCB 1 .pdata:1000B045 DCB 4 .pdata:1000B046 DCB 0 .pdata:1000B047 DCB 0x40 ; @ .pdata:1000B048 DCD sub_10001AD0 .pdata:1000B04C DCB 1 .pdata:1000B04D DCB 0x11 .pdata:1000B04E DCB 0 .pdata:1000B04F DCB 0x40 ; @ .pdata:1000B050 DCD sub_10001B14 .pdata:1000B054 DCB 1 .pdata:1000B055 DCB 0x15 .pdata:1000B056 DCB 0 .pdata:1000B057 DCB 0x40 ; @ .pdata:1000B058 DCD sub_10001B68 .pdata:1000B05C DCB 1 .pdata:1000B05D DCB 0x31 ; 1 .pdata:1000B05E DCB 0 .pdata:1000B05F DCB 0x40 ; @ .pdata:1000B060 DCD sub_10001C2C .pdata:1000B064 DCB 1 .pdata:1000B065 DCB 0x18 .pdata:1000B066 DCB 0 .pdata:1000B067 DCB 0x40 ; @ .pdata:1000B068 DCD sub_10001C8C .pdata:1000B06C DCB 1 .pdata:1000B06D DCB 0x16 .pdata:1000B06E DCB 0 .pdata:1000B06F DCB 0x40 ; @ .pdata:1000B070 DCD sub_10001CE4 .pdata:1000B074 DCB 0 .pdata:1000B075 DCB 0x1E .pdata:1000B076 DCB 0 .pdata:1000B077 DCB 0x40 ; @ .pdata:1000B078 DCD sub_10001D5C .pdata:1000B07C DCB 1 .pdata:1000B07D DCB 0xA .pdata:1000B07E DCB 0 .pdata:1000B07F DCB 0x40 ; @ .pdata:1000B080 DCD sub_10001D84 .pdata:1000B084 DCB 1 .pdata:1000B085 DCB 0x11 .pdata:1000B086 DCB 0 .pdata:1000B087 DCB 0x40 ; @ .pdata:1000B088 DCD sub_10001DC8 .pdata:1000B08C DCB 0 .pdata:1000B08D DCB 8 .pdata:1000B08E DCB 0 .pdata:1000B08F DCB 0x40 ; @ .pdata:1000B090 DCD sub_10001DE8 .pdata:1000B094 DCB 1 .pdata:1000B095 DCB 0x16 .pdata:1000B096 DCB 0 .pdata:1000B097 DCB 0x40 ; @ .pdata:1000B098 DCD sub_10001E40 .pdata:1000B09C DCB 1 .pdata:1000B09D DCB 0xA .pdata:1000B09E DCB 0 .pdata:1000B09F DCB 0x40 ; @ .pdata:1000B0A0 DCD sub_10001E68 .pdata:1000B0A4 DCB 1 .pdata:1000B0A5 DCB 0x11 .pdata:1000B0A6 DCB 0 .pdata:1000B0A7 DCB 0x40 ; @ .pdata:1000B0A8 DCD sub_10001EAC .pdata:1000B0AC DCB 1 .pdata:1000B0AD DCB 0xA .pdata:1000B0AE DCB 0 .pdata:1000B0AF DCB 0x40 ; @ .pdata:1000B0B0 DCD sub_10001ED4 .pdata:1000B0B4 DCB 1 .pdata:1000B0B5 DCB 0x56 ; V .pdata:1000B0B6 DCB 0 .pdata:1000B0B7 DCB 0x40 ; @ .pdata:1000B0B8 DCD sub_1000202C .pdata:1000B0BC DCB 1 .pdata:1000B0BD DCB 9 .pdata:1000B0BE DCB 0 .pdata:1000B0BF DCB 0x40 ; @ .pdata:1000B0C0 DCD sub_10002050 .pdata:1000B0C4 DCB 1 .pdata:1000B0C5 DCB 0x22 ; " .pdata:1000B0C6 DCB 0 .pdata:1000B0C7 DCB 0x40 ; @ .pdata:1000B0C8 DCD sub_100020D8 .pdata:1000B0CC DCB 1 .pdata:1000B0CD DCB 0xA .pdata:1000B0CE DCB 0 .pdata:1000B0CF DCB 0x40 ; @ .pdata:1000B0D0 DCD sub_10002100 .pdata:1000B0D4 DCB 1 .pdata:1000B0D5 DCB 0x2F ; / .pdata:1000B0D6 DCB 0 .pdata:1000B0D7 DCB 0x40 ; @ .pdata:1000B0D8 DCD sub_100021BC .pdata:1000B0DC DCB 1 .pdata:1000B0DD DCB 0x1B .pdata:1000B0DE DCB 0 .pdata:1000B0DF DCB 0x40 ; @ .pdata:1000B0E0 DCD sub_10002228 .pdata:1000B0E4 DCB 1 .pdata:1000B0E5 DCB 0x2F ; / .pdata:1000B0E6 DCB 0 .pdata:1000B0E7 DCB 0x40 ; @ .pdata:1000B0E8 DCD sub_100022E4 .pdata:1000B0EC DCB 1 .pdata:1000B0ED DCB 0x1B .pdata:1000B0EE DCB 0 .pdata:1000B0EF DCB 0x40 ; @ .pdata:1000B0F0 DCD start .pdata:1000B0F4 DCB 1 .pdata:1000B0F5 DCB 6 .pdata:1000B0F6 DCB 0 .pdata:1000B0F7 DCB 0x40 ; @ .pdata:1000B0F8 DCD sub_10002368 .pdata:1000B0FC DCB 1 .pdata:1000B0FD DCB 0xD .pdata:1000B0FE DCB 0 .pdata:1000B0FF DCB 0x40 ; @ .pdata:1000B100 DCD sub_1000239C .pdata:1000B104 DCB 1 .pdata:1000B105 DCB 0x75 ; u .pdata:1000B106 DCB 0 .pdata:1000B107 DCB 0x40 ; @ .pdata:1000B108 DCD sub_10002570 .pdata:1000B10C DCB 1 .pdata:1000B10D DCB 0x15 .pdata:1000B10E DCB 0 .pdata:1000B10F DCB 0x40 ; @ .pdata:1000B110 DCD sub_100025C4 .pdata:1000B114 DCB 1 .pdata:1000B115 DCB 0x15 .pdata:1000B116 DCB 0 .pdata:1000B117 DCB 0x40 ; @ .pdata:1000B118 DCD sub_10002618 .pdata:1000B11C DCB 1 .pdata:1000B11D DCB 0x15 .pdata:1000B11E DCB 0 .pdata:1000B11F DCB 0x40 ; @ .pdata:1000B120 DCD sub_1000266C .pdata:1000B124 DCB 1 .pdata:1000B125 DCB 0x15 .pdata:1000B126 DCB 0 .pdata:1000B127 DCB 0x40 ; @ .pdata:1000B128 DCD sub_100026C0 .pdata:1000B12C DCB 2 .pdata:1000B12D DCB 0x50 ; P .pdata:1000B12E DCB 0 .pdata:1000B12F DCB 0x40 ; @ .pdata:1000B130 DCD sub_10002800 .pdata:1000B134 DCB 1 .pdata:1000B135 DCB 0x25 ; % .pdata:1000B136 DCB 0 .pdata:1000B137 DCB 0x40 ; @ .pdata:1000B138 DCD sub_10002894 .pdata:1000B13C DCB 1 .pdata:1000B13D DCB 0x81 ; ü .pdata:1000B13E DCB 0 .pdata:1000B13F DCB 0x40 ; @ .pdata:1000B140 DCD COM_PreClose .pdata:1000B144 DCB 1 .pdata:1000B145 DCB 0x2E ; . .pdata:1000B146 DCB 0 .pdata:1000B147 DCB 0x40 ; @ .pdata:1000B148 DCD COM_Close .pdata:1000B14C DCB 1 .pdata:1000B14D DCB 0x59 ; Y .pdata:1000B14E DCB 0 .pdata:1000B14F DCB 0x40 ; @ .pdata:1000B150 DCD sub_10002CB4 .pdata:1000B154 DCB 1 .pdata:1000B155 DCB 0xD .pdata:1000B156 DCB 0 .pdata:1000B157 DCB 0x40 ; @ .pdata:1000B158 DCD COM_PreDeinit .pdata:1000B15C DCB 1 .pdata:1000B15D DCB 0x1A .pdata:1000B15E DCB 0 .pdata:1000B15F DCB 0x40 ; @ .pdata:1000B160 DCD COM_Deinit .pdata:1000B164 DCB 1 .pdata:1000B165 DCB 0x50 ; P .pdata:1000B166 DCB 0 .pdata:1000B167 DCB 0x40 ; @ .pdata:1000B168 DCD COM_Read .pdata:1000B16C DCB 2 .pdata:1000B16D DCB 0xE2 ; Ô .pdata:1000B16E DCB 0 .pdata:1000B16F DCB 0x40 ; @ .pdata:1000B170 DCD COM_Seek .pdata:1000B174 DCB 0 .pdata:1000B175 DCB 2 .pdata:1000B176 DCB 0 .pdata:1000B177 DCB 0x40 ; @ .pdata:1000B178 DCD COM_PowerUp .pdata:1000B17C DCB 1 .pdata:1000B17D DCB 0x20 .pdata:1000B17E DCB 0 .pdata:1000B17F DCB 0x40 ; @ .pdata:1000B180 DCD COM_PowerDown .pdata:1000B184 DCB 1 .pdata:1000B185 DCB 0x20 .pdata:1000B186 DCB 0 .pdata:1000B187 DCB 0x40 ; @ .pdata:1000B188 DCD sub_10003328 .pdata:1000B18C DCB 5 .pdata:1000B18D DCB 0x52 ; R .pdata:1000B18E DCB 0 .pdata:1000B18F DCB 0xC0 ; + .pdata:1000B190 DCD sub_10003470 .pdata:1000B194 DCB 0 .pdata:1000B195 DCB 2 .pdata:1000B196 DCB 0 .pdata:1000B197 DCB 0x40 ; @ .pdata:1000B198 DCD sub_10003478 .pdata:1000B19C DCB 1 .pdata:1000B19D DCB 0x28 ; ( .pdata:1000B19E DCB 0 .pdata:1000B19F DCB 0x40 ; @ .pdata:1000B1A0 DCD COM_IOControl .pdata:1000B1A4 DCB 2 .pdata:1000B1A5 DCB 0x76 ; v .pdata:1000B1A6 DCB 2 .pdata:1000B1A7 DCB 0x40 ; @ .pdata:1000B1A8 DCD sub_10003EF0 .pdata:1000B1AC DCB 2 .pdata:1000B1AD DCB 0xEB ; Ù .pdata:1000B1AE DCB 0 .pdata:1000B1AF DCB 0x40 ; @ .pdata:1000B1B0 DCD sub_1000429C .pdata:1000B1B4 DCB 1 .pdata:1000B1B5 DCB 0x1B .pdata:1000B1B6 DCB 0 .pdata:1000B1B7 DCB 0x40 ; @ .pdata:1000B1B8 DCD sub_10004308 .pdata:1000B1BC DCB 2 .pdata:1000B1BD DCB 0x24 ; $ .pdata:1000B1BE DCB 0 .pdata:1000B1BF DCB 0x40 ; @ .pdata:1000B1C0 DCD COM_Init .pdata:1000B1C4 DCB 2 .pdata:1000B1C5 DCB 0xAC ; ¼ .pdata:1000B1C6 DCB 0 .pdata:1000B1C7 DCB 0x40 ; @ .pdata:1000B1C8 DCD COM_Open .pdata:1000B1CC DCB 1 .pdata:1000B1CD DCB 0xB6 ; Â .pdata:1000B1CE DCB 0 .pdata:1000B1CF DCB 0x40 ; @ .pdata:1000B1D0 DCD COM_Write .pdata:1000B1D4 DCB 1 .pdata:1000B1D5 DCB 0x5E ; ^ .pdata:1000B1D6 DCB 0 .pdata:1000B1D7 DCB 0x40 ; @ .pdata:1000B1D8 DCD sub_10004A98 .pdata:1000B1DC DCB 4 .pdata:1000B1DD DCB 0x14 .pdata:1000B1DE DCB 0 .pdata:1000B1DF DCB 0x40 ; @ .pdata:1000B1E0 DCD sub_10004AE8 .pdata:1000B1E4 DCB 0 .pdata:1000B1E5 DCB 3 .pdata:1000B1E6 DCB 0 .pdata:1000B1E7 DCB 0x40 ; @ .pdata:1000B1E8 DCD sub_10004AF4 .pdata:1000B1EC DCB 0 .pdata:1000B1ED DCB 5 .pdata:1000B1EE DCB 0 .pdata:1000B1EF DCB 0x40 ; @ .pdata:1000B1F0 DCD sub_10004B08 .pdata:1000B1F4 DCB 1 .pdata:1000B1F5 DCB 5 .pdata:1000B1F6 DCB 0 .pdata:1000B1F7 DCB 0x40 ; @ .pdata:1000B1F8 DCD sub_10004B1C .pdata:1000B1FC DCB 1 .pdata:1000B1FD DCB 5 .pdata:1000B1FE DCB 0 .pdata:1000B1FF DCB 0x40 ; @ .pdata:1000B200 DCD sub_10004B30 .pdata:1000B204 DCB 1 .pdata:1000B205 DCB 5 .pdata:1000B206 DCB 0 .pdata:1000B207 DCB 0x40 ; @ .pdata:1000B208 DCD sub_10004B44 .pdata:1000B20C DCB 1 .pdata:1000B20D DCB 5 .pdata:1000B20E DCB 0 .pdata:1000B20F DCB 0x40 ; @ .pdata:1000B210 DCD sub_10004B58 .pdata:1000B214 DCB 1 .pdata:1000B215 DCB 8 .pdata:1000B216 DCB 0 .pdata:1000B217 DCB 0x40 ; @ .pdata:1000B218 DCD sub_10004B78 .pdata:1000B21C DCB 0 .pdata:1000B21D DCB 2 .pdata:1000B21E DCB 0 .pdata:1000B21F DCB 0x40 ; @ .pdata:1000B220 DCD sub_10004B80 .pdata:1000B224 DCB 1 .pdata:1000B225 DCB 5 .pdata:1000B226 DCB 0 .pdata:1000B227 DCB 0x40 ; @ .pdata:1000B228 DCD sub_10004B94 .pdata:1000B22C DCB 1 .pdata:1000B22D DCB 5 .pdata:1000B22E DCB 0 .pdata:1000B22F DCB 0x40 ; @ .pdata:1000B230 DCD sub_10004BA8 .pdata:1000B234 DCB 1 .pdata:1000B235 DCB 5 .pdata:1000B236 DCB 0 .pdata:1000B237 DCB 0x40 ; @ .pdata:1000B238 DCD sub_10004BBC .pdata:1000B23C DCB 1 .pdata:1000B23D DCB 5 .pdata:1000B23E DCB 0 .pdata:1000B23F DCB 0x40 ; @ .pdata:1000B240 DCD sub_10004BD0 .pdata:1000B244 DCB 1 .pdata:1000B245 DCB 5 .pdata:1000B246 DCB 0 .pdata:1000B247 DCB 0x40 ; @ .pdata:1000B248 DCD sub_10004BE4 .pdata:1000B24C DCB 1 .pdata:1000B24D DCB 5 .pdata:1000B24E DCB 0 .pdata:1000B24F DCB 0x40 ; @ .pdata:1000B250 DCD sub_10004BF8 .pdata:1000B254 DCB 1 .pdata:1000B255 DCB 5 .pdata:1000B256 DCB 0 .pdata:1000B257 DCB 0x40 ; @ .pdata:1000B258 DCD sub_10004C0C .pdata:1000B25C DCB 1 .pdata:1000B25D DCB 5 .pdata:1000B25E DCB 0 .pdata:1000B25F DCB 0x40 ; @ .pdata:1000B260 DCD sub_10004C20 .pdata:1000B264 DCB 1 .pdata:1000B265 DCB 5 .pdata:1000B266 DCB 0 .pdata:1000B267 DCB 0x40 ; @ .pdata:1000B268 DCD sub_10004C34 .pdata:1000B26C DCB 1 .pdata:1000B26D DCB 5 .pdata:1000B26E DCB 0 .pdata:1000B26F DCB 0x40 ; @ .pdata:1000B270 DCD sub_10004C48 .pdata:1000B274 DCB 1 .pdata:1000B275 DCB 5 .pdata:1000B276 DCB 0 .pdata:1000B277 DCB 0x40 ; @ .pdata:1000B278 DCD sub_10004C5C .pdata:1000B27C DCB 1 .pdata:1000B27D DCB 0xA .pdata:1000B27E DCB 0 .pdata:1000B27F DCB 0x40 ; @ .pdata:1000B280 DCD sub_10004C84 .pdata:1000B284 DCB 1 .pdata:1000B285 DCB 8 .pdata:1000B286 DCB 0 .pdata:1000B287 DCB 0x40 ; @ .pdata:1000B288 DCD sub_10004CA4 .pdata:1000B28C DCB 0 .pdata:1000B28D DCB 5 .pdata:1000B28E DCB 0 .pdata:1000B28F DCB 0x40 ; @ .pdata:1000B290 DCD sub_10004CB8 .pdata:1000B294 DCB 1 .pdata:1000B295 DCB 5 .pdata:1000B296 DCB 0 .pdata:1000B297 DCB 0x40 ; @ .pdata:1000B298 DCD sub_10004CCC .pdata:1000B29C DCB 1 .pdata:1000B29D DCB 6 .pdata:1000B29E DCB 0 .pdata:1000B29F DCB 0x40 ; @ .pdata:1000B2A0 DCD sub_10004CE4 .pdata:1000B2A4 DCB 1 .pdata:1000B2A5 DCB 6 .pdata:1000B2A6 DCB 0 .pdata:1000B2A7 DCB 0x40 ; @ .pdata:1000B2A8 DCD sub_10004CFC .pdata:1000B2AC DCB 1 .pdata:1000B2AD DCB 7 .pdata:1000B2AE DCB 0 .pdata:1000B2AF DCB 0x40 ; @ .pdata:1000B2B0 DCD sub_10004D18 .pdata:1000B2B4 DCB 1 .pdata:1000B2B5 DCB 9 .pdata:1000B2B6 DCB 0 .pdata:1000B2B7 DCB 0x40 ; @ .pdata:1000B2B8 DCD sub_10004D3C .pdata:1000B2BC DCB 0 .pdata:1000B2BD DCB 2 .pdata:1000B2BE DCB 0 .pdata:1000B2BF DCB 0x40 ; @ .pdata:1000B2C0 DCD sub_10004D44 .pdata:1000B2C4 DCB 1 .pdata:1000B2C5 DCB 7 .pdata:1000B2C6 DCB 0 .pdata:1000B2C7 DCB 0x40 ; @ .pdata:1000B2C8 DCD sub_10004D60 .pdata:1000B2CC DCB 1 .pdata:1000B2CD DCB 6 .pdata:1000B2CE DCB 0 .pdata:1000B2CF DCB 0x40 ; @ .pdata:1000B2D0 DCD sub_10004D78 .pdata:1000B2D4 DCB 1 .pdata:1000B2D5 DCB 7 .pdata:1000B2D6 DCB 0 .pdata:1000B2D7 DCB 0x40 ; @ .pdata:1000B2D8 DCD sub_10004D94 .pdata:1000B2DC DCB 1 .pdata:1000B2DD DCB 6 .pdata:1000B2DE DCB 0 .pdata:1000B2DF DCB 0x40 ; @ .pdata:1000B2E0 DCD sub_10004DAC .pdata:1000B2E4 DCB 1 .pdata:1000B2E5 DCB 7 .pdata:1000B2E6 DCB 0 .pdata:1000B2E7 DCB 0x40 ; @ .pdata:1000B2E8 DCD sub_10004DC8 .pdata:1000B2EC DCB 1 .pdata:1000B2ED DCB 6 .pdata:1000B2EE DCB 0 .pdata:1000B2EF DCB 0x40 ; @ .pdata:1000B2F0 DCD sub_10004DE0 .pdata:1000B2F4 DCB 1 .pdata:1000B2F5 DCB 7 .pdata:1000B2F6 DCB 0 .pdata:1000B2F7 DCB 0x40 ; @ .pdata:1000B2F8 DCD sub_10004DFC .pdata:1000B2FC DCB 1 .pdata:1000B2FD DCB 6 .pdata:1000B2FE DCB 0 .pdata:1000B2FF DCB 0x40 ; @ .pdata:1000B300 DCD sub_10004E14 .pdata:1000B304 DCB 1 .pdata:1000B305 DCB 7 .pdata:1000B306 DCB 0 .pdata:1000B307 DCB 0x40 ; @ .pdata:1000B308 DCD sub_10004E30 .pdata:1000B30C DCB 1 .pdata:1000B30D DCB 6 .pdata:1000B30E DCB 0 .pdata:1000B30F DCB 0x40 ; @ .pdata:1000B310 DCD sub_10004E48 .pdata:1000B314 DCB 1 .pdata:1000B315 DCB 7 .pdata:1000B316 DCB 0 .pdata:1000B317 DCB 0x40 ; @ .pdata:1000B318 DCD sub_10004E64 .pdata:1000B31C DCB 1 .pdata:1000B31D DCB 6 .pdata:1000B31E DCB 0 .pdata:1000B31F DCB 0x40 ; @ .pdata:1000B320 DCD sub_10004E7C .pdata:1000B324 DCB 1 .pdata:1000B325 DCB 7 .pdata:1000B326 DCB 0 .pdata:1000B327 DCB 0x40 ; @ .pdata:1000B328 DCD sub_10004E98 .pdata:1000B32C DCB 1 .pdata:1000B32D DCB 7 .pdata:1000B32E DCB 0 .pdata:1000B32F DCB 0x40 ; @ .pdata:1000B330 DCD sub_10004EB4 .pdata:1000B334 DCB 1 .pdata:1000B335 DCB 7 .pdata:1000B336 DCB 0 .pdata:1000B337 DCB 0x40 ; @ .pdata:1000B338 DCD sub_10004ED0 .pdata:1000B33C DCB 1 .pdata:1000B33D DCB 6 .pdata:1000B33E DCB 0 .pdata:1000B33F DCB 0x40 ; @ .pdata:1000B340 DCD sub_10004EE8 .pdata:1000B344 DCB 1 .pdata:1000B345 DCB 0x12 .pdata:1000B346 DCB 0 .pdata:1000B347 DCB 0x40 ; @ .pdata:1000B348 DCD sub_10004F30 .pdata:1000B34C DCB 1 .pdata:1000B34D DCB 0xE .pdata:1000B34E DCB 0 .pdata:1000B34F DCB 0x40 ; @ .pdata:1000B350 DCD sub_10004F68 .pdata:1000B354 DCB 1 .pdata:1000B355 DCB 0x11 .pdata:1000B356 DCB 0 .pdata:1000B357 DCB 0x40 ; @ .pdata:1000B358 DCD sub_10004FAC .pdata:1000B35C DCB 1 .pdata:1000B35D DCB 0x1B .pdata:1000B35E DCB 0 .pdata:1000B35F DCB 0x40 ; @ .pdata:1000B360 DCD sub_10005018 .pdata:1000B364 DCB 2 .pdata:1000B365 DCB 0x67 ; g .pdata:1000B366 DCB 0 .pdata:1000B367 DCB 0x40 ; @ .pdata:1000B368 DCD sub_100051B4 .pdata:1000B36C DCB 1 .pdata:1000B36D DCB 0x1E .pdata:1000B36E DCB 0 .pdata:1000B36F DCB 0x40 ; @ .pdata:1000B370 DCD sub_1000522C .pdata:1000B374 DCB 1 .pdata:1000B375 DCB 0x1E .pdata:1000B376 DCB 0 .pdata:1000B377 DCB 0x40 ; @ .pdata:1000B378 DCD sub_100052A4 .pdata:1000B37C DCB 2 .pdata:1000B37D DCB 0x4A ; J .pdata:1000B37E DCB 0 .pdata:1000B37F DCB 0x40 ; @ .pdata:1000B380 DCD sub_100053CC .pdata:1000B384 DCB 1 .pdata:1000B385 DCB 0x33 ; 3 .pdata:1000B386 DCB 0 .pdata:1000B387 DCB 0x40 ; @ .pdata:1000B388 DCD sub_10005498 .pdata:1000B38C DCB 1 .pdata:1000B38D DCB 0x14 .pdata:1000B38E DCB 0 .pdata:1000B38F DCB 0x40 ; @ .pdata:1000B390 DCD sub_100054E8 .pdata:1000B394 DCB 1 .pdata:1000B395 DCB 0x15 .pdata:1000B396 DCB 0 .pdata:1000B397 DCB 0x40 ; @ .pdata:1000B398 DCD sub_1000553C .pdata:1000B39C DCB 1 .pdata:1000B39D DCB 0x17 .pdata:1000B39E DCB 0 .pdata:1000B39F DCB 0x40 ; @ .pdata:1000B3A0 DCD sub_10005598 .pdata:1000B3A4 DCB 1 .pdata:1000B3A5 DCB 0x3C ; < .pdata:1000B3A6 DCB 0 .pdata:1000B3A7 DCB 0x40 ; @ .pdata:1000B3A8 DCD sub_10005688 .pdata:1000B3AC DCB 1 .pdata:1000B3AD DCB 0x3A ; : .pdata:1000B3AE DCB 0 .pdata:1000B3AF DCB 0x40 ; @ .pdata:1000B3B0 DCD sub_10005770 .pdata:1000B3B4 DCB 1 .pdata:1000B3B5 DCB 0x16 .pdata:1000B3B6 DCB 0 .pdata:1000B3B7 DCB 0x40 ; @ .pdata:1000B3B8 DCD sub_100057C8 .pdata:1000B3BC DCB 1 .pdata:1000B3BD DCB 0x1B .pdata:1000B3BE DCB 0 .pdata:1000B3BF DCB 0x40 ; @ .pdata:1000B3C0 DCD sub_10005834 .pdata:1000B3C4 DCB 1 .pdata:1000B3C5 DCB 0x11 .pdata:1000B3C6 DCB 0 .pdata:1000B3C7 DCB 0x40 ; @ .pdata:1000B3C8 DCD sub_10005878 .pdata:1000B3CC DCB 1 .pdata:1000B3CD DCB 0x2C ; , .pdata:1000B3CE DCB 0 .pdata:1000B3CF DCB 0x40 ; @ .pdata:1000B3D0 DCD sub_10005928 .pdata:1000B3D4 DCB 1 .pdata:1000B3D5 DCB 0xD .pdata:1000B3D6 DCB 0 .pdata:1000B3D7 DCB 0x40 ; @ .pdata:1000B3D8 DCD sub_1000595C .pdata:1000B3DC DCB 1 .pdata:1000B3DD DCB 0x16 .pdata:1000B3DE DCB 0 .pdata:1000B3DF DCB 0x40 ; @ .pdata:1000B3E0 DCD sub_100059B4 .pdata:1000B3E4 DCB 1 .pdata:1000B3E5 DCB 0x15 .pdata:1000B3E6 DCB 0 .pdata:1000B3E7 DCB 0x40 ; @ .pdata:1000B3E8 DCD sub_10005A08 .pdata:1000B3EC DCB 1 .pdata:1000B3ED DCB 0x25 ; % .pdata:1000B3EE DCB 0 .pdata:1000B3EF DCB 0x40 ; @ .pdata:1000B3F0 DCD sub_10005A9C .pdata:1000B3F4 DCB 1 .pdata:1000B3F5 DCB 4 .pdata:1000B3F6 DCB 0 .pdata:1000B3F7 DCB 0x40 ; @ .pdata:1000B3F8 DCD sub_10005AAC .pdata:1000B3FC DCB 1 .pdata:1000B3FD DCB 4 .pdata:1000B3FE DCB 0 .pdata:1000B3FF DCB 0x40 ; @ .pdata:1000B400 DCD sub_10005ABC .pdata:1000B404 DCB 1 .pdata:1000B405 DCB 0xA .pdata:1000B406 DCB 0 .pdata:1000B407 DCB 0x40 ; @ .pdata:1000B408 DCD sub_10005AE4 .pdata:1000B40C DCB 1 .pdata:1000B40D DCB 0xA .pdata:1000B40E DCB 0 .pdata:1000B40F DCB 0x40 ; @ .pdata:1000B410 DCD sub_10005B0C .pdata:1000B414 DCB 2 .pdata:1000B415 DCB 0x14 .pdata:1000B416 DCB 0 .pdata:1000B417 DCB 0x40 ; @ .pdata:1000B418 DCD sub_10005B5C .pdata:1000B41C DCB 1 .pdata:1000B41D DCB 0x10 .pdata:1000B41E DCB 0 .pdata:1000B41F DCB 0x40 ; @ .pdata:1000B420 DCD sub_10005B9C .pdata:1000B424 DCB 1 .pdata:1000B425 DCB 0x18 .pdata:1000B426 DCB 0 .pdata:1000B427 DCB 0x40 ; @ .pdata:1000B428 DCD sub_10005BFC .pdata:1000B42C DCB 1 .pdata:1000B42D DCB 0x14 .pdata:1000B42E DCB 0 .pdata:1000B42F DCB 0x40 ; @ .pdata:1000B430 DCD sub_10005C4C .pdata:1000B434 DCB 1 .pdata:1000B435 DCB 0xC .pdata:1000B436 DCB 0 .pdata:1000B437 DCB 0x40 ; @ .pdata:1000B438 DCD sub_10005C7C .pdata:1000B43C DCB 1 .pdata:1000B43D DCB 0x1C .pdata:1000B43E DCB 0 .pdata:1000B43F DCB 0x40 ; @ .pdata:1000B440 DCD sub_10005CEC .pdata:1000B444 DCB 1 .pdata:1000B445 DCB 0x19 .pdata:1000B446 DCB 0 .pdata:1000B447 DCB 0x40 ; @ .pdata:1000B448 DCD sub_10005D50 .pdata:1000B44C DCB 1 .pdata:1000B44D DCB 0x26 ; & .pdata:1000B44E DCB 0 .pdata:1000B44F DCB 0x40 ; @ .pdata:1000B450 DCD sub_10005DE8 .pdata:1000B454 DCB 1 .pdata:1000B455 DCB 0x25 ; % .pdata:1000B456 DCB 0 .pdata:1000B457 DCB 0x40 ; @ .pdata:1000B458 DCD sub_10005E7C .pdata:1000B45C DCB 2 .pdata:1000B45D DCB 0x5D ; ] .pdata:1000B45E DCB 0 .pdata:1000B45F DCB 0x40 ; @ .pdata:1000B460 DCD sub_10005FF0 .pdata:1000B464 DCB 2 .pdata:1000B465 DCB 0x5C ; \ .pdata:1000B466 DCB 0 .pdata:1000B467 DCB 0x40 ; @ .pdata:1000B468 DCD sub_10006160 .pdata:1000B46C DCB 1 .pdata:1000B46D DCB 0x34 ; 4 .pdata:1000B46E DCB 0 .pdata:1000B46F DCB 0x40 ; @ .pdata:1000B470 DCD sub_10006230 .pdata:1000B474 DCB 1 .pdata:1000B475 DCB 0x37 ; 7 .pdata:1000B476 DCB 0 .pdata:1000B477 DCB 0x40 ; @ .pdata:1000B478 DCD sub_1000630C .pdata:1000B47C DCB 1 .pdata:1000B47D DCB 0x19 .pdata:1000B47E DCB 0 .pdata:1000B47F DCB 0x40 ; @ .pdata:1000B480 DCD sub_10006370 .pdata:1000B484 DCB 1 .pdata:1000B485 DCB 0x1A .pdata:1000B486 DCB 0 .pdata:1000B487 DCB 0x40 ; @ .pdata:1000B488 DCD sub_100063E0 .pdata:1000B48C DCB 5 .pdata:1000B48D DCB 0x61 ; a .pdata:1000B48E DCB 0 .pdata:1000B48F DCB 0xC0 ; + .pdata:1000B490 DCD sub_10006564 .pdata:1000B494 DCB 0 .pdata:1000B495 DCB 2 .pdata:1000B496 DCB 0 .pdata:1000B497 DCB 0x40 ; @ .pdata:1000B498 DCD sub_1000656C .pdata:1000B49C DCB 1 .pdata:1000B49D DCB 0x22 ; " .pdata:1000B49E DCB 0 .pdata:1000B49F DCB 0x40 ; @ .pdata:1000B4A0 DCD sub_100065F4 .pdata:1000B4A4 DCB 1 .pdata:1000B4A5 DCB 0x15 .pdata:1000B4A6 DCB 0 .pdata:1000B4A7 DCB 0x40 ; @ .pdata:1000B4A8 DCD sub_10006648 .pdata:1000B4AC DCB 1 .pdata:1000B4AD DCB 0x14 .pdata:1000B4AE DCB 0 .pdata:1000B4AF DCB 0x40 ; @ .pdata:1000B4B0 DCD sub_10006698 .pdata:1000B4B4 DCB 1 .pdata:1000B4B5 DCB 0x15 .pdata:1000B4B6 DCB 0 .pdata:1000B4B7 DCB 0x40 ; @ .pdata:1000B4B8 DCD sub_100066EC .pdata:1000B4BC DCB 1 .pdata:1000B4BD DCB 0x3F ; ? .pdata:1000B4BE DCB 0 .pdata:1000B4BF DCB 0x40 ; @ .pdata:1000B4C0 DCD sub_100067E8 .pdata:1000B4C4 DCB 1 .pdata:1000B4C5 DCB 0x17 .pdata:1000B4C6 DCB 0 .pdata:1000B4C7 DCB 0x40 ; @ .pdata:1000B4C8 DCD sub_10006844 .pdata:1000B4CC DCB 1 .pdata:1000B4CD DCB 0x33 ; 3 .pdata:1000B4CE DCB 0 .pdata:1000B4CF DCB 0x40 ; @ .pdata:1000B4D0 DCD sub_10006910 .pdata:1000B4D4 DCB 1 .pdata:1000B4D5 DCB 0x29 ; ) .pdata:1000B4D6 DCB 0 .pdata:1000B4D7 DCB 0x40 ; @ .pdata:1000B4D8 DCD sub_100069B4 .pdata:1000B4DC DCB 1 .pdata:1000B4DD DCB 0x16 .pdata:1000B4DE DCB 0 .pdata:1000B4DF DCB 0x40 ; @ .pdata:1000B4E0 DCD sub_10006A0C .pdata:1000B4E4 DCB 1 .pdata:1000B4E5 DCB 0x16 .pdata:1000B4E6 DCB 0 .pdata:1000B4E7 DCB 0x40 ; @ .pdata:1000B4E8 DCD sub_10006A64 .pdata:1000B4EC DCB 1 .pdata:1000B4ED DCB 0x28 ; ( .pdata:1000B4EE DCB 0 .pdata:1000B4EF DCB 0x40 ; @ .pdata:1000B4F0 DCD sub_10006B04 .pdata:1000B4F4 DCB 1 .pdata:1000B4F5 DCB 0x24 ; $ .pdata:1000B4F6 DCB 0 .pdata:1000B4F7 DCB 0x40 ; @ .pdata:1000B4F8 DCD sub_10006B94 .pdata:1000B4FC DCB 1 .pdata:1000B4FD DCB 0x16 .pdata:1000B4FE DCB 0 .pdata:1000B4FF DCB 0x40 ; @ .pdata:1000B500 DCD sub_10006BF4 .pdata:1000B504 DCB 5 .pdata:1000B505 DCB 0x2C ; , .pdata:1000B506 DCB 0 .pdata:1000B507 DCB 0xC0 ; + .pdata:1000B508 DCD sub_10006CA4 .pdata:1000B50C DCB 0 .pdata:1000B50D DCB 2 .pdata:1000B50E DCB 0 .pdata:1000B50F DCB 0x40 ; @ .pdata:1000B510 DCD sub_10006CAC .pdata:1000B514 DCB 1 .pdata:1000B515 DCB 0x24 ; $ .pdata:1000B516 DCB 0 .pdata:1000B517 DCB 0x40 ; @ .pdata:1000B518 DCD sub_10006D3C .pdata:1000B51C DCB 1 .pdata:1000B51D DCB 0x24 ; $ .pdata:1000B51E DCB 0 .pdata:1000B51F DCB 0x40 ; @ .pdata:1000B520 DCD sub_10006DCC .pdata:1000B524 DCB 1 .pdata:1000B525 DCB 0x19 .pdata:1000B526 DCB 0 .pdata:1000B527 DCB 0x40 ; @ .pdata:1000B528 DCD sub_10006E30 .pdata:1000B52C DCB 2 .pdata:1000B52D DCB 0x1B .pdata:1000B52E DCB 0 .pdata:1000B52F DCB 0x40 ; @ .pdata:1000B530 DCD sub_10006E9C .pdata:1000B534 DCB 1 .pdata:1000B535 DCB 5 .pdata:1000B536 DCB 0 .pdata:1000B537 DCB 0x40 ; @ .pdata:1000B538 DCD sub_10006EB0 .pdata:1000B53C DCB 1 .pdata:1000B53D DCB 5 .pdata:1000B53E DCB 0 .pdata:1000B53F DCB 0x40 ; @ .pdata:1000B540 DCD sub_10006EC4 .pdata:1000B544 DCB 1 .pdata:1000B545 DCB 5 .pdata:1000B546 DCB 0 .pdata:1000B547 DCB 0x40 ; @ .pdata:1000B548 DCD sub_10006ED8 .pdata:1000B54C DCB 1 .pdata:1000B54D DCB 5 .pdata:1000B54E DCB 0 .pdata:1000B54F DCB 0x40 ; @ .pdata:1000B550 DCD sub_10006EEC .pdata:1000B554 DCB 1 .pdata:1000B555 DCB 8 .pdata:1000B556 DCB 0 .pdata:1000B557 DCB 0x40 ; @ .pdata:1000B558 DCD sub_10006F0C .pdata:1000B55C DCB 1 .pdata:1000B55D DCB 5 .pdata:1000B55E DCB 0 .pdata:1000B55F DCB 0x40 ; @ .pdata:1000B560 DCD sub_10006F20 .pdata:1000B564 DCB 1 .pdata:1000B565 DCB 5 .pdata:1000B566 DCB 0 .pdata:1000B567 DCB 0x40 ; @ .pdata:1000B568 DCD sub_10006F34 .pdata:1000B56C DCB 1 .pdata:1000B56D DCB 5 .pdata:1000B56E DCB 0 .pdata:1000B56F DCB 0x40 ; @ .pdata:1000B570 DCD sub_10006F48 .pdata:1000B574 DCB 1 .pdata:1000B575 DCB 5 .pdata:1000B576 DCB 0 .pdata:1000B577 DCB 0x40 ; @ .pdata:1000B578 DCD sub_10006F5C .pdata:1000B57C DCB 1 .pdata:1000B57D DCB 5 .pdata:1000B57E DCB 0 .pdata:1000B57F DCB 0x40 ; @ .pdata:1000B580 DCD sub_10006F70 .pdata:1000B584 DCB 1 .pdata:1000B585 DCB 5 .pdata:1000B586 DCB 0 .pdata:1000B587 DCB 0x40 ; @ .pdata:1000B588 DCD sub_10006F84 .pdata:1000B58C DCB 1 .pdata:1000B58D DCB 5 .pdata:1000B58E DCB 0 .pdata:1000B58F DCB 0x40 ; @ .pdata:1000B590 DCD sub_10006F98 .pdata:1000B594 DCB 1 .pdata:1000B595 DCB 5 .pdata:1000B596 DCB 0 .pdata:1000B597 DCB 0x40 ; @ .pdata:1000B598 DCD sub_10006FAC .pdata:1000B59C DCB 1 .pdata:1000B59D DCB 5 .pdata:1000B59E DCB 0 .pdata:1000B59F DCB 0x40 ; @ .pdata:1000B5A0 DCD sub_10006FC0 .pdata:1000B5A4 DCB 1 .pdata:1000B5A5 DCB 5 .pdata:1000B5A6 DCB 0 .pdata:1000B5A7 DCB 0x40 ; @ .pdata:1000B5A8 DCD sub_10006FD4 .pdata:1000B5AC DCB 1 .pdata:1000B5AD DCB 5 .pdata:1000B5AE DCB 0 .pdata:1000B5AF DCB 0x40 ; @ .pdata:1000B5B0 DCD sub_10006FE8 .pdata:1000B5B4 DCB 1 .pdata:1000B5B5 DCB 0xA .pdata:1000B5B6 DCB 0 .pdata:1000B5B7 DCB 0x40 ; @ .pdata:1000B5B8 DCD sub_10007010 .pdata:1000B5BC DCB 1 .pdata:1000B5BD DCB 0x27 ; ' .pdata:1000B5BE DCB 0 .pdata:1000B5BF DCB 0x40 ; @ .pdata:1000B5C0 DCD sub_100070AC .pdata:1000B5C4 DCB 1 .pdata:1000B5C5 DCB 0x3E ; > .pdata:1000B5C6 DCB 0 .pdata:1000B5C7 DCB 0x40 ; @ .pdata:1000B5C8 DCD sub_100071A4 .pdata:1000B5CC DCB 1 .pdata:1000B5CD DCB 0x3C ; < .pdata:1000B5CE DCB 0 .pdata:1000B5CF DCB 0x40 ; @ .pdata:1000B5D0 DCD sub_10007294 .pdata:1000B5D4 DCB 1 .pdata:1000B5D5 DCB 0xD .pdata:1000B5D6 DCB 0 .pdata:1000B5D7 DCB 0x40 ; @ .pdata:1000B5D8 DCD sub_100072C8 .pdata:1000B5DC DCB 1 .pdata:1000B5DD DCB 0x22 ; " .pdata:1000B5DE DCB 0 .pdata:1000B5DF DCB 0x40 ; @ .pdata:1000B5E0 DCD sub_10007350 .pdata:1000B5E4 DCB 2 .pdata:1000B5E5 DCB 0x38 ; 8 .pdata:1000B5E6 DCB 0 .pdata:1000B5E7 DCB 0x40 ; @ .pdata:1000B5E8 DCD sub_10007430 .pdata:1000B5EC DCB 1 .pdata:1000B5ED DCB 0xA .pdata:1000B5EE DCB 0 .pdata:1000B5EF DCB 0x40 ; @ .pdata:1000B5F0 DCD sub_10007458 .pdata:1000B5F4 DCB 1 .pdata:1000B5F5 DCB 0x1C .pdata:1000B5F6 DCB 0 .pdata:1000B5F7 DCB 0x40 ; @ .pdata:1000B5F8 DCD sub_100074C8 .pdata:1000B5FC DCB 1 .pdata:1000B5FD DCB 0x2E ; . .pdata:1000B5FE DCB 0 .pdata:1000B5FF DCB 0x40 ; @ .pdata:1000B600 DCD sub_10007580 .pdata:1000B604 DCB 1 .pdata:1000B605 DCB 0xF .pdata:1000B606 DCB 0 .pdata:1000B607 DCB 0x40 ; @ .pdata:1000B608 DCD sub_100075BC .pdata:1000B60C DCB 1 .pdata:1000B60D DCB 0x28 ; ( .pdata:1000B60E DCB 0 .pdata:1000B60F DCB 0x40 ; @ .pdata:1000B610 DCD sub_1000765C .pdata:1000B614 DCB 1 .pdata:1000B615 DCB 0x23 ; # .pdata:1000B616 DCB 0 .pdata:1000B617 DCB 0x40 ; @ .pdata:1000B618 DCD sub_100076E8 .pdata:1000B61C DCB 1 .pdata:1000B61D DCB 0x27 ; ' .pdata:1000B61E DCB 0 .pdata:1000B61F DCB 0x40 ; @ .pdata:1000B620 DCD sub_10007784 .pdata:1000B624 DCB 2 .pdata:1000B625 DCB 0x48 ; H .pdata:1000B626 DCB 0 .pdata:1000B627 DCB 0x40 ; @ .pdata:1000B628 DCD sub_100078A4 .pdata:1000B62C DCB 0 .pdata:1000B62D DCB 7 .pdata:1000B62E DCB 0 .pdata:1000B62F DCB 0x40 ; @ .pdata:1000B630 DCD sub_100078C0 .pdata:1000B634 DCB 1 .pdata:1000B635 DCB 0x1F .pdata:1000B636 DCB 0 .pdata:1000B637 DCB 0x40 ; @ .pdata:1000B638 DCD sub_1000793C .pdata:1000B63C DCB 1 .pdata:1000B63D DCB 0x12 .pdata:1000B63E DCB 0 .pdata:1000B63F DCB 0x40 ; @ .pdata:1000B640 DCD sub_10007984 .pdata:1000B644 DCB 1 .pdata:1000B645 DCB 0x1C .pdata:1000B646 DCB 0 .pdata:1000B647 DCB 0x40 ; @ .pdata:1000B648 DCD sub_100079F4 .pdata:1000B64C DCB 1 .pdata:1000B64D DCB 0x36 ; 6 .pdata:1000B64E DCB 0 .pdata:1000B64F DCB 0x40 ; @ .pdata:1000B650 DCD sub_10007ACC .pdata:1000B654 DCB 1 .pdata:1000B655 DCB 0xB .pdata:1000B656 DCB 0 .pdata:1000B657 DCB 0x40 ; @ .pdata:1000B658 DCD sub_10007AF8 .pdata:1000B65C DCB 1 .pdata:1000B65D DCB 0x26 ; & .pdata:1000B65E DCB 0 .pdata:1000B65F DCB 0x40 ; @ .pdata:1000B660 DCD sub_10007B90 .pdata:1000B664 DCB 1 .pdata:1000B665 DCB 0xC .pdata:1000B666 DCB 0 .pdata:1000B667 DCB 0x40 ; @ .pdata:1000B668 DCD sub_10007BC0 .pdata:1000B66C DCB 1 .pdata:1000B66D DCB 0x27 ; ' .pdata:1000B66E DCB 0 .pdata:1000B66F DCB 0x40 ; @ .pdata:1000B670 DCD sub_10007C5C .pdata:1000B674 DCB 1 .pdata:1000B675 DCB 0x11 .pdata:1000B676 DCB 0 .pdata:1000B677 DCB 0x40 ; @ .pdata:1000B678 DCD sub_10007CA0 .pdata:1000B67C DCB 1 .pdata:1000B67D DCB 0x11 .pdata:1000B67E DCB 0 .pdata:1000B67F DCB 0x40 ; @ .pdata:1000B680 DCD sub_10007CE4 .pdata:1000B684 DCB 1 .pdata:1000B685 DCB 0x14 .pdata:1000B686 DCB 0 .pdata:1000B687 DCB 0x40 ; @ .pdata:1000B688 DCD sub_10007D34 .pdata:1000B68C DCB 1 .pdata:1000B68D DCB 0xC .pdata:1000B68E DCB 0 .pdata:1000B68F DCB 0x40 ; @ .pdata:1000B690 DCD sub_10007D64 .pdata:1000B694 DCB 1 .pdata:1000B695 DCB 0x47 ; G .pdata:1000B696 DCB 0 .pdata:1000B697 DCB 0x40 ; @ .pdata:1000B698 DCD sub_10007E80 .pdata:1000B69C DCB 2 .pdata:1000B69D DCB 0x57 ; W .pdata:1000B69E DCB 0 .pdata:1000B69F DCB 0x40 ; @ .pdata:1000B6A0 DCD sub_10007FDC .pdata:1000B6A4 DCB 1 .pdata:1000B6A5 DCB 0x17 .pdata:1000B6A6 DCB 0 .pdata:1000B6A7 DCB 0x40 ; @ .pdata:1000B6A8 DCD sub_10008038 .pdata:1000B6AC DCB 1 .pdata:1000B6AD DCB 0x10 .pdata:1000B6AE DCB 0 .pdata:1000B6AF DCB 0x40 ; @ .pdata:1000B6B0 DCD sub_10008078 .pdata:1000B6B4 DCB 1 .pdata:1000B6B5 DCB 0xF .pdata:1000B6B6 DCB 0 .pdata:1000B6B7 DCB 0x40 ; @ .pdata:1000B6B8 DCD sub_100080B4 .pdata:1000B6BC DCB 1 .pdata:1000B6BD DCB 9 .pdata:1000B6BE DCB 0 .pdata:1000B6BF DCB 0x40 ; @ .pdata:1000B6C0 DCD sub_100080D8 .pdata:1000B6C4 DCB 1 .pdata:1000B6C5 DCB 0xA .pdata:1000B6C6 DCB 0 .pdata:1000B6C7 DCB 0x40 ; @ .pdata:1000B6C8 DCD sub_10008100 .pdata:1000B6CC DCB 1 .pdata:1000B6CD DCB 0xA .pdata:1000B6CE DCB 0 .pdata:1000B6CF DCB 0x40 ; @ .pdata:1000B6D0 DCD sub_10008128 .pdata:1000B6D4 DCB 1 .pdata:1000B6D5 DCB 0xA .pdata:1000B6D6 DCB 0 .pdata:1000B6D7 DCB 0x40 ; @ .pdata:1000B6D8 DCD sub_10008150 .pdata:1000B6DC DCB 1 .pdata:1000B6DD DCB 0xA .pdata:1000B6DE DCB 0 .pdata:1000B6DF DCB 0x40 ; @ .pdata:1000B6E0 DCD sub_10008178 .pdata:1000B6E4 DCB 1 .pdata:1000B6E5 DCB 8 .pdata:1000B6E6 DCB 0 .pdata:1000B6E7 DCB 0x40 ; @ .pdata:1000B6E8 DCD sub_10008198 .pdata:1000B6EC DCB 1 .pdata:1000B6ED DCB 0xF .pdata:1000B6EE DCB 0 .pdata:1000B6EF DCB 0x40 ; @ .pdata:1000B6F0 DCD sub_100081D4 .pdata:1000B6F4 DCB 1 .pdata:1000B6F5 DCB 0xF .pdata:1000B6F6 DCB 0 .pdata:1000B6F7 DCB 0x40 ; @ .pdata:1000B6F8 DCD sub_10008210 .pdata:1000B6FC DCB 0 .pdata:1000B6FD DCB 2 .pdata:1000B6FE DCB 0 .pdata:1000B6FF DCB 0x40 ; @ .pdata:1000B700 DCD sub_10008218 .pdata:1000B704 DCB 1 .pdata:1000B705 DCB 0x11 .pdata:1000B706 DCB 0 .pdata:1000B707 DCB 0x40 ; @ .pdata:1000B708 DCD sub_1000825C .pdata:1000B70C DCB 1 .pdata:1000B70D DCB 0x11 .pdata:1000B70E DCB 0 .pdata:1000B70F DCB 0x40 ; @ .pdata:1000B710 DCD sub_100082A0 .pdata:1000B714 DCB 1 .pdata:1000B715 DCB 0x10 .pdata:1000B716 DCB 0 .pdata:1000B717 DCB 0x40 ; @ .pdata:1000B718 DCD sub_100082E0 .pdata:1000B71C DCB 1 .pdata:1000B71D DCB 0x10 .pdata:1000B71E DCB 0 .pdata:1000B71F DCB 0x40 ; @ .pdata:1000B720 DCD sub_10008320 .pdata:1000B724 DCB 1 .pdata:1000B725 DCB 0x10 .pdata:1000B726 DCB 0 .pdata:1000B727 DCB 0x40 ; @ .pdata:1000B728 DCD sub_10008360 .pdata:1000B72C DCB 1 .pdata:1000B72D DCB 0x10 .pdata:1000B72E DCB 0 .pdata:1000B72F DCB 0x40 ; @ .pdata:1000B730 DCD sub_100083A0 .pdata:1000B734 DCB 1 .pdata:1000B735 DCB 0x15 .pdata:1000B736 DCB 0 .pdata:1000B737 DCB 0x40 ; @ .pdata:1000B738 DCD sub_100083F4 .pdata:1000B73C DCB 1 .pdata:1000B73D DCB 0xB .pdata:1000B73E DCB 0 .pdata:1000B73F DCB 0x40 ; @ .pdata:1000B740 DCD sub_10008420 .pdata:1000B744 DCB 1 .pdata:1000B745 DCB 0x10 .pdata:1000B746 DCB 0 .pdata:1000B747 DCB 0x40 ; @ .pdata:1000B748 DCD sub_10008460 .pdata:1000B74C DCB 1 .pdata:1000B74D DCB 0x10 .pdata:1000B74E DCB 0 .pdata:1000B74F DCB 0x40 ; @ .pdata:1000B750 DCD sub_100084A0 .pdata:1000B754 DCB 1 .pdata:1000B755 DCB 0x10 .pdata:1000B756 DCB 0 .pdata:1000B757 DCB 0x40 ; @ .pdata:1000B758 DCD sub_100084E0 .pdata:1000B75C DCB 2 .pdata:1000B75D DCB 0x3E ; > .pdata:1000B75E DCB 0 .pdata:1000B75F DCB 0x40 ; @ .pdata:1000B760 DCD sub_100085D8 .pdata:1000B764 DCB 1 .pdata:1000B765 DCB 5 .pdata:1000B766 DCB 0 .pdata:1000B767 DCB 0x40 ; @ .pdata:1000B768 DCD sub_100085EC .pdata:1000B76C DCB 1 .pdata:1000B76D DCB 0x13 .pdata:1000B76E DCB 0 .pdata:1000B76F DCB 0x40 ; @ .pdata:1000B770 DCD sub_10008638 .pdata:1000B774 DCB 1 .pdata:1000B775 DCB 0xA .pdata:1000B776 DCB 0 .pdata:1000B777 DCB 0x40 ; @ .pdata:1000B778 DCD sub_10008660 .pdata:1000B77C DCB 1 .pdata:1000B77D DCB 0xF .pdata:1000B77E DCB 0 .pdata:1000B77F DCB 0x40 ; @ .pdata:1000B780 DCD sub_1000869C .pdata:1000B784 DCB 1 .pdata:1000B785 DCB 0x13 .pdata:1000B786 DCB 0 .pdata:1000B787 DCB 0x40 ; @ .pdata:1000B788 DCD sub_100086E8 .pdata:1000B78C DCB 0 .pdata:1000B78D DCB 2 .pdata:1000B78E DCB 0 .pdata:1000B78F DCB 0x40 ; @ .pdata:1000B790 DCD sub_100086F0 .pdata:1000B794 DCB 2 .pdata:1000B795 DCB 0x19 .pdata:1000B796 DCB 0 .pdata:1000B797 DCB 0x40 ; @ .pdata:1000B798 DCD sub_10008754 .pdata:1000B79C DCB 1 .pdata:1000B79D DCB 0xF .pdata:1000B79E DCB 0 .pdata:1000B79F DCB 0x40 ; @ .pdata:1000B7A0 DCD sub_10008790 .pdata:1000B7A4 DCB 1 .pdata:1000B7A5 DCB 0x16 .pdata:1000B7A6 DCB 0 .pdata:1000B7A7 DCB 0x40 ; @ .pdata:1000B7A8 DCD sub_100087E8 .pdata:1000B7AC DCB 1 .pdata:1000B7AD DCB 0x1B .pdata:1000B7AE DCB 0 .pdata:1000B7AF DCB 0x40 ; @ .pdata:1000B7B0 DCD sub_10008854 .pdata:1000B7B4 DCB 1 .pdata:1000B7B5 DCB 0x2E ; . .pdata:1000B7B6 DCB 0 .pdata:1000B7B7 DCB 0x40 ; @ .pdata:1000B7B8 DCD sub_1000890C .pdata:1000B7BC DCB 1 .pdata:1000B7BD DCB 0x28 ; ( .pdata:1000B7BE DCB 0 .pdata:1000B7BF DCB 0x40 ; @ .pdata:1000B7C0 DCD sub_100089AC .pdata:1000B7C4 DCB 1 .pdata:1000B7C5 DCB 0xA .pdata:1000B7C6 DCB 0 .pdata:1000B7C7 DCB 0x40 ; @ .pdata:1000B7C8 DCD sub_100089D4 .pdata:1000B7CC DCB 1 .pdata:1000B7CD DCB 0xF .pdata:1000B7CE DCB 0 .pdata:1000B7CF DCB 0x40 ; @ .pdata:1000B7D0 DCD loc_10008E34 .pdata:1000B7D4 DCB 2 .pdata:1000B7D5 DCB 0xE .pdata:1000B7D6 DCB 0 .pdata:1000B7D7 DCB 0x40 ; @ .pdata:1000B7D8 DCD sub_10008E78 .pdata:1000B7DC DCB 1 .pdata:1000B7DD DCB 0x14 .pdata:1000B7DE DCB 0 .pdata:1000B7DF DCB 0x40 ; @ .pdata:1000B7E0 DCB 0 .pdata:1000B7E1 DCB 0 .pdata:1000B7E2 DCB 0 .pdata:1000B7E3 DCB 0 .pdata:1000B7E4 DCB 0 .pdata:1000B7E5 DCB 0 .pdata:1000B7E6 DCB 0 .pdata:1000B7E7 DCB 0 .pdata:1000B7E8 DCB 0 .pdata:1000B7E9 DCB 0 .pdata:1000B7EA DCB 0 .pdata:1000B7EB DCB 0 .pdata:1000B7EC DCB 0 .pdata:1000B7ED DCB 0 .pdata:1000B7EE DCB 0 .pdata:1000B7EF DCB 0 .pdata:1000B7F0 DCB 0 .pdata:1000B7F1 DCB 0 .pdata:1000B7F2 DCB 0 .pdata:1000B7F3 DCB 0 .pdata:1000B7F4 DCB 0 .pdata:1000B7F5 DCB 0 .pdata:1000B7F6 DCB 0 .pdata:1000B7F7 DCB 0 .pdata:1000B7F8 DCB 0 .pdata:1000B7F9 DCB 0 .pdata:1000B7FA DCB 0 .pdata:1000B7FB DCB 0 .pdata:1000B7FC DCB 0 .pdata:1000B7FD DCB 0 .pdata:1000B7FE DCB 0 .pdata:1000B7FF DCB 0 .pdata:1000B7FF ; _pdata ends .pdata:1000B7FF .CRT:1000C000 ; Section 4. (virtual address 0000C000) .CRT:1000C000 ; Virtual size : 00000004 ( 4.) .CRT:1000C000 ; Section size in file : 00000200 ( 512.) .CRT:1000C000 ; Offset to raw data for section: 00009400 .CRT:1000C000 ; Flags C0000040: Data Readable Writable .CRT:1000C000 ; Alignment : default .CRT:1000C000 ; =========================================================================== .CRT:1000C000 .CRT:1000C000 ; Segment type: Pure data .CRT:1000C000 AREA .CRT, DATA, ALIGN=4 .CRT:1000C000 ; ORG 0x1000C000 .CRT:1000C000 DCD sub_10008E78 .CRT:1000C004 ALIGN 0x200 .CRT:1000C004 ; _CRT ends .CRT:1000C004 .CRT:1000C004 END start