Function at 0x64a660e0
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xbc
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0x8c], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call sym.gdiplus.dll_GdipClonePath
sub esp, 8
mov ebx, eax
test eax, eax
je 0x64a66120
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [ebp - 0x3c]
mov dword [esp], eax
call sym.gdiplus.dll_GdipCreateMatrix
sub esp, 4
mov ebx, eax
test eax, eax
je 0x64a66150
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sym.gdiplus.dll_GdipDeletePath
mov eax, ebx
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x3c]
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x98]
mov dword [esp], eax
call sym._get_graphics_transform
mov ebx, eax
test eax, eax
je 0x64a66190
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
call sym.gdiplus.dll_GdipDeleteMatrix
sub esp, 4
jmp 0x64a66134
mov dword [esp + 8], 0x3f800000
mov eax, dword [ebp - 0x3c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sym.gdiplus.dll_GdipFlattenPath
mov ebx, eax
mov eax, dword [ebp - 0x3c]
sub esp, 0xc
mov dword [esp], eax
call sym.gdiplus.dll_GdipDeleteMatrix
sub esp, 4
test ebx, ebx
jne 0x64a66134
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 8]
fld dword [edx]
fnstcw word [ebp - 0x4a]
movzx eax, word [ebp - 0x4a]
fld st(0)
and ah, 0xf3
or ah, 4
mov word [ebp - 0x4c], ax
movzx eax, word [ebp - 0x4a]
fldcw word [ebp - 0x4c]
frndint
fldcw word [ebp - 0x4a]
or ah, 0xc
mov word [ebp - 0x4e], ax
movzx eax, word [ebp - 0x4a]
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x54]
fldcw word [ebp - 0x4a]
and ah, 0xf3
or ah, 8
mov word [ebp - 0x50], ax
mov ecx, dword [ecx + 4]
fldcw word [ebp - 0x50]
frndint
fldcw word [ebp - 0x4a]
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x60]
fldcw word [ebp - 0x4a]
fld dword [edx + 4]
fld st(0)
fldcw word [ebp - 0x4c]
frndint
fldcw word [ebp - 0x4a]
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x58]
fldcw word [ebp - 0x4a]
fldcw word [ebp - 0x50]
frndint
fldcw word [ebp - 0x4a]
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x5c]
fldcw word [ebp - 0x4a]
cmp ecx, 1
jle 0x64a662ed
lea eax, [edx + 8]
lea edx, [edx + ecx*8]
lea esi, [esi]
fld dword [eax + 4]
fld dword [eax]
fld st(0)
fldcw word [ebp - 0x4c]
frndint
fldcw word [ebp - 0x4a]
fild dword [ebp - 0x54]
fcompi st(1)
jbe 0x64a66280
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x54]
fldcw word [ebp - 0x4a]
jmp 0x64a66282
fstp st(0)
fld st(1)
fldcw word [ebp - 0x4c]
frndint
fldcw word [ebp - 0x4a]
fild dword [ebp - 0x58]
fcompi st(1)
jbe 0x64a662a0
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x58]
fldcw word [ebp - 0x4a]
jmp 0x64a662a2
fstp st(0)
fldcw word [ebp - 0x50]
frndint
fldcw word [ebp - 0x4a]
fild dword [ebp - 0x60]
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x64a662c0
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x60]
fldcw word [ebp - 0x4a]
jmp 0x64a662c2
fstp st(0)
fldcw word [ebp - 0x50]
frndint
fldcw word [ebp - 0x4a]
fild dword [ebp - 0x5c]
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x64a662e0
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x5c]
fldcw word [ebp - 0x4a]
jmp 0x64a662e2
fstp st(0)
add eax, 8
cmp edx, eax
jne 0x64a66258
mov eax, dword [ebp - 0x98]
lea edx, [ebp - 0x38]
call sym._get_graphics_device_bounds
mov ebx, eax
test eax, eax
jne 0x64a66134
fnstcw word [ebp - 0x4a]
fild dword [ebp - 0x54]
fld dword [ebp - 0x38]
movzx eax, word [ebp - 0x4a]
fld st(0)
and ah, 0xf3
or ah, 4
mov word [ebp - 0x4c], ax
fldcw word [ebp - 0x4c]
frndint
fldcw word [ebp - 0x4a]
fxch st(2)
fcomi st(2)
jbe 0x64a66490
fstp st(2)
fxch st(1)
movzx eax, word [ebp - 0x4a]
or ah, 0xc
mov word [ebp - 0x4e], ax
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x54]
fldcw word [ebp - 0x4a]
fild dword [ebp - 0x58]
fld dword [ebp - 0x34]
fld st(0)
fldcw word [ebp - 0x4c]
frndint
fldcw word [ebp - 0x4a]
fxch st(2)
fcomi st(2)
jbe 0x64a664e0
fstp st(2)
fxch st(1)
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x58]
fldcw word [ebp - 0x4a]
fnstcw word [ebp - 0x4a]
fild dword [ebp - 0x60]
fxch st(2)
fadd dword [ebp - 0x30]
movzx eax, word [ebp - 0x4a]
and ah, 0xf3
or ah, 8
mov word [ebp - 0x50], ax
fldcw word [ebp - 0x50]
frndint
fldcw word [ebp - 0x4a]
fcomi st(2)
jbe 0x64a664c8
fstp st(0)
fxch st(1)
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x60]
fldcw word [ebp - 0x4a]
mov edx, dword [ebp - 0x60]
fild dword [ebp - 0x5c]
fxch st(1)
fadd dword [ebp - 0x2c]
fldcw word [ebp - 0x50]
frndint
fldcw word [ebp - 0x4a]
fcomi st(1)
jbe 0x64a664b0
fstp st(0)
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x5c]
fldcw word [ebp - 0x4a]
mov eax, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x58]
sub edx, edi
sub eax, esi
lea edi, [edx + 1]
add eax, 1
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x88], eax
test edi, edi
jle 0x64a66134
test eax, eax
jle 0x64a66134
mov edi, eax
mov eax, dword [ebp - 0x54]
mov ebx, 3
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x20], eax
imul eax, edi
mov dword [esp + 4], 8
mov edi, dword fs:[0x18]
lea esi, [eax*4]
mov dword [esp + 8], esi
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_HeapAlloc]
mov dword [ebp - 0x60], eax
call eax
mov dword [ebp - 0x94], eax
sub esp, 0xc
test eax, eax
je 0x64a66134
mov dword [ebp - 0x90], 0
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
test edx, edx
jne 0x64a664f8
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0x28], 5
ja case.0x64a66484.0
mov eax, dword [eax + 0x28]
jmp dword [eax*4 + 0x64ab9820]
fstp st(0)
fxch st(1)
fnstcw word [ebp - 0x4a]
movzx eax, word [ebp - 0x4a]
or ah, 0xc
mov word [ebp - 0x4e], ax
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x54]
fldcw word [ebp - 0x4a]
jmp 0x64a66348
fstp st(1)
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x5c]
fldcw word [ebp - 0x4a]
mov eax, dword [ebp - 0x5c]
jmp 0x64a663ce
fstp st(2)
fxch st(1)
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x60]
fldcw word [ebp - 0x4a]
mov edx, dword [ebp - 0x60]
jmp 0x64a663a8
fstp st(0)
fxch st(1)
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x58]
fldcw word [ebp - 0x4a]
jmp 0x64a6636f
mov dword [esp + 8], esi
mov dword [esp + 4], 8
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x60]
call eax
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x90], eax
sub esp, 0xc
mov ecx, eax
test eax, eax
je 0x64a66560
mov eax, dword [ebp - 0x8c]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0x6c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x28]
mov dword [esp], eax
mov eax, dword [ebp - 0x98]
call sym._brush_fill_pixels
mov dword [ebp - 0xa8], 0
mov ebx, eax
test eax, eax
je 0x64a66471
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], 0
mov edi, dword fs:[0x18]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x30]
mov esi, dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call esi
mov eax, dword [ebp - 0xa8]
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call esi
mov eax, dword [ebp - 0x94]
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call esi
sub esp, 0xc
jmp 0x64a66134
mov dword [ebp - 0x70], 7
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x68], 8
mov dword [ebp - 0x64], 0x64aba304
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 8]
mov dword [ebp - 0x78], eax
mov eax, dword [eax + 4]
fld dword [edx]
mov dword [ebp - 0x5c], eax
fst dword [ebp - 0x80]
fld dword [edx + 4]
fst dword [ebp - 0x84]
test eax, eax
jle 0x64a66c1b
mov esi, 0x7fffffff
mov edi, dword [ebp - 0x70]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x9c], 0x7fffffff
mov dword [ebp - 0xa0], esi
lea esi, [esi]
nop
mov ebx, dword [ebp - 0x60]
mov ecx, dword [eax + 0xc]
movzx eax, byte [ecx + ebx]
add ebx, 1
mov esi, ebx
xor ebx, ebx
mov dword [ebp - 0x60], esi
mov esi, dword [ebp - 0x5c]
cmp dword [ebp - 0x60], esi
jge 0x64a66663
mov ebx, dword [ebp - 0x60]
movzx ebx, byte [ecx + ebx]
fld dword [ebp - 0x84]
mov ecx, eax
and ecx, 7
test cl, cl
fcmove st(0), st(1)
fstp dword [ebp - 0x84]
fld dword [ebp - 0x80]
fcmove st(0), st(2)
fstp dword [ebp - 0x80]
test al, al
js 0x64a669f8
and ebx, 7
je 0x64a66998
mov eax, dword [ebp - 0x60]
lea eax, [edx + eax*8]
fld dword [eax]
fstp dword [ebp - 0x7c]
fld dword [eax + 4]
fnstcw word [ebp - 0x4a]
fld st(2)
fld st(0)
movzx eax, word [ebp - 0x4a]
and ah, 0xf3
or ah, 4
mov word [ebp - 0x4c], ax
movzx eax, word [ebp - 0x4a]
fldcw word [ebp - 0x4c]
frndint
fldcw word [ebp - 0x4a]
or ah, 0xc
mov word [ebp - 0x4e], ax
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x70]
fldcw word [ebp - 0x4a]
mov eax, dword [ebp - 0x70]
mov esi, eax
fld st(2)
fld st(0)
fldcw word [ebp - 0x4c]
frndint
fldcw word [ebp - 0x4a]
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x70]
fldcw word [ebp - 0x4a]
fld dword [ebp - 0x7c]
fld st(0)
fldcw word [ebp - 0x4c]
frndint
fldcw word [ebp - 0x4a]
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x74]
fldcw word [ebp - 0x4a]
mov edx, dword [ebp - 0x74]
fld st(3)
fld st(0)
fldcw word [ebp - 0x4c]
frndint
fldcw word [ebp - 0x4a]
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x74]
fldcw word [ebp - 0x4a]
cmp eax, edx
je 0x64a66a10
mov ebx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x70]
sub eax, ebx
mov ebx, esi
mov ecx, eax
neg ecx
cmovs ecx, eax
sub ebx, edx
mov eax, ebx
neg eax
cmovs eax, ebx
cmp ecx, eax
jg 0x64a66a20
fstp st(0)
fstp st(1)
mov ebx, dword [ebp - 0x54]
mov dword [ebp - 0x70], ebx
fild dword [ebp - 0x70]
cmp esi, edx
jge 0x64a66b60
fstp st(1)
fxch st(1)
fnstcw word [ebp - 0x4a]
sub edx, ebx
mov ecx, 1
movzx eax, word [ebp - 0x4a]
and ah, 0xf3
or ah, 8
mov word [ebp - 0x50], ax
fldcw word [ebp - 0x50]
frndint
fldcw word [ebp - 0x4a]
fsubrp st(1)
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x70]
fldcw word [ebp - 0x4a]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x70], edx
mov ebx, dword [ebp - 0x70]
lea edx, [ebx + ecx]
cmp eax, edx
je 0x64a669a0
fsub st(1)
fld dword [ebp - 0x7c]
mov dword [ebp - 0x74], ecx
mov esi, dword [ebp - 0xa0]
mov ebx, dword [ebp - 0x9c]
fsub st(3)
jmp 0x64a6680f
mov esi, dword [ebp - 0x64]
lea ebx, [esi + edi]
cmp byte [ebx], 0
je 0x64a667fa
cmp dword [ebp - 0x6c], eax
jle 0x64a667fa
mov esi, edx
or esi, eax
js 0x64a667fa
cmp dword [ebp - 0x88], edx
jle 0x64a667fa
mov ebx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x90]
imul ebx, edx
add ebx, eax
lea esi, [esi + ebx*4]
test ecx, ecx
je 0x64a66c08
mov ebx, dword [ecx + ebx*4]
mov dword [esi], ebx
mov ebx, edx
mov esi, eax
mov ecx, dword [ebp - 0x74]
lea edx, [ecx + eax]
cmp dword [ebp - 0x70], eax
je 0x64a66960
mov eax, edx
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
add edx, eax
mov dword [ebp - 0x5c], edx
fild dword [ebp - 0x5c]
fsub st(4)
fmul st(2)
fdiv st(1)
fadd st(3)
fadd dword [0x64ababb4]
fldcw word [ebp - 0x4c]
frndint
fldcw word [ebp - 0x4a]
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x5c]
fldcw word [ebp - 0x4a]
mov edx, dword [ebp - 0x5c]
sub edx, ecx
cmp esi, eax
jne 0x64a66849
cmp edx, ebx
je 0x64a667fe
mov esi, dword [ebp - 0x68]
add edi, 1
cmp edi, esi
jne 0x64a667b8
mov ebx, dword [ebp - 0x64]
xor edi, edi
jmp 0x64a667be
mov eax, dword [ebp - 0x8c]
mov edx, dword [eax + 0x30]
test edx, edx
jle case.0x64a66484.0
mov eax, dword [eax + 0x2c]
xor edi, edi
fnstcw word [ebp - 0x4a]
lea ecx, [eax + edx*4]
movzx edx, word [ebp - 0x4a]
or dh, 0xc
mov word [ebp - 0x4e], dx
movzx edx, word [ebp - 0x4a]
and dh, 0xf3
or dh, 4
mov word [ebp - 0x4c], dx
mov edx, edi
lea esi, [esi]
nop
fld dword [0x64ababb4]
fadd dword [eax]
add eax, 4
fldcw word [ebp - 0x4c]
frndint
fldcw word [ebp - 0x4a]
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x5c]
fldcw word [ebp - 0x4a]
mov ebx, dword [ebp - 0x5c]
add edx, ebx
cmp ecx, eax
jne 0x64a668a0
mov dword [ebp - 0x70], edx
test edx, edx
jne 0x64a66ceb
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x68], 1
mov dword [ebp - 0x64], 0x64aba304
jmp 0x64a665f1
mov dword [ebp - 0x70], 5
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x68], 6
mov dword [ebp - 0x64], 0x64aba304
jmp 0x64a665f1
mov dword [ebp - 0x70], 3
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x68], 4
mov dword [ebp - 0x64], 0x64aba304
jmp 0x64a665f1
mov dword [ebp - 0x70], 1
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x68], 2
mov dword [ebp - 0x64], 0x64aba308
jmp 0x64a665f1
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x64a66978
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x78], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x5c], eax
jmp 0x64a669d0
fstp st(0)
fstp st(0)
jmp 0x64a669d0
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x64a669d0
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x64a669d0
fstp st(0)
fstp st(0)
fstp st(0)
lea esi, [esi]
lea esi, [esi]
mov eax, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
cmp eax, esi
jge 0x64a66c20
mov esi, dword [ebp - 0x78]
mov edx, dword [esi + 8]
lea eax, [edx + eax*8]
fld dword [eax]
fld dword [eax + 4]
mov eax, esi
jmp 0x64a66640
fld dword [ebp - 0x84]
fld dword [ebp - 0x80]
fstp dword [ebp - 0x7c]
jmp 0x64a6669f
fstp st(3)
fstp st(0)
fxch st(1)
mov esi, dword [ebp - 0x74]
cmp dword [ebp - 0x70], esi
je 0x64a669b0
jmp 0x64a66a26
fstp st(3)
fstp st(0)
fxch st(1)
mov esi, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x74]
mov dword [ebp - 0xa4], esi
fild dword [ebp - 0xa4]
cmp dword [ebp - 0x70], ebx
jge 0x64a66ba8
fstp st(1)
fxch st(1)
fnstcw word [ebp - 0x4a]
sub ebx, esi
mov dword [ebp - 0x74], ebx
mov ebx, 1
movzx eax, word [ebp - 0x4a]
and ah, 0xf3
or ah, 8
mov word [ebp - 0x50], ax
fldcw word [ebp - 0x50]
frndint
fldcw word [ebp - 0x4a]
fsubrp st(1)
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x70]
fldcw word [ebp - 0x4a]
mov eax, dword [ebp - 0x70]
mov esi, dword [ebp - 0x74]
lea edx, [esi + ebx]
cmp eax, edx
je 0x64a669c0
fld dword [ebp - 0x7c]
mov esi, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], ebx
mov ecx, esi
imul esi, eax
imul ecx, ebx
mov ebx, dword [ebp - 0x9c]
fsub st(3)
fxch st(1)
mov dword [ebp - 0x70], esi
mov esi, dword [ebp - 0xa0]
mov dword [ebp - 0x78], ecx
fsub st(2)
jmp 0x64a66b0a
mov esi, dword [ebp - 0x64]
lea ebx, [esi + edi]
cmp byte [ebx], 0
je 0x64a66aef
mov esi, edx
or esi, eax
js 0x64a66aef
cmp dword [ebp - 0x6c], edx
jle 0x64a66aef
cmp dword [ebp - 0x88], eax
jle 0x64a66aef
mov ebx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x90]
add ebx, edx
lea esi, [esi + ebx*4]
test ecx, ecx
je 0x64a66bf0
mov ebx, dword [ecx + ebx*4]
mov dword [esi], ebx
mov ebx, eax
mov esi, edx
mov ecx, dword [ebp - 0x7c]
lea edx, [ecx + eax]
mov ecx, dword [ebp - 0x78]
add dword [ebp - 0x70], ecx
cmp dword [ebp - 0x74], eax
je 0x64a66970
mov eax, edx
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
add edx, eax
mov dword [ebp - 0x5c], edx
fild dword [ebp - 0x5c]
fsub st(3)
fmul st(2)
fdiv st(1)
fadd st(4)
fadd dword [0x64ababb4]
fldcw word [ebp - 0x4c]
frndint
fldcw word [ebp - 0x4a]
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x5c]
fldcw word [ebp - 0x4a]
mov edx, dword [ebp - 0x5c]
sub edx, ecx
cmp edx, esi
jne 0x64a66b44
cmp eax, ebx
je 0x64a66af3
mov esi, dword [ebp - 0x68]
add edi, 1
cmp edi, esi
jne 0x64a66ab0
mov ebx, dword [ebp - 0x64]
xor edi, edi
jmp 0x64a66ab6
fstp st(2)
fxch st(1)
fld st(4)
mov ecx, 0xffffffff
fsub st(1)
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x70]
fldcw word [ebp - 0x4a]
fxch st(1)
fnstcw word [ebp - 0x4a]
movzx edx, word [ebp - 0x4a]
mov eax, dword [ebp - 0x70]
and dh, 0xf3
or dh, 8
mov word [ebp - 0x50], dx
fldcw word [ebp - 0x50]
frndint
fldcw word [ebp - 0x4a]
fsubrp st(1)
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x70]
fldcw word [ebp - 0x4a]
jmp 0x64a6678c
fstp st(2)
fxch st(1)
fld st(3)
mov ebx, 0xffffffff
fsub st(1)
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x70]
fldcw word [ebp - 0x4a]
fxch st(1)
fnstcw word [ebp - 0x4a]
movzx edx, word [ebp - 0x4a]
mov eax, dword [ebp - 0x70]
and dh, 0xf3
or dh, 8
mov word [ebp - 0x50], dx
fldcw word [ebp - 0x50]
frndint
fldcw word [ebp - 0x4a]
fsubrp st(1)
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x74]
fldcw word [ebp - 0x4a]
jmp 0x64a66a76
mov ebx, dword [ebp - 0x8c]
mov ebx, dword [ebx + 0x38]
mov ebx, dword [ebx + 4]
mov dword [esi], ebx
jmp 0x64a66aef
mov ebx, dword [ebp - 0x8c]
mov ebx, dword [ebx + 0x38]
mov ebx, dword [ebx + 4]
mov dword [esi], ebx
jmp 0x64a667fa
fstp st(0)
fstp st(0)
nop
mov edi, dword [ebp - 0x98]
mov dword [esp], edi
call sym._gdi_transform_acquire
mov dword [esp + 0x14], 0x26200a
mov dword [esp + 0x10], 0
mov ebx, dword [ebp - 0x6c]
lea eax, [ebx*4]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x88]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x94]
mov dword [esp], eax
mov ecx, dword [ebp - 0x58]
mov eax, edi
mov edx, dword [ebp - 0x54]
call sym._alpha_blend_pixels_hrgn
mov ebx, eax
mov eax, dword [edi + 0x7c]
test eax, eax
jle 0x64a66c8f
cmp eax, 1
je 0x64a66cc5
mov edi, dword [ebp - 0x98]
sub eax, 1
mov dword [edi + 0x7c], eax
jmp 0x64a66560
test byte [0x64ab50b0], 2
je 0x64a66560
mov dword [esp + 0xc], str.called_without_matching_gdi_transform_acquire_n
mov dword [esp + 8], str.gdi_transform_release
mov dword [esp + 4], 0x64ab50b0
mov dword [esp], 1
call sym._wine_dbg_log.constprop.1_3
jmp 0x64a66560
mov edi, dword [ebp - 0x98]
mov edx, dword [edi]
test edx, edx
je 0x64a66c7e
mov eax, dword [edi + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
call sym._RestoreDC_8
mov eax, dword [edi + 0x7c]
sub esp, 8
jmp 0x64a66c7e
mov dword [esp + 8], edx
mov edi, edx
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x60]
call eax
mov dword [ebp - 0x64], eax
sub esp, 0xc
test eax, eax
je 0x64a66e0b
mov esi, dword [ebp - 0x8c]
lea ecx, [edi - 1]
mov eax, dword [esi + 0x30]
test eax, eax
jle 0x64a66dd0
mov edx, dword [esi + 0x2c]
mov edi, 0xffffffff
mov dword [ebp - 0x74], 0
fnstcw word [ebp - 0x4a]
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x78], ecx
mov ecx, edi
movzx eax, word [ebp - 0x4a]
or ah, 0xc
mov word [ebp - 0x4e], ax
movzx eax, word [ebp - 0x4a]
and ah, 0xf3
or ah, 4
mov word [ebp - 0x4c], ax
lea ebx, [ecx*4 + 4]
mov edi, dword [ebp - 0x64]
and ecx, 1
xor eax, eax
neg ebx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x74]
add edi, ebx
mov ebx, dword [ebp - 0x5c]
jmp 0x64a66d95
movzx ecx, byte [ebp - 0x60]
mov byte [edi + eax], cl
mov edx, dword [esi + 0x2c]
add eax, 1
fld dword [0x64ababb4]
fadd dword [edx + ebx]
fldcw word [ebp - 0x4c]
frndint
fldcw word [ebp - 0x4a]
fldcw word [ebp - 0x4e]
fistp dword [ebp - 0x5c]
fldcw word [ebp - 0x4a]
mov ecx, dword [ebp - 0x5c]
cmp eax, ecx
jl 0x64a66d88
mov edi, dword [ebp - 0x68]
lea ebx, [edi - 1]
neg edi
cmp dword [esi + 0x30], edi
jle 0x64a66dcd
add dword [ebp - 0x74], eax
mov ecx, ebx
mov dword [ebp - 0x68], ebx
jmp 0x64a66d62
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x68], eax
jmp 0x64a665f1
mov dword [ebp - 0x70], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x68], 1
mov dword [ebp - 0x64], 0x64aba304
jmp 0x64a665f1
mov dword [ebp - 0xa8], 0
mov ebx, 3
jmp 0x64a66560