Function at 0x64a60bf0
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0xec
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb4], 0
mov edx, eax
shr eax, 2
not edx
xor eax, 1
shl edx, 4
and edx, 0x10
cmp ecx, 1
mov dword [ebp - 0xc0], edx
setg dl
and dl, al
mov byte [ebp - 0xb8], dl
jne 0x64a60f00
xor esi, esi
mov eax, dword [ebx]
mov dword [esp], eax
call sym._SaveDC_4
sub esp, 4
mov dword [ebp - 0xc8], eax
mov dword [esp + 4], 1
mov eax, dword [ebx]
mov dword [esp], eax
call sym._SetBkMode_8
mov eax, dword [ebp + 0xc]
sub esp, 8
mov eax, dword [eax]
cmp eax, 3
je 0x64a60c84
ja 0x64a60c90
test eax, eax
je 0x64a60c99
cmp eax, 1
jne 0x64a61210
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
jmp 0x64a60c9f
cmp eax, 4
jne 0x64a61210
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp], eax
call sym._ARGB2COLORREF
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call sym._SetTextColor_8
lea edx, [ebp - 0x98]
mov eax, ebx
sub esp, 8
call sym._get_clip_hrgn
test eax, eax
je 0x64a60ec8
mov eax, dword [ebp + 0x10]
lea edi, [ebp - 0x74]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x94], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], ebx
call sym._get_graphics_transform
test eax, eax
jne 0x64a60d21
lea eax, [ebp - 0x94]
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov dword [esp], edi
call sym.gdiplus.dll_GdipTransformMatrixPoints
sub esp, 0xc
mov eax, dword [ebp + 0x18]
mov dword [esp], edi
lea ecx, [ebp - 0x9c]
mov dword [esp + 4], eax
mov edx, dword [ebp + 8]
mov eax, ebx
call sym._get_font_hfont.isra.0
cmp byte [ebp - 0xb8], 0
jne 0x64a61010
mov edi, dword [ebp - 0x9c]
mov dword [esp + 4], edi
mov eax, dword [ebx]
mov dword [esp], eax
call sym._SelectObject_8
sub esp, 8
mov dword [esp + 4], 0x18
mov eax, dword [ebx]
mov dword [esp], eax
call sym._SetTextAlign_8
sub esp, 8
mov dword [esp], ebx
call sym._gdi_transform_acquire
fld dword [0x64ababb4]
fld dword [ebp - 0x90]
fnstcw word [ebp - 0xaa]
movzx eax, word [ebp - 0xaa]
fadd st(1)
and ah, 0xf3
or ah, 4
mov word [ebp - 0xac], ax
mov eax, dword [ebp - 0xb4]
fldcw word [ebp - 0xac]
frndint
fldcw word [ebp - 0xaa]
fxch st(1)
fadd dword [ebp - 0x94]
fldcw word [ebp - 0xac]
frndint
fldcw word [ebp - 0xaa]
fxch st(1)
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0xbc]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0xc4]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xc0]
mov dword [esp + 0xc], eax
movzx eax, word [ebp - 0xaa]
or ah, 0xc
mov word [ebp - 0xae], ax
fldcw word [ebp - 0xae]
fistp dword [esp + 8]
fldcw word [ebp - 0xaa]
fldcw word [ebp - 0xae]
fistp dword [esp + 4]
fldcw word [ebp - 0xaa]
mov eax, dword [ebx]
mov dword [esp], eax
call sym._ExtTextOutW_32
mov eax, dword [ebx + 0x7c]
sub esp, 0x20
test eax, eax
jle 0x64a60fd0
mov edx, dword [ebx]
cmp eax, 1
je 0x64a60fe8
sub eax, 1
mov dword [ebx + 0x7c], eax
mov eax, dword [ebp - 0xc8]
mov dword [esp], edx
mov dword [esp + 4], eax
call sym._RestoreDC_8
sub esp, 8
mov dword [esp], edi
mov edi, dword fs:[0x18]
call sym._DeleteObject_4
mov ebx, dword [sym.imp.kernel32.dll_HeapFree]
sub esp, 4
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
mov eax, dword [ebp - 0xb4]
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 ebx
xor eax, eax
sub esp, 0xc
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], 5
mov eax, dword [ebp - 0x98]
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call sym._ExtSelectClipRgn_12
mov eax, dword [ebp - 0x98]
sub esp, 0xc
mov dword [esp], eax
call sym._DeleteObject_4
sub esp, 4
jmp 0x64a60ccd
lea edi, [ecx*8]
mov dword [esp + 4], 0
mov edx, dword [sym.imp.kernel32.dll_HeapAlloc]
mov dword [esp + 8], edi
sub edi, 8
mov ecx, dword fs:[0x18]
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0xc8], ecx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov dword [ebp - 0xb4], edx
call edx
sub esp, 0xc
mov esi, eax
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ecx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov edx, dword [ebp - 0xb4]
call edx
mov dword [ebp - 0xb4], eax
sub esp, 0xc
test esi, esi
je 0x64a60f77
test eax, eax
jne 0x64a60c43
mov dword [esp + 8], esi
mov ebx, dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esp + 4], 0
mov edi, dword fs:[0x18]
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
mov eax, dword [ebp - 0xb4]
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 ebx
mov eax, 3
sub esp, 0xc
jmp 0x64a60ebd
test byte [0x64ab50b0], 2
jne 0x64a61220
mov edx, dword [ebx]
jmp 0x64a60e54
test edx, edx
je 0x64a60e4e
mov eax, dword [ebx + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
call sym._RestoreDC_8
mov eax, dword [ebx + 0x7c]
mov edx, dword [ebx]
sub esp, 8
jmp 0x64a60e4e
mov eax, dword [ebp - 0xbc]
lea edi, [ebp - 0x8c]
or dword [ebp - 0xc0], 0x2000
shl eax, 3
mov dword [esp + 8], eax
mov ecx, dword [ebp + 0x10]
mov dword [esp], esi
mov dword [esp + 4], ecx
call sym._memcpy
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], ebx
call sym._get_graphics_transform
test eax, eax
je 0x64a611e8
fldz
mov dword [esp], edi
fst dword [esp + 0x18]
fst dword [esp + 0x14]
fld1
fst dword [esp + 0x10]
fxch st(1)
fst dword [esp + 0xc]
fstp dword [esp + 8]
fstp dword [esp + 4]
call sym.gdiplus.dll_GdipSetMatrixElements
sub esp, 0x1c
mov dword [esp + 8], 1
fild dword [ebp - 0x6c]
fdiv dword [0x64ababdc]
mov dword [esp], edi
fstp dword [esp + 4]
call sym.gdiplus.dll_GdipRotateMatrix
mov eax, dword [ebp - 0xbc]
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], edi
call sym.gdiplus.dll_GdipTransformMatrixPoints
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xcc], ebx
fnstcw word [ebp - 0xaa]
mov ebx, dword [ebp - 0xb4]
sub esp, 0xc
lea ecx, [eax - 1]
xor eax, eax
movzx edx, word [ebp - 0xaa]
or dh, 0xc
mov word [ebp - 0xae], dx
movzx edx, word [ebp - 0xaa]
and dh, 0xf3
or dh, 4
mov word [ebp - 0xac], dx
lea esi, [esi]
fld dword [0x64ababb4]
fld dword [esi + eax*8 + 8]
fadd st(1)
fldcw word [ebp - 0xac]
frndint
fldcw word [ebp - 0xaa]
fld dword [esi + eax*8]
fadd st(2)
fldcw word [ebp - 0xac]
frndint
fldcw word [ebp - 0xaa]
fxch st(1)
fldcw word [ebp - 0xae]
fistp dword [ebp - 0xb8]
fldcw word [ebp - 0xaa]
mov edx, dword [ebp - 0xb8]
fldcw word [ebp - 0xae]
fistp dword [ebp - 0xb8]
fldcw word [ebp - 0xaa]
mov edi, dword [ebp - 0xb8]
sub edx, edi
mov dword [ebx + eax*8], edx
fld dword [esi + eax*8 + 4]
fadd st(1)
fldcw word [ebp - 0xac]
frndint
fldcw word [ebp - 0xaa]
fxch st(1)
fadd dword [esi + eax*8 + 0xc]
fldcw word [ebp - 0xac]
frndint
fldcw word [ebp - 0xaa]
fxch st(1)
fldcw word [ebp - 0xae]
fistp dword [ebp - 0xb8]
fldcw word [ebp - 0xaa]
mov edx, dword [ebp - 0xb8]
fldcw word [ebp - 0xae]
fistp dword [ebp - 0xb8]
fldcw word [ebp - 0xaa]
mov edi, dword [ebp - 0xb8]
sub edx, edi
mov dword [ebx + eax*8 + 4], edx
add eax, 1
cmp eax, ecx
jl 0x64a61108
mov ebx, dword [ebp - 0xcc]
jmp 0x64a60d48
mov eax, dword [ebp - 0xbc]
mov dword [esp + 4], esi
mov dword [esp], edi
mov dword [esp + 8], eax
call sym.gdiplus.dll_GdipTransformMatrixPoints
sub esp, 0xc
jmp 0x64a61060
test byte [0x64ab50b0], 1
jne 0x64a61250
xor eax, eax
jmp 0x64a60c9f
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
mov edx, dword [ebx]
jmp 0x64a60e54
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.unhandled_brush_type__d_n
mov dword [esp + 8], str.get_gdi_brush_color
mov dword [esp + 4], 0x64ab50b0
mov dword [esp], 0
call sym._wine_dbg_log.constprop.1_3
xor eax, eax
jmp 0x64a60c9f