Function at 0x69060a90
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, 0x38
mov eax, dword [ecx]
test byte [0x6907a108], 8
mov ebx, dword [ecx + 4]
mov edi, dword [ecx + 8]
mov dword [ebp - 0x1c], eax
jne 0x69060ca8
test edi, edi
jle 0x69060ce3
lea eax, [edi*8]
mov ecx, 8
mov dword [esp + 4], ecx
mov esi, eax
mov dword [esp + 8], esi
mov dword [ebp - 0x20], eax
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]
sub esp, 0xc
test eax, eax
mov esi, eax
je 0x69060d07
cmp edi, 1
je 0x69060d00
mov ecx, edi
mov edx, ebx
shr ecx, 1
shl ecx, 4
add ecx, eax
lea esi, [esi]
lea esi, [esi]
movdqu xmm5, xmmword [edx]
cvtdq2ps xmm0, xmm5
add eax, 0x10
add edx, 0x10
movlps qword [eax - 0x10], xmm0
movhps qword [eax - 8], xmm0
cmp eax, ecx
jne 0x69060b20
mov eax, edi
and eax, 0xfffffffe
test edi, 1
je 0x69060b68
shl eax, 3
pxor xmm0, xmm0
lea edx, [ebx + eax]
add eax, esi
cvtsi2ss xmm0, dword [edx]
movss dword [eax], xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [edx + 4]
movss dword [eax + 4], xmm0
mov dword [esp + 8], edi
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], esi
mov dword [esp], eax
call sym.gdiplus.dll_GdipVectorTransformMatrixPoints
sub esp, 0xc
test eax, eax
mov edi, eax
jne 0x69060c73
mov eax, dword [ebp - 0x20]
lea edx, [esi + 4]
add ebx, 4
movss xmm3, dword [0x69084190]
movsd xmm4, qword [0x690841b0]
movsd xmm1, qword [0x69084198]
movsd xmm2, qword [0x690841a0]
movupd xmm5, xmm4
lea ecx, [esi + eax + 4]
lea esi, [esi]
movss xmm0, dword [edx - 4]
addss xmm0, xmm3
cvtss2sd xmm0, xmm0
movupd xmm6, xmm0
andpd xmm6, xmm2
ucomisd xmm1, xmm6
jbe 0x69060c08
addsd xmm6, xmm1
movupd xmm7, xmm2
subsd xmm6, xmm1
andnpd xmm7, xmm0
orpd xmm6, xmm7
movupd xmm7, xmm6
cmpnlesd xmm7, xmm0
movupd xmm0, xmm7
andpd xmm0, xmm4
subsd xmm6, xmm0
movupd xmm0, xmm6
cvtsd2ss xmm0, xmm0
cvttss2si eax, xmm0
movss xmm0, dword [edx]
mov dword [ebx - 4], eax
addss xmm0, xmm3
cvtss2sd xmm0, xmm0
movupd xmm6, xmm0
andpd xmm6, xmm2
ucomisd xmm1, xmm6
jbe 0x69060c5a
addsd xmm6, xmm1
movupd xmm7, xmm2
subsd xmm6, xmm1
andnpd xmm7, xmm0
orpd xmm6, xmm7
movupd xmm7, xmm6
cmpnlesd xmm7, xmm0
movupd xmm0, xmm7
andpd xmm0, xmm5
subsd xmm6, xmm0
movupd xmm0, xmm6
cvtsd2ss xmm0, xmm0
cvttss2si eax, xmm0
add edx, 8
add ebx, 8
mov dword [ebx - 8], eax
cmp ecx, edx
jne 0x69060bc0
mov dword [esp + 8], esi
xor edx, edx
mov dword [esp + 4], 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_HeapFree]
sub esp, 0xc
lea esp, [ebp - 0x10]
mov eax, edi
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0xc
mov dword [esp + 0x10], eax
mov eax, str.GdipVectorTransformMatrixPointsI
mov esi, 0x69083ed6
mov dword [esp + 8], eax
mov eax, 0x6907a108
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 4], eax
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_8
test edi, edi
jg 0x69060ac4
lea esp, [ebp - 0x10]
mov edi, 2
pop ecx
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0xc
xor eax, eax
jmp 0x69060b46
mov edi, 3
jmp 0x69060c95