📄 graphics.pas
字号:
0041E014 E8E7FCFFFF call 0041DD00
* Reference to field TBitmapCanvas.OFFS_000C
|
0041E019 8B430C mov eax, [ebx+$0C]
0041E01C 50 push eax
* Reference to: gdi32.DeleteObject()
|
0041E01D E8AE9CFEFF call 00407CD0
0041E022 33C0 xor eax, eax
* Reference to field TBitmapCanvas.OFFS_000C
|
0041E024 89430C mov [ebx+$0C], eax
* Reference to field TBitmapCanvas.OFFS_0010
|
0041E027 8B4310 mov eax, [ebx+$10]
* Reference to: Graphics.Proc_004190B8
|
0041E02A E889B0FFFF call 004190B8
0041E02F 33C0 xor eax, eax
* Reference to field TBitmapCanvas.OFFS_0008
|
0041E031 894308 mov [ebx+$08], eax
0041E034 33C0 xor eax, eax
* Reference to field TBitmapCanvas.OFFS_0010
|
0041E036 894310 mov [ebx+$10], eax
0041E039 5B pop ebx
0041E03A C3 ret
*)
end;
procedure TBitmapCanvas._PROC_0041E03C(Sender : TObject);
begin
(*
0041E03C 55 push ebp
0041E03D 8BEC mov ebp, esp
0041E03F 81C4F0FBFFFF add esp, $FFFFFBF0
0041E045 53 push ebx
0041E046 56 push esi
0041E047 8955FC mov [ebp-$04], edx
0041E04A 8BF0 mov esi, eax
0041E04C 85F6 test esi, esi
0041E04E 0F849E000000 jz 0041E0F2
0041E054 6683792608 cmp word ptr [ecx+$26], +$08
0041E059 0F8793000000 jnbe 0041E0F2
0041E05F 8D95F0FBFFFF lea edx, [ebp+$FFFFFBF0]
0041E065 B9FF000000 mov ecx, $000000FF
0041E06A 8B45FC mov eax, [ebp-$04]
* Reference to : TIcon._PROC_0041B804()
|
0041E06D E892D7FFFF call 0041B804
0041E072 8BD8 mov ebx, eax
0041E074 85DB test ebx, ebx
0041E076 747A jz 0041E0F2
0041E078 6A00 push $00
* Reference to: user32.GetDC()
|
0041E07A E8819FFEFF call 00408000
0041E07F 8945F8 mov [ebp-$08], eax
0041E082 8B45F8 mov eax, [ebp-$08]
0041E085 50 push eax
* Reference to: gdi32.CreateCompatibleDC()
|
0041E086 E8F59BFEFF call 00407C80
0041E08B 8945F4 mov [ebp-$0C], eax
0041E08E 56 push esi
0041E08F 8B45F4 mov eax, [ebp-$0C]
0041E092 50 push eax
* Reference to: gdi32.SelectObject()
|
0041E093 E8589DFEFF call 00407DF0
0041E098 8945F0 mov [ebp-$10], eax
0041E09B 33C0 xor eax, eax
0041E09D 55 push ebp
0041E09E 68EBE04100 push $0041E0EB
***** TRY
|
0041E0A3 64FF30 push dword ptr fs:[eax]
0041E0A6 648920 mov fs:[eax], esp
0041E0A9 8D85F0FBFFFF lea eax, [ebp+$FFFFFBF0]
0041E0AF 50 push eax
0041E0B0 53 push ebx
0041E0B1 6A00 push $00
0041E0B3 8B45F4 mov eax, [ebp-$0C]
0041E0B6 50 push eax
* Reference to: gdi32.SetDIBColorTable()
|
0041E0B7 E85C9DFEFF call 00407E18
0041E0BC 33C0 xor eax, eax
0041E0BE 5A pop edx
0041E0BF 59 pop ecx
0041E0C0 59 pop ecx
0041E0C1 648910 mov fs:[eax], edx
****** FINALLY
|
0041E0C4 68F2E04100 push $0041E0F2
0041E0C9 8B45F0 mov eax, [ebp-$10]
0041E0CC 50 push eax
0041E0CD 8B45F4 mov eax, [ebp-$0C]
0041E0D0 50 push eax
* Reference to: gdi32.SelectObject()
|
0041E0D1 E81A9DFEFF call 00407DF0
0041E0D6 8B45F4 mov eax, [ebp-$0C]
0041E0D9 50 push eax
* Reference to: gdi32.DeleteDC()
|
0041E0DA E8E19BFEFF call 00407CC0
0041E0DF 8B45F8 mov eax, [ebp-$08]
0041E0E2 50 push eax
0041E0E3 6A00 push $00
* Reference to: user32.ReleaseDC()
|
0041E0E5 E856A1FEFF call 00408240
0041E0EA C3 ret
* Reference to: System.Proc_0040368C
|
0041E0EB E99C55FEFF jmp 0040368C
0041E0F0 EBD7 jmp 0041E0C9
****** END
|
0041E0F2 5E pop esi
0041E0F3 5B pop ebx
0041E0F4 8BE5 mov esp, ebp
0041E0F6 5D pop ebp
0041E0F7 C3 ret
*)
end;
procedure TBitmapCanvas._PROC_0041E0F8(Sender : TObject);
begin
(*
0041E0F8 F6402803 test byte ptr [eax+$28], $03
0041E0FC 7442 jz 0041E140
* Reference to field TBitmapCanvas.OFFS_0040
|
0041E0FE 83784000 cmp dword ptr [eax+$40], +$00
0041E102 753C jnz 0041E140
* Reference to field TBitmapCanvas.OFFS_0026
|
0041E104 668B5026 mov dx, word ptr [eax+$26]
0041E108 6683FA10 cmp dx, +$10
0041E10C 7517 jnz 0041E125
* Reference to field TBitmapCanvas.OFFS_0040
|
0041E10E C7404000F80000 mov dword ptr [eax+$40], $0000F800
* Reference to field TBitmapCanvas.OFFS_0044
|
0041E115 C74044E0070000 mov dword ptr [eax+$44], $000007E0
* Reference to field TBitmapCanvas.OFFS_0048
|
0041E11C C740481F000000 mov dword ptr [eax+$48], $0000001F
0041E123 EB1B jmp 0041E140
0041E125 6683FA20 cmp dx, +$20
0041E129 7515 jnz 0041E140
* Reference to field TBitmapCanvas.OFFS_0040
|
0041E12B C740400000FF00 mov dword ptr [eax+$40], $00FF0000
* Reference to field TBitmapCanvas.OFFS_0044
|
0041E132 C7404400FF0000 mov dword ptr [eax+$44], $0000FF00
* Reference to field TBitmapCanvas.OFFS_0048
|
0041E139 C74048FF000000 mov dword ptr [eax+$48], $000000FF
0041E140 C3 ret
*)
end;
procedure TBitmapCanvas._PROC_0041E144(Sender : TObject);
begin
(*
0041E144 55 push ebp
0041E145 8BEC mov ebp, esp
0041E147 81C468FFFFFF add esp, $FFFFFF68
0041E14D 53 push ebx
0041E14E 56 push esi
0041E14F 57 push edi
0041E150 894DF4 mov [ebp-$0C], ecx
0041E153 8955F8 mov [ebp-$08], edx
0041E156 8945FC mov [ebp-$04], eax
0041E159 33C0 xor eax, eax
0041E15B 8945F0 mov [ebp-$10], eax
0041E15E 8B450C mov eax, [ebp+$0C]
* Reference to field TBitmapCanvas.OFFS_0018
|
0041E161 83781800 cmp dword ptr [eax+$18], +$00
0041E165 741A jz 0041E181
0041E167 8B450C mov eax, [ebp+$0C]
* Reference to field TBitmapCanvas.OFFS_001C
|
0041E16A 83781C00 cmp dword ptr [eax+$1C], +$00
0041E16E 0F841F060000 jz 0041E793
0041E174 8B450C mov eax, [ebp+$0C]
* Reference to field TBitmapCanvas.OFFS_0020
|
0041E177 83782000 cmp dword ptr [eax+$20], +$00
0041E17B 0F8412060000 jz 0041E793
0041E181 8B450C mov eax, [ebp+$0C]
* Reference to field TBitmapCanvas.OFFS_0018
|
0041E184 83781800 cmp dword ptr [eax+$18], +$00
0041E188 751A jnz 0041E1A4
0041E18A 8B450C mov eax, [ebp+$0C]
* Reference to field TBitmapCanvas.OFFS_0004
|
0041E18D 83780400 cmp dword ptr [eax+$04], +$00
0041E191 0F84FC050000 jz 0041E793
0041E197 8B450C mov eax, [ebp+$0C]
* Reference to field TBitmapCanvas.OFFS_0008
|
0041E19A 83780800 cmp dword ptr [eax+$08], +$00
0041E19E 0F84EF050000 jz 0041E793
0041E1A4 8B45FC mov eax, [ebp-$04]
* Reference to : TBitmapCanvas._PROC_0041DD00()
|
0041E1A7 E854FBFFFF call 0041DD00
0041E1AC 33C0 xor eax, eax
0041E1AE 894590 mov [ebp-$70], eax
0041E1B1 837DFC00 cmp dword ptr [ebp-$04], +$00
0041E1B5 741C jz 0041E1D3
0041E1B7 8D8578FFFFFF lea eax, [ebp+$FFFFFF78]
0041E1BD 50 push eax
0041E1BE 6A54 push $54
0041E1C0 8B45FC mov eax, [ebp-$04]
0041E1C3 50 push eax
* Reference to: gdi32.GetObjectA()
|
0041E1C4 E86F9BFEFF call 00407D38
0041E1C9 83F818 cmp eax, +$18
0041E1CC 7D05 jnl 0041E1D3
* Reference to : TIcon._PROC_0041AF50()
|
0041E1CE E87DCDFFFF call 0041AF50
0041E1D3 6A00 push $00
* Reference to: user32.GetDC()
|
0041E1D5 E8269EFEFF call 00408000
* Reference to : TIcon._PROC_0041B070()
|
0041E1DA E891CEFFFF call 0041B070
0041E1DF 8945E8 mov [ebp-$18], eax
0041E1E2 8B45E8 mov eax, [ebp-$18]
0041E1E5 50 push eax
* Reference to: gdi32.CreateCompatibleDC()
|
0041E1E6 E8959AFEFF call 00407C80
* Reference to : TIcon._PROC_0041B070()
|
0041E1EB E880CEFFFF call 0041B070
0041E1F0 8945E4 mov [ebp-$1C], eax
0041E1F3 33D2 xor edx, edx
0041E1F5 55 push ebp
0041E1F6 688CE74100 push $0041E78C
***** TRY
|
0041E1FB 64FF32 push dword ptr fs:[edx]
0041E1FE 648922 mov fs:[edx], esp
0041E201 8B450C mov eax, [ebp+$0C]
0041E204 83781828 cmp dword ptr [eax+$18], +$28
0041E208 735E jnb 0041E268
0041E20A 8B450C mov eax, [ebp+$0C]
0041E20D 668B4010 mov ax, word ptr [eax+$10]
0041E211 8B550C mov edx, [ebp+$0C]
0041E214 660B4212 or ax, word ptr [edx+$12]
0041E218 6683F801 cmp ax, +$01
0041E21C 7526 jnz 0041E244
0041E21E 6A00 push $00
0041E220 6A01 push $01
0041E222 6A01 push $01
0041E224 8B450C mov eax, [ebp+$0C]
0041E227 8B4008 mov eax, [eax+$08]
0041E22A 50 push eax
0041E22B 8B450C mov eax, [ebp+$0C]
0041E22E 8B4004 mov eax, [eax+$04]
0041E231 50 push eax
* Reference to: gdi32.CreateBitmap()
|
0041E232 E8319AFEFF call 00407C68
* Reference to : TIcon._PROC_0041B070()
|
0041E237 E834CEFFFF call 0041B070
0041E23C 8945F0 mov [ebp-$10], eax
0041E23F E959020000 jmp 0041E49D
0041E244 8B450C mov eax, [ebp+$0C]
0041E247 8B4008 mov eax, [eax+$08]
0041E24A 50 push eax
0041E24B 8B450C mov eax, [ebp+$0C]
0041E24E 8B4004 mov eax, [eax+$04]
0041E251 50 push eax
0041E252 8B45E8 mov eax, [ebp-$18]
0041E255 50 push eax
* Reference to: gdi32.CreateCompatibleBitmap()
|
0041E256 E81D9AFEFF call 00407C78
* Reference to : TIcon._PROC_0041B070()
|
0041E25B E810CEFFFF call 0041B070
0041E260 8945F0 mov [ebp-$10], eax
0041E263 E935020000 jmp 0041E49D
0041E268 B82C040000 mov eax, $0000042C
* Reference to: System.Proc_00402800
|
0041E26D E88E45FEFF call 00402800
0041E272 8945DC mov [ebp-$24], eax
0041E275 33D2 xor edx, edx
0041E277 55 push ebp
* Possible String Reference to: '轳Q
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -