Function at 0x1002d710
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0xc4
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [esp], ebx
call sym._cmsGetProfileContextID
mov dword [esp + 0x24], eax
cmp edi, 3
ja 0x1002d782
mov esi, dword [edi*4 + 0x1004a1e8]
mov edi, dword [edi*4 + 0x1004a1d8]
mov dword [esp], ebx
mov dword [esp + 4], edi
call sym._cmsIsTag
test eax, eax
jne 0x1002d9d0
mov dword [esp + 4], esi
mov dword [esp], ebx
call sym._cmsIsTag
mov dword [esp], ebx
test eax, eax
mov eax, 0x42324130
cmove esi, eax
mov dword [esp + 4], esi
call sym._cmsIsTag
test eax, eax
jne 0x1002da50
mov dword [esp], ebx
call sym._cmsGetColorSpace
mov dword [esp], ebx
cmp eax, 0x47524159
je 0x1002db28
call sym._cmsGetProfileContextID
mov edx, ebx
mov dword [esp + 0x24], eax
lea eax, [esp + 0x34]
call sym._ReadICCMatrixRGB2XYZ
test eax, eax
je 0x1002d9c0
lea esi, [esp + 0x7c]
lea eax, [esp + 0x34]
mov dword [esp + 4], esi
mov dword [esp], eax
call sym.__cmsMAT3inverse
test eax, eax
je 0x1002d9c0
movupd xmm2, xmmword [0x1004a240]
mov eax, esi
lea edx, [esp + 0xc4]
movsd xmm1, qword [0x1004a250]
lea esi, [esi]
movupd xmm0, xmmword [eax]
add eax, 0x18
mulpd xmm0, xmm2
movups xmmword [eax - 0x18], xmm0
movsd xmm0, qword [eax - 8]
mulsd xmm0, xmm1
movsd qword [eax - 8], xmm0
cmp eax, edx
jne 0x1002d7f0
mov dword [esp + 4], 0x72545243
mov dword [esp], ebx
call sym._cmsReadTag
mov dword [esp + 4], 0x67545243
mov dword [esp], ebx
mov dword [esp + 0x20], eax
call sym._cmsReadTag
mov dword [esp + 4], 0x62545243
mov dword [esp], ebx
mov edi, eax
call sym._cmsReadTag
test edi, edi
mov edx, eax
mov eax, dword [esp + 0x20]
sete cl
test eax, eax
sete al
or cl, al
jne 0x1002d9c0
test edx, edx
mov dword [esp + 0x1c], edx
je 0x1002d9c0
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call sym._cmsReverseToneCurve
mov dword [esp], edi
mov dword [esp + 0x28], eax
call sym._cmsReverseToneCurve
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
mov dword [esp], edx
call sym._cmsReverseToneCurve
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], eax
test ecx, ecx
je 0x1002d9c0
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x1002d9c0
test eax, eax
je 0x1002d9c0
mov eax, dword [esp + 0x24]
mov dword [esp + 8], 3
mov dword [esp + 4], 3
mov dword [esp], eax
call sym._cmsPipelineAlloc
mov edi, eax
test eax, eax
je 0x1002dc18
mov dword [esp], ebx
call sym._cmsGetPCS
cmp eax, 0x4c616220
je 0x1002d980
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], esi
lea esi, [esp + 0x28]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 3
mov dword [esp + 4], 3
mov dword [esp], eax
call sym._cmsStageAllocMatrix
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov dword [esp], edi
call sym._cmsPipelineInsertStage
test eax, eax
je 0x1002d9b0
mov eax, dword [esp + 0x24]
mov dword [esp + 8], esi
mov dword [esp + 4], 3
mov dword [esp], eax
call sym._cmsStageAllocToneCurves
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov dword [esp], edi
call sym._cmsPipelineInsertStage
test eax, eax
je 0x1002d9b0
mov dword [esp], esi
call sym._cmsFreeToneCurveTriple
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call sym.__cmsStageAllocLab2XYZ
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov dword [esp], edi
call sym._cmsPipelineInsertStage
test eax, eax
jne 0x1002d8f0
lea esi, [esp + 0x28]
lea esi, [esi]
mov dword [esp], esi
call sym._cmsFreeToneCurveTriple
mov dword [esp], edi
call sym._cmsPipelineFree
xor edi, edi
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], ebx
call sym._cmsGetProfileContextID
mov dword [esp + 4], edi
mov dword [esp], ebx
mov dword [esp + 0x24], eax
call sym._cmsReadTag
mov dword [esp], eax
call sym._cmsPipelineDup
mov dword [esp], ebx
mov edi, eax
call sym._cmsGetPCS
mov dword [esp], ebx
mov esi, eax
call sym._cmsGetColorSpace
mov ebx, eax
test edi, edi
je 0x1002d9c0
cmp esi, 0x4c616220
je 0x1002dc58
cmp esi, 0x58595a20
je 0x1002dca0
cmp ebx, 0x4c616220
je 0x1002dc88
cmp ebx, 0x58595a20
jne 0x1002d9c2
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call sym.__cmsStageNormalizeFromXyzFloat
jmp 0x1002db00
mov dword [esp + 4], esi
mov dword [esp], ebx
call sym._cmsReadTag
mov edi, eax
test eax, eax
je 0x1002d9c0
mov dword [esp + 4], esi
mov dword [esp], ebx
call sym.__cmsGetTagTrueType
mov dword [esp], edi
mov esi, eax
call sym._cmsPipelineDup
mov edi, eax
test eax, eax
je 0x1002d9c0
mov dword [esp], ebx
call sym._cmsGetPCS
cmp eax, 0x4c616220
je 0x1002dcb0
cmp esi, 0x6d667432
jne 0x1002d9c2
mov dword [esp], ebx
call sym._cmsGetPCS
cmp eax, 0x4c616220
jne 0x1002d9c2
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call sym.__cmsStageAllocLabV4ToV2
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov dword [esp], edi
call sym._cmsPipelineInsertStage
test eax, eax
je 0x1002d9b8
mov dword [esp], ebx
call sym._cmsGetColorSpace
cmp eax, 0x4c616220
jne 0x1002d9c2
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call sym.__cmsStageAllocLabV2ToV4
nop
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], edi
call sym._cmsPipelineInsertStage
test eax, eax
jne 0x1002d9c2
jmp 0x1002d9b8
call sym._cmsGetProfileContextID
mov dword [esp + 4], 0x6b545243
mov dword [esp], ebx
mov esi, eax
call sym._cmsReadTag
test eax, eax
je 0x1002d9c0
mov dword [esp], eax
call sym._cmsReverseToneCurve
mov dword [esp + 0x7c], eax
test eax, eax
je 0x1002d9c0
mov dword [esp + 8], 1
mov dword [esp + 4], 3
mov dword [esp], esi
call sym._cmsPipelineAlloc
mov edi, eax
test eax, eax
je 0x1002dc00
mov dword [esp], ebx
call sym._cmsGetPCS
mov dword [esp + 0x10], 0
cmp eax, 0x4c616220
je 0x1002dc48
mov dword [esp + 0xc], 0x1004a190
mov dword [esp + 8], 3
mov dword [esp + 4], 1
mov dword [esp], esi
call sym._cmsStageAllocMatrix
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov dword [esp], edi
call sym._cmsPipelineInsertStage
test eax, eax
je 0x1002dc28
lea eax, [esp + 0x7c]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov dword [esp], esi
call sym._cmsStageAllocToneCurves
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov dword [esp], edi
call sym._cmsPipelineInsertStage
test eax, eax
je 0x1002dc28
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call sym._cmsFreeToneCurve
jmp 0x1002d9c2
lea esi, [esp + 0x28]
jmp 0x1002d964
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call sym._cmsFreeToneCurve
mov dword [esp], edi
xor edi, edi
call sym._cmsPipelineFree
jmp 0x1002d9c2
mov dword [esp + 0xc], 0x1004a178
jmp 0x1002dba0
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call sym.__cmsStageNormalizeToLabFloat
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], edi
call sym._cmsPipelineInsertStage
test eax, eax
jne 0x1002da22
jmp 0x1002d9b8
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call sym.__cmsStageNormalizeFromLabFloat
jmp 0x1002db00
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call sym.__cmsStageNormalizeToXyzFloat
jmp 0x1002dc64
mov eax, edi
call sym._ChangeInterpolationToTrilinear
jmp 0x1002da99