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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x88
push esi
push edi
mov edi, dword [0x1027efb4]
mov dword [esp + 0x28], edx
mov edx, ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x6c], edi
mov eax, dword [edi + 0x1cdc]
mov byte [eax + 0x8c], 1
mov eax, dword [edi + 0x1cdc]
mov dword [esp + 0x2c], eax
cmp byte [eax + 0x8f], 0
je 0x1017300a
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movss xmm0, dword ds:[edi + 0x1554]
mov esi, edx
mulss xmm0, dword [0x1022cbf0]
movss xmm1, dword [eax + 0xd0]
movss dword [esp + 0x34], xmm1
movss xmm1, dword [eax + 0xd4]
mov eax, dword [eax + 4]
movss dword [esp + 0x54], xmm1
mov dword [esp + 0x50], eax
mov dword [esp + 0x18], eax
addss xmm0, dword [edi + 0x1a70]
movss dword [esp + 0x3c], xmm0
addss xmm0, dword [edi + 0x1568]
movss dword [esp + 0x30], xmm0
cmp edx, 0xffffffff
jae 0x1017307b
mov cl, byte [esi]
test cl, cl
je 0x1017307b
cmp cl, 0x23
jne 0x10173075
cmp byte [esi + 1], cl
je 0x1017307b
inc esi
cmp esi, 0xffffffff
jb 0x10173065
mov ecx, edx
mov dword [edi + 0x1dc0], 0
call fcn.10124040
mov eax, dword [ebp + 8]
shr eax, 1
not al
mov byte [esp + 0xf], 0
and eax, 0xffffff01
mov dword [esp + 0x38], eax
movzx eax, al
add eax, 3
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 8]
shr eax, 0x18
and eax, 0xffffff01
cmp dword [edi + 0x15a8], 0
mov dword [esp + 0x60], eax
jne 0x101730cb
movss xmm1, dword [esp + 0x30]
jmp 0x101730ce
xorps xmm1, xmm1
movss xmm0, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
addss xmm0, xmm1
mov ecx, dword [esp + 0x14]
movss dword [eax + 0xd0], xmm0
mov eax, dword [0x1027efb4]
movss xmm0, dword [eax + 0x18]
movss dword [esp + 0x30], xmm0
call fcn.10123e20
mov ecx, dword [0x1027db70]
movss xmm3, dword [0x1022cbb4]
mov dword [esp + 0x10], eax
cmp dword [esp + 0x14], esi
je 0x1017343a
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10289fe8]
cmp eax, dword [ecx + 4]
jg 0x1017423c
movups xmm0, xmmword [edi + 0x15dc]
lea eax, [esp + 0x10]
mov ecx, 0x1028a024
push eax
lea eax, [esp + 0x20]
push eax
movups xmmword [esp + 0x48], xmm0
call fcn.1004cf40
mov esi, dword [esp + 0x24]
mov eax, dword [0x1028a024]
cmp byte [esi + 0xd], 0
jne 0x1017316b
mov ecx, dword [esp + 0x10]
cmp ecx, dword [esi + 0x10]
jae 0x1017316d
mov esi, eax
cmp esi, eax
jne 0x101731b7
lea eax, [esp + 0x40]
mov ecx, 0x1028a024
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.10046cc0
lea eax, [esp + 0x10]
mov ecx, 0x1028a024
push eax
lea eax, [esp + 0x20]
push eax
call fcn.1004cf40
mov esi, dword [esp + 0x24]
cmp byte [esi + 0xd], 0
jne 0x101731b1
mov eax, dword [esp + 0x10]
cmp eax, dword [esi + 0x10]
jae 0x101731b7
mov esi, dword [0x1028a024]
mov eax, dword [esp + 0x2c]
sub esp, 8
movss xmm1, dword [esp + 0x4c]
addss xmm1, dword [esp + 0x48]
mov eax, dword [eax + 8]
shr eax, 0x1a
and eax, 1
addss xmm1, dword [esp + 0x50]
add eax, eax
movss xmm0, dword [edi + eax*8 + 0x1600]
addss xmm0, dword [edi + eax*8 + 0x15fc]
divss xmm1, dword [0x1022cc14]
addss xmm0, dword [edi + eax*8 + 0x1604]
divss xmm0, dword [0x1022cc14]
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.100b0d5f
movss xmm0, dword [0x1022cb48]
add esp, 8
movss xmm1, dword [0x1022cbb4]
fstp dword [esp + 0x10]
comiss xmm0, dword [esp + 0x10]
jbe 0x10173252
movaps xmm4, xmm1
movaps xmm5, xmm1
subss xmm4, dword [esp + 0x40]
subss xmm5, dword [esp + 0x44]
movaps xmm6, xmm1
subss xmm6, dword [esp + 0x48]
jmp 0x10173264
movss xmm4, dword [esp + 0x40]
movss xmm5, dword [esp + 0x44]
movss xmm6, dword [esp + 0x48]
movss xmm3, dword [esi + 0x14]
comiss xmm4, xmm3
movss xmm2, dword [esp + 0x30]
movss xmm7, dword [0x1022cc38]
jbe 0x10173292
movaps xmm0, xmm2
mulss xmm0, xmm7
addss xmm0, xmm3
minss xmm0, xmm4
movss dword [esi + 0x14], xmm0
jmp 0x101732ab
comiss xmm3, xmm4
jbe 0x101732ab
movaps xmm0, xmm2
mulss xmm0, xmm7
subss xmm3, xmm0
maxss xmm3, xmm4
movss dword [esi + 0x14], xmm3
movss xmm4, dword [esi + 0x18]
comiss xmm5, xmm4
jbe 0x101732c6
movaps xmm3, xmm2
mulss xmm3, xmm7
addss xmm3, xmm4
minss xmm3, xmm5
jmp 0x101732dd
comiss xmm4, xmm5
movaps xmm3, xmm4
jbe 0x101732e2
movaps xmm0, xmm2
mulss xmm0, xmm7
subss xmm3, xmm0
maxss xmm3, xmm5
movss dword [esi + 0x18], xmm3
movss xmm5, dword [esi + 0x1c]
comiss xmm6, xmm5
jbe 0x10173302
mulss xmm2, xmm7
addss xmm2, xmm5
minss xmm2, xmm6
movss dword [esi + 0x1c], xmm2
movaps xmm5, xmm2
jmp 0x10173318
comiss xmm5, xmm6
jbe 0x10173318
mulss xmm2, xmm7
subss xmm5, xmm2
maxss xmm5, xmm6
movss dword [esi + 0x1c], xmm5
movss xmm2, dword [esi + 0x14]
xorps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x1017332a
xorps xmm6, xmm6
jmp 0x10173331
movaps xmm6, xmm1
minss xmm6, xmm2
comiss xmm0, xmm3
movss xmm2, dword [0x1022cdac]
movss xmm4, dword [0x1022cb6c]
mulss xmm6, xmm2
addss xmm6, xmm4
cvttss2si edx, xmm6
jbe 0x10173357
xorps xmm6, xmm6
jmp 0x1017335e
movaps xmm6, xmm1
minss xmm6, xmm3
mulss xmm6, xmm2
addss xmm6, xmm4
cvttss2si eax, xmm6
shl eax, 8
or edx, eax
comiss xmm0, xmm5
jbe 0x10173379
xorps xmm3, xmm3
jmp 0x10173380
movaps xmm3, xmm1
minss xmm3, xmm5
mulss xmm3, xmm2
addss xmm3, xmm4
cvttss2si eax, xmm3
movss xmm3, dword [esi + 0x20]
shl eax, 0x10
or edx, eax
comiss xmm0, xmm3
jbe 0x101733a2
xorps xmm1, xmm1
jmp 0x101733a6
minss xmm1, xmm3
mulss xmm1, xmm2
xor ecx, ecx
addss xmm1, xmm4
cvttss2si eax, xmm1
shl eax, 0x18
or edx, eax
call fcn.10131660
movss xmm1, dword [esp + 0x54]
xor edx, edx
addss xmm1, dword [edi + 0x1554]
movss xmm0, dword [esp + 0x34]
addss xmm0, dword [0x1022cbb4]
mov ecx, dword [esp + 0x14]
movss dword [esp + 0x58], xmm1
push dword [esp + 0x58]
movss dword [esp + 0x58], xmm0
push dword [esp + 0x58]
push 1
call fcn.1012c9e0
mov esi, dword [0x1027efb4]
add esp, 0xc
movss xmm3, dword [0x1022cbb4]
mov eax, dword [esi + 0x1dd4]
mov ecx, dword [esi + 0x1ddc]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
mov ecx, dword [0x1027db70]
add eax, eax
movups xmmword [esi + eax*8 + 0x15dc], xmm0
dec dword [esi + 0x1dd4]
xor eax, eax
cmp byte [esp + 0x38], 0
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x2c]
movss xmm2, dword [eax + 0xd0]
movss xmm1, dword [eax + 0x14]
movaps xmm0, xmm2
subss xmm0, dword [eax + 0xc]
subss xmm1, xmm0
subss xmm1, dword [0x1022ccb0]
addss xmm1, xmm2
movss dword [eax + 0xd0], xmm1
mov eax, dword [esp + 0x28]
je 0x10173481
movss xmm3, dword [eax + 0xc]
movss xmm0, dword ds:[eax]
movss xmm1, dword [eax + 4]
movss xmm2, dword [eax + 8]
mov eax, dword fs:[0x2c]
movss dword [esp + 0x40], xmm0
movss dword [esp + 0x44], xmm1
movss dword [esp + 0x48], xmm2
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1028a184]
movss dword [esp + 0x4c], xmm3
cmp eax, dword [ecx + 4]
jg 0x10174285
lea eax, ds:[esp + 0x18]
mov ecx, 0x1028a098
push eax
lea eax, [esp + 0x20]
push eax
call fcn.1003c800
mov esi, dword [esp + 0x24]
mov eax, dword [0x1028a098]
mov dword [esp + 0x14], eax
cmp byte [esi + 0xd], 0
jne 0x10173505
mov ecx, dword ds:[esp + 0x50]
cmp ecx, dword [esi + 0x10]
jae 0x10173507
mov esi, eax
cmp esi, eax
jne 0x101735c9
lea eax, ds:[esp + 0x18]
mov ecx, 0x1028a098
push eax
lea eax, [esp + 0x58]
push eax
call fcn.1003c800
mov esi, dword [esp + 0x50]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x1c], xmm0
cmp byte [eax + 0xd], 0
jne 0x10173545
nop dword [eax]
cmp esi, dword [eax + 0x10]
jae 0x1017359e
cmp dword [0x1028a09c], 0x9249249
je 0x101742db
push 0x1c
call fcn.1008f394
mov ecx, dword [esp + 0x18]
add esp, 4
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
push eax
push dword [esp + 0x24]
mov dword [eax], ecx
push dword [esp + 0x24]
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, 0x1028a098
mov word [eax + 0xc], 0
call fcn.1003c980
mov eax, dword [0x1028a098]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x18]
mov ecx, 0x1028a098
push eax
lea eax, [esp + 0x20]
push eax
call fcn.1003c800
mov esi, dword [esp + 0x24]
cmp byte [esi + 0xd], 0
jne 0x101735c5
mov ecx, dword [esp + 0x50]
cmp ecx, dword [esi + 0x10]
jae 0x101735c9
mov esi, dword [esp + 0x14]
mov dword [esp + 0x58], 0x41b00000
lea edx, [esp + 0x40]
push dword [esp + 0x58]
mov dword [esp + 0x58], 0x41b00000
mov ecx, str.ColorButton
push dword [esp + 0x58]
push dword [ebp + 8]
call fcn.10154460
movaps xmm0, xmmword [esp + 0x4c]
add esp, 0xc
movaps xmmword [esp + 0x80], xmm0
test al, al
je 0x1017366c
mov eax, dword [0x1027efb4]
xor edx, edx
movups xmmword [edi + 0x36f0], xmm0
mov eax, dword [eax + 0x1cdc]
mov ecx, dword [eax + 0xc4]
mov eax, dword [eax + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, 0x1022af2c
call fcn.1012f0e0
mov ecx, eax
add esp, 4
mov eax, dword [0x1027efb4]
cmp dword [eax + 0x1d14], ecx
jne 0x1017364e
mov dword [eax + 0x1d18], ecx
cmp dword [eax + 0x1d4c], ecx
jne 0x1017365d
mov byte [eax + 0x1d50], 1
xor edx, edx
call fcn.10121a40
mov dword [esi + 0x14], 0
mov eax, dword [0x1027efb4]
xor edx, edx
mov eax, dword [eax + 0x1cdc]
mov ecx, dword [eax + 0xc4]
mov eax, dword [eax + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, str.pickercontext
call fcn.1012f0e0
mov edx, eax
add esp, 4
mov eax, dword [0x1027efb4]
cmp dword [eax + 0x1d14], edx
jne 0x101736ae
mov dword [eax + 0x1d18], edx
cmp dword [eax + 0x1d4c], edx
jne 0x101736bd
mov byte [eax + 0x1d50], 1
mov ecx, dword [eax + 0x1e28]
cmp dword [eax + 0x1e1c], ecx
jle 0x101736de
mov eax, dword [eax + 0x1e24]
lea ecx, [ecx + ecx*8]
mov byte [esp + 0xe], 1
cmp dword [eax + ecx*4], edx
je 0x101736e3
mov byte [esp + 0xe], 0
mov ecx, str.pickercontext
call fcn.101213e0
test al, al
je 0x101737f3
cmp byte [esp + 0xe], 0
jne 0x10173703
mov dword [esi + 0x18], 0
movss xmm2, dword [0x1022cd68]
subss xmm2, dword [esi + 0x14]
mov ecx, dword [0x1027efb4]
mov eax, dword [esp + 0x2c]
divss xmm2, dword [0x1022cb10]
mulss xmm2, dword [ecx + 0x18]
addss xmm2, dword [esi + 0x14]
minss xmm2, dword [0x1022cd68]
movss dword [esi + 0x14], xmm2
xorps xmm2, xmm2
movss xmm0, dword [eax + 0x12c]
movss xmm1, dword [eax + 0x130]
subss xmm0, dword [0x1022cd5c]
mov eax, dword [ecx + 0x1d60]
subss xmm1, xmm2
or eax, 1
mov dword [ecx + 0x1d78], 0
mov dword [ecx + 0x1d60], eax
or eax, 2
mov dword [ecx + 0x1d7c], 0
movss dword [ecx + 0x1d70], xmm0
movss dword [ecx + 0x1d74], xmm1
mov dword [ecx + 0x1d64], 1
movss xmm0, dword [esi + 0x14]
movss dword [ecx + 0x1d84], xmm0
movss xmm0, dword [0x1022cbb4]
mov dword [ecx + 0x1d60], eax
mov dword [ecx + 0x1d80], 0x43110000
mov dword [ecx + 0x1d68], 1
movups xmm1, xmmword [ecx + 0x162c]
comiss xmm2, xmm1
movaps xmm5, xmm1
movaps xmmword [esp + 0x70], xmm1
shufps xmm5, xmm1, 0xff
mulss xmm5, dword [ecx + 0x1518]
jbe 0x10173c17
xorps xmm4, xmm4
jmp 0x10173c1e
cmp byte [esp + 0xe], 0
je 0x10173703
movss xmm2, dword [0x1022ccc8]
subss xmm2, dword [esi + 0x18]
mov edi, dword [0x1027efb4]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1c], 1
divss xmm2, dword [0x1022cb10]
lea ecx, [edi + 0x1de0]
mulss xmm2, dword [edi + 0x18]
addss xmm2, dword [esi + 0x18]
minss xmm2, dword [0x1022ccc8]
movss dword [esi + 0x18], xmm2
movss xmm0, dword [eax + 0x12c]
movss xmm1, dword [eax + 0x130]
subss xmm0, dword [0x1022ccd0]
subss xmm1, dword [0x1022ca98]
mov eax, dword [edi + 0x1d60]
or eax, 1
mov dword [edi + 0x1d78], 0
mov dword [edi + 0x1d60], eax
or eax, 2
movss dword [edi + 0x1d70], xmm0
movss dword [edi + 0x1d74], xmm1
mov dword [edi + 0x1d7c], 0
mov dword [edi + 0x1d64], 1
movss xmm0, dword [esi + 0x18]
mov dword [edi + 0x1d60], eax
lea eax, [esp + 0x1c]
mov dword [edi + 0x1d80], 0x42280000
movss dword [edi + 0x1d84], xmm0
mov dword [edi + 0x1d68], 1
movss xmm1, dword [edi + 0x151c]
movss xmm0, dword [edi + 0x1520]
push eax
movss dword [esp + 0x24], xmm1
movss dword [esp + 0x28], xmm0
call fcn.100397a0
mov eax, dword [0x1027efb4]
xorps xmm1, xmm1
movss xmm0, dword [0x1022cbb4]
mov dword [edi + 0x151c], 0x40800000
mov dword [edi + 0x1520], 0x40000000
movups xmm2, xmmword [eax + 0x162c]
comiss xmm1, xmm2
movaps xmm6, xmm2
movaps xmmword [esp + 0x70], xmm2
shufps xmm6, xmm2, 0xff
mulss xmm6, dword [eax + 0x1518]
jbe 0x10173938
xorps xmm4, xmm4
jmp 0x1017393f
movaps xmm4, xmm0
minss xmm4, xmm2
movss xmm2, dword [0x1022cdac]
movss xmm3, dword [0x1022cb6c]
movss xmm5, dword [esp + 0x74]
comiss xmm1, xmm5
mulss xmm4, xmm2
addss xmm4, xmm3
cvttss2si edx, xmm4
jbe 0x1017396b
xorps xmm4, xmm4
jmp 0x10173972
movaps xmm4, xmm0
minss xmm4, xmm5
movss xmm5, dword [esp + 0x78]
mulss xmm4, xmm2
addss xmm4, xmm3
cvttss2si eax, xmm4
shl eax, 8
or edx, eax
comiss xmm1, xmm5
jbe 0x10173993
xorps xmm4, xmm4
jmp 0x1017399a
movaps xmm4, xmm0
minss xmm4, xmm5
mulss xmm4, xmm2
addss xmm4, xmm3
cvttss2si eax, xmm4
shl eax, 0x10
or edx, eax
comiss xmm1, xmm6
ja 0x101739b7
movaps xmm1, xmm0
minss xmm1, xmm6
mulss xmm1, xmm2
mov ecx, 3
addss xmm1, xmm3
cvttss2si eax, xmm1
shl eax, 0x18
or edx, eax
call fcn.10131660
mov edx, 0x200008
mov ecx, str.pickercontext
call fcn.101216e0
mov edi, 1
mov byte [esp + 0xe], al
mov ecx, edi
call fcn.10131c40
cmp byte ds:[esp + 0xe], 0
je 0x10173bf5
movss xmm1, dword [0x1022cbb4]
lea ecx, [edi + 4]
call fcn.10132fa0
mov edx, eax
lea ecx, [edi + 0x20]
call fcn.10131660
movss xmm1, dword [0x1022cbb4]
lea ecx, [edi + 4]
call fcn.10132fa0
mov edx, eax
lea ecx, [edi + 0x23]
call fcn.10131660
movss xmm1, dword [0x1022cbb4]
lea ecx, [edi + 4]
call fcn.10132fa0
mov edx, eax
lea ecx, [edi + 0x22]
call fcn.10131660
movss xmm1, dword [0x1022cbb4]
lea ecx, [edi + 4]
call fcn.10132fa0
mov edx, eax
lea ecx, [edi + 0x21]
call fcn.10131660
push 0
lea edx, [esp + 0x64]
mov dword [esp + 0x64], 0x42040000
mov ecx, str.Copycolorpicker
mov dword [esp + 0x68], 0x41400000
call fcn.10164760
add esp, 4
test al, al
je 0x10173ab5
movaps xmm0, xmmword [esp + 0x80]
mov byte [0x1027c5a8], 0
movups xmmword [0x1027c598], xmm0
call fcn.10121820
mov ecx, 4
call fcn.10131c40
mov eax, dword ds:[esp + 0x6c]
mov ecx, 5
movss xmm1, dword [0x1022cbb4]
mov byte [esp + 0x18], 0
mov dword [eax + 0x1a70], 0x41700000
call fcn.10132fa0
mov edx, eax
mov ecx, 0x21
call fcn.10131660
movss xmm1, dword [0x1022cbb4]
mov ecx, 5
call fcn.10132fa0
mov edx, eax
mov ecx, 0x24
call fcn.10131660
movss xmm1, dword [0x1022cbb4]
mov ecx, 5
call fcn.10132fa0
mov edx, eax
mov ecx, 0x23
call fcn.10131660
movss xmm1, dword [0x1022cbb4]
mov ecx, 5
call fcn.10132fa0
mov edx, eax
mov ecx, 0x22
call fcn.10131660
push 0x8000
lea edx, [esp + 0x64]
mov dword [esp + 0x64], 0x42040000
mov ecx, str.Pastecolorpicker
mov dword [esp + 0x68], 0x41400000
call fcn.10164760
add esp, 4
test al, al
je 0x10173b95
mov eax, dword [esp + 0x18]
cmp byte [0x1027c5a8], 0
movzx eax, al
cmove eax, edi
mov dword [esp + 0x18], eax
call fcn.10121820
mov ecx, 4
call fcn.10131c40
cmp byte [esp + 0x18], 0
je 0x10173bb4
mov eax, dword [esp + 0x28]
movups xmm0, xmmword [0x1027c598]
movups xmmword [eax], xmm0
mov esi, dword [0x1027efb4]
mov eax, dword [esi + 0x1cdc]
cmp dword [esi + 0x1e40], eax
jne 0x10173bd8
mov dword [esi + 0x1f40], eax
mov dword [esi + 0x1f44], 2
test dword ds:[eax + 8], 0x1000000
je 0x10173be9
mov byte [esi + 0x1c86], 1
call fcn.101314a0
mov byte [esi + 0x1c86], 0
mov ecx, edi
call fcn.10133860
mov eax, dword [0x1027efb4]
mov eax, dword [eax + 0x1cdc]
dec dword [eax + 0xc4]
mov al, byte [esp + 0xf]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movaps xmm4, xmm0
minss xmm4, xmm1
movss xmm1, dword [0x1022cdac]
movss xmm3, dword [0x1022cb6c]
movss xmm6, dword [esp + 0x74]
comiss xmm2, xmm6
mulss xmm4, xmm1
addss xmm4, xmm3
cvttss2si edx, xmm4
jbe 0x10173c4a
xorps xmm4, xmm4
jmp 0x10173c51
movaps xmm4, xmm0
minss xmm4, xmm6
movss xmm6, dword [esp + 0x78]
mulss xmm4, xmm1
addss xmm4, xmm3
cvttss2si eax, xmm4
shl eax, 8
or edx, eax
comiss xmm2, xmm6
jbe 0x10173c72
xorps xmm4, xmm4
jmp 0x10173c79
movaps xmm4, xmm0
minss xmm4, xmm6
mulss xmm4, xmm1
addss xmm4, xmm3
cvttss2si eax, xmm4
shl eax, 0x10
or edx, eax
comiss xmm2, xmm5
jbe 0x10173c94
xorps xmm0, xmm0
jmp 0x10173c98
minss xmm0, xmm5
mulss xmm0, xmm1
mov ecx, 3
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 0x18
or edx, eax
call fcn.10131660
mov edx, 8
mov ecx, 0x1022af2c
call fcn.101216e0
mov ecx, 1
mov byte [esp + 0xe], al
call fcn.10131c40
cmp byte [esp + 0xe], 0
je 0x101741f7
mov ecx, dword [0x1027efb4]
mov eax, dword [ecx + 0x1cdc]
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1cdc]
movss xmm3, dword [eax + 0xc]
movss xmm2, dword [eax + 0x10]
subss xmm3, dword [eax + 0x58]
subss xmm2, dword [eax + 0x5c]
addss xmm3, dword [0x1022cc3c]
addss xmm2, dword [0x1022cc3c]
movss dword [eax + 0xd0], xmm3
movss dword [eax + 0xd4], xmm2
movss xmm1, dword [eax + 0xec]
movss xmm0, dword [eax + 0xe8]
maxss xmm1, xmm2
maxss xmm0, xmm3
movss dword [eax + 0xec], xmm1
movss dword [eax + 0xe8], xmm0
call fcn.10135d40
mov esi, dword [0x1027efb4]
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x20], 0xd
movss xmm1, dword [esi + 0x1560]
lea ecx, [esi + 0x1de0]
movss xmm0, dword [esi + 0x1564]
movss dword [esp + 0x24], xmm1
movss dword [esp + 0x28], xmm0
call fcn.100397a0
movss xmm0, dword [esp + 0x3c]
mov ecx, str.picker
mulss xmm0, dword [0x1022cc68]
mov dword [esi + 0x1560], 0
mov dword [esi + 0x1564], 0x40400000
mov eax, dword [edi + 0x1cdc]
mov esi, dword [esp + 0x28]
mov edx, esi
mov dword [esp + 0x34], eax
mov eax, dword [0x1027efb4]
push 0
push 0x8000000
or dword [eax + 0x1dc0], 1
movss dword [eax + 0x1dc4], xmm0
call fcn.101548c0
movss xmm4, dword [esi]
add esp, 8
cmp byte [esp + 0x38], 0
movss xmm5, dword [esi + 4]
movss xmm6, dword [esi + 8]
movss dword [esp + 0x40], xmm4
movss dword [esp + 0x44], xmm5
movss dword [esp + 0x48], xmm6
je 0x10173e1a
movss xmm3, dword [esi + 0xc]
jmp 0x10173e22
movss xmm3, dword [0x1022cbb4]
movss xmm7, dword [0x1022ce38]
xorps xmm0, xmm0
comiss xmm4, xmm0
movss xmm2, dword [0x1022cb6c]
movss dword [esp + 0x4c], xmm3
jb 0x10173e4a
movss dword [esp + 0x38], xmm2
jmp 0x10173e50
movss dword [esp + 0x38], xmm7
comiss xmm5, xmm0
movss xmm1, dword [0x1022cdac]
mulss xmm4, xmm1
addss xmm4, dword [esp + 0x38]
cvttss2si eax, xmm4
mov dword [esp + 0x70], eax
jb 0x10173e74
movaps xmm4, xmm2
jmp 0x10173e77
movaps xmm4, xmm7
comiss xmm6, xmm0
mulss xmm5, xmm1
addss xmm5, xmm4
cvttss2si eax, xmm5
mov dword [esp + 0x74], eax
jb 0x10173e91
movaps xmm4, xmm2
jmp 0x10173e94
movaps xmm4, xmm7
comiss xmm3, xmm0
mulss xmm6, xmm1
addss xmm6, xmm4
cvttss2si eax, xmm6
mov dword [esp + 0x78], eax
jae 0x10173eac
movaps xmm2, xmm7
mov esi, dword [0x1027efb4]
mulss xmm3, xmm1
mov dword [esp + 0x1c], 0xc
lea ecx, [esi + 0x1de0]
addss xmm3, xmm2
cvttss2si eax, xmm3
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x1c]
movss xmm0, dword [esi + 0x155c]
push eax
movss dword [esp + 0x24], xmm0
call fcn.100397a0
xor edi, edi
mov dword [esi + 0x155c], 0
cmp dword [esp + 0x68], edi
jbe 0x1017401c
nop
movss xmm3, dword [0x1022cbb4]
test edi, edi
je 0x10173f17
movaps xmm1, xmm3
xorps xmm0, xmm0
call fcn.10122fe0
mov eax, dword [0x1027efb4]
or dword [eax + 0x1dc0], 1
cmp byte [esp + 0x60], 0
mov dword [eax + 0x1dc4], 0x42040000
je 0x10173f85
divss xmm3, dword [0x1022cdac]
mov ecx, dword [edi*4 + 0x1022b1b0]
lea eax, [esp + 0x3c]
push 0
lea esi, [esp + 0x44]
mov edx, 8
lea esi, [esi + edi*4]
mov dword [esp + 0x58], 0
mov dword [esp + 0x40], 0x3f800000
push dword [edi*4 + 0x1022b150]
push eax
lea eax, [esp + 0x60]
push eax
push esi
call fcn.1015edc0
movss xmm0, dword ds:[esi]
jmp 0x10173fff
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1027db70]
mov ecx, dword ds:[eax + ecx*4]
mov eax, dword [0x1028a110]
cmp eax, dword [ecx + 4]
jg 0x101742e5
movss xmm3, dword [0x1022cbb4]
lea eax, [esp + 0x3c]
mov ecx, dword [edi*4 + 0x1022b1b0]
lea esi, [esp + 0x70]
push 0
push dword [edi*4 + 0x1022b1a0]
lea esi, [esi + edi*4]
mov dword [esp + 0x44], 0xff
push eax
lea eax, [esp + 0x60]
mov dword [esp + 0x60], 0
push eax
push esi
mov edx, 4
call fcn.1015edc0
movd xmm0, dword [esi]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10289fc0]
mov esi, dword [esp + 0x3c]
add esp, 0x14
or byte [esp + 0xf], al
movss dword [esi + edi*4], xmm0
inc edi
cmp edi, dword [esp + 0x68]
jl 0x10173f00
jmp 0x10174020
mov esi, dword [esp + 0x28]
mov ecx, 1
call fcn.10133860
mov edi, dword ds:[esp + 0x6c]
lea ecx, [esp + 0x80]
movaps xmm0, xmmword [esp + 0x80]
xor edx, edx
movaps xmmword [esp + 0x80], xmm0
cvttss2si eax, dword [edi + 0x1a70]
mov dword [edi + 0x1a70], 0x41700000
mov dword [esp + 0x60], eax
call fcn.101561e0
mov ecx, dword [0x1027efb4]
mov eax, dword [ecx + 0x1cdc]
mov byte [eax + 0x8c], 1
mov edx, dword [ecx + 0x1cdc]
cmp byte [edx + 0x8f], 0
jne 0x101740d3
movss xmm1, dword [edx + 0xd8]
addss xmm1, dword [0x1022cbb4]
movss xmm0, dword [edx + 0xdc]
movss dword [edx + 0xd0], xmm1
movss dword [edx + 0xd4], xmm0
mov eax, dword [edx + 0x100]
mov ecx, dword [edx + 0x104]
mov dword [edx + 0xf8], eax
mov eax, dword [edx + 0x10c]
mov dword [edx + 0xfc], ecx
mov dword [edx + 0x108], eax
mov edx, 1
mov dword [edi + 0x1a70], 0x41700000
lea ecx, [esp + 0x80]
call fcn.101561e0
test al, al
je 0x101740fc
movups xmm0, xmmword [0x1027c598]
movups xmmword [esi], xmm0
mov ecx, 1
call fcn.10133860
mov ecx, dword [0x1027efb4]
mov eax, dword [ecx + 0x1cdc]
mov byte [eax + 0x8c], 1
mov edx, dword [ecx + 0x1cdc]
cmp byte [edx + 0x8f], 0
jne 0x10174174
movss xmm1, dword [edx + 0xd8]
addss xmm1, dword [0x1022cbb4]
movss xmm0, dword [edx + 0xdc]
movss dword [edx + 0xd0], xmm1
movss dword [edx + 0xd4], xmm0
mov eax, dword [edx + 0x100]
mov ecx, dword [edx + 0x104]
mov dword [edx + 0xf8], eax
mov eax, dword [edx + 0x10c]
mov dword [edx + 0xfc], ecx
mov dword [edx + 0x108], eax
push 0xffffffffffffffff
push 0x1021e148
mov edx, 0x10289ce0
mov dword [edi + 0x1a70], 0x41700000
mov ecx, str.Rainbowcolorpicker
call fcn.10169de0
movd xmm0, dword [esp + 0x68]
add esp, 8
cvtdq2ps xmm0, xmm0
mov ecx, 1
movss dword [edi + 0x1a70], xmm0
call fcn.10133860
call fcn.10131960
mov esi, dword [0x1027efb4]
mov eax, dword [esi + 0x1cdc]
cmp dword [esi + 0x1e40], eax
jne 0x101741db
mov dword [esi + 0x1f40], eax
mov dword [esi + 0x1f44], 2
test dword [eax + 8], 0x1000000
je 0x101741eb
mov byte [esi + 0x1c86], 1
call fcn.101314a0
mov byte [esi + 0x1c86], 0
mov eax, dword [0x1027efb4]
mov eax, dword [eax + 0x1cdc]
dec dword [eax + 0xc4]
mov eax, dword [esp + 0x34]
test eax, eax
je 0x10174232
mov ecx, dword [edi + 0x1d14]
test ecx, ecx
je 0x10174232
nop word [eax + eax]
cmp dword [edi + 0x1d40], eax
jne 0x10174232
mov eax, dword [esp + 0x2c]
mov dword [eax + 0x11c], ecx
mov al, byte [esp + 0xf]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0x10289fe8
call fcn.1008f445
add esp, 4
cmp dword [0x10289fe8], 0xffffffff
jne 0x10173133
mov ecx, 0x1028a024
nop dword [eax + eax]
call fcn.10040ec0
push 0x101922e0
call fcn.1008f371
add esp, 4
push 0x10289fe8
call fcn.1008f3f4
add esp, 4
jmp 0x10173133
push 0x1028a184
call fcn.1008f445
add esp, 4
cmp dword [0x1028a184], 0xffffffff
jne 0x101734cc
push 0x1c
call fcn.1008f394
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
push 0x10192280
mov dword [0x1028a098], eax
call fcn.1008f371
add esp, 4
push 0x1028a184
call fcn.1008f3f4
add esp, 4
jmp 0x101734cc
nop dword [eax + eax]
call fcn.10005120
push 0x1028a110
call fcn.1008f445
add esp, 4
cmp dword [0x1028a110], 0xffffffff
jne 0x10173fac
movss xmm0, dword [0x1022cbb4]
divss xmm0, dword [0x1022cdac]
push 0x1028a110
movss dword [0x10289fc0], xmm0
nop dword [eax]
call fcn.1008f3f4
add esp, 4
jmp 0x10173fac