Function at 0x6902dc60
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, 0x48
mov eax, dword [ecx]
test byte [0x6907a0c8], 8
mov ebx, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x20], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x24], eax
jne 0x6902de88
test edi, edi
jle 0x6902ded1
lea eax, [edi*8]
mov ecx, 8
mov dword [esp + 4], ecx
mov esi, eax
mov dword [esp + 8], esi
mov dword [ebp - 0x28], 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 0x6902def7
cmp edi, 1
je 0x6902def0
mov ecx, edi
mov edx, ebx
shr ecx, 1
shl ecx, 4
add ecx, eax
nop
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 0x6902dcf0
mov eax, edi
and eax, 0xfffffffe
test edi, 1
je 0x6902dd38
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 + 0x10], edi
mov eax, dword [ebp - 0x24]
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sym.gdiplus.dll_GdipTransformPoints
sub esp, 0x14
test eax, eax
mov edi, eax
jne 0x6902de53
mov eax, dword [ebp - 0x28]
lea edx, [esi + 4]
add ebx, 4
movss xmm3, dword [0x6907fb54]
movsd xmm4, qword [0x6907fb48]
movsd xmm1, qword [0x6907fb58]
movsd xmm2, qword [0x6907fb60]
movupd xmm5, xmm4
lea ecx, [esi + eax + 4]
lea esi, [esi]
nop
movss xmm0, dword [edx - 4]
addss xmm0, xmm3
cvtss2sd xmm0, xmm0
movupd xmm6, xmm0
andpd xmm6, xmm2
ucomisd xmm1, xmm6
jbe 0x6902dde8
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 0x6902de3a
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 0x6902dda0
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 0x14
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x20]
mov esi, str.__p___d___d___p___d__n
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], 3
mov dword [esp + 0x10], eax
mov eax, str.GdipTransformPointsI
mov dword [esp + 8], eax
mov eax, 0x6907a0c8
mov dword [esp + 4], eax
call sym._wine_dbg_log.constprop.0_4
test edi, edi
jg 0x6902dca0
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 0x14
xor eax, eax
jmp 0x6902dd16
mov edi, 3
jmp 0x6902de75