📄 ddutil.asm
字号:
dw 28
dw 0
dw 0
dw 0
dw 18
dw 512
dw 12
dw 0
dw 1027
dw 0
dw 29
dw 0
dw 0
dw 0
dw 18
dw 512
dw 16
dw 0
dw 34
dw 0
dw 30
dw 0
dw 0
dw 0
dw 18
dw 512
dw 20
dw 0
dw 34
dw 0
dw 31
dw 0
dw 0
dw 0
dw 18
dw 512
dw 65404
dw 65535
dw 65532
dw 65535
dw 32
dw 0
dw 0
dw 0
dw 18
dw 512
dw 65528
dw 65535
dw 65531
dw 65535
dw 33
dw 0
dw 0
dw 0
dw 18
dw 512
dw 65532
dw 65535
dw 18
dw 0
dw 34
dw 0
dw 0
dw 0
?patch16 equ @45-@@CDisplay@CreateChildCtrlDisplay$qpvulul+4
?patch17 equ 0
?patch18 equ @45-@@CDisplay@CreateChildCtrlDisplay$qpvulul
dw 2
dw 6
dw 4
dw 531
dw 0
$$BSYMS ends
_DATA segment dword public use32 'DATA'
@_$DCMC$@CDisplay@CreateSurface$qpp8CSurfaceulul segment virtual
align 2
@@_$DCMC$@CDisplay@CreateSurface$qpp8CSurfaceulul label dword
dd @@$xt$p8CSurface
dd 8199
dd -4
dd 0
@_$DCMC$@CDisplay@CreateSurface$qpp8CSurfaceulul ends
_DATA ends
_DATA segment dword public use32 'DATA'
@_$ECTNC$@CDisplay@CreateSurface$qpp8CSurfaceulul segment virtual
align 2
@@_$ECTNC$@CDisplay@CreateSurface$qpp8CSurfaceulul label dword
dd 0
dd -40
dw 0
dw 5
dd 0
dd 0
dw 8
dw 5
dd 0
dd @@_$DCMC$@CDisplay@CreateSurface$qpp8CSurfaceulul
@_$ECTNC$@CDisplay@CreateSurface$qpp8CSurfaceulul ends
_DATA ends
_TEXT segment dword public use32 'CODE'
@CDisplay@CreateSurface$qpp8CSurfaceulul segment virtual
@@CDisplay@CreateSurface$qpp8CSurfaceulul proc near
?live16394@0:
?debug L 297
push ebp
mov ebp,esp
add esp,-168
@46:
mov eax,offset @@_$ECTNC$@CDisplay@CreateSurface$qpp8CSurfaceulul
call @__InitExceptBlockLDTC
?debug L 300
mov edx,dword ptr [ebp+8]
cmp dword ptr [edx+4],0
jne short @47
?debug L 301
mov eax,-2147467261
mov edx,dword ptr [ebp-40]
mov dword ptr fs:[0],edx
jmp @48
?debug L 302
@47:
cmp dword ptr [ebp+12],0
jne short @49
?debug L 303
mov eax,-2147024809
mov edx,dword ptr [ebp-40]
mov dword ptr fs:[0],edx
jmp @48
?debug L 307
@49:
push 124
push 0
lea ecx,dword ptr [ebp-168]
push ecx
call @_memset
add esp,12
?debug L 308
mov dword ptr [ebp-168],124
?debug L 309
mov dword ptr [ebp-164],7
?debug L 310
mov dword ptr [ebp-64],10304
?debug L 311
mov eax,dword ptr [ebp+16]
mov dword ptr [ebp-156],eax
?debug L 312
mov edx,dword ptr [ebp+20]
mov dword ptr [ebp-160],edx
?debug L 314
push 140
call @$bnew$qui
pop ecx
mov dword ptr [ebp-4],eax
test eax,eax
je short @50
mov word ptr [ebp-24],20
push dword ptr [ebp-4]
call @@CSurface@$bctr$qv
pop ecx
mov word ptr [ebp-24],8
mov edx,dword ptr [ebp-4]
jmp short @51
@50:
mov edx,dword ptr [ebp-4]
@51:
mov eax,dword ptr [ebp+12]
mov dword ptr [eax],edx
?debug L 315
lea ecx,dword ptr [ebp-168]
push ecx
mov eax,dword ptr [ebp+8]
push dword ptr [eax+4]
mov edx,dword ptr [ebp+12]
push dword ptr [edx]
call @@CSurface@Create$qp12IDirectDraw7p15_DDSURFACEDESC2
add esp,12
mov dword ptr [ebp-44],eax
test eax,eax
jge short @52
?debug L 317
push 3
mov edx,dword ptr [ebp+12]
push dword ptr [edx]
call @@CSurface@$bdtr$qv
add esp,8
?debug L 318
mov eax,dword ptr [ebp-44]
mov edx,dword ptr [ebp-40]
mov dword ptr fs:[0],edx
jmp short @48
?debug L 321
@52:
xor eax,eax
mov edx,dword ptr [ebp-40]
mov dword ptr fs:[0],edx
?debug L 322
@53:
@48:
mov esp,ebp
pop ebp
ret
?debug L 0
@@CDisplay@CreateSurface$qpp8CSurfaceulul endp
@CDisplay@CreateSurface$qpp8CSurfaceulul 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 ?patch19
dd ?patch20
dd ?patch21
df @@CDisplay@CreateSurface$qpp8CSurfaceulul
dw 0
dw 4109
dw 0
dw 35
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 83
db 117
db 114
db 102
db 97
db 99
db 101
db 36
db 113
db 112
db 112
db 56
db 67
db 83
db 117
db 114
db 102
db 97
db 99
db 101
db 117
db 108
db 117
db 108
dw 18
dw 512
dw 8
dw 0
dw 4097
dw 0
dw 36
dw 0
dw 0
dw 0
dw 18
dw 512
dw 12
dw 0
dw 65529
dw 65535
dw 37
dw 0
dw 0
dw 0
dw 18
dw 512
dw 16
dw 0
dw 34
dw 0
dw 38
dw 0
dw 0
dw 0
dw 18
dw 512
dw 20
dw 0
dw 34
dw 0
dw 39
dw 0
dw 0
dw 0
dw 18
dw 512
dw 65368
dw 65535
dw 65532
dw 65535
dw 40
dw 0
dw 0
dw 0
dw 18
dw 512
dw 65492
dw 65535
dw 18
dw 0
dw 41
dw 0
dw 0
dw 0
?patch19 equ @53-@@CDisplay@CreateSurface$qpp8CSurfaceulul+4
?patch20 equ 0
?patch21 equ @53-@@CDisplay@CreateSurface$qpp8CSurfaceulul
dw 2
dw 6
dw 4
dw 531
dw 0
$$BSYMS ends
_DATA segment dword public use32 'DATA'
@_$DCOC$@CDisplay@CreateSurfaceFromTGA$qpp8CSurfacepxc segment virtual
align 2
@@_$DCOC$@CDisplay@CreateSurfaceFromTGA$qpp8CSurfacepxc label dword
dd @@$xt$p8CSurface
dd 8199
dd -4
dd 0
@_$DCOC$@CDisplay@CreateSurfaceFromTGA$qpp8CSurfacepxc ends
_DATA ends
_DATA segment dword public use32 'DATA'
@_$ECTPC$@CDisplay@CreateSurfaceFromTGA$qpp8CSurfacepxc segment virtual
align 2
@@_$ECTPC$@CDisplay@CreateSurfaceFromTGA$qpp8CSurfacepxc label dword
dd 0
dd -40
dw 0
dw 5
dd 0
dd 0
dw 8
dw 5
dd 0
dd @@_$DCOC$@CDisplay@CreateSurfaceFromTGA$qpp8CSurfacepxc
@_$ECTPC$@CDisplay@CreateSurfaceFromTGA$qpp8CSurfacepxc ends
_DATA ends
_TEXT segment dword public use32 'CODE'
@CDisplay@CreateSurfaceFromTGA$qpp8CSurfacepxc segment virtual
@@CDisplay@CreateSurfaceFromTGA$qpp8CSurfacepxc proc near
?live16398@0:
?debug L 329
push ebp
mov ebp,esp
add esp,-324
@54:
mov eax,offset @@_$ECTPC$@CDisplay@CreateSurfaceFromTGA$qpp8CSurfacepxc
call @__InitExceptBlockLDTC
?debug L 334
xor edx,edx
mov dword ptr [ebp-48],edx
?debug L 336
mov ecx,dword ptr [ebp+8]
cmp dword ptr [ecx+4],0
je short @56
cmp dword ptr [ebp+16],0
je short @56
cmp dword ptr [ebp+12],0
jne short @55
?debug L 337
@56:
mov eax,-2147024809
mov edx,dword ptr [ebp-40]
mov dword ptr fs:[0],edx
jmp @57
?debug L 338
@55:
mov ecx,dword ptr [ebp+12]
xor eax,eax
mov dword ptr [ecx],eax
?debug L 340
xor edx,edx
mov dword ptr [ebp-52],edx
?debug L 341
push offset s@
push dword ptr [ebp+16]
call @_fopen
add esp,8
mov dword ptr [ebp-52],eax
test eax,eax
je @59
?debug L 343
push dword ptr [ebp-52]
push 1
push 20
lea edx,dword ptr [ebp-316]
push edx
call @_fread
add esp,16
?debug L 347
push 124
push 0
lea ecx,dword ptr [ebp-296]
push ecx
call @_memset
add esp,12
?debug L 348
mov dword ptr [ebp-296],124
?debug L 349
mov dword ptr [ebp-292],7
?debug L 350
mov dword ptr [ebp-192],2112
?debug L 351
movzx eax,word ptr [ebp-302]
mov dword ptr [ebp-284],eax
?debug L 352
movzx edx,word ptr [ebp-300]
mov dword ptr [ebp-288],edx
?debug L 354
push 140
call @$bnew$qui
pop ecx
mov dword ptr [ebp-4],eax
test eax,eax
je short @60
mov word ptr [ebp-24],20
push dword ptr [ebp-4]
call @@CSurface@$bctr$qv
pop ecx
mov word ptr [ebp-24],8
mov edx,dword ptr [ebp-4]
jmp short @61
@60:
mov edx,dword ptr [ebp-4]
@61:
mov eax,dword ptr [ebp+12]
mov dword ptr [eax],edx
?debug L 355
lea ecx,dword ptr [ebp-296]
push ecx
mov eax,dword ptr [ebp+8]
push dword ptr [eax+4]
mov edx,dword ptr [ebp+12]
push dword ptr [edx]
call @@CSurface@Create$qp12IDirectDraw7p15_DDSURFACEDESC2
add esp,12
mov dword ptr [ebp-44],eax
test eax,eax
jge short @62
?debug L 357
push 3
mov edx,dword ptr [ebp+12]
push dword ptr [edx]
call @@CSurface@$bdtr$qv
add esp,8
?debug L 358
mov eax,dword ptr [ebp-44]
mov edx,dword ptr [ebp-40]
mov dword ptr fs:[0],edx
jmp @57
?debug L 362
@62:
push 124
push 0
lea ecx,dword ptr [ebp-296]
push ecx
call @_memset
add esp,12
?debug L 363
mov dword ptr [ebp-296],124
?debug L 364
mov eax,dword ptr [ebp+12]
push dword ptr [eax]
call @@CSurface@GetDDrawSurface$qv
pop ecx
mov dword ptr [ebp-56],eax
push 0
push 17
lea edx,dword ptr [ebp-296]
push edx
push 0
mov ecx,dword ptr [ebp-56]
push ecx
mov eax,dword ptr [ecx]
call dword ptr [eax+100]
mov dword ptr [ebp-44],eax
test eax,eax
jl @64
?debug L 366
@65:
mov edx,dword ptr [ebp-260]
mov dword ptr [ebp-60],edx
?debug L 367
mov ecx,dword ptr [ebp-280]
mov dword ptr [ebp-48],ecx
?debug L 368
mov eax,dword ptr [ebp-204]
mov dword ptr [ebp-64],eax
?debug L 369
cmp byte ptr [ebp-314],10
jne @68
cmp byte ptr [ebp-298],16
jne @68
?debug L 373
@69:
mov word ptr [ebp-70],0
?debug L 375
xor edx,edx
mov dword ptr [ebp-76],edx
?debug L 376
xor ecx,ecx
mov dword ptr [ebp-80],ecx
?debug L 377
mov eax,dword ptr [ebp-48]
sar eax,1
movzx edx,word ptr [ebp-300]
dec edx
imul edx
add eax,eax
add dword ptr [ebp-60],eax
?debug L 378
mov ecx,dword ptr [ebp-60]
mov dword ptr [ebp-84],ecx
jmp @71
?debug L 381
@70:
test byte ptr [ebp-65],-128
je @72
?debug L 383
xor eax,eax
mov al,byte ptr [ebp-65]
and ax,127
inc eax
mov word ptr [ebp-72],ax
?debug L 384
movzx edx,word ptr [ebp-72]
add dword ptr [ebp-76],edx
?debug L 385
push dword ptr [ebp-52]
push 1
push 2
lea ecx,dword ptr [ebp-68]
push ecx
call @_fread
add esp,16
?debug L 386
cmp word ptr [ebp-70],0
jne short @73
mov ax,word ptr [ebp-68]
mov word ptr [ebp-70],ax
?debug L 387
@73:
@74:
xor edx,edx
mov dword ptr [ebp-88],edx
jmp short @76
?debug L 389
@75:
mov cx,word ptr [ebp-68]
cmp cx,word ptr [ebp-70]
jne short @77
?debug L 390
mov eax,dword ptr [ebp-60]
mov word ptr [eax],0
jmp short @78
?debug L 392
@77:
mov dx,word ptr [ebp-68]
and dx,31744
add edx,edx
mov cx,word ptr [ebp-68]
and cx,992
add ecx,ecx
add dx,cx
mov ax,word ptr [ebp-68]
and ax,31
add dx,ax
mov ecx,dword ptr [ebp-60]
mov word ptr [ecx],dx
?debug L 393
@78:
add dword ptr [ebp-60],2
?debug L 387
@79:
inc dword ptr [ebp-88]
@76:
movzx edx,word ptr [ebp-72]
cmp edx,dword ptr [ebp-88]
jg short @75
?debug L 395
jmp @81
?debug L 398
@72:
xor eax,eax
mov al,byte ptr [ebp-65]
and ax,127
inc eax
mov word ptr [ebp-72],ax
?debug L 399
movzx edx,word ptr [ebp-72]
add dword ptr [ebp-76],edx
?debug L 400
@82:
xor ecx,ecx
mov dword ptr [ebp-92],ecx
jmp short @84
?debug L 402
@83:
push dword ptr [ebp-52]
push 1
push 2
lea eax,dword ptr [ebp-68]
push eax
call @_fread
add esp,16
?debug L 403
cmp word ptr [ebp-70],0
jne short @85
mov dx,word ptr [ebp-68]
mov word ptr [ebp-70],dx
?debug L 404
@85:
mov cx,word ptr [ebp-68]
cmp cx,word ptr [ebp-70]
jne short @86
?debug L 405
mov eax,dword ptr [ebp-60]
mov word ptr [eax],0
jmp short @87
?debug L 407
@86:
mov dx,word ptr [ebp-68]
and dx,31744
add edx,edx
mov cx,word ptr [ebp-68]
and cx,992
add ecx,ecx
add dx,cx
mov ax,word ptr [ebp-68]
and ax,31
add dx,ax
mov ecx,dword ptr [ebp-60]
mov word ptr [ecx],dx
?debug L 408
@87:
add dword ptr [ebp-60],2
?debug L 400
@88:
inc dword ptr [ebp-92]
@84:
movzx edx,word ptr [ebp-72]
cmp edx,dword ptr [ebp-92]
jg short @83
?debug L 411
@81:
movzx eax,word ptr [ebp-302]
cmp eax,dword ptr [ebp-76]
jg short @90
?debug L 413
inc dword ptr [ebp-80]
mov edx,dword ptr [ebp-80]
movzx ecx,word ptr [ebp-300]
cmp edx,ecx
je @95
?debug L 414
xor eax,eax
mov dword ptr [ebp-76],eax
?debug L 415
movzx edx,word ptr [ebp-302]
add edx,edx
sub dword ptr [ebp-84],edx
?debug L 416
mov ecx,dword ptr [ebp-84]
mov dword ptr [ebp-60],ecx
?debug L 379
@90:
@71:
push dword ptr [ebp-52]
push 1
push 1
lea eax,dword ptr [ebp-65]
push eax
call @_fread
add esp,16
test eax,eax
jne @70
?debug L 419
@94:
jmp @95
?debug L 420
@68:
cmp byte ptr [ebp-314],10
jne @98
cmp byte ptr [ebp-298],32
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -