📄 subtitle.asm
字号:
ENDP ; |xsubs_load|
EXPORT |xsubs_draw|
IMPORT |DrawTextW|
IMPORT |wcschr|
IMPORT |wcslen|
IMPORT |SetBkMode|
IMPORT |SetTextColor|
IMPORT |Rectangle|
IMPORT |CreateSolidBrush|
IMPORT |SelectObject|
IMPORT |CreatePen|
IMPORT |__imp___rt_sdiv|
AREA |.pdata|, PDATA
|$T36711| DCD |$LN15@xsubs_draw|
DCD 0x40011004
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|xsubs_draw| PROC
; Line 77
|$LN15@xsubs_draw|
mov r12, sp
stmdb sp!, {r0 - r2}
stmdb sp!, {r12, lr}
sub sp, sp, #0x29, 28
|$M36708|
; Line 85
mov r2, #0
mov r1, #0
mov r0, #5
bl CreatePen
str r0, [sp, #0x248]
ldr r1, [sp, #0x248]
ldr r0, [sp, #0x298]
bl SelectObject
str r0, [sp, #0x24C]
ldr r3, [sp, #0x24C]
str r3, [sp, #0x24]
; Line 86
mov r0, #0
bl CreateSolidBrush
str r0, [sp, #0x250]
ldr r1, [sp, #0x250]
ldr r0, [sp, #0x298]
bl SelectObject
str r0, [sp, #0x254]
ldr r3, [sp, #0x254]
str r3, [sp, #0x30]
; Line 87
ldr r3, [sp, #0x2A0]
cmp r3, #0
beq |$LN10@xsubs_draw|
; Line 89
mov r3, #0
str r3, [sp, #0xC]
; Line 90
mov r3, #0xF0
str r3, [sp, #0x14]
; Line 91
mov r3, #0x32
str r3, [sp, #0x10]
; Line 92
mov r3, #0x50
str r3, [sp, #0x18]
; Line 93
ldr r3, [sp, #0x18]
str r3, [sp]
ldr r3, [sp, #0x14]
ldr r2, [sp, #0x10]
ldr r1, [sp, #0xC]
ldr r0, [sp, #0x298]
bl Rectangle
; Line 95
b |$LN9@xsubs_draw|
|$LN10@xsubs_draw|
; Line 97
mov r3, #0
str r3, [sp, #0xC]
; Line 98
mov r3, #0x1E
str r3, [sp, #0x14]
; Line 99
mov r3, #0x32
str r3, [sp, #0x10]
; Line 100
mov r3, #1, 24
orr r3, r3, #0xE
str r3, [sp, #0x18]
; Line 101
ldr r3, [sp, #0x18]
str r3, [sp]
ldr r3, [sp, #0x14]
ldr r2, [sp, #0x10]
ldr r1, [sp, #0xC]
ldr r0, [sp, #0x298]
bl Rectangle
|$LN9@xsubs_draw|
; Line 103
mvn r1, #0xFF, 8
ldr r0, [sp, #0x298]
bl SetTextColor
; Line 104
mov r1, #1
ldr r0, [sp, #0x298]
bl SetBkMode
; Line 105
ldr r1, [sp, #0x29C]
mov r3, #0x10
mul r2, r1, r3
ldr r3, [pc, #0x324]
add r3, r3, #4
add r3, r3, r2
ldr r3, [r3]
str r3, [sp, #4]
; Line 106
mov r3, #0
str r3, [sp, #0x28]
|$LN8@xsubs_draw|
; Line 107
ldr r0, [sp, #4]
bl wcslen
str r0, [sp, #0x258]
ldr r3, [sp, #0x258]
cmp r3, #0
beq |$LN7@xsubs_draw|
; Line 109
ldr r3, [sp, #4]
str r3, [sp, #0x1C]
; Line 110
ldr r0, [sp, #0x1C]
bl wcslen
str r0, [sp, #0x25C]
ldr r3, [sp, #0x25C]
cmp r3, #0x1F
bcs |$LN6@xsubs_draw|
ldr r0, [sp, #0x1C]
bl wcslen
str r0, [sp, #0x260]
ldr r1, [sp, #0x260]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x1C]
add r3, r3, r2
str r3, [sp, #4]
b |$LN5@xsubs_draw|
|$LN6@xsubs_draw|
; Line 111
mov r1, #0x20
ldr r3, [sp, #0x1C]
add r0, r3, #0x3C
bl wcschr
str r0, [sp, #0x264]
ldr r3, [sp, #0x264]
str r3, [sp, #4]
|$LN5@xsubs_draw|
; Line 112
ldr r3, [sp, #4]
cmp r3, #0
bne |$LN4@xsubs_draw|
ldr r0, [sp, #0x1C]
bl wcslen
str r0, [sp, #0x268]
ldr r1, [sp, #0x268]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x1C]
add r3, r3, r2
str r3, [sp, #4]
|$LN4@xsubs_draw|
; Line 113
ldr r3, [sp, #0x2A0]
cmp r3, #0
beq |$LN3@xsubs_draw|
; Line 115
mov r3, #0
str r3, [sp, #0xC]
; Line 116
mov r3, #0xF0
str r3, [sp, #0x14]
; Line 117
ldr r2, [sp, #0x28]
mov r3, #0xA
mul r3, r2, r3
add r3, r3, #0x32
str r3, [sp, #0x10]
; Line 118
ldr r2, [sp, #0x28]
mov r3, #0xA
mul r3, r2, r3
add r3, r3, #0x3C
str r3, [sp, #0x18]
; Line 119
ldr r3, [pc, #0x214]
ldr r1, [r3]
ldr r0, [sp, #0x298]
bl SelectObject
str r0, [sp, #0x26C]
ldr r3, [sp, #0x26C]
str r3, [sp, #8]
; Line 120
mov r3, #2, 22
orr r3, r3, #1
str r3, [sp]
add r3, sp, #0xC
ldr r1, [sp, #4]
ldr r2, [sp, #0x1C]
sub r2, r1, r2
mov r2, r2, asr #1
ldr r1, [sp, #0x1C]
ldr r0, [sp, #0x298]
bl DrawTextW
; Line 123
ldr r1, [sp, #8]
ldr r0, [sp, #0x298]
bl SelectObject
str r0, [sp, #0x270]
ldr r3, [sp, #0x270]
str r3, [sp, #8]
; Line 125
b |$LN2@xsubs_draw|
|$LN3@xsubs_draw|
; Line 127
mov r3, #0
str r3, [sp, #0xC]
; Line 128
mov r3, #0xA
str r3, [sp, #0x14]
; Line 129
mov r3, #0x32
str r3, [sp, #0x10]
; Line 130
mov r3, #0xA
str r3, [sp, #0x18]
; Line 131
ldr r3, [pc, #0x190]
ldr r1, [r3]
ldr r0, [sp, #0x298]
bl SelectObject
str r0, [sp, #0x274]
ldr r3, [sp, #0x274]
str r3, [sp, #8]
; Line 132
mov r3, #1, 22
str r3, [sp]
add r3, sp, #0xC
ldr r1, [sp, #4]
ldr r2, [sp, #0x1C]
sub r2, r1, r2
mov r2, r2, asr #1
ldr r1, [sp, #0x1C]
ldr r0, [sp, #0x298]
bl DrawTextW
; Line 133
ldr r3, [pc, #0x148]
ldr r1, [r3]
ldr r0, [sp, #0x298]
bl SelectObject
str r0, [sp, #0x278]
ldr r3, [sp, #0x278]
str r3, [sp, #8]
; Line 134
ldr r1, [sp, #8]
ldr r0, [sp, #0x298]
bl SelectObject
str r0, [sp, #0x27C]
ldr r3, [sp, #0x27C]
str r3, [sp, #8]
; Line 135
ldr r3, [pc, #0x114]
ldr r1, [r3]
ldr r0, [sp, #0x298]
bl SelectObject
str r0, [sp, #0x280]
ldr r3, [sp, #0x280]
str r3, [sp, #8]
; Line 136
ldr r3, [sp, #0x14]
add r3, r3, #0x14
str r3, [sp, #0x20]
; Line 137
ldr r3, [sp, #0x20]
cmp r3, #0xDC
ble |$LN1@xsubs_draw|
mov r3, #0xDC
str r3, [sp, #0x20]
|$LN1@xsubs_draw|
; Line 138
ldr r2, [sp, #0x28]
mov r3, #0xA
mul r3, r2, r3
str r3, [sp, #0xC]
; Line 139
ldr r2, [sp, #0x28]
mov r3, #0xA
mul r3, r2, r3
add r3, r3, #0xA
str r3, [sp, #0x14]
; Line 140
ldr r3, [sp, #0x20]
rsb r1, r3, #5, 26
mov r0, #2
ldr r3, [pc, #0xA4]
ldr r3, [r3]
mov lr, pc
mov pc, r3
str r0, [sp, #0x10]
; Line 141
ldr r3, [sp, #0x10]
rsb r3, r3, #5, 26
str r3, [sp, #0x18]
; Line 142
mov r3, #2, 22
orr r3, r3, #8
str r3, [sp]
add r3, sp, #0xC
ldr r1, [sp, #4]
ldr r2, [sp, #0x1C]
sub r2, r1, r2
mov r2, r2, asr #1
ldr r1, [sp, #0x1C]
ldr r0, [sp, #0x298]
bl DrawTextW
; Line 143
ldr r1, [sp, #8]
ldr r0, [sp, #0x298]
bl SelectObject
str r0, [sp, #0x284]
ldr r3, [sp, #0x284]
str r3, [sp, #8]
|$LN2@xsubs_draw|
; Line 145
ldr r3, [sp, #0x28]
add r3, r3, #1
str r3, [sp, #0x28]
; Line 146
b |$LN8@xsubs_draw|
|$LN7@xsubs_draw|
; Line 147
ldr r1, [sp, #0x24]
ldr r0, [sp, #0x298]
bl SelectObject
str r0, [sp, #0x288]
ldr r3, [sp, #0x288]
str r3, [sp, #0x24]
; Line 148
ldr r1, [sp, #0x30]
ldr r0, [sp, #0x298]
bl SelectObject
str r0, [sp, #0x28C]
ldr r3, [sp, #0x28C]
str r3, [sp, #0x30]
; Line 149
add sp, sp, #0x29, 28
ldmia sp, {sp, pc}
|$LN16@xsubs_draw|
DCD |__imp___rt_sdiv|
DCD |hfont2|
DCD |hfont1|
DCD |xsubs|
|$M36709|
ENDP ; |xsubs_draw|
EXPORT |xsubs_free|
IMPORT |DeleteObject|
AREA |.pdata|, PDATA
|$T36717| DCD |$LN5@xsubs_free|
DCD 0x40000f01
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|xsubs_free| PROC
; Line 152
|$LN5@xsubs_free|
str lr, [sp, #-4]!
|$M36714|
; Line 153
ldr r3, [pc, #0x2C]
ldr r0, [r3]
bl DeleteObject
; Line 154
ldr r3, [pc, #0x1C]
ldr r0, [r3]
bl DeleteObject
; Line 155
ldr r3, [pc, #0xC]
add r0, r3, #1, 18
ldr r0, [r0, #4]
bl free
; Line 156
ldr pc, [sp], #4
|$LN6@xsubs_free|
DCD |xsubs|
DCD |hfont2|
DCD |hfont1|
|$M36715|
ENDP ; |xsubs_free|
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -