Function at 0x10036230
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff8
sub esp, 0x98
mov eax, dword [ebp + 0x10]
mov edx, dword [eax]
mov eax, edx
shr eax, 3
and eax, 0xf
cmp eax, 3
jne 0x10036265
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x38], eax
shr eax, 3
and eax, 0xf
cmp eax, 3
je 0x10036270
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], edx
call sym.__cmsFormatterIs8bit
test eax, eax
je 0x10036265
mov eax, dword [ebp + 8]
lea edx, [esp + 0x40]
lea edi, [esp + 0x44]
lea esi, [esp + 0x3c]
mov ebx, dword [eax]
lea eax, [esp + 0x48]
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0x63767374
mov dword [esp + 0x10], 0x6d617466
mov dword [esp + 0xc], 0x6d617466
mov dword [esp + 8], 0x63767374
mov dword [esp + 4], 4
mov dword [esp], ebx
call sym._cmsPipelineCheckAndRetreiveStages
lea edx, [esp + 0x40]
test eax, eax
jne 0x10036670
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 0x63767374
mov dword [esp + 0xc], 0x6d617466
mov dword [esp + 8], 0x63767374
mov dword [esp + 4], 3
mov dword [esp], ebx
call sym._cmsPipelineCheckAndRetreiveStages
test eax, eax
je 0x10036265
mov eax, dword [esp + 0x44]
lea edi, [esp + 0x50]
mov dword [esp], eax
call sym._cmsStageData
mov edx, edi
mov dword [esp + 0x38], edi
mov ecx, 0x12
mov esi, dword [eax]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [eax + 4]
mov dword [esp], edx
call sym.__cmsMAT3isIdentity
test esi, esi
mov edx, eax
sete al
test edx, edx
setne dl
movzx edx, dl
mov edi, edx
and edi, eax
mov eax, dword [ebx + 8]
mov dword [esp + 8], eax
mov eax, dword [ebx + 4]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x20]
mov dword [esp], eax
call sym._cmsPipelineAlloc
mov dword [esp + 0x4c], eax
test eax, eax
je 0x10036265
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sym._cmsStageDup
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call sym._cmsPipelineInsertStage
test eax, eax
je 0x10036710
test edi, edi
jne 0x10036721
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], esi
mov dword [esp + 8], 3
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], 3
mov eax, dword [eax + 0x20]
mov dword [esp], eax
call sym._cmsStageAllocMatrix
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call sym._cmsPipelineInsertStage
test eax, eax
je 0x10036710
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sym._cmsStageDup
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call sym._cmsPipelineInsertStage
test eax, eax
je 0x10036710
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sym._cmsStageData
mov edi, eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sym._cmsStageData
mov ecx, dword [ebp + 0x18]
or dword [ecx], 0x40
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 0x14]
mov edi, dword [edi + 4]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x34], eax
mov eax, dword [ecx]
mov dword [esp], eax
call sym.__cmsFormatterIs8bit
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], 0x18c3c
mov dword [esp + 0x30], eax
mov eax, dword [ecx + 0x20]
mov dword [esp], eax
call sym.__cmsMalloc
mov ecx, eax
test eax, eax
je 0x10036650
mov edx, dword [esp + 0x34]
mov dword [esp + 0x28], ecx
mov eax, dword [edx + 0x20]
mov dword [ecx], eax
mov edx, dword [edi]
lea eax, [ecx + 4]
call sym._FillFirstShaper
mov ecx, dword [esp + 0x28]
mov edx, dword [edi + 4]
lea eax, [ecx + 0x404]
call sym._FillFirstShaper
mov edx, dword [edi + 8]
mov edi, dword [esp + 0x28]
lea eax, [edi + 0x804]
call sym._FillFirstShaper
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
lea eax, [edi + 0xc34]
mov edx, dword [edx]
call sym._FillSecondShaper
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [eax + 4]
lea eax, [edi + 0x8c36]
call sym._FillSecondShaper
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [eax + 8]
lea eax, [edi + 0x10c38]
call sym._FillSecondShaper
mov ecx, dword [esp + 0x38]
movsd xmm5, qword [0x1004a8e8]
movsd xmm4, qword [0x1004a888]
movsd xmm2, qword [0x1004a8b0]
movq xmm7, qword [0x1004a8c0]
xor edx, edx
movupd xmm3, xmm7
movsd xmm0, qword [ecx + edx*8]
mulsd xmm0, xmm5
addsd xmm0, xmm4
movupd xmm1, xmm0
andpd xmm1, xmm3
ucomisd xmm2, xmm1
jbe 0x10036580
addsd xmm1, xmm2
movupd xmm6, xmm3
andnpd xmm6, xmm0
subsd xmm1, xmm2
orpd xmm1, xmm6
movupd xmm6, xmm1
cmpnlesd xmm6, xmm0
movupd xmm0, xmm6
movsd xmm6, qword [0x1004a8d0]
andpd xmm0, xmm6
subsd xmm1, xmm0
movupd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [edi + edx*4 + 0xc04], eax
add edx, 1
cmp edx, 3
jne 0x10036530
add ecx, 0x18
lea eax, [esp + 0x98]
add edi, 0xc
cmp eax, ecx
jne 0x1003652a
mov ecx, dword [esp + 0x28]
xor edx, edx
xor eax, eax
test esi, esi
je 0x10036604
movsd xmm0, qword [esi + edx*8]
movupd xmm3, xmm7
mulsd xmm0, xmm5
addsd xmm0, xmm4
movupd xmm1, xmm0
andpd xmm1, xmm7
ucomisd xmm2, xmm1
jbe 0x10036600
addsd xmm1, xmm2
andnpd xmm3, xmm0
subsd xmm1, xmm2
orpd xmm1, xmm3
movupd xmm3, xmm1
cmpnlesd xmm3, xmm0
movupd xmm0, xmm3
movsd xmm3, qword [0x1004a8d0]
andpd xmm0, xmm3
subsd xmm1, xmm0
movupd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ecx + edx*4 + 0xc28], eax
add edx, 1
cmp edx, 3
jne 0x100365aa
mov eax, dword [esp + 0x30]
test eax, eax
je 0x10036624
mov eax, dword [ebp + 0x14]
or dword [eax], 0x200000
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], sym._DupMatShaper
mov dword [esp + 0xc], sym._FreeMatShaper
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], sym._MatShaperEval16
mov dword [esp], eax
call sym.__cmsPipelineSetOptimizationParameters
mov dword [esp], ebx
call sym._cmsPipelineFree
mov eax, dword [esp + 0x4c]
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
mov eax, 1
jmp 0x10036267
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call sym._cmsStageData
mov esi, eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call sym._cmsStageData
mov edx, dword [esp + 0x44]
cmp dword [edx + 0xc], 3
jne 0x10036265
cmp dword [edx + 0x10], 3
jne 0x10036265
mov edx, dword [esp + 0x48]
cmp dword [edx + 0xc], 3
jne 0x10036265
cmp dword [edx + 0x10], 3
jne 0x10036265
mov edx, dword [esi + 4]
test edx, edx
jne 0x10036265
mov edx, dword [esi]
lea edi, [esp + 0x50]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], edi
mov dword [esp + 8], edx
mov edx, dword [eax]
mov dword [esp], edi
mov dword [esp + 4], edx
call sym.__cmsMAT3per
mov eax, dword [esp + 0x34]
mov esi, dword [eax + 4]
mov dword [esp], edi
call sym.__cmsMAT3isIdentity
test eax, eax
setne al
xor edx, edx
test esi, esi
sete dl
mov edi, edx
and edi, eax
jmp 0x10036356
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call sym._cmsPipelineFree
jmp 0x10036265
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sym._cmsStageDup
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call sym._cmsPipelineInsertStage
test eax, eax
je 0x10036710
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
lea eax, [esp + 0x4c]
mov dword [esp], eax
call sym._OptimizeByJoiningCurves
jmp 0x10036650