📄 subtitle.asm
字号:
; 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 + -