Function at 0x64aa2600
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x1c], 0xffffffff
cmp dword [ebx + 0x4c], 3
je 0x64aa2940
mov eax, dword [ebp + 0xc]
mov edi, dword [eax]
test edi, edi
jne 0x64aa28b0
fld dword [esi]
fld dword [esi + 4]
fld dword [esi + 8]
fld dword [esi + 0xc]
fxch st(3)
fnstcw word [ebp - 0x2a]
movzx eax, word [ebp - 0x2a]
or ah, 0xc
mov word [ebp - 0x2c], ax
fldcw word [ebp - 0x2c]
fist word [ebp - 0x30]
fldcw word [ebp - 0x2a]
fild word [ebp - 0x30]
fxch st(1)
fucompi st(1)
fstp st(0)
jp 0x64aa271e
jne 0x64aa2730
fxch st(1)
fldcw word [ebp - 0x2c]
fist word [ebp - 0x30]
fldcw word [ebp - 0x2a]
fild word [ebp - 0x30]
fxch st(1)
fucompi st(1)
fstp st(0)
jp 0x64aa2738
jne 0x64aa2740
fldcw word [ebp - 0x2c]
fist word [ebp - 0x30]
fldcw word [ebp - 0x2a]
fild word [ebp - 0x30]
fxch st(1)
fucompi st(1)
fstp st(0)
jp 0x64aa2746
jne 0x64aa2750
xor edx, edx
mov eax, 0
fldcw word [ebp - 0x2c]
fist word [ebp - 0x30]
fldcw word [ebp - 0x2a]
fild word [ebp - 0x30]
fucompi st(1)
fstp st(0)
setnp dl
cmove eax, edx
mov edx, dword [ebx + 0x64]
mov dword [ebp - 0x30], eax
test edx, edx
jne 0x64aa2764
mov dword [esp + 8], 0x100
mov dword [esp + 4], 8
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov dword [ebx + 0x60], eax
sub esp, 0xc
test eax, eax
je 0x64aa2908
mov dword [eax], 0x2b464d45
mov ecx, 0xc
mov edx, dword [ebx + 0x60]
mov eax, 4
mov dword [ebx + 0x64], 0x100
jmp 0x64aa2775
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x64aa2752
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x64aa2752
fstp st(0)
fstp st(0)
jmp 0x64aa2752
fstp st(0)
fstp st(0)
jmp 0x64aa2752
fstp st(0)
jmp 0x64aa2752
fstp st(0)
mov edx, dword [ebx + 0x64]
mov dword [ebp - 0x30], 0
test edx, edx
je 0x64aa26cf
mov eax, dword [ebx + 0x68]
lea ecx, [eax + 8]
cmp edx, ecx
jb 0x64aa2820
mov edx, dword [ebx + 0x60]
add eax, edx
mov dword [ebx + 0x68], ecx
mov dword [eax], 0x4010
mov dword [eax + 4], 8
mov dword [eax + 8], 0xfffffffc
test edi, edi
jne 0x64aa28d0
mov edi, dword [ebp + 0xc]
mov ecx, 0xffff8000
mov word [eax + 2], cx
mov ecx, 0xffffc000
mov edx, dword [edi + 4]
fld dword [ebp + 0x14]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x30]
fstp dword [eax + 0x10]
fld dword [ebp + 0x18]
fstp dword [eax + 0x14]
test edx, edx
je 0x64aa2918
mov word [eax + 2], cx
fld dword [esi]
fnstcw word [ebp - 0x2a]
movzx edx, word [ebp - 0x2a]
or dh, 0xc
mov word [ebp - 0x2c], dx
fldcw word [ebp - 0x2c]
fistp word [eax + 0x18]
fldcw word [ebp - 0x2a]
fld dword [esi + 4]
fldcw word [ebp - 0x2c]
fistp word [eax + 0x1a]
fldcw word [ebp - 0x2a]
fld dword [esi + 8]
fldcw word [ebp - 0x2c]
fistp word [eax + 0x1c]
fldcw word [ebp - 0x2a]
fld dword [esi + 0xc]
fldcw word [ebp - 0x2c]
fistp word [eax + 0x1e]
fldcw word [ebp - 0x2a]
mov eax, dword [ebx + 0x68]
cmp eax, 4
ja 0x64aa28e0
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [ecx + ecx]
mov dword [ebp - 0x34], eax
mov ecx, dword fs:[0x18]
mov dword [esp + 8], eax
mov dword [esp + 4], 8
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x38], ecx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
sub esp, 0xc
mov edx, eax
test eax, eax
je 0x64aa2908
mov eax, dword [ebx + 0x68]
mov dword [esp + 8], eax
mov ecx, dword [ebx + 0x60]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [ebp - 0x3c], edx
call sym._memcpy
mov eax, dword [ebp - 0x34]
mov dword [ebx + 0x64], eax
mov eax, dword [ebx + 0x60]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebx + 0x68]
sub esp, 0xc
mov dword [ebx + 0x60], edx
lea ecx, [eax + 8]
jmp 0x64aa2775
mov edx, eax
lea ecx, [ebp - 0x1c]
mov eax, ebx
call sym._METAFILE_AddBrushObject
test eax, eax
je 0x64aa262d
jmp 0x64aa2813
mov edx, dword [ebp - 0x1c]
mov ecx, 0x4000
jmp 0x64aa27aa
mov edx, dword [ebx + 0x60]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [ebx + 0x58]
mov dword [esp], eax
call sym._GdiComment_12
mov dword [ebx + 0x68], 4
sub esp, 0xc
jmp 0x64aa2811
mov eax, 3
jmp 0x64aa2813
mov ecx, dword [esi]
lea edx, [eax + 0x18]
mov dword [eax + 0x18], ecx
mov eax, dword [esi + 4]
mov dword [edx + 4], eax
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [edx + 0xc], eax
jmp 0x64aa2805
test byte [0x64ab5100], 1
jne 0x64aa2958
mov eax, 6
jmp 0x64aa2813
mov dword [esp + 0xc], 0x64abf26c
mov dword [esp + 8], str.METAFILE_FillPie
mov dword [esp + 4], 0x64ab5100
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_9
jmp 0x64aa2949