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 0x1012e219
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff3
cmp eax, 0x1b
ja 0x1012e1d3
movzx eax, byte [eax + 0x1012e248]
jmp dword [eax*4 + 0x1012e230]
je 0x1012e289
push edi
push esi
push ebx
call fcn.1012e176
add esp, 0xc
call fcn.1012e0f6
inc edi
pop eax
pop edx
mov dh, 0x8b
jbe 0x1012e268
test esi, esi
je 0x1012e289
mov ebx, dword [esi + edi + 0x24]
add esi, edi
add ebx, edi
call fcn.1012e0f6
mov edx, 0x8b09bbde
inc esi
and byte [ebx], al
invalid
or al, 0xc1
call 0xd0984830
je 0x1012e298
and dword [ebp - 4], 0
mov eax, dword [edi]
mov dword [ebp - 0x10], eax
call fcn.1012e0f6
stc
dec esi
or al, 0xca
cmp dword [ebp - 0x10], 0
je 0x1012e27d
mov eax, dword [ebp - 0x14]
and dword [ebp - 0x10], 0
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 8]
movzx eax, word [eax]
cmp eax, dword [ebp - 4]
jne 0x1012e269
mov eax, dword [ebp - 0xc]
push dword [ebp + 0xc]
mov eax, dword [eax]
add eax, dword [ebp + 8]
push eax
call fcn.1012e08c
pop ecx
test eax, eax
pop ecx
je 0x1012e290
daa
mov eax, dword [esi + 0x18]
inc dword [ebp - 0x10]
add dword [ebp - 8], 2
inc ebp
clc
add al, byte [ebx + 0x4804f445]
cmp dword [ebp - 0x10], eax
jbe 0x1012e247
mov eax, dword [esi + 0x14]
inc dword [ebp - 4]
dec eax
cmp dword [ebp - 4], eax
jbe 0x1012e226
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
mov eax, dword [ebp - 4]
mov eax, dword [edi + eax*4]
jmp 0x1012e2cd
xor ebx, ebx
mov dword [ebp - 0x10], edi
mov eax, dword [esi + 0x10]
add eax, ebx
cmp dword [ebp + 0xc], eax
jne 0x1012e2b8
call fcn.1012e0f6
pop edi
lds esp, [ecx]
mov dl, 0x8b
inc ebp
invalid
mov eax, dword [esi + 0x14]
add dword [ebp - 0x10], 4
inc ebx
dec eax
cmp ebx, eax
jbe 0x1012e29d
jmp 0x1012e289
add eax, dword [ebp + 8]
jmp 0x1012e28b