⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subtitle.asm

📁 tcpmp外挂字幕插件subs_src 源码
💻 ASM
📖 第 1 页 / 共 2 页
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 14.00.50727 

	TTL	d:\Sasha\PPC\TCPMPCLEAR\subs\subtitle.c
	CODE32

	AREA	|.drectve|, DRECTVE
	DCB	"-defaultlib:LIBCMT "
	DCB	"-defaultlib:OLDNAMES "


	AREA	|.data|, DATA
	 COMMON	|hfont2|, 0x4

	 COMMON	|hfont1|, 0x4

	 COMMON	|logfont|, 0x5c

	 COMMON	|xsubs|, 0x4008

|$SG36630| DCB	0xd, 0x0, 0xa, 0x0, 0x0, 0x0
	%	2
|$SG36632| DCB	0xd, 0x0, 0xa, 0x0, 0x0, 0x0
	%	2
|$SG36634| DCB	0xd, 0x0, 0xa, 0x0, 0x0, 0x0
	%	2
|$SG36640| DCB	0xd, 0x0, 0xa, 0x0, 0x0, 0x0
	%	2
|$SG36642| DCB	0xd, 0x0, 0xa, 0x0, 0x0, 0x0
	%	2
|$SG36644| DCB	0xd, 0x0, 0xa, 0x0, 0x0, 0x0
	EXPORT	|xsubs_init|
	IMPORT	|CreateFontIndirectW|

	AREA	|.pdata|, PDATA
|$T36684| DCD	|$LN5@xsubs_init|
	DCD	0x40004802
; Function compile flags: /Odsp

	AREA	|.text|, CODE, ARM

|xsubs_init| PROC
; File d:\sasha\ppc\tcpmpclear\subs\subtitle.c
; Line 4
|$LN5@xsubs_init|
	str         lr, [sp, #-4]!
	sub         sp, sp, #8
|$M36681|
; Line 5
	ldr         r2, [pc, #0x10C]
	mov         r3, #0
	add         r12, r2, #1, 18
	str         r3, [r12, #4]
; Line 6
	ldr         r2, [pc, #0xF4]
	mov         r3, #0xA
	str         r3, [r2]
; Line 7
	ldr         r2, [pc, #0xE8]
	mov         r3, #0
	str         r3, [r2, #4]
; Line 8
	ldr         r2, [pc, #0xDC]
	mov         r3, #0
	str         r3, [r2, #8]
; Line 9
	ldr         r2, [pc, #0xD0]
	mov         r3, #0
	str         r3, [r2, #0xC]
; Line 10
	ldr         r2, [pc, #0xC4]
	mov         r3, #0xAF, 30
	str         r3, [r2, #0x10]
; Line 11
	ldr         r2, [pc, #0xB8]
	mov         r3, #0
	strb        r3, [r2, #0x14]
; Line 12
	ldr         r2, [pc, #0xAC]
	mov         r3, #0
	strb        r3, [r2, #0x15]
; Line 13
	ldr         r2, [pc, #0xA0]
	mov         r3, #0
	strb        r3, [r2, #0x16]
; Line 14
	ldr         r2, [pc, #0x94]
	mov         r3, #1
	strb        r3, [r2, #0x17]
; Line 15
	ldr         r2, [pc, #0x88]
	mov         r3, #0
	strb        r3, [r2, #0x18]
; Line 16
	ldr         r2, [pc, #0x7C]
	mov         r3, #0
	strb        r3, [r2, #0x19]
; Line 17
	ldr         r2, [pc, #0x70]
	mov         r3, #0
	strb        r3, [r2, #0x1A]
; Line 18
	ldr         r2, [pc, #0x64]
	mov         r3, #0
	strb        r3, [r2, #0x1B]
; Line 19
	ldr         r2, [pc, #0x58]
	mov         r3, #0
	strh        r3, [r2, #0x1C]
; Line 20
	ldr         r0, [pc, #0x4C]
	bl          CreateFontIndirectW
	str         r0, [sp]
	ldr         r2, [sp]
	ldr         r3, [pc, #0x40]
	str         r2, [r3]
; Line 21
	ldr         r2, [pc, #0x34]
	mov         r3, #0xE1, 30
	str         r3, [r2, #8]
; Line 22
	ldr         r2, [pc, #0x28]
	mov         r3, #0xE1, 30
	str         r3, [r2, #0xC]
; Line 23
	ldr         r0, [pc, #0x1C]
	bl          CreateFontIndirectW
	str         r0, [sp, #4]
	ldr         r2, [sp, #4]
	ldr         r3, [pc, #8]
	str         r2, [r3]
; Line 24
	add         sp, sp, #8
	ldr         pc, [sp], #4
|$LN6@xsubs_init|
	DCD         |hfont2|
	DCD         |logfont|
	DCD         |hfont1|
	DCD         |xsubs|
|$M36682|

	ENDP  ; |xsubs_init|

	EXPORT	|xsubs_load|
	IMPORT	|CloseHandle|
	IMPORT	|wcstok|
	IMPORT	|MultiByteToWideChar|
	IMPORT	|wcscpy|
	IMPORT	|free|
	IMPORT	|ReadFile|
	IMPORT	|malloc|
	IMPORT	|GetFileSize|
	IMPORT	|CreateFileW|

	AREA	|.pdata|, PDATA
|$T36698| DCD	|$LN14@xsubs_load|
	DCD	0x4000c904
; Function compile flags: /Odsp

	AREA	|.text|, CODE, ARM

|xsubs_load| PROC
; Line 27
|$LN14@xsubs_load|
	mov         r12, sp
	stmdb       sp!, {r0}
	stmdb       sp!, {r12, lr}
	sub         sp, sp, #0x80
|$M36695|
; Line 34
	mov         r3, #0
	str         r3, [sp, #8]
	mov         r3, #0
	str         r3, [sp, #4]
	mov         r3, #3
	str         r3, [sp]
	mov         r3, #0
	mov         r2, #1
	mov         r1, #2, 2
	ldr         r0, [sp, #0x88]
	bl          CreateFileW
	str         r0, [sp, #0x50]
	ldr         r3, [sp, #0x50]
	str         r3, [sp, #0x18]
; Line 35
	ldr         r3, [sp, #0x18]
	cmn         r3, #1
	bne         |$LN9@xsubs_load|
	b           |$LN10@xsubs_load|
|$LN9@xsubs_load|
; Line 36
	mov         r1, #0
	ldr         r0, [sp, #0x18]
	bl          GetFileSize
	str         r0, [sp, #0x54]
	ldr         r3, [sp, #0x54]
	str         r3, [sp, #0x24]
; Line 37
	ldr         r3, [sp, #0x24]
	cmp         r3, #1, 2
	bls         |$LN8@xsubs_load|
	b           |$LN10@xsubs_load|
|$LN8@xsubs_load|
; Line 38
	ldr         r3, [sp, #0x24]
	add         r0, r3, #0x10
	bl          malloc
	str         r0, [sp, #0x58]
	ldr         r3, [sp, #0x58]
	str         r3, [sp, #0x20]
; Line 39
	mov         r3, #0
	str         r3, [sp]
	add         r3, sp, #0x28
	ldr         r2, [sp, #0x24]
	ldr         r1, [sp, #0x20]
	ldr         r0, [sp, #0x18]
	bl          ReadFile
; Line 40
	ldr         r2, [sp, #0x28]
	ldr         r3, [sp, #0x24]
	cmp         r2, r3
	beq         |$LN7@xsubs_load|
	ldr         r0, [sp, #0x20]
	bl          free
	b           |$LN10@xsubs_load|
|$LN7@xsubs_load|
; Line 41
	ldr         r3, [sp, #0x20]
	ldrsb       r3, [r3]
	cmn         r3, #1
	bne         |$LN6@xsubs_load|
	ldr         r3, [sp, #0x20]
	add         r3, r3, #1
	ldrsb       r3, [r3]
	cmn         r3, #2
	bne         |$LN6@xsubs_load|
; Line 43
	ldr         r3, [sp, #0x24]
	add         r2, r3, #0x10
	mov         r3, #2
	mul         r0, r2, r3
	bl          malloc
	str         r0, [sp, #0x5C]
	ldr         r2, [sp, #0x5C]
	ldr         r3, [pc, #0x1F0]
	add         r12, r3, #1, 18
	str         r2, [r12, #4]
; Line 44
	ldr         r3, [sp, #0x20]
	add         r1, r3, #2
	ldr         r3, [pc, #0x1DC]
	add         r0, r3, #1, 18
	ldr         r0, [r0, #4]
	bl          wcscpy
; Line 46
	b           |$LN5@xsubs_load|
|$LN6@xsubs_load|
; Line 48
	mov         r3, #0
	str         r3, [sp, #4]
	ldr         r3, [pc, #0x1C0]
	add         r12, r3, #1, 18
	ldr         r3, [r12, #4]
	str         r3, [sp]
	ldr         r3, [sp, #0x24]
	ldr         r2, [sp, #0x20]
	mov         r1, #1
	mov         r0, #0
	bl          MultiByteToWideChar
	str         r0, [sp, #0x60]
	ldr         r3, [sp, #0x60]
	str         r3, [sp, #0xC]
; Line 49
	ldr         r3, [sp, #0xC]
	cmp         r3, #0
	bne         |$LN4@xsubs_load|
	ldr         r0, [sp, #0x20]
	bl          free
	b           |$LN10@xsubs_load|
|$LN4@xsubs_load|
; Line 50
	ldr         r3, [sp, #0x24]
	add         r2, r3, #0x10
	mov         r3, #2
	mul         r0, r2, r3
	bl          malloc
	str         r0, [sp, #0x64]
	ldr         r2, [sp, #0x64]
	ldr         r3, [pc, #0x15C]
	add         r12, r3, #1, 18
	str         r2, [r12, #4]
; Line 51
	ldr         r3, [sp, #0xC]
	str         r3, [sp, #4]
	ldr         r3, [pc, #0x148]
	add         r12, r3, #1, 18
	ldr         r3, [r12, #4]
	str         r3, [sp]
	ldr         r3, [sp, #0x24]
	ldr         r2, [sp, #0x20]
	mov         r1, #1
	mov         r0, #0
	bl          MultiByteToWideChar
|$LN5@xsubs_load|
; Line 53
	ldr         r0, [sp, #0x20]
	bl          free
; Line 55
	ldr         r1, [pc, #0x134]
	ldr         r3, [pc, #0x118]
	add         r0, r3, #1, 18
	ldr         r0, [r0, #4]
	bl          wcstok
	str         r0, [sp, #0x68]
	ldr         r3, [sp, #0x68]
	str         r3, [sp, #0x10]
; Line 56
	ldr         r1, [pc, #0x110]
	mov         r0, #0
	bl          wcstok
	str         r0, [sp, #0x6C]
	ldr         r3, [sp, #0x6C]
	str         r3, [sp, #0x10]
; Line 57
	ldr         r1, [pc, #0xF4]
	mov         r0, #0
	bl          wcstok
	str         r0, [sp, #0x70]
	ldr         r3, [sp, #0x70]
	str         r3, [sp, #0x10]
; Line 58
	mov         r3, #0
	str         r3, [sp, #0x14]
|$LN3@xsubs_load|
; Line 59
	ldr         r3, [sp, #0x10]
	cmp         r3, #0
	beq         |$LN2@xsubs_load|
; Line 61
	ldr         r2, [sp, #0x14]
	mov         r3, #3, 24
	orr         r3, r3, #0xFF
	cmp         r2, r3
	bne         |$LN1@xsubs_load|
	b           |$LN2@xsubs_load|
|$LN1@xsubs_load|
; Line 62
	ldr         r1, [sp, #0x14]
	mov         r3, #0x10
	mul         r2, r1, r3
	ldr         r3, [pc, #0x94]
	add         r3, r3, #4
	add         r2, r3, r2
	ldr         r3, [sp, #0x10]
	str         r3, [r2]
; Line 63
	ldr         r1, [pc, #0x8C]
	mov         r0, #0
	bl          wcstok
	str         r0, [sp, #0x74]
	ldr         r3, [sp, #0x74]
	str         r3, [sp, #0x10]
; Line 64
	ldr         r1, [pc, #0x70]
	mov         r0, #0
	bl          wcstok
	str         r0, [sp, #0x78]
	ldr         r3, [sp, #0x78]
	str         r3, [sp, #0x10]
; Line 65
	ldr         r1, [pc, #0x54]
	mov         r0, #0
	bl          wcstok
	str         r0, [sp, #0x7C]
	ldr         r3, [sp, #0x7C]
	str         r3, [sp, #0x10]
; Line 66
	ldr         r3, [sp, #0x14]
	add         r3, r3, #1
	str         r3, [sp, #0x14]
; Line 67
	b           |$LN3@xsubs_load|
|$LN2@xsubs_load|
; Line 68
	ldr         r1, [sp, #0x14]
	mov         r3, #0x10
	mul         r2, r1, r3
	ldr         r3, [pc, #0x1C]
	add         r3, r3, #4
	add         r2, r3, r2
	mov         r3, #0
	str         r3, [r2]
; Line 72
	ldr         r0, [sp, #0x18]
	bl          CloseHandle
|$LN10@xsubs_load|
; Line 74
	add         sp, sp, #0x80
	ldmia       sp, {sp, pc}
|$LN15@xsubs_load|
	DCD         |xsubs|
	DCD         |$SG36644|
	DCD         |$SG36642|
	DCD         |$SG36640|
	DCD         |$SG36634|
	DCD         |$SG36632|
	DCD         |$SG36630|
|$M36696|

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -