Function at 0x423790
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xac
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 4]
test eax, eax
je 0x424237
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x424237
mov ecx, dword [ebp + 0x14]
test ecx, ecx
je 0x424237
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x424237
mov dl, byte [edi + 0x17e]
test dl, dl
je 0x424237
test ecx, ecx
jge 0x4237e5
mov ecx, dword [edi + 0xc]
mov dword [ebp + 0x14], ecx
test eax, eax
jge 0x4237ef
mov eax, dword [edi + 0x10]
mov dword [ebp + 0x18], eax
mov edx, dword [edi + 0x14c]
mov esi, dword [edi + 0x1a0]
cmp edx, 0xffffffff
setne byte [esp + 0x12]
test esi, esi
mov esi, dword [ebp + 0x1c]
setne byte [esp + 0x13]
test esi, esi
je 0x423840
lea eax, [esp + 0xa8]
push eax
push ebx
call dword [sym.imp.gdi32.dll_GetClipBox]
push esi
call dword [sym.imp.gdi32.dll_CreateRectRgnIndirect]
push 1
mov esi, eax
push esi
push ebx
call dword [sym.imp.gdi32.dll_ExtSelectClipRgn]
push esi
call dword [sym.imp.gdi32.dll_DeleteObject]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dl, byte [esp + 0x12]
test dl, dl
jne 0x423bad
mov dl, byte [esp + 0x13]
test dl, dl
jne 0x423bad
mov dl, byte [edi + 0x17d]
test dl, dl
jne 0x423bad
cmp ecx, dword [edi + 0xc]
jne 0x4238a6
cmp eax, dword [edi + 0x10]
jne 0x4238a6
push 3
push ebx
call dword [sym.imp.gdi32.dll_SetStretchBltMode]
mov ecx, dword [edi + 4]
mov edx, dword [edi + 0x34]
mov eax, dword [ebp + 0x18]
push 0
push ecx
mov ecx, dword [ebp + 0x10]
push edx
mov edx, dword [ebp + 0xc]
push eax
push 0
push 0
push 0
push eax
mov eax, dword [ebp + 0x14]
push eax
push ecx
push edx
push ebx
call dword [sym.imp.gdi32.dll_SetDIBitsToDevice]
jmp 0x4241fe
lea eax, [esp + 0x8c]
push eax
push ebx
call dword [sym.imp.gdi32.dll_GetClipBox]
mov esi, dword [esp + 0x8c]
mov ecx, dword [ebp + 0xc]
cmp esi, ecx
mov edx, esi
jg 0x4238c7
mov edx, ecx
mov eax, dword [esp + 0x94]
cmp eax, edx
jge 0x4238d8
mov dword [esp + 0x44], eax
jmp 0x4238e4
cmp esi, ecx
mov dword [esp + 0x44], esi
jg 0x4238e4
mov dword [esp + 0x44], ecx
mov edx, dword [ebp + 0x14]
add ecx, edx
cmp eax, ecx
mov edx, eax
jl 0x4238f1
mov edx, ecx
cmp esi, edx
jle 0x4238f9
mov eax, esi
jmp 0x4238ff
cmp eax, ecx
jl 0x4238ff
mov eax, ecx
mov edx, dword [esp + 0x90]
mov ecx, dword [ebp + 0x10]
cmp edx, ecx
mov ebx, edx
jg 0x423911
mov ebx, ecx
mov esi, dword [esp + 0x98]
cmp esi, ebx
jge 0x423920
mov edx, esi
jmp 0x423926
cmp edx, ecx
jg 0x423926
mov edx, ecx
mov ebx, dword [ebp + 0x18]
add ecx, ebx
cmp esi, ecx
mov dword [esp + 0x48], edx
mov ebx, esi
jl 0x423937
mov ebx, ecx
cmp dword [esp + 0x90], ebx
jle 0x423949
mov esi, dword [esp + 0x90]
jmp 0x42394f
cmp esi, ecx
jl 0x42394f
mov esi, ecx
sub eax, dword [esp + 0x44]
mov ecx, eax
mov eax, esi
sub eax, edx
xor edx, edx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x64], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x7c], edx
push eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x84], edx
mov dword [esp + 0x60], 0x28
mov dword [esp + 0x64], ecx
mov word [esp + 0x6c], 1
mov word [esp + 0x6e], 0x18
call dword [sym.imp.gdi32.dll_CreateCompatibleDC]
push 0
push 0
lea ecx, [esp + 0x14]
push ecx
push 0
mov ebx, eax
mov eax, dword [ebp + 8]
lea edx, [esp + 0x6c]
push edx
push eax
mov dword [esp + 0x6c], ebx
call dword [sym.imp.gdi32.dll_CreateDIBSection]
push eax
push ebx
call dword [sym.imp.gdi32.dll_SelectObject]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x423b6e
fild dword [edi + 0xc]
mov eax, dword [esp + 0x28]
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x1f]
fidiv dword [ebp + 0x14]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
shl eax, 2
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
test eax, eax
fstp dword [esp + 0x34]
fild dword [edi + 0x10]
fidiv dword [ebp + 0x18]
fstp dword [esp + 0x58]
jle 0x423b6e
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x20]
sub esi, eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], esi
mov dword [esp + 0x38], ecx
jmp 0x423a50
fild dword [esp + 0x14]
fmul dword [esp + 0x58]
fstp dword [esp + 0x3c]
mov esi, dword [esp + 0x3c]
push esi
call fcn.00423700
add esp, 4
call fcn.0046b518
mov edx, dword [edi + 0x10]
sub edx, eax
jns 0x423a7f
mov dword [esp + 0x18], 0
jmp 0x423a96
push esi
call fcn.00423700
add esp, 4
call fcn.0046b518
mov ecx, dword [edi + 0x10]
sub ecx, eax
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
lea esi, [eax + ecx]
mov eax, dword [esp + 0x28]
xor ebx, ebx
test eax, eax
jle 0x423b48
mov eax, dword [esp + 0x44]
sub eax, dword [ebp + 0xc]
mov dword [esp + 0x3c], eax
lea ebx, [ebx]
mov edx, dword [esp + 0x3c]
add edx, ebx
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
push ecx
fmul dword [esp + 0x38]
fstp dword [esp]
call fcn.0040f840
add esp, 4
call fcn.0046b518
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x423b17
mov ecx, dword [esp + 0x18]
push ecx
push eax
mov ecx, edi
call fcn.00424fd0
lea edx, [esp + 0x9c]
mov ecx, edi
push eax
push edx
call fcn.00424f60
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
mov cl, byte [esp + 0x2e]
mov dl, byte [esp + 0x2d]
jmp 0x423b32
mov ecx, dword [edi + 0x30]
imul ecx, dword [esp + 0x18]
lea edx, [eax + eax*2]
mov eax, dword [edi + 0x34]
add ecx, edx
add ecx, eax
mov al, byte [ecx]
mov dl, byte [ecx + 1]
inc ecx
mov cl, byte [ecx + 1]
mov byte [esi], al
mov eax, dword [esp + 0x28]
inc esi
mov byte [esi], dl
inc esi
mov byte [esi], cl
inc esi
inc ebx
cmp ebx, eax
jl 0x423ac0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
add ecx, eax
mov eax, dword [esp + 0x38]
dec edx
dec eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x38], eax
jne 0x423a50
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
push 0
lea ecx, [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x50]
push edx
mov edx, dword [esp + 0x50]
push eax
push 0
push 0
push 0
push eax
mov eax, dword [esp + 0x48]
push eax
mov eax, dword [ebp + 8]
push ecx
push edx
push eax
call dword [sym.imp.gdi32.dll_SetDIBitsToDevice]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x54]
push ecx
jmp 0x4241e9
lea edx, [esp + 0x8c]
push edx
push ebx
call dword [sym.imp.gdi32.dll_GetClipBox]
mov esi, dword [esp + 0x8c]
mov ecx, dword [ebp + 0xc]
cmp esi, ecx
mov edx, esi
jg 0x423bce
mov edx, ecx
mov eax, dword [esp + 0x94]
cmp eax, edx
jge 0x423bdf
mov dword [esp + 0x44], eax
jmp 0x423beb
cmp esi, ecx
mov dword [esp + 0x44], esi
jg 0x423beb
mov dword [esp + 0x44], ecx
mov edx, dword [ebp + 0x14]
add ecx, edx
cmp eax, ecx
mov edx, eax
jl 0x423bf8
mov edx, ecx
cmp esi, edx
jle 0x423c00
mov eax, esi
jmp 0x423c06
cmp eax, ecx
jl 0x423c06
mov eax, ecx
mov ebx, dword [esp + 0x90]
mov ecx, dword [ebp + 0x10]
cmp ebx, ecx
mov esi, ebx
jg 0x423c18
mov esi, ecx
mov edx, dword [esp + 0x98]
cmp edx, esi
jge 0x423c29
mov dword [esp + 0x48], edx
jmp 0x423c35
cmp ebx, ecx
mov dword [esp + 0x48], ebx
jg 0x423c35
mov dword [esp + 0x48], ecx
mov esi, dword [ebp + 0x18]
add ecx, esi
cmp edx, ecx
mov esi, edx
jl 0x423c42
mov esi, ecx
cmp ebx, esi
jg 0x423c4e
cmp edx, ecx
mov ebx, edx
jl 0x423c4e
mov ebx, ecx
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
sub eax, esi
mov dword [esp + 0x1c], eax
mov esi, ebx
lea eax, [esp + 0x3c]
sub esi, edx
push eax
mov ecx, edi
mov dword [esp + 0x2c], esi
mov byte [esp + 0x10], 0
mov byte [esp + 0x11], 0
mov byte [esp + 0x12], 0
mov byte [esp + 0x13], 0
call fcn.0040f100
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x1c]
xor ecx, ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
push eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x60], 0x28
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], esi
mov word [esp + 0x6c], 1
mov word [esp + 0x6e], 0x18
call dword [sym.imp.gdi32.dll_CreateCompatibleDC]
push 0
push 0
lea ecx, [esp + 0x34]
push ecx
push 0
lea edx, [esp + 0x6c]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 8]
push edx
push eax
call dword [sym.imp.gdi32.dll_CreateDIBSection]
mov ecx, dword [esp + 0x38]
push eax
push ecx
call dword [sym.imp.gdi32.dll_SelectObject]
mov edx, dword [esp + 0x48]
mov ecx, dword [ebp + 8]
push 0xcc0020
push edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x44]
push ecx
push esi
push edx
push 0
push 0
push eax
call dword [sym.imp.gdi32.dll_BitBlt]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4241ac
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x14]
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x1f]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
shl eax, 2
mov dword [esp + 0x58], eax
mov eax, dword [edi + 0xc]
cmp ecx, eax
mov dword [esp + 0x24], eax
jne 0x423f59
mov eax, dword [edi + 0x10]
cmp dword [ebp + 0x18], eax
jne 0x423f59
mov ecx, dword [ebp + 0x10]
sub eax, ebx
add eax, ecx
mov dword [esp + 0x18], eax
mov eax, esi
test eax, eax
jle 0x4241ac
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x44]
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x54], eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], ecx
mov edi, edi
mov edx, dword [esp + 0x18]
mov eax, dword [edi + 0xc]
mov esi, dword [esp + 0x2c]
imul eax, edx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x20]
add esi, eax
mov eax, dword [edi + 0x30]
imul eax, edx
mov dword [esp + 0x14], ecx
lea ecx, [ecx + ecx*2]
add eax, ecx
add eax, dword [edi + 0x34]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x423f2e
mov edx, eax
mov dword [esp + 0x34], edx
mov al, byte [esp + 0x13]
test al, al
je 0x423e11
mov ecx, dword [esp + 0x14]
mov eax, dword [edi + 0x1a0]
add eax, ecx
mov ecx, dword [esp + 0x40]
mov al, byte [eax + ecx]
jmp 0x423e13
or al, 0xff
movzx ebx, byte [edi + 0x17c]
movzx edx, al
mov eax, dword [edi + 0x28]
inc ebx
imul ebx, edx
sar ebx, 8
test eax, eax
je 0x423e71
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
push ecx
mov ecx, edi
call fcn.00424fd0
lea edx, [esp + 0x88]
mov ecx, edi
push eax
push edx
call fcn.00424f60
mov eax, dword [eax]
mov dword [esp + 0xc], eax
mov al, byte [edi + 0x17d]
test al, al
je 0x423e8f
mov ecx, dword [esp + 0xc]
shr ecx, 0x18
movzx edx, bl
inc ecx
imul ecx, edx
sar ecx, 8
mov bl, cl
jmp 0x423e8f
mov eax, dword [esp + 0x30]
mov cl, byte [eax]
mov dl, byte [eax + 1]
inc eax
inc eax
mov byte [esp + 0xc], cl
mov cl, byte [eax]
inc eax
mov byte [esp + 0xd], dl
mov byte [esp + 0xe], cl
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0xc]
cmp edx, dword [esp + 0x3c]
jne 0x423ea6
mov al, byte [esp + 0x12]
test al, al
je 0x423ea6
add esi, 3
jmp 0x423f16
test bl, bl
jne 0x423eaf
add esi, 3
jmp 0x423f16
cmp bl, 0xff
jne 0x423ec8
mov al, byte [esp + 0xc]
mov cl, byte [esp + 0xd]
mov dl, byte [esp + 0xe]
mov byte [esi], al
inc esi
mov byte [esi], cl
inc esi
jmp 0x423f13
movzx edx, byte [esi]
mov al, bl
movzx ecx, bl
movzx ebx, byte [esp + 0xc]
not al
imul ebx, ecx
movzx eax, al
imul edx, eax
add edx, ebx
movzx ebx, byte [esp + 0xd]
sar edx, 8
imul ebx, ecx
mov byte [esi], dl
movzx edx, byte [esi + 1]
inc esi
imul edx, eax
add edx, ebx
sar edx, 8
mov byte [esi], dl
movzx edx, byte [esi + 1]
inc esi
imul edx, eax
movzx eax, byte [esp + 0xe]
imul eax, ecx
add edx, eax
sar edx, 8
mov byte [esi], dl
inc esi
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
inc ecx
dec eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x34], eax
jne 0x423df4
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
add edx, ecx
mov ecx, dword [esp + 0x18]
inc ecx
dec eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], eax
jne 0x423db0
jmp 0x4241ac
fild dword [esp + 0x24]
mov eax, dword [esp + 0x28]
test eax, eax
fidiv dword [ebp + 0x14]
fstp dword [esp + 0x88]
fild dword [edi + 0x10]
fidiv dword [ebp + 0x18]
fstp dword [esp + 0xa0]
jle 0x4241ac
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0x28]
sub ebx, eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x14], ebx
mov dword [esp + 0x34], edx
lea esp, [esp]
fild dword [esp + 0x14]
sub esp, 8
fmul dword [esp + 0xa8]
fst dword [esp + 0x2c]
fstp qword [esp]
call fcn.0046c060
add esp, 8
call fcn.0046b518
mov ecx, dword [edi + 0x10]
sub ecx, eax
jns 0x423fcd
xor ecx, ecx
jmp 0x423fe4
mov edx, dword [esp + 0x24]
push edx
call fcn.00423700
add esp, 4
call fcn.0046b518
mov ecx, dword [edi + 0x10]
sub ecx, eax
mov eax, dword [edi + 0xc]
imul eax, ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x2c]
lea esi, [eax + ecx]
mov eax, dword [esp + 0x1c]
test eax, eax
mov dword [esp + 0x18], 0
jle 0x424186
mov eax, dword [esp + 0x44]
sub eax, dword [ebp + 0xc]
mov dword [esp + 0x54], eax
lea esp, [esp]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x54]
add edx, eax
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
sub esp, 8
fmul dword [esp + 0x90]
fstp qword [esp]
call fcn.0046b3a0
add esp, 8
call fcn.0046b518
mov cl, byte [esp + 0x13]
test cl, cl
je 0x424065
mov ecx, dword [edi + 0x1a0]
mov edx, dword [esp + 0x40]
add ecx, eax
mov cl, byte [ecx + edx]
jmp 0x424068
or cl, 0xff
movzx ebx, byte [edi + 0x17c]
movzx ecx, cl
inc ebx
imul ebx, ecx
mov ecx, dword [edi + 0x28]
sar ebx, 8
test ecx, ecx
je 0x4240c0
mov edx, dword [esp + 0x20]
push edx
push eax
mov ecx, edi
call fcn.00424fd0
mov ecx, edi
push eax
lea eax, [esp + 0xa8]
push eax
call fcn.00424f60
mov ecx, dword [eax]
mov al, byte [edi + 0x17d]
test al, al
mov dword [esp + 0xc], ecx
je 0x4240e8
mov edx, ecx
shr edx, 0x18
movzx eax, bl
inc edx
imul edx, eax
sar edx, 8
mov bl, dl
jmp 0x4240e8
mov ecx, dword [edi + 0x30]
imul ecx, dword [esp + 0x20]
lea edx, [eax + eax*2]
add ecx, edx
mov edx, dword [edi + 0x34]
mov al, byte [ecx + edx]
add ecx, edx
mov dl, byte [ecx + 1]
inc ecx
mov byte [esp + 0xc], al
mov al, byte [ecx + 1]
mov byte [esp + 0xd], dl
mov byte [esp + 0xe], al
mov ecx, dword [esp + 0xc]
cmp ecx, dword [esp + 0x3c]
jne 0x4240ff
mov al, byte [esp + 0x12]
test al, al
je 0x4240ff
add esi, 3
jmp 0x424171
test bl, bl
jne 0x424108
add esi, 3
jmp 0x424171
cmp bl, 0xff
jne 0x424123
mov dl, byte [esp + 0xc]
mov al, byte [esp + 0xd]
mov cl, byte [esp + 0xe]
mov byte [esi], dl
inc esi
mov byte [esi], al
inc esi
mov byte [esi], cl
jmp 0x424170
movzx edx, byte [esi]
mov al, bl
movzx ecx, bl
movzx ebx, byte [esp + 0xc]
not al
imul ebx, ecx
movzx eax, al
imul edx, eax
add edx, ebx
movzx ebx, byte [esp + 0xd]
sar edx, 8
imul ebx, ecx
mov byte [esi], dl
movzx edx, byte [esi + 1]
inc esi
imul edx, eax
add edx, ebx
sar edx, 8
mov byte [esi], dl
movzx edx, byte [esi + 1]
inc esi
imul edx, eax
movzx eax, byte [esp + 0xe]
imul eax, ecx
add edx, eax
sar edx, 8
mov byte [esi], dl
inc esi
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x424020
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x34]
dec esi
add edx, ecx
dec eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
jne 0x423fa0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
push 0
lea edx, [esp + 0x60]
push edx
mov edx, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x34]
push eax
push 0
push 0
push 0
push eax
mov eax, dword [esp + 0x64]
push ecx
mov ecx, dword [ebp + 8]
push edx
push eax
push ecx
call dword [sym.imp.gdi32.dll_SetDIBitsToDevice]
mov edx, dword [esp + 0x9c]
mov esi, dword [esp + 0x38]
push edx
push esi
call dword [sym.imp.gdi32.dll_SelectObject]
push eax
call dword [sym.imp.gdi32.dll_DeleteObject]
push esi
call dword [sym.imp.gdi32.dll_DeleteDC]
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x424229
lea eax, [esp + 0xa8]
push eax
call dword [sym.imp.gdi32.dll_CreateRectRgnIndirect]
mov ecx, dword [ebp + 8]
push 2
mov esi, eax
push esi
push ecx
call dword [sym.imp.gdi32.dll_ExtSelectClipRgn]
push esi
call dword [sym.imp.gdi32.dll_DeleteObject]
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x18