📄 ddutil.asm
字号:
?live16392@0:
?debug L 131
push ebp
mov ebp,esp
add esp,-168
?debug L 136
@24:
mov eax,dword ptr [ebp+8]
push eax
mov edx,dword ptr [eax]
call dword ptr [edx]
pop ecx
?debug L 139
push 0
push offset _IID_IDirectDraw7
mov ecx,dword ptr [ebp+8]
add ecx,4
push ecx
push 0
call @DirectDrawCreateEx
mov dword ptr [ebp-4],eax
test eax,eax
jge short @25
?debug L 141
mov eax,-2147467259
jmp @26
?debug L 144
@25:
push 8
push dword ptr [ebp+12]
mov edx,dword ptr [ebp+8]
mov ecx,dword ptr [edx+4]
push ecx
mov eax,dword ptr [ecx]
call dword ptr [eax+80]
mov dword ptr [ebp-4],eax
?debug L 145
cmp dword ptr [ebp-4],0
jge short @27
?debug L 146
mov eax,-2147467259
jmp @26
?debug L 154
@27:
push -16
push dword ptr [ebp+12]
call @GetWindowLongA
mov dword ptr [ebp-8],eax
?debug L 155
and dword ptr [ebp-8],2147483647
?debug L 156
or dword ptr [ebp-8],12976128
?debug L 157
push dword ptr [ebp-8]
push -16
push dword ptr [ebp+12]
call @SetWindowLongA
?debug L 160
push dword ptr [ebp+20]
push dword ptr [ebp+16]
push 0
push 0
lea edx,dword ptr [ebp-44]
push edx
call @SetRect
?debug L 162
push -20
push dword ptr [ebp+12]
call @GetWindowLongA
push eax
push dword ptr [ebp+12]
call @GetMenu
test eax,eax
setne cl
and ecx,1
push ecx
push -16
push dword ptr [ebp+12]
call @GetWindowLongA
push eax
lea eax,dword ptr [ebp-44]
push eax
call @AdjustWindowRectEx
?debug L 165
push 22
mov edx,dword ptr [ebp-32]
sub edx,dword ptr [ebp-40]
push edx
mov ecx,dword ptr [ebp-36]
sub ecx,dword ptr [ebp-44]
push ecx
push 0
push 0
push 0
push dword ptr [ebp+12]
call @SetWindowPos
?debug L 168
push 19
push 0
push 0
push 0
push 0
push -2
push dword ptr [ebp+12]
call @SetWindowPos
?debug L 172
push 0
lea eax,dword ptr [ebp-28]
push eax
push 0
push 48
call @SystemParametersInfoA
?debug L 173
lea edx,dword ptr [ebp-44]
push edx
push dword ptr [ebp+12]
call @GetWindowRect
?debug L 174
mov ecx,dword ptr [ebp-44]
cmp ecx,dword ptr [ebp-28]
jge short @28
mov eax,dword ptr [ebp-28]
mov dword ptr [ebp-44],eax
?debug L 175
@28:
mov edx,dword ptr [ebp-40]
cmp edx,dword ptr [ebp-24]
jge short @29
mov ecx,dword ptr [ebp-24]
mov dword ptr [ebp-40],ecx
?debug L 176
@29:
push 21
push 0
push 0
push dword ptr [ebp-40]
push dword ptr [ebp-44]
push 0
push dword ptr [ebp+12]
call @SetWindowPos
?debug L 183
push 124
push 0
lea eax,dword ptr [ebp-168]
push eax
call @_memset
add esp,12
?debug L 184
mov dword ptr [ebp-168],124
?debug L 185
mov dword ptr [ebp-164],1
?debug L 186
mov dword ptr [ebp-64],2560
?debug L 188
push 0
mov edx,dword ptr [ebp+8]
add edx,8
push edx
lea ecx,dword ptr [ebp-168]
push ecx
mov eax,dword ptr [ebp+8]
mov edx,dword ptr [eax+4]
push edx
mov ecx,dword ptr [edx]
call dword ptr [ecx+24]
test eax,eax
jge short @30
?debug L 189
mov eax,-2147467259
jmp @26
?debug L 192
@30:
mov dword ptr [ebp-164],7
?debug L 194
mov dword ptr [ebp-64],10304
?debug L 195
mov edx,dword ptr [ebp+16]
mov dword ptr [ebp-156],edx
?debug L 196
mov ecx,dword ptr [ebp+20]
mov dword ptr [ebp-160],ecx
?debug L 198
push 0
mov eax,dword ptr [ebp+8]
add eax,12
push eax
lea edx,dword ptr [ebp-168]
push edx
mov ecx,dword ptr [ebp+8]
mov eax,dword ptr [ecx+4]
push eax
mov edx,dword ptr [eax]
call dword ptr [edx+24]
mov dword ptr [ebp-4],eax
test eax,eax
jge short @31
?debug L 199
mov eax,-2147467259
jmp @26
?debug L 201
@31:
push 0
lea edx,dword ptr [ebp-12]
push edx
push 0
mov ecx,dword ptr [ebp+8]
mov eax,dword ptr [ecx+4]
push eax
mov edx,dword ptr [eax]
call dword ptr [edx+16]
mov dword ptr [ebp-4],eax
test eax,eax
jge short @32
?debug L 202
mov eax,-2147467259
jmp short @26
?debug L 204
@32:
push dword ptr [ebp+12]
push 0
mov edx,dword ptr [ebp-12]
push edx
mov ecx,dword ptr [edx]
call dword ptr [ecx+32]
mov dword ptr [ebp-4],eax
test eax,eax
jge short @33
?debug L 206
mov edx,dword ptr [ebp-12]
push edx
mov ecx,dword ptr [edx]
call dword ptr [ecx+8]
?debug L 207
mov eax,-2147467259
jmp short @26
?debug L 210
@33:
push dword ptr [ebp-12]
mov edx,dword ptr [ebp+8]
mov ecx,dword ptr [edx+8]
push ecx
mov eax,dword ptr [ecx]
call dword ptr [eax+112]
mov dword ptr [ebp-4],eax
test eax,eax
jge short @34
?debug L 212
mov edx,dword ptr [ebp-12]
push edx
mov ecx,dword ptr [edx]
call dword ptr [ecx+8]
?debug L 213
mov eax,-2147467259
jmp short @26
?debug L 217
@34:
mov edx,dword ptr [ebp-12]
push edx
mov ecx,dword ptr [edx]
call dword ptr [ecx+8]
?debug L 219
mov eax,dword ptr [ebp+12]
mov edx,dword ptr [ebp+8]
mov dword ptr [edx+20],eax
?debug L 220
mov ecx,dword ptr [ebp+8]
mov dword ptr [ecx+40],1
?debug L 221
push dword ptr [ebp+8]
call @@CDisplay@UpdateBounds$qv
pop ecx
?debug L 223
xor eax,eax
?debug L 224
@35:
@26:
mov esp,ebp
pop ebp
ret
?debug L 0
@@CDisplay@CreateWindowedDisplay$qpvulul endp
@CDisplay@CreateWindowedDisplay$qpvulul ends
_TEXT ends
$$BSYMS segment byte public use32 'DEBSYM'
dw 86
dw 517
dw 0
dw 0
dw 0
dw 0
dw 0
dw 0
dd ?patch13
dd ?patch14
dd ?patch15
df @@CDisplay@CreateWindowedDisplay$qpvulul
dw 0
dw 4105
dw 0
dw 16
dw 0
dw 0
dw 0
db 39
db 64
db 67
db 68
db 105
db 115
db 112
db 108
db 97
db 121
db 64
db 67
db 114
db 101
db 97
db 116
db 101
db 87
db 105
db 110
db 100
db 111
db 119
db 101
db 100
db 68
db 105
db 115
db 112
db 108
db 97
db 121
db 36
db 113
db 112
db 118
db 117
db 108
db 117
db 108
dw 18
dw 512
dw 8
dw 0
dw 4097
dw 0
dw 17
dw 0
dw 0
dw 0
dw 18
dw 512
dw 12
dw 0
dw 1027
dw 0
dw 18
dw 0
dw 0
dw 0
dw 18
dw 512
dw 16
dw 0
dw 34
dw 0
dw 19
dw 0
dw 0
dw 0
dw 18
dw 512
dw 20
dw 0
dw 34
dw 0
dw 20
dw 0
dw 0
dw 0
dw 18
dw 512
dw 65368
dw 65535
dw 65532
dw 65535
dw 21
dw 0
dw 0
dw 0
dw 18
dw 512
dw 65524
dw 65535
dw 65531
dw 65535
dw 22
dw 0
dw 0
dw 0
dw 18
dw 512
dw 65528
dw 65535
dw 34
dw 0
dw 23
dw 0
dw 0
dw 0
dw 18
dw 512
dw 65492
dw 65535
dw 65530
dw 65535
dw 24
dw 0
dw 0
dw 0
dw 18
dw 512
dw 65508
dw 65535
dw 65530
dw 65535
dw 25
dw 0
dw 0
dw 0
dw 18
dw 512
dw 65532
dw 65535
dw 18
dw 0
dw 26
dw 0
dw 0
dw 0
?patch13 equ @35-@@CDisplay@CreateWindowedDisplay$qpvulul+4
?patch14 equ 0
?patch15 equ @35-@@CDisplay@CreateWindowedDisplay$qpvulul
dw 2
dw 6
dw 4
dw 531
dw 0
$$BSYMS ends
_TEXT segment dword public use32 'CODE'
@CDisplay@CreateChildCtrlDisplay$qpvulul segment virtual
@@CDisplay@CreateChildCtrlDisplay$qpvulul proc near
?live16393@0:
?debug L 228
push ebp
mov ebp,esp
add esp,-132
?debug L 233
@36:
mov eax,dword ptr [ebp+8]
push eax
mov edx,dword ptr [eax]
call dword ptr [edx]
pop ecx
?debug L 236
push 0
push offset _IID_IDirectDraw7
mov ecx,dword ptr [ebp+8]
add ecx,4
push ecx
push 0
call @DirectDrawCreateEx
mov dword ptr [ebp-4],eax
test eax,eax
jge short @37
?debug L 238
mov eax,-2147467259
jmp @38
?debug L 241
@37:
push 8
push dword ptr [ebp+12]
mov edx,dword ptr [ebp+8]
mov ecx,dword ptr [edx+4]
push ecx
mov eax,dword ptr [ecx]
call dword ptr [eax+80]
mov dword ptr [ebp-4],eax
?debug L 242
cmp dword ptr [ebp-4],0
jge short @39
?debug L 243
mov eax,-2147467259
jmp @38
?debug L 250
@39:
push 124
push 0
lea edx,dword ptr [ebp-132]
push edx
call @_memset
add esp,12
?debug L 251
mov dword ptr [ebp-132],124
?debug L 252
mov dword ptr [ebp-128],1
?debug L 253
mov dword ptr [ebp-28],2560
?debug L 255
push 0
mov ecx,dword ptr [ebp+8]
add ecx,8
push ecx
lea eax,dword ptr [ebp-132]
push eax
mov edx,dword ptr [ebp+8]
mov ecx,dword ptr [edx+4]
push ecx
mov eax,dword ptr [ecx]
call dword ptr [eax+24]
test eax,eax
jge short @40
?debug L 256
mov eax,-2147467259
jmp @38
?debug L 259
@40:
mov dword ptr [ebp-128],7
?debug L 260
mov dword ptr [ebp-28],10304
?debug L 261
mov edx,dword ptr [ebp+16]
mov dword ptr [ebp-120],edx
?debug L 262
mov ecx,dword ptr [ebp+20]
mov dword ptr [ebp-124],ecx
?debug L 264
push 0
mov eax,dword ptr [ebp+8]
add eax,12
push eax
lea edx,dword ptr [ebp-132]
push edx
mov ecx,dword ptr [ebp+8]
mov eax,dword ptr [ecx+4]
push eax
mov edx,dword ptr [eax]
call dword ptr [edx+24]
mov dword ptr [ebp-4],eax
test eax,eax
jge short @41
?debug L 265
mov eax,-2147467259
jmp @38
?debug L 267
@41:
push 0
lea edx,dword ptr [ebp-8]
push edx
push 0
mov ecx,dword ptr [ebp+8]
mov eax,dword ptr [ecx+4]
push eax
mov edx,dword ptr [eax]
call dword ptr [edx+16]
mov dword ptr [ebp-4],eax
test eax,eax
jge short @42
?debug L 268
mov eax,-2147467259
jmp short @38
?debug L 270
@42:
push dword ptr [ebp+12]
push 0
mov edx,dword ptr [ebp-8]
push edx
mov ecx,dword ptr [edx]
call dword ptr [ecx+32]
mov dword ptr [ebp-4],eax
test eax,eax
jge short @43
?debug L 272
mov edx,dword ptr [ebp-8]
push edx
mov ecx,dword ptr [edx]
call dword ptr [ecx+8]
?debug L 273
mov eax,-2147467259
jmp short @38
?debug L 276
@43:
push dword ptr [ebp-8]
mov edx,dword ptr [ebp+8]
mov ecx,dword ptr [edx+8]
push ecx
mov eax,dword ptr [ecx]
call dword ptr [eax+112]
mov dword ptr [ebp-4],eax
test eax,eax
jge short @44
?debug L 278
mov edx,dword ptr [ebp-8]
push edx
mov ecx,dword ptr [edx]
call dword ptr [ecx+8]
?debug L 279
mov eax,-2147467259
jmp short @38
?debug L 283
@44:
mov edx,dword ptr [ebp-8]
push edx
mov ecx,dword ptr [edx]
call dword ptr [ecx+8]
?debug L 285
mov eax,dword ptr [ebp+12]
mov edx,dword ptr [ebp+8]
mov dword ptr [edx+20],eax
?debug L 286
mov ecx,dword ptr [ebp+8]
mov dword ptr [ecx+40],1
?debug L 287
push dword ptr [ebp+8]
call @@CDisplay@UpdateBounds$qv
pop ecx
?debug L 289
xor eax,eax
?debug L 290
@45:
@38:
mov esp,ebp
pop ebp
ret
?debug L 0
@@CDisplay@CreateChildCtrlDisplay$qpvulul endp
@CDisplay@CreateChildCtrlDisplay$qpvulul ends
_TEXT ends
$$BSYMS segment byte public use32 'DEBSYM'
dw 87
dw 517
dw 0
dw 0
dw 0
dw 0
dw 0
dw 0
dd ?patch16
dd ?patch17
dd ?patch18
df @@CDisplay@CreateChildCtrlDisplay$qpvulul
dw 0
dw 4107
dw 0
dw 27
dw 0
dw 0
dw 0
db 40
db 64
db 67
db 68
db 105
db 115
db 112
db 108
db 97
db 121
db 64
db 67
db 114
db 101
db 97
db 116
db 101
db 67
db 104
db 105
db 108
db 100
db 67
db 116
db 114
db 108
db 68
db 105
db 115
db 112
db 108
db 97
db 121
db 36
db 113
db 112
db 118
db 117
db 108
db 117
db 108
dw 18
dw 512
dw 8
dw 0
dw 4097
dw 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -