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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x78
mov eax, dword [0x1023c014]
xor eax, esp
mov dword [esp + 0x74], eax
push esi
mov esi, ecx
lea edx, [esp + 0x68]
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0xc], esi
mov ecx, dword [esi + 4]
mov eax, dword [edi + 4]
mov dword [esp + 0x2c], eax
mov ecx, dword [ecx + 4]
call fcn.1001bb30
mov ecx, dword [esi + 0x3c]
or esi, 0xffffffff
mov eax, dword [esp + 0x6c]
add dword [esp + 0x70], ecx
inc eax
sub dword [esp + 0x78], ecx
add eax, ecx
mov dword [esp + 0x6c], eax
mov eax, esi
sub eax, ecx
add dword [esp + 0x74], eax
mov eax, dword [esp + 0xc]
movups xmm0, xmmword [eax + 0x18]
movd ecx, xmm0
movaps xmmword [esp + 0x10], xmm0
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x10], ecx
push ecx
mov ecx, eax
call sym.HncOfficeFramework.dll_private:_double___thiscall_CColorBoxCtrl::_GetSatFromPoint_int_
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x48]
fstp qword [esp + 0x20]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 4]
call fcn.1001bb30
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x5c]
mov ecx, dword [eax + 0x3c]
sub esi, ecx
add dword [esp + 0x50], esi
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0xc]
inc eax
add dword [esp + 0x4c], ecx
add eax, ecx
sub dword [esp + 0x54], ecx
mov dword [esp + 0x48], eax
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 4]
call fcn.1001bb30
mov eax, dword [esi + 0x3c]
mov ecx, dword [esp + 0x68]
movsd xmm3, qword [0x101e0218]
movaps xmm2, xmm3
lea eax, [eax*2 + 2]
sub ecx, eax
sub ecx, dword [esp + 0x60]
cmp dword [edi], 0x100
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
divsd xmm2, xmm0
movaps xmm0, xmmword [esp + 0x30]
psrldq xmm0, 4
movd ecx, xmm0
movd xmm0, dword [esp + 0x4c]
cvtdq2pd xmm0, xmm0
mov dword [esp + 0x14], ecx
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
xorps xmm0, xmm0
mulsd xmm2, xmm1
movaps xmm1, xmm3
subsd xmm1, xmm2
maxsd xmm0, xmm1
movaps xmm1, xmm3
minsd xmm1, xmm0
movsd qword [esp + 0x48], xmm1
jne case.0x1012dfb7.13
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff3
cmp eax, 0x1b
ja case.0x1012dfb7.14
movzx eax, byte [eax + 0x1012e248]
jmp dword [eax*4 + 0x1012e230]
cmp ecx, dword [esp + 0x70]
jle case.0x1012dfb7.14
dec dword [esp + 0x1c]
lea edx, [esp + 0x5c]
dec ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 4]
call fcn.1001bb30
movsd xmm0, qword [esp + 0x20]
mov esi, dword [esi + 0x3c]
call fcn.10086421
mov ecx, dword [esp + 0xc]
mov edi, eax
push edi
call sym.HncOfficeFramework.dll_public:_void___thiscall_CColorBoxCtrl::SetSat_unsigned_int_
mov edx, dword [esp + 0x68]
lea ecx, [esi*2 + 2]
movsd xmm3, qword [0x101e0218]
sub edx, ecx
sub edx, dword [esp + 0x60]
movaps xmm2, xmm3
xorps xmm0, xmm0
movd xmm1, edx
cvtdq2pd xmm1, xmm1
divsd xmm2, xmm1
addsd xmm2, qword [esp + 0x48]
maxsd xmm0, xmm2
minsd xmm3, xmm0
movaps xmm0, xmm3
jmp 0x1012e1a5
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x1c]
dec eax
cmp edx, eax
jge case.0x1012dfb7.14
inc ecx
inc edx
mov dword [esp + 0x14], ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0x1c], edx
lea edx, [esp + 0x5c]
mov ecx, dword [ecx + 4]
call fcn.1001bb30
movsd xmm0, qword [esp + 0x20]
mov esi, dword [esi + 0x3c]
call fcn.10086421
mov ecx, dword [esp + 0xc]
mov edi, eax
push edi
call sym.HncOfficeFramework.dll_public:_void___thiscall_CColorBoxCtrl::SetSat_unsigned_int_
mov edx, dword [esp + 0x68]
lea ecx, [esi*2 + 2]
movsd xmm3, qword [0x101e0218]
sub edx, ecx
sub edx, dword [esp + 0x60]
movaps xmm1, xmm3
movsd xmm4, qword [esp + 0x48]
movd xmm0, edx
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
xorps xmm0, xmm0
subsd xmm4, xmm1
maxsd xmm0, xmm4
minsd xmm3, xmm0
movaps xmm0, xmm3
jmp 0x1012e1a5
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x6c]
jle case.0x1012dfb7.14
mov ecx, dword [esi + 4]
lea edx, [esp + 0x5c]
dec dword [esp + 0x18]
dec eax
mov dword [esp + 0x10], eax
mov ecx, dword [ecx + 4]
call fcn.1001bb30
mov eax, dword [esi + 0x3c]
mov ecx, dword [esp + 0x64]
movsd xmm3, qword [0x101e0218]
movaps xmm1, xmm3
movsd xmm2, qword [esp + 0x20]
lea eax, [eax*2 + 4]
sub ecx, eax
sub ecx, dword [esp + 0x5c]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
xorps xmm0, xmm0
subsd xmm2, xmm1
maxsd xmm0, xmm2
jmp 0x1012e189
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x18]
dec eax
cmp ecx, eax
jge case.0x1012dfb7.14
inc dword [esp + 0x10]
lea edx, [esp + 0x5c]
inc ecx
mov dword [esp + 0x18], ecx
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 4]
call fcn.1001bb30
mov eax, dword [esi + 0x3c]
mov ecx, dword [esp + 0x64]
movsd xmm3, qword [0x101e0218]
movaps xmm1, xmm3
lea eax, [eax*2 + 4]
sub ecx, eax
sub ecx, dword [esp + 0x5c]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
xorps xmm0, xmm0
addsd xmm1, qword [esp + 0x20]
maxsd xmm0, xmm1
minsd xmm3, xmm0
movaps xmm0, xmm3
call fcn.10086421
mov edi, eax
mov ecx, esi
push edi
call sym.HncOfficeFramework.dll_public:_void___thiscall_CColorBoxCtrl::SetSat_unsigned_int_
movsd xmm0, qword [esp + 0x48]
call fcn.10086421
mov ecx, dword [esp + 0xc]
mov esi, eax
push esi
call sym.HncOfficeFramework.dll_public:_void___thiscall_CColorBoxCtrl::SetLum_unsigned_int_
mov eax, dword [esp + 0xc]
movups xmm0, xmmword [esp + 0x10]
push edi
push esi
mov esi, eax
movups xmmword [eax + 0x18], xmm0
push dword [esi + 0x2c]
call dword [sym.imp.HncBaseDraw.dll_unsigned_long_int___stdcall_HncColorHLS2RGB_int__int__int_]
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 4]
call fcn.1001bbc0
mov eax, dword [esi + 4]
mov eax, dword [eax + 4]
test eax, eax
jne 0x1012e1ec
xor ecx, ecx
jmp 0x1012e1f0
movzx ecx, word [eax + 0x24]
push 0
push ecx
push 0x111
push eax
call sym.HncOfficeFramework.dll_public:_static_long_int___cdecl_CHDlgItem::SendCommand_void___unsigned_int__unsigned_int__long_int_
add esp, 0x10
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008548c
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x7c]
xor eax, eax
pop edi
pop esi
xor ecx, esp
call fcn.1008548c
mov esp, ebp
pop ebp
ret 4