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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xc8
push esi
push edi
mov edi, dword [0x10275fb4]
mov dword [esp + 0x30], edx
mov edx, ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x9c], edi
mov eax, dword [edi + 0x1cac]
mov byte [eax + 0x8c], 1
mov eax, dword [edi + 0x1cac]
mov dword [esp + 0x34], eax
cmp byte [eax + 0x8f], 0
je 0x1016e70d
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movss xmm0, dword [edi + 0x1554]
mov esi, edx
mulss xmm0, dword [0x10224fe8]
movss xmm1, dword [eax + 0xd0]
movss dword [esp + 0x40], xmm1
movss xmm1, dword [eax + 0xd4]
mov eax, dword [eax + 4]
movss dword [esp + 0x2c], xmm1
mov dword [esp + 0x4c], eax
mov dword [esp + 0x28], eax
addss xmm0, dword [edi + 0x1a40]
movss dword [esp + 0x48], xmm0
addss xmm0, dword [edi + 0x1568]
movss dword [esp + 0x3c], xmm0
cmp edx, 0xffffffff
jae 0x1016e77d
mov cl, byte [esi]
test cl, cl
je 0x1016e77d
cmp cl, 0x23
jne 0x1016e777
cmp byte [esi + 1], cl
je 0x1016e77d
inc esi
cmp esi, 0xffffffff
jb 0x1016e767
mov ecx, edx
mov dword [edi + 0x1d90], 0
call fcn.1011dce0
mov eax, dword [ebp + 8]
shr eax, 1
not al
mov byte [esp + 0x17], 0
and eax, 0xffffff01
mov dword [esp + 0x44], eax
movzx eax, al
add eax, 3
mov dword [esp + 0x98], eax
mov eax, dword [ebp + 8]
shr eax, 0x18
and eax, 0xffffff01
cmp dword [edi + 0x15a8], 0
mov dword [esp + 0x6c], eax
jne 0x1016e7d0
movss xmm1, dword [esp + 0x3c]
jmp 0x1016e7d3
xorps xmm1, xmm1
movss xmm0, dword ds:[esp + 0x40]
mov eax, dword [esp + 0x34]
addss xmm0, xmm1
mov ecx, dword [esp + 0x24]
movss dword [eax + 0xd0], xmm0
mov eax, dword [0x10275fb4]
movss xmm0, dword [eax + 0x18]
movss dword [esp + 0x3c], xmm0
call fcn.1011dac0
mov ecx, dword [0x10274ac0]
movss xmm3, dword [0x10224fac]
mov dword ds:[esp + 0x38], eax
cmp dword [esp + 0x24], esi
je 0x1016eb44
mov eax, dword fs:[0x2c]
mov ecx, dword ds:[eax + ecx*4]
mov eax, dword [0x10280fa8]
cmp eax, dword [ecx + 4]
jg 0x1016facc
movups xmm0, xmmword [edi + 0x15dc]
lea eax, [esp + 0x38]
mov ecx, 0x10280fe4
push eax
lea eax, [esp + 0x1c]
push eax
movups xmmword [esp + 0x58], xmm0
call fcn.1004d780
mov esi, dword [esp + 0x20]
mov eax, dword [0x10280fe4]
cmp byte [esi + 0xd], 0
jne 0x1016e885
mov ecx, dword ds:[esp + 0x38]
cmp ecx, dword [esi + 0x10]
jae 0x1016e887
mov esi, eax
cmp esi, eax
jne 0x1016e8bb
lea eax, ds:[esp + 0x50]
mov ecx, 0x10280fe4
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.10047500
lea eax, [esp + 0x38]
mov ecx, 0x10280fe4
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.10040960
mov esi, dword [eax]
mov eax, dword [esp + 0x34]
sub esp, 8
movss xmm1, dword [esp + 0x5c]
addss xmm1, dword [esp + 0x58]
mov eax, dword [eax + 8]
shr eax, 0x1a
and eax, 1
addss xmm1, dword [esp + 0x60]
add eax, eax
movss xmm0, dword [edi + eax*8 + 0x1600]
addss xmm0, dword [edi + eax*8 + 0x15fc]
divss xmm1, dword [0x1022500c]
addss xmm0, dword [edi + eax*8 + 0x1604]
divss xmm0, dword [0x1022500c]
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.100aa68f
movss xmm0, dword [0x10224f40]
add esp, 8
movss xmm1, dword [0x10224fac]
fstp dword [esp + 0x38]
comiss xmm0, dword [esp + 0x38]
jbe 0x1016e956
movaps xmm4, xmm1
movaps xmm5, xmm1
subss xmm4, dword [esp + 0x50]
subss xmm5, dword [esp + 0x54]
movaps xmm6, xmm1
subss xmm6, dword [esp + 0x58]
jmp 0x1016e968
movss xmm4, dword [esp + 0x50]
movss xmm5, dword [esp + 0x54]
movss xmm6, dword [esp + 0x58]
movss xmm3, dword ds:[esi + 0x14]
comiss xmm4, xmm3
movss xmm2, dword [esp + 0x3c]
movss xmm7, dword [0x10225048]
jbe 0x1016e998
movaps xmm0, xmm2
mulss xmm0, xmm7
addss xmm0, xmm3
minss xmm0, xmm4
movss dword [esi + 0x14], xmm0
jmp 0x1016e9b1
comiss xmm3, xmm4
jbe 0x1016e9b1
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 0x1016e9cc
movaps xmm3, xmm2
mulss xmm3, xmm7
addss xmm3, xmm4
minss xmm3, xmm5
jmp 0x1016e9e3
comiss xmm4, xmm5
movaps xmm3, xmm4
jbe 0x1016e9e8
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 0x1016ea08
mulss xmm2, xmm7
addss xmm2, xmm5
minss xmm2, xmm6
movss dword [esi + 0x1c], xmm2
movaps xmm5, xmm2
jmp 0x1016ea1e
comiss xmm5, xmm6
jbe 0x1016ea1e
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 0x1016ea30
xorps xmm6, xmm6
jmp 0x1016ea37
movaps xmm6, xmm1
minss xmm6, xmm2
comiss xmm0, xmm3
movss xmm2, dword [0x102251ac]
movss xmm4, dword [0x10224f64]
mulss xmm6, xmm2
addss xmm6, xmm4
cvttss2si edx, xmm6
jbe 0x1016ea5d
xorps xmm6, xmm6
jmp 0x1016ea64
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 0x1016ea7f
xorps xmm3, xmm3
jmp 0x1016ea86
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 0x1016eaa7
xorps xmm1, xmm1
jmp 0x1016eaab
minss xmm1, xmm3
mulss xmm1, xmm2
xor ecx, ecx
addss xmm1, xmm4
cvttss2si eax, xmm1
shl eax, 0x18
or edx, eax
call fcn.1012b520
movss xmm1, dword ds:[esp + 0x2c]
xor edx, edx
addss xmm1, dword [edi + 0x1554]
movss xmm0, dword [esp + 0x40]
addss xmm0, dword [0x10224fac]
mov ecx, dword [esp + 0x24]
movss dword [esp + 0x1c], xmm1
push dword [esp + 0x1c]
movss dword [esp + 0x1c], xmm0
push dword [esp + 0x1c]
push 1
call fcn.101268a0
mov esi, dword [0x10275fb4]
add esp, 0xc
movss xmm3, dword [0x10224fac]
mov eax, dword [esi + 0x1da4]
mov ecx, dword [esi + 0x1dac]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
mov ecx, dword [0x10274ac0]
add eax, eax
movups xmmword [esi + eax*8 + 0x15dc], xmm0
dec dword [esi + 0x1da4]
xor eax, eax
cmp byte [esp + 0x44], 0
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x34]
movss xmm2, dword [eax + 0xd0]
movss xmm1, dword [eax + 0x14]
movaps xmm0, xmm2
subss xmm0, dword [eax + 0xc]
subss xmm1, xmm0
subss xmm1, dword [0x102250c0]
addss xmm1, xmm2
movss dword [eax + 0xd0], xmm1
mov eax, dword [esp + 0x30]
je 0x1016eb8b
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 + 0x70], xmm0
movss dword [esp + 0x74], xmm1
movss dword [esp + 0x78], xmm2
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10281144]
movss dword [esp + 0x7c], xmm3
cmp eax, dword [ecx + 4]
jg 0x1016fb0f
lea eax, ds:[esp + 0x28]
mov ecx, 0x10281058
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.1003c7a0
mov esi, dword [esp + 0x20]
mov eax, dword [0x10281058]
mov dword [esp + 0x24], eax
cmp byte [esi + 0xd], 0
jne 0x1016ec05
mov ecx, dword ds:[esp + 0x4c]
cmp ecx, dword [esi + 0x10]
jae 0x1016ec07
mov esi, eax
cmp esi, eax
jne 0x1016ecc9
lea eax, ds:[esp + 0x28]
mov ecx, 0x10281058
push eax
lea eax, [esp + 0x54]
push eax
call fcn.1003c7a0
mov esi, dword [esp + 0x4c]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x18], xmm0
cmp byte [eax + 0xd], 0
jne 0x1016ec45
nop dword [eax]
cmp esi, dword [eax + 0x10]
jae 0x1016ec9e
cmp dword [0x1028105c], 0x9249249
je 0x1016fb65
push 0x1c
call fcn.10088cd4
mov ecx, dword [esp + 0x28]
add esp, 4
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
push eax
push dword [esp + 0x20]
mov dword [eax], ecx
push dword [esp + 0x20]
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, 0x10281058
mov word [eax + 0xc], 0
call fcn.1003c920
mov eax, dword [0x10281058]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x28]
mov ecx, 0x10281058
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.1003c7a0
mov esi, dword [esp + 0x20]
cmp byte [esi + 0xd], 0
jne 0x1016ecc5
mov ecx, dword [esp + 0x4c]
cmp ecx, dword [esi + 0x10]
jae 0x1016ecc9
mov esi, dword [esp + 0x24]
mov dword [esp + 0x1c], 0x41b00000
lea edx, [esp + 0x70]
push dword [esp + 0x1c]
mov dword [esp + 0x1c], 0x41b00000
mov ecx, str.ColorButton
push dword [esp + 0x1c]
push dword [ebp + 8]
call fcn.1014e620
movaps xmm0, xmmword [esp + 0x7c]
add esp, 0xc
movaps xmmword [esp + 0xa0], xmm0
test al, al
je 0x1016ed6c
mov eax, dword [0x10275fb4]
xor edx, edx
movups xmmword [edi + 0x36c0], xmm0
mov eax, dword [eax + 0x1cac]
mov ecx, dword [eax + 0xc4]
mov eax, dword [eax + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, 0x10223acc
call fcn.10128fa0
mov ecx, eax
add esp, 4
mov eax, dword [0x10275fb4]
cmp dword [eax + 0x1ce4], ecx
jne 0x1016ed4e
mov dword [eax + 0x1ce8], ecx
cmp dword [eax + 0x1d1c], ecx
jne 0x1016ed5d
mov byte [eax + 0x1d20], 1
xor edx, edx
call fcn.1011b6a0
mov dword [esi + 0x14], 0
mov eax, dword [0x10275fb4]
xor edx, edx
mov eax, dword [eax + 0x1cac]
mov ecx, dword [eax + 0xc4]
mov eax, dword [eax + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, str.pickercontext
call fcn.10128fa0
mov edx, eax
add esp, 4
mov eax, dword [0x10275fb4]
cmp dword [eax + 0x1ce4], edx
jne 0x1016edae
mov dword [eax + 0x1ce8], edx
cmp dword [eax + 0x1d1c], edx
jne 0x1016edbd
mov byte [eax + 0x1d20], 1
mov ecx, dword [eax + 0x1df8]
cmp dword [eax + 0x1dec], ecx
jle 0x1016edde
mov eax, dword [eax + 0x1df4]
lea ecx, [ecx + ecx*8]
mov byte [esp + 0x16], 1
cmp dword [eax + ecx*4], edx
je 0x1016ede3
mov byte [esp + 0x16], 0
mov ecx, str.pickercontext
call fcn.1011b000
test al, al
je 0x1016eef3
cmp byte [esp + 0x16], 0
jne 0x1016ee03
mov dword [esi + 0x18], 0
movss xmm2, dword [0x10225170]
subss xmm2, dword [esi + 0x14]
mov ecx, dword [0x10275fb4]
mov eax, dword [esp + 0x34]
divss xmm2, dword [0x10224f08]
mulss xmm2, dword [ecx + 0x18]
addss xmm2, dword [esi + 0x14]
minss xmm2, dword [0x10225170]
movss dword [esi + 0x14], xmm2
xorps xmm2, xmm2
movss xmm0, dword [eax + 0x12c]
movss xmm1, dword [eax + 0x130]
subss xmm0, dword [0x10225164]
mov eax, dword [ecx + 0x1d30]
subss xmm1, xmm2
or eax, 1
mov dword [ecx + 0x1d48], 0
mov dword [ecx + 0x1d30], eax
or eax, 2
mov dword [ecx + 0x1d4c], 0
movss dword [ecx + 0x1d40], xmm0
movss dword [ecx + 0x1d44], xmm1
mov dword [ecx + 0x1d34], 1
movss xmm0, dword [esi + 0x14]
movss dword [ecx + 0x1d54], xmm0
movss xmm0, dword [0x10224fac]
mov dword [ecx + 0x1d30], eax
mov dword [ecx + 0x1d50], 0x43110000
mov dword [ecx + 0x1d38], 1
movups xmm1, xmmword [ecx + 0x162c]
comiss xmm2, xmm1
movaps xmm6, xmm1
movaps xmmword [esp + 0x70], xmm1
shufps xmm6, xmm1, 0xff
mulss xmm6, dword [ecx + 0x1518]
jbe 0x1016f3db
xorps xmm4, xmm4
jmp 0x1016f3e2
cmp byte [esp + 0x16], 0
je 0x1016ee03
movss xmm2, dword [0x102250d8]
subss xmm2, dword [esi + 0x18]
mov edi, dword [0x10275fb4]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], 1
divss xmm2, dword [0x10224f08]
lea ecx, [edi + 0x1db0]
mulss xmm2, dword [edi + 0x18]
addss xmm2, dword [esi + 0x18]
minss xmm2, dword [0x102250d8]
movss dword [esi + 0x18], xmm2
movss xmm0, dword [eax + 0x12c]
movss xmm1, dword [eax + 0x130]
subss xmm0, dword [0x102250e0]
subss xmm1, dword [0x10224e90]
mov eax, dword [edi + 0x1d30]
or eax, 1
mov dword [edi + 0x1d48], 0
mov dword [edi + 0x1d30], eax
or eax, 2
movss dword [edi + 0x1d40], xmm0
movss dword [edi + 0x1d44], xmm1
mov dword [edi + 0x1d4c], 0
mov dword [edi + 0x1d34], 1
movss xmm0, dword [esi + 0x18]
mov dword [edi + 0x1d30], eax
lea eax, [esp + 0x18]
mov dword [edi + 0x1d50], 0x42280000
movss dword [edi + 0x1d54], xmm0
mov dword [edi + 0x1d38], 1
movss xmm1, dword [edi + 0x151c]
movss xmm0, dword [edi + 0x1520]
push eax
movss dword [esp + 0x20], xmm1
movss dword [esp + 0x24], xmm0
call fcn.10039720
mov eax, dword [0x10275fb4]
xorps xmm1, xmm1
movss xmm0, dword [0x10224fac]
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 0x1016f038
xorps xmm4, xmm4
jmp 0x1016f03f
movaps xmm4, xmm0
minss xmm4, xmm2
movss xmm2, dword [0x102251ac]
movss xmm3, dword [0x10224f64]
movss xmm5, dword [esp + 0x74]
comiss xmm1, xmm5
mulss xmm4, xmm2
addss xmm4, xmm3
cvttss2si edx, xmm4
jbe 0x1016f06b
xorps xmm4, xmm4
jmp 0x1016f072
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 0x1016f093
xorps xmm4, xmm4
jmp 0x1016f09a
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 0x1016f0b7
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.1012b520
mov esi, dword [0x10275fb4]
mov edi, dword ds:[esi + 0x1df8]
cmp dword [esi + 0x1dec], edi
jle 0x1016f17d
mov eax, dword [esi + 0x1cac]
mov ecx, str.pickercontext
mov edx, dword [eax + 0xc4]
mov eax, dword [eax + 0xcc]
push dword [eax + edx*4 - 4]
xor edx, edx
call fcn.10128fa0
mov edx, eax
add esp, 4
cmp dword [esi + 0x1ce4], edx
jne 0x1016f121
mov dword [esi + 0x1ce8], edx
cmp dword [esi + 0x1d1c], edx
jne 0x1016f130
mov byte [esi + 0x1d20], 1
mov eax, dword [esi + 0x1df4]
lea ecx, [edi + edi*8]
cmp dword [eax + ecx*4], edx
jne 0x1016f17d
push edx
push str.Popup__08x
lea eax, [esp + 0x78]
push 0x14
push eax
call fcn.101290e0
push 0x4200149
xor edx, edx
lea ecx, [esp + 0x84]
call fcn.1012d7e0
add esp, 0x14
mov byte [esp + 0x16], al
test al, al
jne 0x1016f175
call fcn.1011b140
mov esi, dword [0x10275fb4]
jmp 0x1016f18c
mov byte [esp + 0x16], 0
mov dword [esi + 0x1d30], 0
mov eax, dword ds:[esi + 0x1da4]
mov edi, 1
mov ecx, dword [esi + 0x1dac]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x15dc], xmm0
dec dword [esi + 0x1da4]
cmp byte [esp + 0x16], 0
je 0x1016f3bb
movss xmm1, dword [0x10224fac]
lea ecx, [edi + 4]
call fcn.1012ce80
mov edx, eax
lea ecx, [edi + 0x20]
call fcn.1012b520
movss xmm1, dword [0x10224fac]
lea ecx, [edi + 4]
call fcn.1012ce80
mov edx, eax
lea ecx, [edi + 0x23]
call fcn.1012b520
movss xmm1, dword [0x10224fac]
lea ecx, [edi + 4]
call fcn.1012ce80
mov edx, eax
lea ecx, [edi + 0x22]
call fcn.1012b520
movss xmm1, dword [0x10224fac]
lea ecx, [edi + 4]
call fcn.1012ce80
mov edx, eax
lea ecx, [edi + 0x21]
call fcn.1012b520
push 0
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 0x42040000
mov ecx, str.Copycolorpicker
mov dword [esp + 0x20], 0x41400000
call fcn.1015f360
add esp, 4
test al, al
je 0x1016f275
movaps xmm0, xmmword [esp + 0xa0]
mov byte [0x102735a8], 0
movups xmmword [0x10273598], xmm0
call fcn.1011b480
mov ecx, 4
call fcn.1012bb00
mov eax, dword [esp + 0x9c]
mov ecx, 5
movss xmm1, dword [0x10224fac]
mov byte [esp + 0x28], 0
mov dword [eax + 0x1a40], 0x41700000
call fcn.1012ce80
mov edx, eax
mov ecx, 0x21
call fcn.1012b520
movss xmm1, dword [0x10224fac]
mov ecx, 5
call fcn.1012ce80
mov edx, eax
mov ecx, 0x24
call fcn.1012b520
movss xmm1, dword [0x10224fac]
mov ecx, 5
call fcn.1012ce80
mov edx, eax
mov ecx, 0x23
call fcn.1012b520
movss xmm1, dword [0x10224fac]
mov ecx, 5
call fcn.1012ce80
mov edx, eax
mov ecx, 0x22
call fcn.1012b520
push 0x8000
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 0x42040000
mov ecx, str.Pastecolorpicker
mov dword [esp + 0x20], 0x41400000
call fcn.1015f360
add esp, 4
test al, al
je 0x1016f355
mov eax, dword [esp + 0x28]
cmp byte [0x102735a8], 0
movzx eax, al
cmove eax, edi
mov dword [esp + 0x28], eax
call fcn.1011b480
mov ecx, 4
call fcn.1012bb00
cmp byte [esp + 0x28], 0
je 0x1016f374
mov eax, dword [esp + 0x30]
movups xmm0, xmmword [0x10273598]
movups xmmword [eax], xmm0
mov esi, dword [0x10275fb4]
mov eax, dword [esi + 0x1cac]
cmp dword [esi + 0x1e10], eax
jne 0x1016f398
mov dword [esi + 0x1f10], eax
mov dword [esi + 0x1f14], 2
test dword ds:[eax + 8], 0x1000000
je 0x1016f3a9
mov byte [esi + 0x1c56], 1
call fcn.1012b360
mov byte [esi + 0x1c56], 0
mov esi, dword [0x10275fb4]
mov ecx, edi
call fcn.1012d740
mov eax, dword [esi + 0x1cac]
dec dword [eax + 0xc4]
mov al, byte [esp + 0x17]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movaps xmm4, xmm0
minss xmm4, xmm1
movss xmm1, dword [0x102251ac]
movss xmm3, dword [0x10224f64]
movss xmm5, dword [esp + 0x74]
comiss xmm2, xmm5
mulss xmm4, xmm1
addss xmm4, xmm3
cvttss2si edx, xmm4
jbe 0x1016f40e
xorps xmm4, xmm4
jmp 0x1016f415
movaps xmm4, xmm0
minss xmm4, xmm5
movss xmm5, dword [esp + 0x78]
mulss xmm4, xmm1
addss xmm4, xmm3
cvttss2si eax, xmm4
shl eax, 8
or edx, eax
comiss xmm2, xmm5
jbe 0x1016f436
xorps xmm4, xmm4
jmp 0x1016f43d
movaps xmm4, xmm0
minss xmm4, xmm5
mulss xmm4, xmm1
addss xmm4, xmm3
cvttss2si eax, xmm4
shl eax, 0x10
or edx, eax
comiss xmm2, xmm6
jbe 0x1016f458
xorps xmm0, xmm0
jmp 0x1016f45c
minss xmm0, xmm6
mulss xmm0, xmm1
mov ecx, 3
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 0x18
or edx, eax
call fcn.1012b520
mov esi, dword [0x10275fb4]
mov eax, dword [esi + 0x1df8]
cmp dword [esi + 0x1dec], eax
jle 0x1016f527
mov eax, dword [esi + 0x1cac]
mov ecx, 0x10223acc
mov edx, dword [eax + 0xc4]
mov eax, dword [eax + 0xcc]
push dword [eax + edx*4 - 4]
xor edx, edx
call fcn.10128fa0
mov edx, eax
add esp, 4
cmp dword [esi + 0x1ce4], edx
jne 0x1016f4c4
mov dword [esi + 0x1ce8], edx
cmp dword [esi + 0x1d1c], edx
jne 0x1016f4d3
mov byte [esi + 0x1d20], 1
mov eax, dword [esi + 0x1df8]
lea ecx, [eax + eax*8]
mov eax, dword [esi + 0x1df4]
cmp dword [eax + ecx*4], edx
jne 0x1016f527
push edx
push str.Popup__08x
lea eax, [esp + 0xc4]
push 0x14
push eax
call fcn.101290e0
push 0x4000149
xor edx, edx
lea ecx, [esp + 0xd0]
call fcn.1012d7e0
add esp, 0x14
mov byte [esp + 0x16], al
test al, al
jne 0x1016f51f
call fcn.1011b140
mov esi, dword [0x10275fb4]
jmp 0x1016f536
mov byte [esp + 0x16], 0
mov dword [esi + 0x1d30], 0
mov eax, dword [esi + 0x1da4]
mov ecx, dword [esi + 0x1dac]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x15dc], xmm0
dec dword [esi + 0x1da4]
cmp byte [esp + 0x16], 0
je 0x1016fa92
mov eax, dword [esi + 0x1cac]
mov byte [eax + 0x8c], 1
mov eax, dword [esi + 0x1cac]
movss xmm3, dword [eax + 0xc]
movss xmm2, dword [eax + 0x10]
subss xmm3, dword [eax + 0x58]
subss xmm2, dword [eax + 0x5c]
addss xmm3, dword [0x1022504c]
addss xmm2, dword [0x1022504c]
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.1012fc60
lea edx, [esp + 0x18]
mov dword [esp + 0x18], 0
mov ecx, 0xd
mov dword [esp + 0x1c], 0x40400000
call fcn.1012fbe0
mov eax, dword [edi + 0x1cac]
mov ecx, str.picker
movss xmm0, dword [esp + 0x48]
mulss xmm0, dword [0x10225078]
mov esi, dword [esp + 0x30]
mov edx, esi
mov dword [esp + 0x40], eax
mov eax, dword [0x10275fb4]
push 0
push 0x8000000
or dword [eax + 0x1d90], 1
movss dword [eax + 0x1d94], xmm0
call fcn.1014ea80
movss xmm4, dword [esi]
add esp, 8
cmp byte [esp + 0x44], 0
movss xmm5, dword [esi + 4]
movss xmm6, dword [esi + 8]
movss dword [esp + 0x70], xmm4
movss dword [esp + 0x74], xmm5
movss dword [esp + 0x78], xmm6
je 0x1016f66f
movss xmm3, dword [esi + 0xc]
jmp 0x1016f677
movss xmm3, dword [0x10224fac]
movss xmm7, dword [0x10225238]
xorps xmm0, xmm0
comiss xmm4, xmm0
movss xmm2, dword [0x10224f64]
movss dword [esp + 0x7c], xmm3
jb 0x1016f69d
movss dword [esp + 0x44], xmm2
jmp 0x1016f6a3
movss dword [esp + 0x44], xmm7
comiss xmm5, xmm0
movss xmm1, dword [0x102251ac]
mulss xmm4, xmm1
addss xmm4, dword [esp + 0x44]
cvttss2si eax, xmm4
mov dword [esp + 0x50], eax
jb 0x1016f6c7
movaps xmm4, xmm2
jmp 0x1016f6ca
movaps xmm4, xmm7
comiss xmm6, xmm0
mulss xmm5, xmm1
addss xmm5, xmm4
cvttss2si eax, xmm5
mov dword [esp + 0x54], eax
jb 0x1016f6e4
movaps xmm4, xmm2
jmp 0x1016f6e7
movaps xmm4, xmm7
comiss xmm3, xmm0
mulss xmm6, xmm1
addss xmm6, xmm4
cvttss2si eax, xmm6
mov dword [esp + 0x58], eax
jae 0x1016f6ff
movaps xmm2, xmm7
mulss xmm3, xmm1
mov ecx, 0xc
xorps xmm1, xmm1
addss xmm3, xmm2
cvttss2si eax, xmm3
mov dword [esp + 0x5c], eax
call fcn.10126ce0
xor edi, edi
cmp dword [esp + 0x98], edi
jbe 0x1016f8ad
nop dword [eax]
mov esi, dword [0x10275fb4]
movss xmm2, dword [0x10224fac]
nop
test edi, edi
je 0x1016f7aa
mov eax, dword ds:[esi + 0x1cac]
mov byte [eax + 0x8c], 1
mov edx, dword [esi + 0x1cac]
cmp byte [edx + 0x8f], 0
jne 0x1016f7aa
movss xmm1, dword [edx + 0xd8]
movss xmm0, dword [edx + 0xdc]
addss xmm1, xmm2
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
or dword [esi + 0x1d90], 1
cmp byte [esp + 0x6c], 0
mov dword [esi + 0x1d94], 0x42040000
je 0x1016f80f
movaps xmm3, xmm2
mov ecx, dword [edi*4 + 0x10223d50]
divss xmm3, dword [0x102251ac]
push 0
lea eax, [esp + 0x4c]
mov edx, 8
lea esi, [esp + 0x74]
mov dword [esp + 0x30], 0
lea esi, [esi + edi*4]
mov dword [esp + 0x4c], 0x3f800000
push dword [edi*4 + 0x10223cf0]
push eax
lea eax, [esp + 0x38]
push eax
push esi
call fcn.101597a0
movss xmm0, dword [esi]
jmp 0x1016f882
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10274ac0]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x102810d0]
cmp eax, dword [ecx + 4]
jg 0x1016fb6a
movss xmm3, dword [0x10224fac]
lea eax, [esp + 0x48]
mov ecx, dword [edi*4 + 0x10223d50]
lea esi, [esp + 0x50]
push 0
push dword [edi*4 + 0x10223d40]
lea esi, [esi + edi*4]
mov dword [esp + 0x50], 0xff
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 0
push eax
push esi
mov edx, 4
call fcn.101597a0
movd xmm0, dword [esi]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10280f80]
or byte ds:[esp + 0x2b], al
add esp, 0x14
mov eax, dword [esp + 0x30]
movss dword [eax + edi*4], xmm0
inc edi
cmp edi, dword [esp + 0x98]
jl 0x1016f730
mov esi, 1
mov ecx, esi
call fcn.1012d740
mov edi, dword [esp + 0x9c]
lea ecx, [esp + 0xa0]
movaps xmm0, xmmword [esp + 0xa0]
xor edx, edx
movaps xmmword [esp + 0xa0], xmm0
cvttss2si eax, dword [edi + 0x1a40]
mov dword [edi + 0x1a40], 0x41700000
mov dword [esp + 0x6c], eax
call fcn.10150460
mov ecx, dword [0x10275fb4]
mov eax, dword [ecx + 0x1cac]
mov byte [eax + 0x8c], 1
mov edx, dword [ecx + 0x1cac]
cmp byte [edx + 0x8f], 0
jne 0x1016f962
movss xmm1, dword [edx + 0xd8]
addss xmm1, dword [0x10224fac]
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, esi
mov dword [edi + 0x1a40], 0x41700000
lea ecx, [esp + 0xa0]
call fcn.10150460
test al, al
je 0x1016f98c
mov eax, dword [esp + 0x30]
movups xmm0, xmmword [0x10273598]
movups xmmword [eax], xmm0
mov ecx, esi
call fcn.1012d740
mov ecx, dword [0x10275fb4]
mov eax, dword [ecx + 0x1cac]
mov byte [eax + 0x8c], 1
mov edx, dword [ecx + 0x1cac]
cmp byte [edx + 0x8f], 0
jne 0x1016fa01
movss xmm1, dword [edx + 0xd8]
addss xmm1, dword [0x10224fac]
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 0x10216cc4
mov edx, 0x10280ce0
mov dword [edi + 0x1a40], 0x41700000
mov ecx, str.Rainbowcolorpicker
call fcn.10165060
movd xmm0, dword ds:[esp + 0x74]
add esp, 8
cvtdq2ps xmm0, xmm0
mov ecx, esi
movss dword [edi + 0x1a40], xmm0
call fcn.1012d740
call fcn.1012b820
mov esi, dword [0x10275fb4]
mov eax, dword [esi + 0x1cac]
cmp dword [esi + 0x1e10], eax
jne 0x1016fa6e
mov dword [esi + 0x1f10], eax
mov dword [esi + 0x1f14], 2
test dword [eax + 8], 0x1000000
je 0x1016fa7e
mov byte [esi + 0x1c56], 1
nop
call fcn.1012b360
mov byte [esi + 0x1c56], 0
mov esi, dword [0x10275fb4]
mov eax, dword [esi + 0x1cac]
dec dword [eax + 0xc4]
mov eax, dword [esp + 0x40]
test eax, eax
je 0x1016fac2
mov ecx, dword [edi + 0x1ce4]
test ecx, ecx
je 0x1016fac2
cmp dword [edi + 0x1d10], eax
jne 0x1016fac2
mov eax, dword [esp + 0x34]
mov dword [eax + 0x11c], ecx
mov al, byte [esp + 0x17]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0x10280fa8
call fcn.10088d85
add esp, 4
cmp dword [0x10280fa8], 0xffffffff
jne 0x1016e84c
mov ecx, 0x10280fe4
call fcn.10040920
push 0x1018b9e0
call fcn.10088cb1
add esp, 4
push 0x10280fa8
call fcn.10088d34
add esp, 4
jmp 0x1016e84c
push 0x10281144
call fcn.10088d85
add esp, 4
cmp dword [0x10281144], 0xffffffff
jne 0x1016ebcc
push 0x1c
call fcn.10088cd4
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
push 0x1018b9d0
mov dword [0x10281058], eax
call fcn.10088cb1
add esp, 4
push 0x10281144
call fcn.10088d34
add esp, 4
jmp 0x1016ebcc
call fcn.100052c0
push 0x102810d0
call fcn.10088d85
add esp, 4
cmp dword [0x102810d0], 0xffffffff
jne 0x1016f82f
movss xmm0, dword [0x10224fac]
divss xmm0, dword [0x102251ac]
push 0x102810d0
movss dword [0x10280f80], xmm0
call fcn.10088d34
add esp, 4
jmp 0x1016f82f