Function at 0x1001e480
Capabilities:
Resolve function by parsing pe exports

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, 0xf8
mov dword [ebp - 0x7c], eax
mov eax, dword [edi]
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x60], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x84], eax
mov eax, dword [edx]
mov dword [ebp - 0x80], eax
cmp eax, 4
ja sym._brush_fill_pixels.cold
mov esi, edx
jmp dword [eax*4 + 0x10076790]
pxor xmm0, xmm0
ucomiss xmm0, dword [edx + 0x1c]
jp 0x1001e882
jne 0x1001e882
ucomiss xmm0, dword [edx + 0x20]
jp 0x1001e882
jne 0x1001e882
mov edx, dword [esi + 0x10]
test edx, edx
je 0x1001e52c
mov eax, dword [0x10091030]
lea edx, [eax + 1]
mov dword [0x10091030], edx
test eax, eax
jne 0x1001e52c
test byte [0x100720b0], 1
je 0x1001e52c
mov dword [esp + 0xc], str.path_gradient_gamma_correction_not_implemented_n
mov dword [esp + 8], str.brush_fill_pixels
mov dword [esp + 4], 0x100720b0
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_4
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x1001e572
mov eax, dword [0x1009102c]
lea edx, [eax + 1]
mov dword [0x1009102c], edx
test eax, eax
jne 0x1001e572
test byte [0x100720b0], 1
je 0x1001e572
mov dword [esp + 0xc], str.path_gradient_blend_not_implemented_n
mov dword [esp + 8], str.brush_fill_pixels
mov dword [esp + 4], 0x100720b0
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_4
mov eax, dword [esi + 0x40]
test eax, eax
je 0x1001e58f
mov eax, dword [0x10091028]
lea edx, [eax + 1]
mov dword [0x10091028], edx
test eax, eax
je 0x1001ee58
mov eax, dword [0x10091024]
test eax, eax
je 0x1001ee15
lea eax, [ebp - 0x58]
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
call sym.gdiplus.dll_GdipClonePath
mov dword [ebp - 0xd0], eax
sub esp, 8
test eax, eax
jne 0x1001e68c
mov eax, dword [ebp - 0x7c]
lea ebx, [ebp - 0x30]
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 4
mov dword [esp], eax
call sym._get_graphics_transform
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x1001ee8e
mov eax, dword [ebp - 0x58]
mov dword [esp], eax
call sym.gdiplus.dll_GdipDeletePath
sub esp, 4
jmp 0x1001e68c
mov eax, dword [ebp - 0x60]
pxor xmm1, xmm1
pxor xmm0, xmm0
pxor xmm2, xmm2
lea ebx, [ebp - 0x48]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], ebx
cvtsi2ss xmm1, edx
add edx, 1
mov dword [esp + 8], 4
cvtsi2ss xmm0, edx
mov dword [esp + 4], 0
cvtsi2ss xmm2, eax
add eax, 1
movss dword [ebp - 0x48], xmm1
movss dword [ebp - 0x40], xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [ebp - 0x7c]
movss dword [ebp - 0x44], xmm2
movss dword [ebp - 0x3c], xmm2
mov dword [esp], eax
movss dword [ebp - 0x38], xmm1
movss dword [ebp - 0x34], xmm0
call sym._gdip_transform_points
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x1001e8dd
mov eax, dword [ebp - 0xd0]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret
mov edi, dword [ebp - 0x60]
mov eax, dword [edi + 0xc]
test eax, eax
jle 0x1001e6eb
mov edx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x78]
xor ebx, ebx
shl edx, 2
lea esi, [esi]
lea edi, [edi]
xor eax, eax
cmp dword [edi + 8], 0
jle 0x1001e6e1
mov dword [ebp - 0x60], edx
nop
lea esi, [esi]
mov edx, dword [esi + 4]
mov dword [ecx + eax*4], edx
add eax, 1
cmp dword [edi + 8], eax
jg 0x1001e6d0
mov edx, dword [ebp - 0x60]
add ebx, 1
add ecx, edx
cmp dword [edi + 0xc], ebx
jg 0x1001e6c0
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xd0], eax
jmp 0x1001e68c
lea eax, [ebp - 0x48]
mov dword [esp + 4], eax
mov eax, dword [edx + 4]
mov dword [esp], eax
call sym._get_hatch_data
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x1001e8ce
mov ebx, dword [esi + 8]
mov eax, dword [esi + 0xc]
movss xmm0, dword [0x10077c80]
mov edx, ebx
mov dword [ebp - 0x68], ebx
mov esi, eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x30], eax
call sym._blend_colors
mov edx, ebx
movss xmm0, dword [0x10077c84]
mov dword [ebp - 0x2c], eax
mov eax, esi
call sym._blend_colors
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x6c], eax
mov ebx, dword [edx + 0xc]
test ebx, ebx
jle 0x1001e68c
mov eax, dword [ebp - 0x84]
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x70], 0
shl eax, 2
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x84], eax
mov esi, esi
lea edi, [edi]
mov ebx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x70]
add eax, dword [edx + 4]
mov esi, dword [ebp - 0x60]
sub eax, dword [ebx + 0x78]
not eax
and eax, 7
movzx esi, byte [esi + eax]
mov eax, dword [ebx + 0x74]
imul esi, esi, 0x10101
mov ecx, eax
mov dword [ebp - 0x80], eax
xor eax, eax
and ecx, 7
sar esi, cl
mov ecx, dword [edx + 8]
test ecx, ecx
jg 0x1001e7e5
jmp 0x1001e817
mov ebx, dword [ebp - 0x6c]
test edi, edi
jne 0x1001e7d7
and ecx, 0x82
setne cl
movzx ecx, cl
mov ebx, dword [ebp + ecx*4 - 0x30]
mov edi, dword [ebp - 0x78]
mov dword [edi + eax*4], ebx
add eax, 1
cmp dword [edx + 8], eax
jle 0x1001e817
mov ecx, dword [edx]
mov ebx, dword [ebp - 0x60]
mov edi, esi
add ecx, eax
not ecx
and ecx, 7
shr edi, cl
mov ecx, edi
and edi, 1
cmp byte [ebx + 8], 0
jne 0x1001e7c0
test edi, edi
mov ebx, dword [ebp - 0x68]
mov edi, dword [ebp - 0x78]
cmove ebx, dword [ebp - 0x64]
mov dword [edi + eax*4], ebx
add eax, 1
cmp dword [edx + 8], eax
jg 0x1001e7e5
add dword [ebp - 0x70], 1
mov ebx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x70]
add dword [ebp - 0x78], ebx
cmp dword [edx + 0xc], eax
jg 0x1001e780
jmp 0x1001e68c
mov edi, dword [edx + 0x1c]
cmp dword [edi + 8], 1
je 0x1001eb9a
mov dword [ebp - 0xd0], 6
test byte [0x100720b0], 1
je 0x1001e68c
mov dword [esp + 0xc], str.metafile_texture_brushes_not_implemented_n
mov dword [esp + 8], str.brush_fill_pixels
mov dword [esp + 4], 0x100720b0
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_4
jmp 0x1001e68c
mov eax, dword [0x10091034]
lea edx, [eax + 1]
mov dword [0x10091034], edx
test eax, eax
jne 0x1001e4e6
test byte [0x100720b0], 1
je 0x1001e4e6
mov dword [esp + 0xc], str.path_gradient_focus_not_implemented_n
mov dword [esp + 8], str.brush_fill_pixels
mov dword [esp + 4], 0x100720b0
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_4
jmp 0x1001e4e6
mov dword [ebp - 0xd0], 6
jmp 0x1001e68c
mov eax, dword [esi + 0x3c]
lea edi, [ebp - 0x30]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x40]
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x48]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0x4c]
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x50]
mov dword [esp], edi
mov dword [ebp - 0x1c], eax
call sym.gdiplus.dll_GdipInvertMatrix
mov dword [ebp - 0xd0], eax
sub esp, 4
test eax, eax
jne 0x1001e68c
mov dword [esp + 8], 3
mov dword [esp + 4], ebx
mov dword [esp], edi
call sym.gdiplus.dll_GdipTransformMatrixPoints
mov dword [ebp - 0xd0], eax
sub esp, 0xc
test eax, eax
jne 0x1001e68c
movss xmm0, dword [ebp - 0x48]
movss xmm1, dword [ebp - 0x40]
mov eax, dword [ebp - 0x60]
subss xmm1, xmm0
mov eax, dword [eax + 0xc]
movss dword [ebp - 0x6c], xmm1
movss xmm1, dword [ebp - 0x38]
subss xmm1, xmm0
movss dword [ebp - 0x88], xmm1
test eax, eax
jle 0x1001e68c
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x70], 0
shl eax, 2
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x64], eax
lea esi, [esi]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax + 8]
test eax, eax
jle 0x1001eafe
pxor xmm0, xmm0
xor ebx, ebx
cvtsi2ss xmm0, dword [ebp - 0x70]
mulss xmm0, dword [ebp - 0x88]
movss dword [ebp - 0x68], xmm0
lea esi, [esi]
lea edi, [edi]
mov eax, dword [esi + 0x1c]
pxor xmm0, xmm0
cvtsi2ss xmm0, ebx
mulss xmm0, dword [ebp - 0x6c]
test eax, eax
addss xmm0, dword [ebp - 0x48]
addss xmm0, dword [ebp - 0x68]
subss xmm0, dword [esi + 0xc]
divss xmm0, dword [esi + 0x14]
cvtss2sd xmm0, xmm0
mov dword [esp + 8], 0
jne 0x1001eb20
movsd qword [esp], xmm0
mov dword [esp + 0xc], 0x3ff00000
call dword [sym.imp.ucrtbase.dll_fmod]
pxor xmm0, xmm0
pxor xmm6, xmm6
fstp qword [ebp - 0x78]
cvtsd2ss xmm0, qword [ebp - 0x78]
comiss xmm6, xmm0
jbe 0x1001ea28
addss xmm0, dword [0x10077c70]
cmp dword [esi + 0x2c], 1
je 0x1001ea8b
mov edx, dword [esi + 0x28]
mov eax, 1
movss xmm1, dword [edx + 4]
comiss xmm0, xmm1
jbe 0x1001eb90
lea esi, [esi]
mov ecx, eax
add eax, 1
movss xmm1, dword [edx + eax*4]
lea edi, [eax*4]
comiss xmm0, xmm1
ja 0x1001ea48
shl ecx, 2
add edx, ecx
movss xmm3, dword [edx]
mov eax, dword [esi + 0x24]
movups xmm2, xmm1
subss xmm2, xmm0
subss xmm0, xmm3
mulss xmm2, dword [eax + ecx]
subss xmm1, xmm3
mulss xmm0, dword [eax + edi]
addss xmm0, xmm2
divss xmm0, xmm1
mov eax, dword [esi + 0x38]
test eax, eax
je 0x1001eb78
mov edx, dword [esi + 0x34]
xor ecx, ecx
mov edi, dword [ebp - 0x80]
mov eax, 1
movss xmm1, dword [edx + 4]
comiss xmm0, xmm1
jbe 0x1001eacb
lea esi, [esi]
mov ecx, eax
add eax, 1
movss xmm1, dword [edx + eax*4]
lea edi, [eax*4]
comiss xmm0, xmm1
ja 0x1001eab0
shl ecx, 2
add edx, ecx
movss xmm2, dword [edx]
mov eax, dword [esi + 0x30]
subss xmm0, xmm2
subss xmm1, xmm2
mov edx, dword [eax + edi]
mov eax, dword [eax + ecx]
divss xmm0, xmm1
call sym._blend_colors
mov edi, dword [ebp - 0x64]
mov dword [edi + ebx*4], eax
mov eax, dword [ebp - 0x60]
add ebx, 1
cmp dword [eax + 8], ebx
jg 0x1001e9c0
mov ebx, dword [ebp - 0x60]
add dword [ebp - 0x70], 1
mov edi, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x70]
add dword [ebp - 0x64], edi
cmp dword [ebx + 0xc], eax
jg 0x1001e990
jmp 0x1001e68c
movsd qword [esp], xmm0
mov dword [esp + 0xc], 0x40000000
call dword [sym.imp.ucrtbase.dll_fmod]
pxor xmm0, xmm0
pxor xmm7, xmm7
fstp qword [ebp - 0x78]
cvtsd2ss xmm0, qword [ebp - 0x78]
comiss xmm7, xmm0
jbe 0x1001eb50
addss xmm0, dword [0x10077d2c]
comiss xmm0, dword [0x10077c70]
jbe 0x1001ea28
movss xmm1, dword [0x10077d2c]
subss xmm1, xmm0
movups xmm0, xmm1
jmp 0x1001ea28
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
call sym._blend_colors
jmp 0x1001eae9
mov edi, dword [ebp - 0x80]
xor ecx, ecx
jmp 0x1001ea63
mov eax, dword [edi + 0x38]
pxor xmm1, xmm1
pxor xmm0, xmm0
pxor xmm2, xmm2
mov dword [ebp - 0x54], 0
lea ebx, [ebp - 0x48]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x50], eax
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x60]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], ebx
cvtsi2ss xmm1, edx
add edx, 1
mov dword [esp + 8], 4
cvtsi2ss xmm0, edx
mov dword [esp + 4], 0
cvtsi2ss xmm2, eax
add eax, 1
movss dword [ebp - 0x48], xmm1
movss dword [ebp - 0x40], xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [ebp - 0x7c]
movss dword [ebp - 0x44], xmm2
movss dword [ebp - 0x3c], xmm2
mov dword [esp], eax
movss dword [ebp - 0x38], xmm1
movss dword [ebp - 0x34], xmm0
call sym._gdip_transform_points
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x1001e68c
mov eax, dword [esi + 4]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x30]
mov dword [esp], eax
call sym.gdiplus.dll_GdipInvertMatrix
mov dword [ebp - 0xd0], eax
sub esp, 4
test eax, eax
jne 0x1001e68c
lea eax, [ebp - 0x30]
mov dword [esp + 8], 3
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym.gdiplus.dll_GdipTransformMatrixPoints
mov dword [ebp - 0xd0], eax
sub esp, 0xc
test eax, eax
jne 0x1001e68c
mov eax, dword [esi + 0x24]
test eax, eax
je 0x1001f62d
movss xmm1, dword [ebp - 0x48]
movss xmm0, dword [ebp - 0x40]
movss xmm2, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x60]
subss xmm0, xmm1
mov ebx, dword [eax + 0xc]
movss dword [ebp - 0x70], xmm0
movss xmm0, dword [ebp - 0x44]
subss xmm2, xmm0
movss dword [ebp - 0x80], xmm2
movss xmm2, dword [ebp - 0x38]
subss xmm2, xmm1
movss xmm1, dword [ebp - 0x34]
subss xmm1, xmm0
movss dword [ebp - 0x8c], xmm2
movss dword [ebp - 0x90], xmm1
test ebx, ebx
jle 0x1001e68c
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x84], 0
mov edi, dword [ebp - 0x7c]
shl eax, 2
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax + 8]
test ecx, ecx
jle 0x1001edee
pxor xmm0, xmm0
movss xmm6, dword [ebp - 0x8c]
xor ebx, ebx
cvtsi2ss xmm0, dword [ebp - 0x84]
mulss xmm6, xmm0
mulss xmm0, dword [ebp - 0x90]
movss dword [ebp - 0x6c], xmm6
movss dword [ebp - 0x78], xmm0
nop
lea esi, [esi]
pxor xmm0, xmm0
movss xmm1, dword [ebp - 0x70]
mov eax, dword [ebp - 0x64]
cvtsi2ss xmm0, ebx
mov edx, dword [esi + 0x24]
mulss xmm1, xmm0
mulss xmm0, dword [ebp - 0x80]
addss xmm1, dword [ebp - 0x48]
addss xmm0, dword [ebp - 0x44]
addss xmm1, dword [ebp - 0x6c]
addss xmm0, dword [ebp - 0x78]
movss dword [ebp - 0x30], xmm1
movss dword [ebp - 0x2c], xmm0
mov ecx, dword [eax + 0x38]
mov eax, dword [edi + 0x28]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x24]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x20]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x2c]
mov dword [esp + 8], eax
lea eax, [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax + 0x3c]
mov dword [esp], eax
lea eax, [ebp - 0x58]
call sym._resample_bitmap_pixel.isra.0
mov ecx, dword [ebp - 0x68]
mov dword [ecx + ebx*4], eax
mov eax, dword [ebp - 0x60]
add ebx, 1
cmp dword [eax + 8], ebx
jg 0x1001ed68
mov ebx, dword [ebp - 0x60]
add dword [ebp - 0x84], 1
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x84]
add dword [ebp - 0x68], ecx
cmp dword [ebx + 0xc], eax
jg 0x1001ed29
jmp 0x1001e68c
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 1
mov dword [esp + 4], eax
lea eax, [esi + 0x44]
mov dword [esp], eax
call sym.gdiplus.dll_GdipIsMatrixIdentity
mov eax, dword [ebp - 0x30]
sub esp, 8
test eax, eax
jne 0x1001e59c
test byte [0x100720b0], 1
jne 0x1001f604
mov dword [0x10091024], 1
jmp 0x1001e59c
test byte [0x100720b0], 1
je 0x1001e58f
mov dword [esp + 0xc], str.path_gradient_preset_blend_not_implemented_n
mov dword [esp + 8], str.brush_fill_pixels
mov dword [esp + 4], 0x100720b0
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_4
jmp 0x1001e58f
mov eax, dword [ebp - 0x58]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym.gdiplus.dll_GdipTransformPath
mov dword [ebp - 0xd0], eax
sub esp, 8
test eax, eax
jne 0x1001e5ef
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0x18]
mov dword [esp + 8], 1
mov dword [esp], ebx
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x48]
mov dword [esp + 4], eax
mov dword [ebp - 0x44], edx
call sym.gdiplus.dll_GdipTransformMatrixPoints
mov dword [ebp - 0xd0], eax
sub esp, 0xc
test eax, eax
jne 0x1001e5ef
mov eax, dword [ebp - 0x58]
mov dword [esp + 8], 0x3f000000
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.gdiplus.dll_GdipFlattenPath
mov dword [ebp - 0xd0], eax
sub esp, 0xc
test eax, eax
jne 0x1001e5ef
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xd8], eax
test ecx, ecx
jle 0x1001f5ee
movss xmm6, dword [ebp - 0x44]
movss xmm7, dword [ebp - 0x48]
mov dword [ebp - 0x88], esi
mov esi, ecx
movq xmm0, qword [0x10077c30]
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xac], 0
movss dword [ebp - 0x90], xmm6
movss dword [ebp - 0x94], xmm7
movups xmmword [ebp - 0xe8], xmm0
jmp 0x1001ef92
mov edi, dword [ebp - 0xac]
movzx edx, byte [ebx + edi]
and edx, 7
cmp dl, 1
je 0x1001f5ae
cmp esi, dword [ebp - 0xac]
jle 0x1001f5ee
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xac]
mov edi, dword [ebp - 0xd4]
mov ebx, dword [eax + 0xc]
mov eax, dword [eax + 8]
movzx edx, byte [ebx + ecx]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x88]
test dl, 7
cmove edi, ecx
shl ecx, 2
mov dword [ebp - 0xd4], edi
mov edi, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x6c], edi
sub eax, 1
cmp eax, dword [ebp - 0xac]
lea edi, [eax*4]
cmovle ecx, edi
mov dword [ebp - 0x68], edi
add dword [ebp - 0xac], 1
mov edi, dword [ebp - 0xac]
test dl, dl
js 0x1001effe
cmp esi, edi
jg 0x1001ef70
mov edi, dword [ebp - 0xd4]
mov ebx, dword [ebp - 0x64]
lea edx, [ebx + edi*8]
cmp eax, edi
lea ebx, [eax*4]
mov eax, dword [ebp - 0x6c]
movss xmm7, dword [edx]
movss xmm6, dword [edx + 4]
lea edx, [edi*4]
cmovle edx, ebx
movss dword [ebp - 0xb4], xmm7
movss dword [ebp - 0xa8], xmm6
mov eax, dword [eax + edx]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x64]
mov ebx, dword [ebp - 0xac]
pxor xmm1, xmm1
lea edx, [eax + ebx*8 - 8]
mov eax, dword [ebp - 0x60]
movss xmm6, dword [edx + 4]
mov eax, dword [eax + 4]
movups xmm0, xmm6
minss xmm0, dword [ebp - 0x90]
movss dword [ebp - 0xb0], xmm6
movss xmm6, dword [ebp - 0xa8]
cvtsi2ss xmm1, eax
mov dword [ebp - 0x64], eax
minss xmm6, xmm0
comiss xmm1, xmm6
ja 0x1001f0dc
movsd xmm2, qword [0x10077c30]
pxor xmm0, xmm0
cvtss2sd xmm0, xmm6
movupd xmm1, xmm0
movsd xmm6, qword [0x10077c28]
andpd xmm1, xmm2
ucomisd xmm6, xmm1
jbe 0x1001f0d5
addsd xmm1, xmm6
andnpd xmm2, xmm0
subsd xmm1, xmm6
movsd xmm6, qword [0x10077c18]
orpd xmm1, xmm2
cmpnlesd xmm0, xmm1
andpd xmm0, xmm6
addsd xmm0, xmm1
orpd xmm0, xmm2
cvttsd2si ebx, xmm0
mov dword [ebp - 0x64], ebx
mov ebx, dword [ebp - 0x60]
movss xmm0, dword [ebp - 0xb0]
pxor xmm1, xmm1
maxss xmm0, dword [ebp - 0x90]
movss xmm6, dword [ebp - 0xa8]
add eax, dword [ebx + 0xc]
cvtsi2ss xmm1, eax
mov dword [ebp - 0xcc], eax
maxss xmm6, xmm0
comiss xmm6, xmm1
ja 0x1001f16a
movsd xmm2, qword [ebp - 0xe8]
pxor xmm0, xmm0
movsd xmm7, qword [0x10077c28]
cvtss2sd xmm0, xmm6
movupd xmm1, xmm0
andpd xmm1, xmm2
ucomisd xmm7, xmm1
jbe 0x1001f160
addsd xmm1, xmm7
andnpd xmm2, xmm0
subsd xmm1, xmm7
movsd xmm7, qword [0x10077c18]
orpd xmm1, xmm2
cmpnlesd xmm0, xmm1
andpd xmm0, xmm7
addsd xmm0, xmm1
orpd xmm0, xmm2
cvttsd2si eax, xmm0
mov dword [ebp - 0xcc], eax
movss xmm7, dword [edx]
movss xmm2, dword [ebp - 0xb0]
movss xmm6, dword [ebp - 0xa8]
movss xmm3, dword [ebp - 0xb4]
movss xmm4, dword [ebp - 0x90]
movss dword [ebp - 0x70], xmm7
mov ebx, dword [ebp - 0xcc]
subss xmm3, xmm7
subss xmm6, xmm2
subss xmm7, dword [ebp - 0x94]
subss xmm4, xmm2
movss dword [ebp - 0x9c], xmm3
movss dword [ebp - 0xa0], xmm7
mulss xmm7, xmm6
movss dword [ebp - 0xa4], xmm4
mulss xmm4, xmm3
movups xmm1, xmm7
addss xmm1, xmm4
movss dword [ebp - 0x8c], xmm1
cmp dword [ebp - 0x64], ebx
jge 0x1001ef86
mov eax, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x60]
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov eax, dword [eax + ecx]
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0x6c], eax
mov esi, eax
mov dword [ebp - 0xb8], 0
lea esi, [esi]
mov eax, dword [ebp - 0xc0]
pxor xmm7, xmm7
cvtsi2ss xmm7, dword [ebp - 0x64]
test eax, eax
jne 0x1001f255
comiss xmm7, dword [ebp - 0xb0]
jb 0x1001f255
xor dword [ebp - 0xb8], 1
mov dword [ebp - 0xc0], 1
mov ebx, dword [ebp - 0xc4]
test ebx, ebx
jne 0x1001f279
comiss xmm7, dword [ebp - 0xa8]
jb 0x1001f279
xor dword [ebp - 0xbc], 1
mov dword [ebp - 0xc4], 1
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
jne 0x1001f2a4
comiss xmm7, dword [ebp - 0x90]
jb 0x1001f2a4
xor dword [ebp - 0xb8], 1
xor dword [ebp - 0xbc], 1
mov dword [ebp - 0xc8], 1
mov edx, dword [ebp - 0xb8]
test edx, edx
je 0x1001f580
movss xmm1, dword [ebp - 0x90]
subss xmm1, xmm7
mulss xmm1, dword [ebp - 0xa0]
divss xmm1, dword [ebp - 0xa4]
addss xmm1, dword [ebp - 0x94]
mov eax, dword [ebp - 0xbc]
test eax, eax
je 0x1001f550
movss xmm5, dword [ebp - 0x90]
movss xmm3, dword [ebp - 0x94]
movss xmm0, dword [ebp - 0xb4]
movups xmm2, xmm5
subss xmm5, dword [ebp - 0xa8]
subss xmm2, xmm7
subss xmm0, xmm3
mulss xmm0, xmm2
divss xmm0, xmm5
addss xmm0, xmm3
movsd xmm2, qword [0x10077c78]
pxor xmm3, xmm3
movsd xmm4, qword [0x10077c28]
cvtss2sd xmm3, xmm0
andpd xmm2, xmm3
ucomisd xmm4, xmm2
jbe 0x1001f372
movsd xmm5, qword [0x10077c18]
addsd xmm2, xmm4
subsd xmm2, xmm4
movsd xmm4, qword [0x10077c78]
andnpd xmm4, xmm3
orpd xmm2, xmm4
cmpnlesd xmm3, xmm2
andpd xmm3, xmm5
addsd xmm2, xmm3
movupd xmm3, xmm2
orpd xmm3, xmm4
movsd xmm2, qword [0x10077c78]
pxor xmm5, xmm5
movsd xmm4, qword [0x10077c28]
cvtss2sd xmm5, xmm1
andpd xmm2, xmm5
ucomisd xmm4, xmm2
jbe 0x1001f3d3
addsd xmm2, xmm4
subsd xmm2, xmm4
movsd xmm4, qword [0x10077c78]
andnpd xmm4, xmm5
orpd xmm2, xmm4
movsd qword [ebp - 0x60], xmm4
movsd xmm4, qword [0x10077c18]
cmpnlesd xmm5, xmm2
andpd xmm5, xmm4
movsd xmm4, qword [ebp - 0x60]
addsd xmm2, xmm5
movupd xmm5, xmm2
orpd xmm5, xmm4
comiss xmm0, xmm1
cvttsd2si ebx, xmm3
cvttsd2si eax, xmm5
jbe 0x1001f3e6
mov edx, ebx
mov ebx, eax
mov eax, edx
mov ecx, dword [edi]
mov edx, dword [edi + 8]
cmp ecx, ebx
cmovge ebx, ecx
add edx, ecx
cmp edx, eax
cmovle eax, edx
mov dword [ebp - 0x7c], eax
cmp eax, ebx
jle 0x1001f525
movups xmm0, xmm7
subss xmm0, dword [ebp - 0xb0]
movss dword [ebp - 0x98], xmm7
mulss xmm0, dword [ebp - 0x9c]
movss dword [ebp - 0x80], xmm0
jmp 0x1001f42a
mov ecx, dword [edi]
pxor xmm7, xmm7
mov eax, dword [ebp - 0x6c]
cvtsi2ss xmm7, ebx
cmp dword [ebp - 0x68], eax
je 0x1001f4ce
movups xmm1, xmm7
subss xmm1, dword [ebp - 0x94]
movsd xmm5, qword [0x10077d40]
movss xmm3, dword [ebp - 0x98]
subss xmm3, dword [ebp - 0x90]
movups xmm0, xmm1
andps xmm0, xmmword [0x10077d30]
cvtss2sd xmm0, xmm0
comisd xmm5, xmm0
jb 0x1001f48b
movups xmm0, xmm3
andps xmm0, xmmword [0x10077d30]
mov esi, eax
cvtss2sd xmm0, xmm0
comisd xmm5, xmm0
jae 0x1001f4ce
movss xmm4, dword [ebp - 0xa4]
movss xmm0, dword [ebp - 0xa0]
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
mulss xmm4, xmm1
mulss xmm0, xmm3
mulss xmm1, xmm6
mulss xmm3, dword [ebp - 0x9c]
addss xmm0, xmm4
subss xmm1, xmm3
divss xmm0, xmm1
call sym._blend_colors
mov ecx, dword [ebp - 0x60]
mov esi, eax
mov eax, dword [ebp - 0x64]
sub eax, dword [edi + 4]
mov edx, ebx
add ebx, 1
imul eax, dword [ebp - 0x84]
sub edx, ecx
movss xmm0, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x78]
subss xmm0, xmm7
add eax, edx
lea ecx, [ecx + eax*4]
mov eax, dword [ebp - 0x88]
mulss xmm0, xmm6
mov dword [ebp - 0x60], ecx
mov edx, dword [eax + 8]
mov eax, esi
addss xmm0, dword [ebp - 0x80]
divss xmm0, dword [ebp - 0x8c]
call sym._blend_colors
mov ecx, dword [ebp - 0x60]
mov dword [ecx], eax
cmp dword [ebp - 0x7c], ebx
jne 0x1001f428
add dword [ebp - 0x64], 1
mov eax, dword [ebp - 0x64]
cmp dword [ebp - 0xcc], eax
jne 0x1001f228
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x60], edi
mov esi, dword [eax + 4]
jmp 0x1001ef86
movss xmm5, dword [ebp - 0xb4]
movss xmm2, dword [ebp - 0xa8]
movss xmm0, dword [ebp - 0x70]
subss xmm2, xmm7
subss xmm0, xmm5
mulss xmm0, xmm2
divss xmm0, xmm6
addss xmm0, xmm5
jmp 0x1001f31b
movss xmm4, dword [ebp - 0xb4]
movss xmm0, dword [ebp - 0xa8]
movss xmm1, dword [ebp - 0x70]
subss xmm0, xmm7
subss xmm1, xmm4
mulss xmm1, xmm0
divss xmm1, xmm6
addss xmm1, xmm4
jmp 0x1001f2d6
mov ebx, dword [ebp - 0xac]
mov edi, dword [ebp - 0x64]
lea edx, [edi + ebx*8]
cmp eax, ebx
mov eax, dword [ebp - 0x6c]
movss xmm6, dword [edx]
movss xmm7, dword [edx + 4]
lea edx, [ebx*4]
cmovle edx, dword [ebp - 0x68]
movss dword [ebp - 0xb4], xmm6
movss dword [ebp - 0xa8], xmm7
mov eax, dword [eax + edx]
mov dword [ebp - 0x68], eax
jmp 0x1001f03f
mov eax, dword [ebp - 0xd8]
mov dword [esp], eax
call sym.gdiplus.dll_GdipDeletePath
sub esp, 4
jmp 0x1001e68c
mov dword [esp + 0xc], str.path_gradient_transform_not_implemented_n
mov dword [esp + 8], str.brush_fill_pixels
mov dword [esp + 4], 0x100720b0
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_4
jmp 0x1001ee49
mov dword [esp + 4], 4
mov eax, dword [edi + 0x38]
imul eax, dword [edi + 0x3c]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_calloc]
mov dword [esi + 0x24], eax
mov ecx, eax
test eax, eax
je 0x1001f71b
mov eax, dword [ebp - 0x64]
mov edx, dword [edi + 0x3c]
shl eax, 2
mov ebx, eax
mov dword [ebp - 0x64], eax
mov eax, dword [edi + 0x38]
mov dword [esp + 0xc], 0x26200a
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x58]
mov dword [esp + 8], 5
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x24], 0x26200a
mov dword [ebp - 0x20], ecx
call sym.gdiplus.dll_GdipBitmapLockBits
sub esp, 0x14
mov ebx, eax
test eax, eax
je 0x1001f6c8
mov eax, dword [esi + 0x24]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
mov dword [esi + 0x24], 0
mov dword [ebp - 0xd0], ebx
jmp 0x1001e68c
lea eax, [ebp - 0x30]
mov dword [esp], edi
mov dword [esp + 4], eax
call sym.gdiplus.dll_GdipBitmapUnlockBits
sub esp, 8
mov ebx, eax
test eax, eax
jne 0x1001f6a5
mov eax, dword [ebp - 0x24]
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x64]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x3c]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x38]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x24]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x20]
mov dword [esp], eax
call sym._apply_image_attributes
jmp 0x1001ecae
mov dword [ebp - 0xd0], 3
jmp 0x1001e68c