Function at 0x69010dd0
Capabilities:
Get process heap flags

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x1e8
mov eax, dword [ecx + 8]
mov ebx, dword [ecx]
movss xmm1, dword [ecx + 4]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ecx + 0xc]
movss dword [ebp - 0x1ac], xmm1
test ebx, ebx
mov dword [ebp - 0x1b0], eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x1b8], eax
je 0x69011168
test eax, eax
je 0x69011168
pxor xmm0, xmm0
comiss xmm0, xmm1
ja 0x69011168
test byte [0x6907a078], 8
jne 0x69011080
xor edx, edx
xor eax, eax
mov dword [ebp + eax - 0x1a0], edx
mov dword [ebp + eax - 0x19c], edx
add eax, 8
cmp eax, 0x58
jb 0x69010e3f
mov dword [esp], ebx
xor edx, edx
xor ecx, ecx
mov dword [ebp + eax - 0x1a0], edx
lea eax, [ebp - 0x184]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
call sym.gdiplus.dll_GdipGetFamilyName
sub esp, 0xc
test eax, eax
mov esi, eax
jne 0x6901116d
xor edi, edi
pxor xmm0, xmm0
mov eax, dword [ebp - 0x1b0]
mov dword [esp + 0xc], edi
cvtsi2ss xmm0, dword [ebx + 0x48]
movss xmm2, dword [ebp - 0x1ac]
mov dword [esp + 4], eax
movss dword [esp + 8], xmm0
movss dword [esp], xmm2
call sym._units_to_pixels
mov edx, dword [ebp - 0x1b4]
lea ecx, [ebp - 0x1a0]
mov dword [esp], ecx
fstp dword [ebp - 0x1c0]
movss xmm0, dword [ebp - 0x1c0]
xorps xmm0, xmmword [0x6907dd10]
cvttss2si eax, xmm0
mov dword [ebp - 0x1a0], eax
mov eax, edx
and eax, 1
cmp eax, 1
sbb eax, eax
and eax, 0xfffffed4
add eax, 0x2bc
mov dword [ebp - 0x190], eax
mov al, dl
and dl, 2
mov byte [ebp - 0x18c], dl
mov dl, al
and al, 8
mov byte [ebp - 0x18a], al
and dl, 4
mov byte [ebp - 0x18b], dl
call dword [sym.imp.gdi32.dll_CreateFontIndirectW]
mov dword [ebp - 0x1b4], eax
sub esp, 4
mov dword [esp], 0
call dword [sym.imp.gdi32.dll_CreateCompatibleDC]
mov edi, eax
mov eax, dword [ebp - 0x1b4]
sub esp, 4
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.gdi32.dll_SelectObject]
mov eax, 0xd8
mov dword [ebp - 0x144], eax
lea eax, [ebp - 0x144]
sub esp, 8
mov dword [esp + 8], eax
mov eax, 0xd8
mov dword [esp + 4], eax
mov dword [esp], edi
call dword [sym.imp.gdi32.dll_GetOutlineTextMetricsW]
mov dword [ebp - 0x1c0], eax
sub esp, 0xc
mov dword [esp], edi
call dword [sym.imp.gdi32.dll_DeleteDC]
mov eax, dword [ebp - 0x1b4]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.gdi32.dll_DeleteObject]
mov ecx, dword [ebp - 0x1c0]
sub esp, 4
test ecx, ecx
je 0x690111f8
mov ecx, 8
mov edx, 0xe4
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
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 ecx, dword [ebp - 0x1b8]
mov dword [ecx], eax
sub esp, 0xc
test eax, eax
je 0x6901130a
movss xmm2, dword [ebp - 0x1ac]
xor edx, edx
mov edi, dword [ebp - 0x1b0]
movss dword [eax + 0xdc], xmm2
mov dword [eax + 0xe0], edi
mov edi, dword [ebp + edx - 0x144]
mov ecx, dword [ebp + edx - 0x140]
mov dword [eax + edx + 4], edi
mov dword [eax + edx + 8], ecx
add edx, 8
cmp edx, 0xd8
jb 0x69011005
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym.gdiplus.dll_GdipCloneFontFamily
sub esp, 8
test byte [0x6907a078], 8
je 0x6901116d
mov eax, dword [ebp - 0x1b8]
mov ecx, 0x6907d645
mov ebx, 0x6907db84
mov edi, 0x6907a078
mov eax, dword [eax]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp + 0x10], eax
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x6901116d
mov eax, ebx
pxor xmm3, xmm3
mov edi, ebx
shr eax, 0x10
cvtss2sd xmm3, xmm1
movsd qword [ebp - 0x1c0], xmm3
je 0x69011180
mov dword [esp], ebx
mov eax, 0xffffffff
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x69011300
cmp word [ebx], 0
je 0x690112d8
lea esi, [esi]
lea esi, [esi]
nop
mov edx, eax
cmp word [ebx + edx*2 + 2], 0
lea eax, [eax + 1]
jne 0x690110d0
mov dword [ebp - 0x1c4], ebx
lea ecx, [ebp - 0x142]
mov eax, 0x224c
mov word [ebp - 0x144], ax
jmp 0x69011138
cmp eax, 9
je 0x69011220
cmp eax, 0xa
jne 0x6901123a
mov word [ecx], 0x6e5c
add ecx, 2
lea esi, [esi]
lea esi, [ebp - 0x22]
lea eax, [edx - 1]
cmp ecx, esi
ja 0x69011298
test edx, edx
jle 0x69011298
mov edx, eax
movzx eax, word [edi]
add edi, 2
cmp eax, 0xd
je 0x69011210
jbe 0x69011100
cmp eax, 0x22
je 0x69011288
cmp eax, 0x5c
jne 0x6901122d
mov word [ecx], 0x5c5c
add ecx, 2
jmp 0x69011120
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 0x14
mov dword [esp], 0x6907d585
movzx eax, bx
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0
mov dword [esp + 0x14], eax
mov esi, dword [ebp - 0x1b8]
mov eax, 0x6907a078
mov dword [esp + 0x10], ebx
mov edi, dword [ebp - 0x1b4]
movsd xmm4, qword [ebp - 0x1c0]
mov dword [esp + 4], eax
movsd qword [esp + 0x18], xmm4
mov dword [esp], 3
mov dword [esp + 0x28], esi
mov esi, dword [ebp - 0x1b0]
mov dword [esp + 0x20], edi
mov edi, 0x6907db84
mov dword [esp + 8], edi
mov dword [esp + 0x24], esi
mov esi, str._p___s____f___d___d___p_n
mov dword [esp + 0xc], esi
call sym._wine_dbg_log.constprop.0_2
jmp 0x69010e3b
lea esp, [ebp - 0x10]
mov esi, 0x10
pop ecx
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0x14
mov word [ecx], 0x725c
add ecx, 2
jmp 0x69011120
mov word [ecx], 0x745c
add ecx, 2
jmp 0x69011120
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x690112d0
mov byte [ecx], 0x5c
mov esi, eax
add ecx, 5
shr esi, 0xc
movzx ebx, byte [esi + str.0123456789abcdefGdipCreateFont]
mov esi, eax
shr esi, 8
and esi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [esi + str.0123456789abcdefGdipCreateFont]
mov esi, eax
shr esi, 4
and eax, 0xf
and esi, 0xf
movzx eax, byte [eax + str.0123456789abcdefGdipCreateFont]
mov byte [ecx - 3], bl
movzx ebx, byte [esi + str.0123456789abcdefGdipCreateFont]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x69011120
mov word [ecx], 0x225c
add ecx, 2
jmp 0x69011120
mov byte [ecx], 0x22
test eax, eax
mov ebx, dword [ebp - 0x1c4]
jle 0x690112f1
mov word [ecx + 1], 0x2e2e
lea eax, [ecx + 4]
mov byte [ecx + 3], 0x2e
mov byte [eax], 0
lea eax, [ebp - 0x144]
mov dword [esp], eax
call sym.___wine_dbg_strdup
jmp 0x69011193
mov byte [ecx], al
inc ecx
jmp 0x69011120
mov byte [ebp - 0x142], 0x22
lea ecx, [ebp - 0x142]
mov edx, 0x224c
mov word [ebp - 0x144], dx
lea eax, [ecx + 1]
jmp 0x690112b2
mov eax, 0x6907d592
jmp 0x69011193
mov esi, 3
jmp 0x6901116d