Function at 0x69022fa0
Capabilities:
Get process heap flags

Disassembly:
push edi
lea edi, [esp + 8]
and esp, 0xfffffff0
push dword [edi - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xcc
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x40]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [ebp - 0x84], edx
call sym.gdiplus.dll_GdipClonePath
sub esp, 8
test eax, eax
mov edx, eax
je 0x69022ff0
lea esp, [ebp - 0xc]
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret
lea eax, [ebp - 0x3c]
mov dword [esp], eax
call sym.gdiplus.dll_GdipCreateMatrix
sub esp, 4
test eax, eax
mov edx, eax
je 0x69023030
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sym.gdiplus.dll_GdipDeletePath
mov edx, dword [ebp - 0x4c]
mov eax, edx
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret
mov eax, dword [ebp - 0x3c]
xor ebx, ebx
mov esi, 4
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x88]
mov dword [esp], eax
call sym._get_graphics_transform
test eax, eax
je 0x69023070
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
call sym.gdiplus.dll_GdipDeleteMatrix
mov edx, dword [ebp - 0x4c]
push eax
jmp 0x69023004
mov dword [esp + 8], 0x3f800000
mov eax, dword [ebp - 0x3c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sym.gdiplus.dll_GdipFlattenPath
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x3c]
sub esp, 0xc
mov dword [esp], eax
call sym.gdiplus.dll_GdipDeleteMatrix
mov edx, dword [ebp - 0x4c]
sub esp, 4
test edx, edx
jne 0x69023004
mov eax, dword [ebp - 0x40]
pxor xmm0, xmm0
movsd xmm7, qword [0x6907fb58]
movsd xmm3, qword [0x6907fb60]
mov edx, dword [eax + 8]
cvtss2sd xmm0, dword [edx]
movupd xmm1, xmm0
movupd xmm2, xmm0
andpd xmm1, xmm3
ucomisd xmm7, xmm1
jbe 0x69023106
andnpd xmm3, xmm0
addsd xmm1, xmm7
subsd xmm1, xmm7
orpd xmm1, xmm3
movsd xmm3, qword [0x6907fb48]
movupd xmm2, xmm1
cmpnlesd xmm2, xmm0
andpd xmm2, xmm3
subsd xmm1, xmm2
movupd xmm2, xmm1
pxor xmm1, xmm1
cvtsd2ss xmm1, xmm2
movsd xmm2, qword [0x6907fb60]
cvttss2si edi, xmm1
movupd xmm1, xmm0
andpd xmm1, xmm2
ucomisd xmm7, xmm1
jbe 0x69023151
andnpd xmm2, xmm0
addsd xmm1, xmm7
movsd xmm3, qword [0x6907fb48]
subsd xmm1, xmm7
orpd xmm1, xmm2
cmpnlesd xmm0, xmm1
andpd xmm0, xmm3
addsd xmm0, xmm1
orpd xmm0, xmm2
cvtsd2ss xmm0, xmm0
cvttss2si esi, xmm0
movsd xmm3, qword [0x6907fb60]
pxor xmm0, xmm0
cvtss2sd xmm0, dword [edx + 4]
movupd xmm1, xmm0
movupd xmm2, xmm0
andpd xmm1, xmm3
ucomisd xmm7, xmm1
mov dword [ebp - 0x4c], esi
jbe 0x690231ac
andnpd xmm3, xmm0
addsd xmm1, xmm7
subsd xmm1, xmm7
orpd xmm1, xmm3
movsd xmm3, qword [0x6907fb48]
movupd xmm2, xmm1
cmpnlesd xmm2, xmm0
andpd xmm2, xmm3
subsd xmm1, xmm2
movupd xmm2, xmm1
pxor xmm1, xmm1
cvtsd2ss xmm1, xmm2
movsd xmm2, qword [0x6907fb60]
cvttss2si esi, xmm1
movupd xmm1, xmm0
andpd xmm1, xmm2
ucomisd xmm7, xmm1
jbe 0x690231f7
andnpd xmm2, xmm0
addsd xmm1, xmm7
movsd xmm3, qword [0x6907fb48]
subsd xmm1, xmm7
orpd xmm1, xmm2
cmpnlesd xmm0, xmm1
andpd xmm0, xmm3
addsd xmm0, xmm1
orpd xmm0, xmm2
mov eax, dword [eax + 4]
cvtsd2ss xmm0, xmm0
cvttss2si ecx, xmm0
cmp eax, 1
jle 0x69023397
lea ebx, [edx + 8]
movsd xmm3, qword [0x6907fb60]
movsd xmm4, qword [0x6907fb48]
lea edx, [edx + eax*8]
mov eax, ebx
mov ebx, dword [ebp - 0x4c]
lea esi, [esi]
lea esi, [esi]
pxor xmm1, xmm1
movss xmm0, dword [eax + 4]
cvtss2sd xmm1, dword [eax]
movupd xmm5, xmm1
movupd xmm2, xmm1
andpd xmm5, xmm3
ucomisd xmm7, xmm5
jbe 0x69023278
addsd xmm5, xmm7
movupd xmm2, xmm5
movupd xmm5, xmm3
subsd xmm2, xmm7
andnpd xmm5, xmm1
orpd xmm2, xmm5
movupd xmm5, xmm2
cmpnlesd xmm5, xmm1
andpd xmm5, xmm4
subsd xmm2, xmm5
pxor xmm5, xmm5
cvtsi2ss xmm5, edi
cvtsd2ss xmm2, xmm2
comiss xmm5, xmm2
jbe 0x6902328d
cvttss2si edi, xmm2
cvtss2sd xmm0, xmm0
movupd xmm5, xmm0
movupd xmm2, xmm0
andpd xmm5, xmm3
ucomisd xmm7, xmm5
jbe 0x690232d4
addsd xmm5, xmm7
movsd xmm6, qword [0x6907fb48]
movupd xmm2, xmm5
movupd xmm5, xmm3
subsd xmm2, xmm7
andnpd xmm5, xmm0
orpd xmm2, xmm5
movupd xmm5, xmm2
cmpnlesd xmm5, xmm0
andpd xmm5, xmm6
subsd xmm2, xmm5
pxor xmm5, xmm5
cvtsi2ss xmm5, esi
cvtsd2ss xmm2, xmm2
comiss xmm5, xmm2
jbe 0x690232e9
cvttss2si esi, xmm2
movupd xmm2, xmm1
andpd xmm2, xmm3
ucomisd xmm7, xmm2
jbe 0x69023324
addsd xmm2, xmm7
movupd xmm5, xmm3
subsd xmm2, xmm7
andnpd xmm5, xmm1
movsd xmm6, qword [0x6907fb48]
orpd xmm2, xmm5
cmpnlesd xmm1, xmm2
andpd xmm1, xmm6
addsd xmm1, xmm2
orpd xmm1, xmm5
pxor xmm2, xmm2
cvtsi2ss xmm2, ebx
cvtsd2ss xmm1, xmm1
comiss xmm1, xmm2
jbe 0x69023339
cvttss2si ebx, xmm1
movupd xmm1, xmm0
andpd xmm1, xmm3
ucomisd xmm7, xmm1
jbe 0x69023374
addsd xmm1, xmm7
movupd xmm2, xmm3
subsd xmm1, xmm7
andnpd xmm2, xmm0
movsd xmm6, qword [0x6907fb48]
orpd xmm1, xmm2
cmpnlesd xmm0, xmm1
andpd xmm0, xmm6
addsd xmm0, xmm1
orpd xmm0, xmm2
pxor xmm1, xmm1
cvtsi2ss xmm1, ecx
cvtsd2ss xmm0, xmm0
comiss xmm0, xmm1
jbe 0x69023389
cvttss2si ecx, xmm0
add eax, 8
cmp edx, eax
jne 0x69023230
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x88]
lea edx, [ebp - 0x38]
call sym._get_graphics_device_bounds
test eax, eax
mov edx, eax
jne 0x69023004
movss xmm1, dword [ebp - 0x38]
pxor xmm3, xmm3
pxor xmm0, xmm0
movsd xmm2, qword [0x6907fb60]
movsd xmm7, qword [0x6907fb58]
cvtsi2ss xmm3, edi
cvtss2sd xmm0, xmm1
mov ecx, dword [ebp - 0x50]
movupd xmm4, xmm0
andpd xmm4, xmm2
ucomisd xmm7, xmm4
jbe 0x69023419
andnpd xmm2, xmm0
addsd xmm4, xmm7
subsd xmm4, xmm7
orpd xmm4, xmm2
movsd xmm2, qword [0x6907fb48]
movupd xmm6, xmm4
cmpnlesd xmm6, xmm0
movupd xmm0, xmm6
andpd xmm0, xmm2
subsd xmm4, xmm0
movupd xmm0, xmm4
cvtsd2ss xmm0, xmm0
comiss xmm3, xmm0
jbe 0x69023648
cvttss2si eax, xmm3
mov dword [ebp - 0x54], eax
movss xmm0, dword [ebp - 0x34]
pxor xmm4, xmm4
pxor xmm2, xmm2
movsd xmm3, qword [0x6907fb60]
cvtsi2ss xmm4, esi
cvtss2sd xmm2, xmm0
movupd xmm5, xmm2
andpd xmm5, xmm3
ucomisd xmm7, xmm5
jbe 0x69023489
andnpd xmm3, xmm2
addsd xmm5, xmm7
subsd xmm5, xmm7
orpd xmm5, xmm3
movupd xmm3, xmm5
cmpnlesd xmm3, xmm2
movupd xmm2, xmm3
movsd xmm3, qword [0x6907fb48]
andpd xmm2, xmm3
subsd xmm5, xmm2
movupd xmm2, xmm5
cvtsd2ss xmm2, xmm2
comiss xmm4, xmm2
jbe 0x69023638
cvttss2si eax, xmm4
mov dword [ebp - 0x58], eax
addss xmm1, dword [ebp - 0x30]
pxor xmm2, xmm2
movsd xmm4, qword [0x6907fb60]
cvtsi2ss xmm2, dword [ebp - 0x4c]
cvtss2sd xmm1, xmm1
movupd xmm3, xmm1
andpd xmm3, xmm4
ucomisd xmm7, xmm3
jbe 0x690234ee
andnpd xmm4, xmm1
addsd xmm3, xmm7
movsd xmm5, qword [0x6907fb48]
subsd xmm3, xmm7
orpd xmm3, xmm4
cmpnlesd xmm1, xmm3
andpd xmm1, xmm5
addsd xmm1, xmm3
orpd xmm1, xmm4
cvtsd2ss xmm1, xmm1
comiss xmm1, xmm2
jbe 0x69023618
cvttss2si ebx, xmm2
pxor xmm1, xmm1
movsd xmm3, qword [0x6907fb60]
addss xmm0, dword [ebp - 0x2c]
cvtsi2ss xmm1, ecx
cvtss2sd xmm0, xmm0
movupd xmm2, xmm0
andpd xmm2, xmm3
ucomisd xmm7, xmm2
jbe 0x6902354f
andnpd xmm3, xmm0
addsd xmm2, xmm7
movsd xmm4, qword [0x6907fb48]
subsd xmm2, xmm7
orpd xmm2, xmm3
cmpnlesd xmm0, xmm2
andpd xmm0, xmm4
addsd xmm0, xmm2
orpd xmm0, xmm3
cvtsd2ss xmm0, xmm0
comiss xmm0, xmm1
jbe 0x69023628
cvttss2si eax, xmm1
mov ecx, ebx
mov esi, dword [ebp - 0x54]
sub ecx, esi
lea edi, [ecx + 1]
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x78], edi
sub eax, ecx
inc eax
test edi, edi
mov dword [ebp - 0x7c], eax
jle 0x69023004
test eax, eax
jle 0x69023004
mov eax, dword [ebp - 0x54]
mov ebx, 8
mov dword [esp + 4], ebx
mov esi, dword [ebp - 0x78]
mov edi, dword fs:[0x18]
mov ebx, dword [sym.imp.kernel32.dll_HeapAlloc]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x1c], eax
imul esi, eax
shl esi, 2
mov dword [esp + 8], esi
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
mov dword [ebp - 0x90], eax
sub esp, 0xc
test eax, eax
je 0x6902419a
mov eax, dword [ebp - 0x84]
xor edx, edx
movsd xmm7, qword [0x6907fb58]
mov dword [ebp - 0x8c], edx
mov eax, dword [eax + 0x38]
mov ecx, dword [eax]
test ecx, ecx
jne 0x69023658
mov eax, dword [ebp - 0x84]
cmp dword [eax + 0x28], 5
ja case.0x6902360c.0
mov eax, dword [eax + 0x28]
jmp dword [eax*4 + 0x6907e6e4]
cvttss2si ebx, xmm1
jmp 0x690234ff
cvttss2si eax, xmm0
jmp 0x69023560
cvttss2si eax, xmm2
mov dword [ebp - 0x58], eax
jmp 0x6902349d
cvttss2si eax, xmm0
mov dword [ebp - 0x54], eax
jmp 0x6902342d
mov dword [esp + 8], esi
mov esi, 8
mov dword [esp + 4], esi
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
mov dword [ebp - 0x8c], eax
sub esp, 0xc
test eax, eax
mov ecx, eax
je 0x69024186
mov eax, dword [ebp - 0x84]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], eax
lea eax, [ebp - 0x28]
mov dword [esp], eax
mov eax, dword [ebp - 0x88]
call sym._brush_fill_pixels
movsd xmm7, qword [0x6907fb58]
test eax, eax
mov edx, eax
je 0x690235f9
xor ecx, ecx
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x8c]
mov ebx, dword fs:[0x18]
mov esi, dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call esi
mov eax, dword [ebp - 0xac]
sub esp, 0xc
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call esi
mov eax, dword [ebp - 0x90]
sub esp, 0xc
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call esi
mov edx, dword [ebp - 0x4c]
sub esp, 0xc
jmp 0x69023004
mov dword [ebp - 0x64], 8
xor esi, esi
mov edi, 7
mov dword [ebp - 0xac], esi
mov dword [ebp - 0x60], 0x6907f2a4
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 8]
movss xmm4, dword [edx]
movss xmm3, dword [edx + 4]
mov dword [ebp - 0x9c], edx
mov edx, dword [eax + 4]
movss dword [ebp - 0xa4], xmm4
movss dword [ebp - 0xa8], xmm3
mov dword [ebp - 0x80], edx
test edx, edx
jle 0x69024010
movss dword [ebp - 0x50], xmm3
mov eax, dword [eax + 0xc]
mov ebx, 0x7fffffff
movss dword [ebp - 0x4c], xmm4
mov dword [ebp - 0x5c], 0x7fffffff
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x98], ebx
lea esi, [esi]
mov esi, dword [ebp - 0x6c]
xor eax, eax
mov ecx, dword [ebp - 0xa0]
movzx edx, byte [ecx + esi]
inc esi
cmp dword [ebp - 0x80], esi
mov dword [ebp - 0x6c], esi
jle 0x690237cc
movzx eax, byte [ecx + esi]
mov cl, dl
and cl, 7
jne 0x690237ed
movss xmm4, dword [ebp - 0x50]
movss dword [ebp - 0xa8], xmm4
movss xmm4, dword [ebp - 0x4c]
movss dword [ebp - 0xa4], xmm4
test dl, dl
js 0x69023d00
and al, 7
je 0x69023bae
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x6c]
movss xmm4, dword [eax + ecx*8]
movss dword [ebp - 0x70], xmm4
movss xmm4, dword [eax + ecx*8 + 4]
movss dword [ebp - 0x74], xmm4
pxor xmm2, xmm2
movsd xmm1, qword [0x6907fb60]
cvtss2sd xmm2, dword [ebp - 0x4c]
movupd xmm3, xmm2
movupd xmm0, xmm2
andpd xmm3, xmm1
ucomisd xmm7, xmm3
jbe 0x6902386b
addsd xmm3, xmm7
andnpd xmm1, xmm2
movupd xmm0, xmm3
movsd xmm3, qword [0x6907fb48]
subsd xmm0, xmm7
orpd xmm0, xmm1
movupd xmm1, xmm0
cmpnlesd xmm1, xmm2
andpd xmm1, xmm3
subsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
pxor xmm4, xmm4
cvttss2si edx, xmm0
cvtss2sd xmm4, dword [ebp - 0x50]
movsd xmm1, qword [0x6907fb60]
movupd xmm3, xmm4
movupd xmm0, xmm4
andpd xmm3, xmm1
ucomisd xmm7, xmm3
jbe 0x690238c3
addsd xmm3, xmm7
andnpd xmm1, xmm4
movupd xmm0, xmm3
movsd xmm3, qword [0x6907fb48]
subsd xmm0, xmm7
orpd xmm0, xmm1
movupd xmm1, xmm0
cmpnlesd xmm1, xmm4
andpd xmm1, xmm3
subsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
cvttss2si eax, xmm0
pxor xmm1, xmm1
movsd xmm3, qword [0x6907fb60]
cvtss2sd xmm1, dword [ebp - 0x70]
movupd xmm5, xmm1
movupd xmm0, xmm1
andpd xmm5, xmm3
ucomisd xmm7, xmm5
mov dword [ebp - 0x68], eax
jbe 0x6902391e
addsd xmm5, xmm7
andnpd xmm3, xmm1
movupd xmm0, xmm5
movsd xmm5, qword [0x6907fb48]
subsd xmm0, xmm7
orpd xmm0, xmm3
movupd xmm3, xmm0
cmpnlesd xmm3, xmm1
andpd xmm3, xmm5
subsd xmm0, xmm3
cvtsd2ss xmm0, xmm0
pxor xmm3, xmm3
cvttss2si eax, xmm0
cvtss2sd xmm3, dword [ebp - 0x74]
movsd xmm5, qword [0x6907fb60]
movupd xmm6, xmm3
movupd xmm0, xmm3
andpd xmm6, xmm5
ucomisd xmm7, xmm6
jbe 0x69023976
addsd xmm6, xmm7
andnpd xmm5, xmm3
movupd xmm0, xmm6
movsd xmm6, qword [0x6907fb48]
subsd xmm0, xmm7
orpd xmm0, xmm5
movupd xmm5, xmm0
cmpnlesd xmm5, xmm3
andpd xmm5, xmm6
subsd xmm0, xmm5
cmp edx, eax
cvtsd2ss xmm0, xmm0
cvttss2si ecx, xmm0
jne 0x6902398b
cmp dword [ebp - 0x68], ecx
je 0x69023bae
mov esi, dword [ebp - 0x68]
sub esi, ecx
mov ebx, esi
sar ebx, 0x1f
xor esi, ebx
sub esi, ebx
mov dword [ebp - 0x94], esi
mov esi, edx
sub esi, eax
mov ebx, esi
sar esi, 0x1f
xor ebx, esi
sub ebx, esi
cmp dword [ebp - 0x94], ebx
jle 0x69023d20
cmp dword [ebp - 0x68], ecx
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [ebp - 0x58]
jge 0x69023f68
movsd xmm2, qword [0x6907fb60]
movupd xmm1, xmm4
andpd xmm1, xmm2
ucomisd xmm7, xmm1
jbe 0x69023a09
andnpd xmm2, xmm4
addsd xmm1, xmm7
movsd xmm3, qword [0x6907fb48]
subsd xmm1, xmm7
orpd xmm1, xmm2
cmpnlesd xmm4, xmm1
andpd xmm4, xmm3
addsd xmm4, xmm1
orpd xmm4, xmm2
cvtsd2ss xmm4, xmm4
subss xmm4, xmm0
mov eax, dword [ebp - 0x58]
mov esi, 1
cvttss2si edx, xmm4
sub ecx, eax
mov dword [ebp - 0x68], ecx
mov eax, dword [ebp - 0x68]
add eax, esi
cmp edx, eax
je 0x69023bae
mov eax, dword [ebp - 0x78]
movsd xmm5, qword [0x6907fb60]
movss xmm4, dword [ebp - 0x74]
movss xmm3, dword [ebp - 0x70]
mov ebx, dword [ebp - 0x98]
subss xmm4, dword [ebp - 0x50]
mov ecx, eax
subss xmm3, dword [ebp - 0x4c]
imul ecx, esi
mov dword [ebp - 0x74], esi
imul eax, edx
movss xmm2, dword [0x6907fb54]
mov dword [ebp - 0x70], ecx
mov ecx, eax
jmp 0x69023ae8
add ebx, edi
cmp byte [ebx], 0
je 0x69023b90
mov ebx, eax
shr ebx, 0x1f
test bl, bl
jne 0x69023b90
cmp dword [ebp - 0x78], eax
jle 0x69023b90
mov ebx, edx
shr ebx, 0x1f
test bl, bl
jne 0x69023b90
cmp dword [ebp - 0x7c], edx
jle 0x69023b90
mov esi, dword [ebp - 0x90]
lea ebx, [ecx + eax]
shl ebx, 2
add esi, ebx
mov dword [ebp - 0x5c], esi
mov esi, dword [ebp - 0x8c]
test esi, esi
je 0x69023ff0
mov ebx, dword [esi + ebx]
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x5c], edx
mov dword [esi], ebx
mov ebx, eax
mov eax, dword [ebp - 0x74]
mov esi, dword [ebp - 0x70]
add eax, edx
add ecx, esi
cmp dword [ebp - 0x68], edx
je 0x69023ba8
mov edx, eax
mov eax, dword [ebp - 0x58]
pxor xmm0, xmm0
add eax, edx
cvtsi2ss xmm0, eax
subss xmm0, dword [ebp - 0x50]
mulss xmm0, xmm3
divss xmm0, xmm4
addss xmm0, dword [ebp - 0x4c]
addss xmm0, xmm2
cvtss2sd xmm0, xmm0
movupd xmm1, xmm0
andpd xmm1, xmm5
ucomisd xmm7, xmm1
jbe 0x69023b52
addsd xmm1, xmm7
movupd xmm6, xmm5
subsd xmm1, xmm7
andnpd xmm6, xmm0
orpd xmm1, xmm6
movupd xmm6, xmm1
cmpnlesd xmm6, xmm0
movupd xmm0, xmm6
movsd xmm6, qword [0x6907fb48]
andpd xmm0, xmm6
subsd xmm1, xmm0
movupd xmm0, xmm1
mov esi, dword [ebp - 0x54]
cvtsd2ss xmm0, xmm0
cvttss2si eax, xmm0
sub eax, esi
cmp eax, ebx
jne 0x69023b6c
cmp edx, dword [ebp - 0x5c]
je 0x69023ad3
inc edi
mov ebx, dword [ebp - 0x60]
cmp edi, dword [ebp - 0x64]
jne 0x69023a70
xor edi, edi
cmp byte [ebx], 0
jne 0x69023a7b
lea esi, [esi]
lea esi, [esi]
nop
mov dword [ebp - 0x5c], edx
mov esi, dword [ebp - 0x70]
mov ebx, eax
mov eax, dword [ebp - 0x74]
add ecx, esi
add eax, edx
cmp dword [ebp - 0x68], edx
jne 0x69023ae6
mov dword [ebp - 0x98], ebx
mov eax, dword [ebp - 0x6c]
cmp dword [ebp - 0x80], eax
je 0x69024010
mov esi, dword [ebp - 0x9c]
movss xmm4, dword [esi + eax*8]
movss dword [ebp - 0x4c], xmm4
movss xmm4, dword [esi + eax*8 + 4]
movss dword [ebp - 0x50], xmm4
jmp 0x690237b0
mov dword [ebp - 0x64], 6
xor ebx, ebx
mov edi, 5
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0x60], 0x6907f2a4
jmp 0x6902374b
mov dword [ebp - 0x64], 2
xor ecx, ecx
mov edi, 1
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0x60], 0x6907f2a8
jmp 0x6902374b
mov dword [ebp - 0x64], 4
xor edx, edx
mov edi, 3
mov dword [ebp - 0xac], edx
mov dword [ebp - 0x60], 0x6907f2a4
jmp 0x6902374b
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x30]
test eax, eax
jle case.0x6902360c.0
mov edi, dword [ebp - 0x84]
movsd xmm3, qword [0x6907fb60]
movsd xmm4, qword [0x6907fb48]
movss xmm2, dword [0x6907fb54]
mov edx, dword [edi + 0x2c]
xor edi, edi
lea ecx, [edx + eax*4]
lea esi, [esi]
lea esi, [esi]
nop
movss xmm0, dword [edx]
addss xmm0, xmm2
cvtss2sd xmm0, xmm0
movupd xmm1, xmm0
andpd xmm1, xmm3
ucomisd xmm7, xmm1
jbe 0x69023cc7
addsd xmm1, xmm7
movupd xmm5, xmm3
subsd xmm1, xmm7
andnpd xmm5, xmm0
orpd xmm1, xmm5
movupd xmm6, xmm1
cmpnlesd xmm6, xmm0
movupd xmm0, xmm6
andpd xmm0, xmm4
subsd xmm1, xmm0
movupd xmm0, xmm1
cvtsd2ss xmm0, xmm0
cvttss2si eax, xmm0
add edx, 4
add edi, eax
cmp ecx, edx
jne 0x69023c80
test edi, edi
jne 0x6902406f
mov dword [ebp - 0x64], 1
xor eax, eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x60], 0x6907f2a4
jmp 0x6902374b
movss xmm4, dword [ebp - 0xa8]
movss dword [ebp - 0x74], xmm4
movss xmm4, dword [ebp - 0xa4]
movss dword [ebp - 0x70], xmm4
jmp 0x6902381b
cmp edx, eax
pxor xmm3, xmm3
cvtsi2ss xmm3, dword [ebp - 0x54]
jge 0x69023f00
movsd xmm1, qword [0x6907fb60]
movupd xmm0, xmm2
andpd xmm0, xmm1
ucomisd xmm7, xmm0
jbe 0x69023d70
andnpd xmm1, xmm2
addsd xmm0, xmm7
movsd xmm4, qword [0x6907fb48]
subsd xmm0, xmm7
orpd xmm0, xmm1
cmpnlesd xmm2, xmm0
andpd xmm2, xmm4
addsd xmm2, xmm0
orpd xmm2, xmm1
cvtsd2ss xmm2, xmm2
subss xmm2, xmm3
mov ecx, dword [ebp - 0x54]
mov esi, 1
cvttss2si edx, xmm2
sub eax, ecx
mov ecx, eax
lea eax, [ecx + esi]
cmp edx, eax
je 0x69023bae
movss xmm4, dword [ebp - 0x74]
movsd xmm5, qword [0x6907fb60]
movss xmm3, dword [ebp - 0x70]
mov dword [ebp - 0x68], ecx
mov ebx, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x5c]
subss xmm4, dword [ebp - 0x50]
subss xmm3, dword [ebp - 0x4c]
movss xmm2, dword [0x6907fb54]
mov dword [ebp - 0x5c], esi
jmp 0x69023e43
add ecx, edi
cmp byte [ecx], 0
je 0x69023ede
mov ecx, edx
shr ecx, 0x1f
test cl, cl
mov ecx, eax
jne 0x69023ee0
mov ebx, dword [ebp - 0x78]
cmp ebx, edx
jle 0x69023ee0
shr ecx, 0x1f
test cl, cl
jne 0x69023ede
cmp dword [ebp - 0x7c], eax
jle 0x69023ede
mov ecx, ebx
mov esi, dword [ebp - 0x90]
imul ecx, eax
add ecx, edx
shl ecx, 2
lea ebx, [esi + ecx]
mov esi, dword [ebp - 0x8c]
test esi, esi
je 0x69023fd0
mov ecx, dword [esi + ecx]
mov dword [ebx], ecx
mov ecx, eax
mov ebx, edx
mov eax, dword [ebp - 0x5c]
add eax, edx
cmp dword [ebp - 0x68], edx
je 0x69023ef0
mov edx, eax
mov eax, dword [ebp - 0x54]
pxor xmm0, xmm0
add eax, edx
cvtsi2ss xmm0, eax
subss xmm0, dword [ebp - 0x4c]
mulss xmm0, xmm4
divss xmm0, xmm3
addss xmm0, dword [ebp - 0x50]
addss xmm0, xmm2
cvtss2sd xmm0, xmm0
movupd xmm1, xmm0
andpd xmm1, xmm5
ucomisd xmm7, xmm1
jbe 0x69023ead
addsd xmm1, xmm7
movupd xmm6, xmm5
subsd xmm1, xmm7
andnpd xmm6, xmm0
orpd xmm1, xmm6
movupd xmm6, xmm1
cmpnlesd xmm6, xmm0
movupd xmm0, xmm6
movsd xmm6, qword [0x6907fb48]
andpd xmm0, xmm6
subsd xmm1, xmm0
movupd xmm0, xmm1
mov esi, dword [ebp - 0x58]
cvtsd2ss xmm0, xmm0
cvttss2si eax, xmm0
sub eax, esi
cmp edx, ebx
jne 0x69023ec6
cmp eax, ecx
je 0x69023e33
inc edi
mov ecx, dword [ebp - 0x60]
cmp edi, dword [ebp - 0x64]
jne 0x69023dd0
xor edi, edi
cmp byte [ecx], 0
jne 0x69023ddb
mov ecx, eax
mov eax, dword [ebp - 0x5c]
mov ebx, edx
add eax, edx
cmp dword [ebp - 0x68], edx
jne 0x69023e41
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x5c], ecx
jmp 0x69023bae
movss xmm0, dword [ebp - 0x4c]
movsd xmm2, qword [0x6907fb60]
subss xmm0, xmm3
cvttss2si edx, xmm0
movupd xmm0, xmm1
andpd xmm0, xmm2
ucomisd xmm7, xmm0
jbe 0x69023f4c
andnpd xmm2, xmm1
addsd xmm0, xmm7
movsd xmm4, qword [0x6907fb48]
subsd xmm0, xmm7
orpd xmm0, xmm2
cmpnlesd xmm1, xmm0
andpd xmm1, xmm4
addsd xmm1, xmm0
orpd xmm1, xmm2
cvtsd2ss xmm1, xmm1
subss xmm1, xmm3
mov esi, 0xffffffff
cvttss2si ecx, xmm1
jmp 0x69023d88
movss xmm1, dword [ebp - 0x50]
movsd xmm2, qword [0x6907fb60]
subss xmm1, xmm0
cvttss2si edx, xmm1
movupd xmm1, xmm3
andpd xmm1, xmm2
ucomisd xmm7, xmm1
jbe 0x69023fb4
andnpd xmm2, xmm3
addsd xmm1, xmm7
movsd xmm4, qword [0x6907fb48]
subsd xmm1, xmm7
orpd xmm1, xmm2
cmpnlesd xmm3, xmm1
andpd xmm3, xmm4
addsd xmm3, xmm1
orpd xmm3, xmm2
cvtsd2ss xmm3, xmm3
subss xmm3, xmm0
mov esi, 0xffffffff
cvttss2si eax, xmm3
mov dword [ebp - 0x68], eax
jmp 0x69023a22
mov ecx, dword [ebp - 0x84]
mov ecx, dword [ecx + 0x38]
mov ecx, dword [ecx + 4]
mov dword [ebx], ecx
mov ecx, eax
mov ebx, edx
jmp 0x69023e33
mov esi, dword [ebp - 0x84]
mov ebx, dword [esi + 0x38]
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x5c], edx
mov ebx, dword [ebx + 4]
mov dword [esi], ebx
mov ebx, eax
jmp 0x69023ad3
mov edi, dword [ebp - 0x88]
mov dword [esp], edi
call sym._gdi_transform_acquire
mov edx, dword [ebp - 0x78]
mov eax, 0x26200a
mov dword [esp + 0x14], eax
xor eax, eax
mov ecx, dword [ebp - 0x58]
mov dword [esp + 0x10], eax
mov dword [esp + 4], edx
lea eax, [edx*4]
mov edx, dword [ebp - 0x54]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x90]
mov dword [esp], eax
mov eax, edi
call sym._alpha_blend_pixels_hrgn
mov dword [esp], edi
mov dword [ebp - 0x4c], eax
call sym._gdi_transform_release
mov edx, dword [ebp - 0x4c]
jmp 0x690236be
mov dword [esp + 8], edi
xor edx, edx
mov dword [esp + 4], edx
mov eax, dword fs:[0x18]
movss dword [ebp - 0x64], xmm2
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
mov dword [ebp - 0x60], eax
sub esp, 0xc
test eax, eax
mov esi, eax
je 0x69024186
mov edx, dword [ebp - 0x84]
lea ecx, [edi - 1]
movsd xmm7, qword [0x6907fb58]
mov dword [ebp - 0x5c], ecx
mov eax, dword [edx + 0x30]
test eax, eax
jle 0x6902416b
mov ebx, dword [edx + 0x2c]
not eax
xor ecx, ecx
movss xmm2, dword [ebp - 0x64]
movsd xmm4, qword [0x6907fb48]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x68], edi
nop
xor edx, edx
movsd xmm3, qword [0x6907fb60]
jmp 0x690240fd
mov eax, dword [ebp - 0x4c]
lea edi, [esi + ecx]
and eax, 1
mov byte [edi + edx], al
inc edx
movss xmm0, dword [ebx]
lea edi, [ecx + edx]
addss xmm0, xmm2
cvtss2sd xmm0, xmm0
movupd xmm1, xmm0
andpd xmm1, xmm3
ucomisd xmm7, xmm1
jbe 0x69024147
addsd xmm1, xmm7
movupd xmm5, xmm3
subsd xmm1, xmm7
andnpd xmm5, xmm0
orpd xmm1, xmm5
movupd xmm6, xmm1
cmpnlesd xmm6, xmm0
movupd xmm0, xmm6
andpd xmm0, xmm4
subsd xmm1, xmm0
movupd xmm0, xmm1
cvtsd2ss xmm0, xmm0
cvttss2si eax, xmm0
cmp edx, eax
jl 0x690240f0
dec dword [ebp - 0x4c]
add ebx, 4
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x50], eax
je 0x69024168
mov ecx, edi
jmp 0x690240e0
mov edi, dword [ebp - 0x68]
mov dword [ebp - 0x64], edi
mov eax, dword [ebp - 0x60]
mov edi, dword [ebp - 0x5c]
mov dword [ebp - 0xac], eax
jmp 0x6902374b
xor edi, edi
jmp 0x69023ce0
mov dword [ebp - 0xac], 0
mov edx, 3
jmp 0x690236be
mov edx, 3
jmp 0x69023004