Function at 0x64a60850
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, ecx
mov ecx, dword fs:[0x18]
sub esp, 0x5c
mov edi, dword [ebp + 8]
mov esi, dword [sym.imp.kernel32.dll_HeapAlloc]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x50], edx
lea eax, [edi*8]
mov dword [ebp - 0x48], eax
mov dword [esp + 8], eax
mov dword [esp + 4], 8
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x3c], ecx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call esi
sub esp, 0xc
mov dword [ebp - 0x40], eax
mov dword [esp + 8], edi
mov dword [esp + 4], 8
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x44], ecx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call esi
mov ecx, dword [ebp - 0x48]
sub esp, 0xc
mov dword [ebp - 0x3c], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], 8
mov ecx, dword [ebp - 0x44]
mov eax, dword [ecx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call esi
mov dword [ebp - 0x44], eax
sub esp, 0xc
test edi, edi
je 0x64a60a1f
mov ecx, eax
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
test eax, eax
sete al
test edx, edx
sete dl
or al, dl
jne 0x64a60b30
test ecx, ecx
je 0x64a60b30
cmp edi, 1
jle 0x64a60ab9
mov eax, 1
jmp 0x64a60927
add eax, 1
cmp edi, eax
jle 0x64a60968
movzx edx, byte [ebx + eax]
mov ecx, eax
and edx, 7
cmp dl, 3
jne 0x64a60920
add eax, 2
cmp edi, eax
jle 0x64a6094a
test byte [ebx + ecx + 1], 3
je 0x64a6094a
test byte [ebx + ecx + 2], 3
jne 0x64a60920
test byte [0x64ab50b0], 2
jne 0x64a60b3a
mov ebx, 1
jmp 0x64a60a21
mov eax, dword [ebp - 0x48]
lea esi, [ebp - 0x30]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x50]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x44]
mov dword [esp], eax
call sym._memcpy
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call sym._get_graphics_transform
test eax, eax
je 0x64a60b00
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov ecx, edi
call sym._round_points
xor esi, esi
lea esi, [esi]
movzx edx, byte [ebx + esi]
mov eax, edx
and eax, 7
cmp al, 1
je 0x64a60b90
cmp al, 3
je 0x64a60b80
test al, al
je 0x64a60b68
test byte [0x64ab50b0], 2
jne 0x64a60a90
xor eax, eax
mov ecx, dword [ebp - 0x3c]
mov byte [ecx + esi], al
add esi, 1
cmp edi, esi
jne 0x64a609c0
mov dword [esp + 0xc], edi
mov eax, dword [ebp - 0x3c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x40]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [esp], eax
call sym._PolyDraw_16
sub esp, 0x10
xor ebx, ebx
mov eax, dword [ebp - 0x40]
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 - 0x44]
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 - 0x3c]
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, ebx
sub esp, 0xc
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0xc], str.Bad_point_type_n
mov dword [esp + 8], str.convert_path_point_type
mov dword [esp + 4], 0x64ab50b0
mov dword [esp], 1
call sym._wine_dbg_log.constprop.1_3
jmp 0x64a609ee
mov eax, dword [ebp - 0x48]
lea esi, [ebp - 0x30]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x50]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x44]
mov dword [esp], eax
call sym._memcpy
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call sym._get_graphics_transform
test eax, eax
jne 0x64a60b16
lea esi, [esi]
nop
mov dword [esp + 8], edi
mov eax, dword [ebp - 0x44]
mov dword [esp], esi
mov dword [esp + 4], eax
call sym.gdiplus.dll_GdipTransformMatrixPoints
sub esp, 0xc
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov ecx, edi
call sym._round_points
test edi, edi
jg 0x64a609b8
jmp 0x64a609fd
mov ebx, 3
jmp 0x64a60a21
mov dword [esp + 0xc], str.Bad_bezier_points_n
mov dword [esp + 8], str.draw_poly
mov dword [esp + 4], 0x64ab50b0
mov dword [esp], 1
call sym._wine_dbg_log.constprop.1_3
jmp 0x64a60957
mov ecx, 7
mov eax, 6
test dl, dl
cmovs eax, ecx
jmp 0x64a609f0
mov ecx, 5
mov eax, 4
jmp 0x64a60b72
mov ecx, 3
mov eax, 2
jmp 0x64a60b72