Function at 0x64a8c740
Capabilities:
Get process heap flags

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
mov eax, ecx
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x68
mov edi, dword [ecx]
mov ebx, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x24], edi
mov edi, dword [eax + 8]
mov dword [ebp - 0x30], ebx
mov ebx, dword [eax + 0x14]
test edx, edx
mov dword [ebp - 0x2c], edi
mov edi, dword [eax + 0x10]
sete al
test ebx, ebx
mov esi, eax
mov dword [ebp - 0x28], ecx
sete al
or esi, eax
test byte [0x64ab50d0], 8
jne 0x64a8ca28
fild dword [ebp - 0x30]
fild dword [ebp - 0x2c]
fild dword [ebp - 0x28]
fild dword [ebp - 0x24]
mov eax, esi
test al, al
jne 0x64a8cb60
jmp 0x64a8c7b8
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
cmp dword [ebx + 8], 1
jne 0x64a8cb08
fldz
fcomi st(1)
ja 0x64a8cb18
fcompi st(2)
ja 0x64a8cb28
fild dword [ebx + 0x38]
fld st(3)
fadd st(2)
fcompi st(1)
fstp st(0)
ja 0x64a8cb38
fild dword [ebx + 0x3c]
fld st(4)
fadd st(3)
fcompi st(1)
fstp st(0)
ja 0x64a8cb48
test edi, edi
jne 0x64a8c7fd
mov edi, dword [ebx + 0x40]
fnstcw word [ebp - 0x1a]
fstp dword [ebp - 0x34]
fstp dword [ebp - 0x30]
fld dword [0x64abe9f8]
movzx eax, word [ebp - 0x1a]
and ah, 0xf3
faddp st(1)
or ah, 4
mov word [ebp - 0x1c], ax
movzx eax, word [ebp - 0x1a]
fldcw word [ebp - 0x1c]
frndint
fldcw word [ebp - 0x1a]
or ah, 0xc
mov word [ebp - 0x1e], ax
fldcw word [ebp - 0x1e]
fistp dword [ebp - 0x24]
fldcw word [ebp - 0x1a]
fld dword [0x64abe9f8]
mov ecx, dword [ebp - 0x24]
faddp st(1)
fldcw word [ebp - 0x1c]
frndint
fldcw word [ebp - 0x1a]
fldcw word [ebp - 0x1e]
fistp dword [ebp - 0x24]
fldcw word [ebp - 0x1a]
mov eax, dword [ebp - 0x24]
mov dword [esp + 0x14], edx
mov dword [ebp - 0x24], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [ebp - 0x2c], eax
mov dword [esp + 4], eax
mov dword [ebp - 0x28], ecx
mov dword [esp], ecx
call sym.gdiplus.dll_GdipCreateBitmapFromScan0
mov edx, dword [ebp - 0x24]
sub esp, 0x18
test eax, eax
mov esi, eax
jne 0x64a8cbc8
mov edi, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x40]
mov esi, dword [ebx + 0x54]
fld dword [ebp - 0x30]
mov dword [ebp - 0x24], edi
mov edi, dword [ebx + 0x58]
fnstcw word [ebp - 0x1a]
fadd dword [0x64abe9f8]
mov dword [ebp - 0x38], esi
movzx eax, word [ebp - 0x1a]
and ah, 0xf3
or ah, 4
mov word [ebp - 0x1c], ax
movzx eax, word [ebp - 0x1a]
fldcw word [ebp - 0x1c]
frndint
fldcw word [ebp - 0x1a]
or ah, 0xc
mov word [ebp - 0x1e], ax
movzx eax, ch
fldcw word [ebp - 0x1e]
fistp dword [ebp - 0x30]
fldcw word [ebp - 0x1a]
mov esi, dword [ebp - 0x30]
fld dword [0x64abe9f8]
fld dword [ebp - 0x34]
mov dword [ebp - 0x34], edx
imul esi, edi
test ecx, ecx
faddp st(1)
mov dword [ebp - 0x30], esi
mov esi, 0x18
cmove eax, esi
mov esi, dword [edx]
mov edx, dword [ebp - 0x24]
fldcw word [ebp - 0x1c]
frndint
fldcw word [ebp - 0x1a]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
fldcw word [ebp - 0x1e]
fistp dword [ebp - 0x24]
fldcw word [ebp - 0x1a]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x30]
imul ecx, eax
test ecx, ecx
lea eax, [ecx + 7]
cmovns eax, ecx
sar eax, 3
add eax, edx
mov edx, dword [ebp - 0x38]
mov dword [esp + 0x18], edi
add eax, edx
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x40]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x54]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x58]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0x28]
mov dword [esp], ecx
call sym._convert_pixels
mov edx, dword [ebp - 0x34]
test eax, eax
mov esi, eax
jne 0x64a8cbb5
mov ebx, dword [ebx + 0x28]
mov dword [ebp - 0x24], edx
test ebx, ebx
je 0x64a8cb75
mov eax, dword [ebx + 4]
mov dword [esp + 4], 8
mov edx, dword fs:[0x18]
lea eax, [eax*4 + 8]
mov dword [esp + 8], eax
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x28], edx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edx, dword [ebp - 0x24]
sub esp, 0xc
test eax, eax
mov edi, eax
je 0x64a8cbb0
mov eax, dword [ebx]
lea ecx, [edi + 8]
add ebx, 8
mov dword [edi], eax
mov eax, dword [ebx - 4]
mov dword [edi + 4], eax
shl eax, 2
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], ecx
call sym._memcpy
mov edx, dword [ebp - 0x24]
mov eax, dword [edx]
mov eax, dword [eax + 0x28]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp - 0x24]
sub esp, 0xc
mov eax, dword [edx]
mov dword [eax + 0x28], edi
jmp 0x64a8cb75
mov dword [esp + 0x28], edx
mov dword [ebp - 0x34], edx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], edi
mov eax, dword [ebp - 0x30]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x24]
mov dword [esp + 0xc], str.__i__i__i__i_0x_x__p__p__n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.GdipCloneBitmapAreaI
mov dword [esp + 4], 0x64ab50d0
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_6
test byte [0x64ab50d0], 8
fild dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
fild dword [ebp - 0x2c]
fild dword [ebp - 0x28]
fild dword [ebp - 0x24]
je 0x64a8c79d
fxch st(3)
fst qword [esp + 0x28]
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], edi
fstp dword [ebp - 0x30]
fxch st(1)
fst qword [esp + 0x20]
fstp dword [ebp - 0x2c]
fst qword [esp + 0x18]
fstp dword [ebp - 0x28]
fst qword [esp + 0x10]
fstp dword [ebp - 0x24]
mov dword [esp + 0xc], str.__f__f__f__f_0x_x__p__p__n
mov dword [esp + 8], str.GdipCloneBitmapArea
mov dword [esp + 4], 0x64ab50d0
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_6
mov eax, esi
fld dword [ebp - 0x24]
mov edx, dword [ebp - 0x34]
test al, al
fld dword [ebp - 0x28]
fld dword [ebp - 0x2c]
fld dword [ebp - 0x30]
je 0x64a8c7b0
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x64a8cb50
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x64a8cb50
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x64a8cb50
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x64a8cb50
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x64a8cb50
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
test byte [0x64ab50d0], 8
jne 0x64a8cb88
jmp 0x64a8cb70
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
lea esi, [esi]
nop
mov esi, 2
lea esp, [ebp - 0x10]
mov eax, esi
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0x1c
mov dword [esp + 0xc], str.____InvalidParameter_n
mov dword [esp + 8], str.GdipCloneBitmapArea
mov dword [esp + 4], 0x64ab50d0
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_6
jmp 0x64a8cb70
mov esi, 3
mov eax, dword [edx]
mov dword [ebp - 0x24], edx
mov dword [esp], eax
call sym.gdiplus.dll_GdipDisposeImage
mov edx, dword [ebp - 0x24]
sub esp, 4
mov dword [edx], 0
lea esp, [ebp - 0x10]
mov eax, esi
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0x1c