Function at 0x69030a40
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
mov esi, eax
push ebx
mov ebx, edx
sub esp, 0x12c
mov dword [ebp - 0x20], ecx
mov eax, dword [edi]
mov dword [ebp - 0x48], edi
mov edx, dword [edi + 0xc]
mov dword [ebp - 0x28], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x38], eax
mov ecx, eax
mov eax, dword [edi + 8]
movss xmm2, dword [ecx + 8]
mov edi, dword [edi + 0x10]
comiss xmm2, dword [0x690806d8]
ja 0x69030a90
movss xmm2, dword [0x690806d8]
cmp eax, 0x13
je 0x69031070
jbe 0x69030c40
cmp eax, 0x14
je 0x69031180
cmp eax, 0xff
lea esi, [esi]
jne 0x69030f1f
mov eax, dword [ebp - 0x28]
movss xmm1, dword [eax]
mov eax, dword [ebp - 0x20]
subss xmm1, dword [ebx]
movss xmm3, dword [eax]
movups xmm0, xmm1
subss xmm3, dword [esi]
mulss xmm0, xmm1
movups xmm4, xmm3
mulss xmm4, xmm3
addss xmm0, xmm4
pxor xmm4, xmm4
cvtss2sd xmm0, xmm0
ucomisd xmm4, xmm0
ja 0x690312df
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x690312d8
movzx eax, byte [0x6907a0d8]
and al, 8
cmp dword [ecx], 1
je 0x69031320
mov ecx, dword [ebp - 0x30]
test al, al
mov edx, dword [ecx + 0x10]
movss xmm4, dword [ecx + 0x28]
jne 0x69031678
movups xmm5, xmm2
sqrtsd xmm0, xmm0
cvtsd2ss xmm0, xmm0
xorps xmm5, xmmword [0x69080690]
mov eax, dword [ebp - 0x30]
test edx, edx
mulss xmm5, xmm4
mulss xmm4, xmm2
mulss xmm3, xmm5
mulss xmm1, xmm4
movups xmm6, xmm3
movups xmm5, xmm1
divss xmm6, xmm0
divss xmm5, xmm0
movss xmm0, dword [ebx]
movss dword [ebp - 0x4c], xmm6
mov ebx, dword [eax + 4]
addss xmm6, dword [esi]
movss dword [ebp - 0x20], xmm6
movss dword [ebp - 0x58], xmm5
subss xmm0, xmm5
movss dword [ebp - 0x28], xmm0
je 0x69031338
test ebx, ebx
mov eax, dword [edi]
jle 0x69030f1b
mov esi, dword [ebp - 0x30]
xor ebx, ebx
pxor xmm5, xmm5
cvtss2sd xmm5, dword [ebp - 0x4c]
movsd qword [ebp - 0x38], xmm5
pxor xmm5, xmm5
cvtss2sd xmm5, dword [ebp - 0x58]
movsd qword [ebp - 0x48], xmm5
movsd xmm5, qword [0x690806d0]
movsd qword [ebp - 0x68], xmm5
lea esi, [esi]
lea esi, [esi]
mov edx, dword [esi + 8]
pxor xmm3, xmm3
movsd xmm0, qword [ebp - 0x48]
movss xmm1, dword [ebp - 0x4c]
add eax, 0xc
lea edx, [edx + ebx*8]
movss xmm2, dword [edx]
cvtss2sd xmm3, dword [edx + 4]
subsd xmm3, qword [ebp - 0x68]
mov edx, dword [esi + 0xc]
mulsd xmm0, xmm3
mulss xmm1, xmm2
mulss xmm2, dword [ebp - 0x58]
movzx edx, byte [edx + ebx]
inc ebx
cvtss2sd xmm1, xmm1
subsd xmm1, xmm0
pxor xmm0, xmm0
cvtsd2ss xmm1, xmm1
cvtss2sd xmm0, xmm2
addss xmm1, dword [ebp - 0x28]
movsd xmm2, qword [ebp - 0x38]
mulsd xmm2, xmm3
addsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
addss xmm0, dword [ebp - 0x20]
call sym._add_path_list_node.isra.0
cmp ebx, dword [esi + 4]
mov dword [edi], eax
jl 0x69030bc0
jmp 0x69030f1b
cmp eax, 0x11
je 0x69030f30
cmp eax, 0x12
lea esi, [esi]
jne 0x69030f1f
mov eax, dword [ebp - 0x28]
pxor xmm7, xmm7
movss xmm1, dword [ebx]
movss xmm0, dword [esi]
movss xmm5, dword [eax]
mov eax, dword [ebp - 0x20]
subss xmm5, xmm1
movss xmm3, dword [eax]
movups xmm4, xmm5
subss xmm3, xmm0
mulss xmm4, xmm5
movups xmm6, xmm3
mulss xmm6, xmm3
addss xmm4, xmm6
cvtss2sd xmm4, xmm4
movupd xmm6, xmm4
ucomisd xmm7, xmm4
sqrtsd xmm6, xmm6
jbe 0x69030ce0
movss dword [ebp - 0x30], xmm3
movsd qword [ebp - 0x38], xmm6
movsd qword [esp], xmm4
movss dword [ebp - 0x28], xmm5
movss dword [ebp - 0x20], xmm2
call dword [sym.imp.ucrtbase.dll_sqrt]
fstp st(0)
movsd xmm6, qword [ebp - 0x38]
movss xmm1, dword [ebx]
movss xmm0, dword [esi]
movss xmm3, dword [ebp - 0x30]
movss xmm5, dword [ebp - 0x28]
movss xmm2, dword [ebp - 0x20]
lea esi, [esi]
xorps xmm2, xmmword [0x69080690]
pxor xmm4, xmm4
cvtsd2ss xmm4, xmm6
mov eax, dword [edi]
xor edx, edx
mulss xmm3, xmm2
mulss xmm5, xmm2
movss xmm2, dword [0x690806ac]
add eax, 0xc
movups xmm7, xmm3
divss xmm7, xmm4
divss xmm5, xmm4
movups xmm6, xmm7
movss dword [ebp - 0x20], xmm7
subss xmm1, xmm7
mulss xmm6, xmm2
movss dword [ebp - 0x28], xmm5
mulss xmm2, xmm5
addss xmm0, xmm5
movss dword [ebp - 0x30], xmm6
movss dword [ebp - 0x38], xmm2
call sym._add_path_list_node.isra.0
mov edx, 3
movss xmm1, dword [ebx]
movss xmm0, dword [ebp - 0x28]
subss xmm1, dword [ebp - 0x20]
addss xmm0, dword [esi]
addss xmm1, dword [ebp - 0x38]
addss xmm0, dword [ebp - 0x30]
mov dword [edi], eax
add eax, 0xc
call sym._add_path_list_node.isra.0
mov edx, 3
movss xmm1, dword [ebp - 0x28]
movss xmm0, dword [ebp - 0x20]
addss xmm1, dword [ebx]
addss xmm0, dword [esi]
subss xmm1, dword [ebp - 0x30]
addss xmm0, dword [ebp - 0x38]
mov dword [edi], eax
add eax, 0xc
call sym._add_path_list_node.isra.0
mov edx, 3
movss xmm0, dword [ebp - 0x20]
movss xmm1, dword [ebp - 0x28]
addss xmm0, dword [esi]
addss xmm1, dword [ebx]
mov dword [edi], eax
add eax, 0xc
call sym._add_path_list_node.isra.0
mov edx, 3
movss xmm1, dword [ebp - 0x28]
movss xmm0, dword [ebp - 0x20]
addss xmm1, dword [ebx]
addss xmm0, dword [esi]
addss xmm1, dword [ebp - 0x30]
subss xmm0, dword [ebp - 0x38]
mov dword [edi], eax
add eax, 0xc
call sym._add_path_list_node.isra.0
mov edx, 3
movss xmm1, dword [ebp - 0x20]
movss xmm0, dword [esi]
addss xmm1, dword [ebx]
subss xmm0, dword [ebp - 0x28]
addss xmm1, dword [ebp - 0x38]
addss xmm0, dword [ebp - 0x30]
mov dword [edi], eax
add eax, 0xc
call sym._add_path_list_node.isra.0
mov edx, 3
movss xmm0, dword [esi]
movss xmm1, dword [ebp - 0x20]
subss xmm0, dword [ebp - 0x28]
addss xmm1, dword [ebx]
mov dword [edi], eax
add eax, 0xc
call sym._add_path_list_node.isra.0
mov edx, 3
movss xmm1, dword [ebp - 0x20]
movss xmm0, dword [esi]
addss xmm1, dword [ebx]
subss xmm0, dword [ebp - 0x28]
subss xmm1, dword [ebp - 0x38]
subss xmm0, dword [ebp - 0x30]
mov dword [edi], eax
add eax, 0xc
call sym._add_path_list_node.isra.0
mov edx, 3
movss xmm1, dword [ebx]
movss xmm0, dword [esi]
subss xmm1, dword [ebp - 0x28]
subss xmm0, dword [ebp - 0x20]
addss xmm1, dword [ebp - 0x30]
subss xmm0, dword [ebp - 0x38]
mov dword [edi], eax
add eax, 0xc
call sym._add_path_list_node.isra.0
mov edx, 3
movss xmm1, dword [ebx]
movss xmm0, dword [esi]
subss xmm1, dword [ebp - 0x28]
subss xmm0, dword [ebp - 0x20]
mov dword [edi], eax
add eax, 0xc
call sym._add_path_list_node.isra.0
mov edx, 3
movss xmm1, dword [ebx]
movss xmm0, dword [esi]
subss xmm1, dword [ebp - 0x28]
subss xmm0, dword [ebp - 0x20]
subss xmm1, dword [ebp - 0x30]
addss xmm0, dword [ebp - 0x38]
mov dword [edi], eax
add eax, 0xc
call sym._add_path_list_node.isra.0
mov edx, 3
movss xmm1, dword [ebx]
movss xmm0, dword [ebp - 0x28]
subss xmm1, dword [ebp - 0x20]
addss xmm0, dword [esi]
subss xmm1, dword [ebp - 0x38]
subss xmm0, dword [ebp - 0x30]
mov dword [edi], eax
add eax, 0xc
call sym._add_path_list_node.isra.0
mov edx, 3
movss xmm1, dword [ebx]
movss xmm0, dword [ebp - 0x28]
subss xmm1, dword [ebp - 0x20]
addss xmm0, dword [esi]
mov dword [edi], eax
add eax, 0xc
call sym._add_path_list_node.isra.0
mov dword [edi], eax
or byte [eax + 8], 0x80
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret
mov eax, dword [ebp - 0x28]
pxor xmm7, xmm7
movss xmm1, dword [ebx]
movss xmm5, dword [esi]
movss xmm3, dword [eax]
mov eax, dword [ebp - 0x20]
subss xmm3, xmm1
movss xmm4, dword [eax]
movups xmm0, xmm3
subss xmm4, xmm5
mulss xmm0, xmm3
movups xmm6, xmm4
mulss xmm6, xmm4
addss xmm0, xmm6
cvtss2sd xmm0, xmm0
movupd xmm6, xmm0
ucomisd xmm7, xmm0
sqrtsd xmm6, xmm6
ja 0x69031889
divss xmm2, dword [0x690806dc]
movups xmm7, xmm2
cvtsd2ss xmm6, xmm6
xorps xmm7, xmmword [0x69080690]
movups xmm0, xmm4
mov eax, dword [edi]
xor edx, edx
mulss xmm0, xmm7
mulss xmm3, xmm7
mulss xmm4, xmm2
add eax, 0xc
divss xmm0, xmm6
divss xmm3, xmm6
movss dword [ebp - 0x20], xmm0
subss xmm5, xmm0
movups xmm0, xmm5
divss xmm4, xmm6
movss dword [ebp - 0x30], xmm3
subss xmm1, xmm3
subss xmm0, xmm3
movss dword [ebp - 0x28], xmm4
subss xmm1, xmm4
call sym._add_path_list_node.isra.0
mov edx, 1
movss xmm3, dword [ebp - 0x30]
movss xmm1, dword [ebx]
movss xmm0, dword [esi]
subss xmm0, dword [ebp - 0x20]
mov dword [edi], eax
subss xmm1, xmm3
add eax, 0xc
addss xmm0, xmm3
addss xmm1, dword [ebp - 0x28]
call sym._add_path_list_node.isra.0
mov edx, 1
movss xmm3, dword [ebp - 0x30]
movss xmm1, dword [ebx]
movss xmm0, dword [ebp - 0x20]
addss xmm0, dword [esi]
mov dword [edi], eax
addss xmm1, xmm3
add eax, 0xc
addss xmm0, xmm3
addss xmm1, dword [ebp - 0x28]
call sym._add_path_list_node.isra.0
mov edx, 1
movss xmm3, dword [ebp - 0x30]
movss xmm1, dword [ebx]
movss xmm0, dword [ebp - 0x20]
addss xmm0, dword [esi]
mov dword [edi], eax
addss xmm1, xmm3
add eax, 0xc
subss xmm0, xmm3
subss xmm1, dword [ebp - 0x28]
call sym._add_path_list_node.isra.0
mov dword [edi], eax
jmp 0x69030f1b
mov eax, dword [ebp - 0x28]
pxor xmm7, xmm7
movss xmm1, dword [ebx]
movss xmm0, dword [esi]
movss xmm4, dword [eax]
mov eax, dword [ebp - 0x20]
subss xmm4, xmm1
movss xmm3, dword [eax]
movups xmm5, xmm4
subss xmm3, xmm0
mulss xmm5, xmm4
movups xmm6, xmm3
mulss xmm6, xmm3
addss xmm5, xmm6
cvtss2sd xmm5, xmm5
movupd xmm6, xmm5
ucomisd xmm7, xmm5
sqrtsd xmm6, xmm6
ja 0x6903190d
movups xmm7, xmm2
cvtsd2ss xmm6, xmm6
mov eax, dword [edi]
xorps xmm7, xmmword [0x69080690]
movups xmm5, xmm3
xor edx, edx
mulss xmm4, xmm7
add eax, 0xc
mulss xmm5, xmm7
mulss xmm2, xmm3
movups xmm7, xmm4
divss xmm5, xmm6
divss xmm7, xmm6
movss dword [ebp - 0x30], xmm5
addss xmm0, xmm5
divss xmm2, xmm6
movss dword [ebp - 0x20], xmm7
addss xmm1, xmm7
movss dword [ebp - 0x28], xmm2
call sym._add_path_list_node.isra.0
mov edx, 1
movss xmm1, dword [ebx]
movss xmm0, dword [esi]
subss xmm1, dword [ebp - 0x28]
subss xmm0, dword [ebp - 0x20]
mov dword [edi], eax
add eax, 0xc
call sym._add_path_list_node.isra.0
mov edx, 1
movss xmm5, dword [ebp - 0x30]
movss xmm0, dword [esi]
movss xmm1, dword [ebx]
subss xmm0, xmm5
subss xmm1, dword [ebp - 0x20]
mov dword [edi], eax
add eax, 0xc
call sym._add_path_list_node.isra.0
mov edx, 1
movss xmm0, dword [ebp - 0x20]
movss xmm1, dword [ebp - 0x28]
addss xmm0, dword [esi]
addss xmm1, dword [ebx]
mov dword [edi], eax
add eax, 0xc
call sym._add_path_list_node.isra.0
mov dword [edi], eax
jmp 0x69030f1b
mov eax, dword [ebp - 0x28]
pxor xmm7, xmm7
movss xmm1, dword [ebx]
movss xmm0, dword [esi]
movss xmm5, dword [eax]
mov eax, dword [ebp - 0x20]
subss xmm5, xmm1
movss xmm3, dword [eax]
movups xmm4, xmm5
subss xmm3, xmm0
mulss xmm4, xmm5
movups xmm6, xmm3
mulss xmm6, xmm3
addss xmm4, xmm6
cvtss2sd xmm4, xmm4
movupd xmm6, xmm4
ucomisd xmm7, xmm4
sqrtsd xmm6, xmm6
ja 0x690318cb
mulss xmm3, xmm2
pxor xmm4, xmm4
cvtsd2ss xmm4, xmm6
mulss xmm2, xmm5
mov eax, dword [edi]
xor edx, edx
divss xmm3, xmm4
add eax, 0xc
divss xmm2, xmm4
movss dword [ebp - 0x28], xmm3
movss dword [ebp - 0x20], xmm2
call sym._add_path_list_node.isra.0
pxor xmm5, xmm5
mov edx, 1
movss xmm2, dword [ebp - 0x20]
movsd xmm0, qword [0x690806e0]
pxor xmm1, xmm1
movss xmm3, dword [ebp - 0x28]
movupd xmm4, xmm0
cvtss2sd xmm1, dword [ebx]
cvtss2sd xmm5, xmm2
xorps xmm2, xmmword [0x69080690]
mulsd xmm5, xmm0
cvtss2sd xmm3, xmm3
addsd xmm1, xmm5
mulsd xmm4, xmm3
mov dword [edi], eax
add eax, 0xc
cvtss2sd xmm2, xmm2
subsd xmm1, xmm3
movsd qword [ebp - 0x38], xmm5
movsd qword [ebp - 0x30], xmm3
movsd qword [ebp - 0x28], xmm4
movsd qword [ebp - 0x20], xmm2
cvtsd2ss xmm1, xmm1
pxor xmm0, xmm0
cvtss2sd xmm0, dword [esi]
addsd xmm0, xmm4
subsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
call sym._add_path_list_node.isra.0
mov edx, 1
movsd xmm5, qword [ebp - 0x38]
movsd xmm3, qword [ebp - 0x30]
movsd xmm4, qword [ebp - 0x28]
movsd xmm2, qword [ebp - 0x20]
pxor xmm1, xmm1
pxor xmm0, xmm0
cvtss2sd xmm1, dword [ebx]
cvtss2sd xmm0, dword [esi]
addsd xmm5, xmm1
addsd xmm0, xmm4
addsd xmm3, xmm5
addsd xmm2, xmm0
pxor xmm1, xmm1
pxor xmm0, xmm0
mov dword [edi], eax
add eax, 0xc
cvtsd2ss xmm0, xmm2
cvtsd2ss xmm1, xmm3
call sym._add_path_list_node.isra.0
mov dword [edi], eax
jmp 0x69030f1b
mov eax, dword [edi]
jmp 0x69030f1b
movss dword [ebp - 0x58], xmm3
movsd qword [esp], xmm0
movsd qword [ebp - 0x20], xmm0
movss dword [ebp - 0x4c], xmm1
movss dword [ebp - 0x28], xmm2
call dword [sym.imp.ucrtbase.dll_sqrt]
fstp st(0)
movsd xmm0, qword [ebp - 0x20]
movss xmm3, dword [ebp - 0x58]
movss xmm1, dword [ebp - 0x4c]
movss xmm2, dword [ebp - 0x28]
jmp 0x69030af0
test al, al
jne 0x69031740
mov edx, dword [ecx + 0x10]
movss xmm4, dword [ecx + 0x28]
jmp 0x69030b20
movss dword [ebp - 0x88], xmm2
lea edx, [ebx*8]
mov ebx, 8
mov dword [esp + 8], edx
mov dword [esp + 4], ebx
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 0x6903194f
mov eax, dword [ebp - 0x30]
movss xmm2, dword [ebp - 0x88]
mov eax, dword [eax + 4]
mov dword [ebp - 0x50], eax
test eax, eax
jle 0x6903187d
mov eax, dword [ebp - 0x30]
lea edx, [esi + 0x1f]
pxor xmm3, xmm3
mov ecx, dword [ebp - 0x50]
pxor xmm4, xmm4
movss xmm6, dword [ebp - 0x4c]
movss xmm7, dword [ebp - 0x58]
mov eax, dword [eax + 8]
dec ecx
cvtss2sd xmm3, xmm6
movsd qword [ebp - 0xd8], xmm3
cvtss2sd xmm4, xmm7
mov dword [ebp - 0xcc], ecx
movsd qword [ebp - 0xe0], xmm4
sub edx, eax
cmp edx, 0x3e
jbe 0x690317cf
cmp ecx, 3
jbe 0x690317cf
movups xmm5, xmm7
mov edx, eax
mov dword [ebp - 0xe4], eax
shufps xmm5, xmm5, 0
movss dword [ebp - 0xd0], xmm2
shr ecx, 2
mov ebx, esi
movups xmmword [ebp - 0xc8], xmm5
shl ecx, 5
movss xmm5, dword [ebp - 0x20]
add ecx, eax
mov eax, ecx
mov ecx, dword [ebp - 0x30]
shufps xmm5, xmm5, 0
movups xmmword [ebp - 0xb8], xmm5
movupd xmm5, xmm3
unpcklpd xmm5, xmm5
movss xmm3, dword [ebp - 0x28]
movupd xmmword [ebp - 0x48], xmm5
movups xmm5, xmm6
movupd xmm6, xmmword [0x690806f0]
shufps xmm5, xmm5, 0
shufps xmm3, xmm3, 0
movups xmmword [ebp - 0xa8], xmm5
movupd xmm5, xmm4
unpcklpd xmm5, xmm5
movupd xmmword [ebp - 0x88], xmm5
movups xmm5, xmmword [ebp - 0xf8]
movups xmmword [ebp - 0x98], xmm3
lea esi, [esi]
nop
movq xmm0, qword [edx]
movhps xmm0, qword [edx + 8]
movups xmm1, xmm0
movq xmm2, qword [edx + 0x10]
movups xmm4, xmmword [ebp - 0xc8]
movhps xmm2, qword [edx + 0x18]
shufps xmm1, xmm2, 0x88
movupd xmm7, xmmword [ebp - 0x48]
add edx, 0x20
shufps xmm0, xmm2, 0xdd
add ebx, 0x20
mulps xmm4, xmm1
movhps qword [ebp - 0x68], xmm0
cvtps2pd xmm2, qword [ebp - 0x68]
cvtps2pd xmm3, xmm0
addpd xmm2, xmm6
addpd xmm3, xmm6
mulps xmm1, xmmword [ebp - 0xa8]
mulpd xmm7, xmm3
addps xmm4, xmmword [ebp - 0xb8]
addps xmm1, xmmword [ebp - 0x98]
movhps qword [ebp - 0x78], xmm4
cvtps2pd xmm0, xmm4
cvtps2pd xmm4, qword [ebp - 0x78]
addpd xmm0, xmm7
movupd xmm7, xmmword [ebp - 0x48]
cvtpd2ps xmm0, xmm0
mulpd xmm7, xmm2
addpd xmm4, xmm7
movhlps xmm5, xmm1
movupd xmm7, xmmword [ebp - 0x88]
cvtpd2ps xmm4, xmm4
mulpd xmm3, xmm7
mulpd xmm2, xmm7
movlhps xmm0, xmm4
cvtps2pd xmm4, xmm1
cvtps2pd xmm1, xmm5
subpd xmm4, xmm3
subpd xmm1, xmm2
cvtpd2ps xmm4, xmm4
cvtpd2ps xmm1, xmm1
movlhps xmm4, xmm1
movups xmm1, xmm0
unpcklps xmm1, xmm4
unpckhps xmm0, xmm4
movlps qword [ebx - 0x20], xmm1
movhps qword [ebx - 0x18], xmm1
movlps qword [ebx - 0x10], xmm0
movhps qword [ebx - 8], xmm0
cmp eax, edx
jne 0x69031470
movss xmm2, dword [ebp - 0xd0]
movsd xmm7, qword [0x690806d0]
movsd xmm5, qword [ebp - 0xd8]
mov edx, dword [ebp - 0xcc]
movsd xmm6, qword [ebp - 0xe0]
mov eax, dword [ebp - 0xe4]
movss dword [ebp - 0x30], xmm2
mov ebx, dword [ebp - 0x50]
movss xmm3, dword [ebp - 0x4c]
movss xmm4, dword [ebp - 0x58]
and edx, 0xfffffffc
lea esi, [esi]
lea esi, [esi]
movss xmm0, dword [eax + edx*8]
pxor xmm1, xmm1
cvtss2sd xmm1, dword [eax + edx*8 + 4]
subsd xmm1, xmm7
movupd xmm2, xmm1
mulsd xmm2, xmm5
mulsd xmm1, xmm6
mulss xmm0, xmm4
addss xmm0, dword [ebp - 0x20]
cvtss2sd xmm0, xmm0
addsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
movss dword [esi + edx*8], xmm0
movss xmm0, dword [eax + edx*8]
mulss xmm0, xmm3
addss xmm0, dword [ebp - 0x28]
cvtss2sd xmm0, xmm0
subsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [esi + edx*8 + 4], xmm0
inc edx
cmp ebx, edx
jg 0x69031590
movss xmm2, dword [ebp - 0x30]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0xcc]
mov al, 1
test ecx, ecx
setle dl
ucomiss xmm2, dword [0x69080688]
jp 0x69031670
jne 0x69031670
mov ebx, dword [ebp - 0x30]
or al, dl
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebx + 0xc]
cmp byte [edx + ecx - 1], 0
js 0x69031710
test al, al
jne 0x690312d8
mov ebx, dword [ebp - 0x30]
xor eax, eax
xor edx, edx
mov dword [esp + 0x14], edi
mov ecx, dword [ebp - 0xcc]
mov dword [esp + 0x10], eax
movups xmm0, xmm2
mov eax, dword [ebx + 0x1c]
mov dword [esp + 8], edx
xor edx, edx
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x20]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
mov eax, esi
call sym._widen_open_figure.part.0
mov eax, dword [edi]
jmp 0x69030f1b
xor eax, eax
jmp 0x6903160e
cvtss2sd xmm4, xmm4
pxor xmm5, xmm5
movsd qword [esp + 0x24], xmm4
cvtss2sd xmm5, xmm2
movsd qword [esp + 0x2c], xmm5
pxor xmm4, xmm4
movss dword [ebp - 0x4c], xmm3
mov eax, dword [ecx + 0x24]
movsd qword [ebp - 0x58], xmm0
movss dword [ebp - 0x28], xmm1
movss dword [ebp - 0x20], xmm2
mov dword [esp + 0x20], eax
cvtss2sd xmm4, dword [ecx + 0x18]
movsd qword [esp + 0x18], xmm4
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x10], edx
mov dword [esp], 3
mov dword [esp + 0x14], eax
mov eax, str.GpCustomLineCap_fill:__d_basecap:__d_inset:__f_join:__d_scale:__f_pen_width:_f_n
mov dword [esp + 0xc], eax
mov eax, str.add_anchor
mov dword [esp + 8], eax
mov eax, 0x6907a0d8
mov dword [esp + 4], eax
call sym._wine_dbg_log.constprop.0_5
mov eax, dword [ebp - 0x30]
movsd xmm0, qword [ebp - 0x58]
movss xmm3, dword [ebp - 0x4c]
movss xmm1, dword [ebp - 0x28]
movss xmm2, dword [ebp - 0x20]
mov edx, dword [eax + 0x10]
movss xmm4, dword [eax + 0x28]
jmp 0x69030b20
test al, al
jne 0x690312d8
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x38]
xor edx, edx
movups xmm0, xmm2
mov ecx, dword [ebp - 0xcc]
mov dword [esp], eax
mov eax, esi
call sym._widen_closed_figure.part.0
mov eax, dword [edi]
jmp 0x69030f1b
pxor xmm4, xmm4
movss dword [ebp - 0x4c], xmm3
mov eax, dword [ebp - 0x30]
movss dword [ebp - 0x28], xmm1
mov edx, 0x6907a0d8
movsd qword [ebp - 0x58], xmm0
movss dword [ebp - 0x20], xmm2
cvtss2sd xmm4, dword [eax + 0x34]
movsd qword [esp + 0x20], xmm4
pxor xmm4, xmm4
cvtss2sd xmm4, dword [eax + 0x30]
movsd qword [esp + 0x18], xmm4
pxor xmm4, xmm4
cvtss2sd xmm4, dword [eax + 0x2c]
mov dword [esp + 4], edx
mov eax, str.GpAdjustableArrowCap_middle_inset:__f_height:__f_width:__f_n
mov dword [esp + 0xc], eax
mov eax, str.add_anchor
movsd qword [esp + 0x10], xmm4
mov dword [esp + 8], eax
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_5
mov eax, dword [ebp - 0x30]
movsd xmm0, qword [ebp - 0x58]
movss xmm2, dword [ebp - 0x20]
movss xmm1, dword [ebp - 0x28]
movss xmm3, dword [ebp - 0x4c]
mov edx, dword [eax + 0x10]
movss xmm4, dword [eax + 0x28]
jmp 0x69030b20
movss dword [ebp - 0x48], xmm2
mov ecx, dword [ebp - 0x50]
lea edx, [esi + 4]
movss xmm3, dword [ebp - 0x4c]
movsd xmm7, qword [0x690806d0]
movsd xmm5, qword [ebp - 0xd8]
movss xmm4, dword [ebp - 0x58]
movsd xmm6, qword [ebp - 0xe0]
lea ebx, [eax + ecx*8]
mov ecx, dword [ebp - 0x30]
lea esi, [esi]
lea esi, [esi]
movss xmm0, dword [eax]
pxor xmm1, xmm1
cvtss2sd xmm1, dword [eax + 4]
subsd xmm1, xmm7
movupd xmm2, xmm1
mulsd xmm2, xmm5
add eax, 8
add edx, 8
mulsd xmm1, xmm6
mulss xmm0, xmm4
addss xmm0, dword [ebp - 0x20]
cvtss2sd xmm0, xmm0
addsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
movss dword [edx - 0xc], xmm0
movss xmm0, dword [eax - 8]
mulss xmm0, xmm3
addss xmm0, dword [ebp - 0x28]
cvtss2sd xmm0, xmm0
subsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [edx - 8], xmm0
cmp eax, ebx
jne 0x69031810
movss xmm2, dword [ebp - 0x48]
mov dword [ebp - 0x30], ecx
jmp 0x690315f6
dec eax
mov dword [ebp - 0xcc], eax
jmp 0x690315f6
movss dword [ebp - 0x30], xmm4
movsd qword [ebp - 0x38], xmm6
movsd qword [esp], xmm0
movss dword [ebp - 0x28], xmm3
movss dword [ebp - 0x20], xmm2
call dword [sym.imp.ucrtbase.dll_sqrt]
fstp st(0)
movsd xmm6, qword [ebp - 0x38]
movss xmm1, dword [ebx]
movss xmm5, dword [esi]
movss xmm4, dword [ebp - 0x30]
movss xmm3, dword [ebp - 0x28]
movss xmm2, dword [ebp - 0x20]
jmp 0x69030f7a
movss dword [ebp - 0x30], xmm3
movsd qword [ebp - 0x38], xmm6
movsd qword [esp], xmm4
movss dword [ebp - 0x28], xmm5
movss dword [ebp - 0x20], xmm2
call dword [sym.imp.ucrtbase.dll_sqrt]
fstp st(0)
movsd xmm6, qword [ebp - 0x38]
movss xmm1, dword [ebx]
movss xmm0, dword [esi]
movss xmm3, dword [ebp - 0x30]
movss xmm5, dword [ebp - 0x28]
movss xmm2, dword [ebp - 0x20]
jmp 0x690311ca
movss dword [ebp - 0x30], xmm3
movsd qword [ebp - 0x38], xmm6
movsd qword [esp], xmm5
movss dword [ebp - 0x28], xmm4
movss dword [ebp - 0x20], xmm2
call dword [sym.imp.ucrtbase.dll_sqrt]
fstp st(0)
movsd xmm6, qword [ebp - 0x38]
movss xmm1, dword [ebx]
movss xmm0, dword [esi]
movss xmm3, dword [ebp - 0x30]
movss xmm4, dword [ebp - 0x28]
movss xmm2, dword [ebp - 0x20]
jmp 0x690310ba
test byte [0x6907a0d8], 2
je 0x69030f1f
mov eax, dword [ebp - 0x48]
mov dword [eax + 0xc], str.Out_of_memory_n
mov dword [eax + 8], str.add_anchor
mov dword [eax + 4], 0x6907a0d8
mov dword [eax], 1
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
jmp sym._wine_dbg_log.constprop.0_5