Function at 0x4cc8a0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
mov eax, dword [0x641a90]
xor eax, ebp
mov dword [ebp - 4], eax
movups xmm0, xmmword [0x63a8b8]
push ebx
push esi
push edi
push 0
push 0
sub esp, 0x10
mov dword [ebp - 0x90], 0xa
mov ebx, ecx
mov dword [ebp - 0x8c], 0x63707274
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0x24
mov dword [ebp - 0x80], 0x64657363
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0x28
mov dword [ebp - 0x74], 0x77747074
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0x14
mov dword [ebp - 0x68], 0x626b7074
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0x14
mov dword [ebp - 0x5c], 0x72545243
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xe
mov dword [ebp - 0x50], 0x67545243
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xe
mov dword [ebp - 0x44], 0x62545243
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xe
mov dword [ebp - 0x38], 0x7258595a
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0x14
mov dword [ebp - 0x2c], 0x6758595a
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0x14
mov dword [ebp - 0x20], 0x6258595a
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0x14
mov dword [ebp - 0x14], 0x63757276
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 1
mov dword [ebp - 8], 0x1000000
movups xmmword [esp], xmm0
call fcn.004d25c0
cmp dword [ebx + 0x245dc], 1
movdqu xmm0, xmmword [ebx + 0x24694]
movdqu xmmword [ebp - 0xc0], xmm0
movdqu xmm0, xmmword [ebx + 0x246a4]
movdqu xmmword [ebp - 0xb0], xmm0
movdqu xmm0, xmmword [ebx + 0x246b4]
movdqu xmmword [ebp - 0xa0], xmm0
je 0x4cca26
cmp dword [ebx + 0x24608], 0
jne 0x4cca26
mov eax, dword [ebx + 0x24620]
cmp eax, 1
jl 0x4cca26
cmp eax, 6
jg 0x4cca26
xor eax, eax
jmp 0x4cca2b
mov eax, 1
or dword [ebx + 0x43fc], eax
jne 0x4ccdd3
push 1
push 0x400
call fcn.00592c0b
add esp, 8
mov dword [ebx + 0x3b8], eax
mov ecx, ebx
push str.convert_to_rgb__
push eax
call fcn.004dc800
mov eax, dword [ebx + 0x3b8]
movdqu xmm0, xmmword [0x5e8ec8]
movdqu xmmword [eax], xmm0
movdqu xmm0, xmmword [0x5e8ed8]
movdqu xmmword [eax + 0x10], xmm0
movdqu xmm0, xmmword [0x5e8ee8]
movdqu xmmword [eax + 0x20], xmm0
movdqu xmm0, xmmword [str.enon]
movdqu xmmword [eax + 0x30], xmm0
movdqu xmm0, xmmword [0x5e8f08]
movdqu xmmword [eax + 0x40], xmm0
cmp dword [ebx + 0x24620], 5
jne 0x4ccab4
mov ecx, dword [ebx + 0x3b8]
mov eax, dword [ecx + 0x14]
mov dword [ecx + 0x10], eax
mov eax, dword [ebx + 0x3b8]
xor esi, esi
mov edi, 0x58595a20
mov dword [eax], 0xfc
test esi, esi
je 0x4ccad8
cmp esi, 1
mov edx, 0x64657363
cmovg edx, edi
jmp 0x4ccadd
mov edx, 0x74657874
mov ecx, dword [ebx + 0x3b8]
mov eax, dword [ecx]
shr eax, 2
mov dword [ecx + eax*4], edx
lea eax, [esi + esi*2]
mov edx, dword [ebx + 0x3b8]
inc esi
mov ecx, dword [edx]
mov dword [ebp + eax*4 - 0x88], ecx
mov eax, dword [ebp + eax*4 - 0x84]
add eax, 3
and eax, 0xfffffffc
add eax, ecx
mov dword [edx], eax
cmp esi, dword [ebp - 0x90]
jb 0x4ccac7
mov edi, dword [ebx + 0x3b8]
lea esi, [ebp - 0x90]
sub edi, 0xffffff80
mov ecx, 0x1f
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x24620]
mov edx, dword [eax*4 + 0x63a9f0]
lea ecx, [edx + 1]
lea ecx, [ecx]
mov al, byte [edx]
inc edx
test al, al
jne 0x4ccb40
mov eax, dword [ebx + 0x3b8]
sub edx, ecx
mov ecx, dword [ebp - 0x7c]
inc edx
shr ecx, 2
push 3
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebx + 0x3b8]
movq xmm0, qword [0x5e8f18]
mov ecx, dword [ebp - 0x70]
movq qword [ecx + edx + 8], xmm0
mov eax, dword [0x5e8f20]
movsd xmm0, qword [0x5dbf90]
mov dword [ecx + edx + 0x10], eax
mov ecx, ebx
divsd xmm0, qword [0x63a8e0]
addsd xmm0, qword [0x5c3638]
cvttsd2si eax, xmm0
cwde
shl eax, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x3b8]
add eax, dword [ebp - 0x58]
movdqu xmm0, xmmword [ebp - 0x14]
movdqu xmmword [eax], xmm0
mov eax, dword [ebx + 0x3b8]
add eax, dword [ebp - 0x4c]
movdqu xmmword [eax], xmm0
mov eax, dword [ebx + 0x3b8]
add eax, dword [ebp - 0x40]
movdqu xmmword [eax], xmm0
lea eax, [ebp - 0x108]
push eax
mov eax, dword [ebx + 0x24620]
push dword [eax*4 + 0x63a9d8]
call fcn.004e84b0
mov eax, 0x5e8ce0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], eax
xorps xmm1, xmm1
mov edi, edi
lea edi, [ebp - 0x34]
mov dword [ebp - 0x114], 3
lea esi, [ebp - 0x100]
jmp 0x4ccc20
movsd xmm0, qword [esi - 8]
mulsd xmm0, qword [eax - 8]
addsd xmm0, xmm1
movsd xmm1, qword [eax]
mulsd xmm1, qword [esi]
addsd xmm0, xmm1
movsd xmm1, qword [esi + 8]
mulsd xmm1, qword [eax + 8]
addsd xmm0, xmm1
mulsd xmm0, qword [0x5ddbd8]
addsd xmm0, qword [0x5c3638]
call fcn.00597301
mov edx, dword [edi]
add esi, 0x18
mov ecx, dword [ebx + 0x3b8]
add edi, 0xc
shr edx, 2
xorps xmm1, xmm1
add edx, dword [ebp - 0x110]
dec dword [ebp - 0x114]
mov dword [ecx + edx*4 + 8], eax
mov eax, dword [ebp - 0x10c]
jne 0x4ccc20
inc dword [ebp - 0x110]
add eax, 0x18
mov dword [ebp - 0x10c], eax
cmp eax, 0x5e8d28
jl 0x4ccc00
xor esi, esi
jmp 0x4cccb0
mov eax, dword [ebx + 0x3b8]
push dword [esi + eax]
call fcn.0045c670
mov ecx, dword [ebx + 0x3b8]
add esp, 4
mov dword [esi + ecx], eax
add esi, 4
cmp esi, 0x400
jb 0x4cccb0
mov ecx, dword [ebx + 0x3b8]
mov eax, dword [ebp - 0x88]
movdqu xmm0, xmmword [str.auto_generated_by_dcraw]
mov edx, dword [ebp - 0x7c]
add edx, 0xc
movdqu xmmword [eax + ecx + 8], xmm0
movq xmm0, qword [0x5e8f48]
movq qword [eax + ecx + 0x18], xmm0
mov eax, dword [ebx + 0x24620]
add edx, dword [ebx + 0x3b8]
mov ecx, dword [eax*4 + 0x63a9f0]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x4ccd16
mov edx, dword [ebx + 0x245dc]
lea edi, [ebp - 0xc0]
mov esi, 0x10
xorps xmm2, xmm2
test edx, edx
jle 0x4ccdc4
mov eax, dword [ebx + 0x24620]
mov ecx, edi
mov eax, dword [eax*4 + 0x63a9d8]
movsd xmm3, qword [eax + esi - 0x10]
movsd xmm4, qword [eax + esi - 8]
movsd xmm5, qword [eax + esi]
lea eax, [ebx + 0x246a4]
jmp 0x4ccd70
movss xmm0, dword [eax - 0x10]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm3
addsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
cvtps2pd xmm1, xmm0
movss xmm0, dword [eax]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm4
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtps2pd xmm1, xmm0
movss xmm0, dword [eax + 0x10]
add eax, 4
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm5
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [ecx], xmm0
add ecx, 4
dec edx
jne 0x4ccd70
mov edx, dword [ebx + 0x245dc]
add esi, 0x18
add edi, 0x10
cmp esi, 0x58
jl 0x4ccd38
cmp dword [ebx + 0x24610], 0
je 0x4cce0f
mov eax, dword [ebx + 0x24620]
mov ecx, str.Converting_to__s_colorspace..._n
cmp dword [ebx + 0x43fc], 0
push dword [eax*4 + 0x63a9f0]
mov eax, str.Building_histograms..._n
cmove eax, ecx
push eax
call fcn.00592f31
add eax, 0x40
push eax
call fcn.0059320e
add esp, 0xc
push 0x20000
lea eax, [ebx + 0x246c4]
push 0
push eax
call fcn.00595760
mov esi, dword [ebx + 0x44c0]
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x10c], 0
cmp ax, word [ebx + 0x44a8]
jae 0x4ccfa4
push dword [ebx + 0x49734]
call fcn.00459f50
add esp, 4
test eax, eax
jne 0x4ccfed
xor edi, edi
cmp ax, word [ebx + 0x44aa]
jae 0x4ccf88
lea esp, [esp]
cmp dword [ebx + 0x43fc], 0
jne 0x4ccf2c
mov edx, dword [ebx + 0x245dc]
xorps xmm2, xmm2
xorps xmm3, xmm3
movss dword [ebp - 8], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0xc], xmm3
xor ecx, ecx
movss dword [ebp - 0x10], xmm4
test edx, edx
jle 0x4ccef3
movzx eax, word [esi + ecx*2]
movss xmm0, dword [ebp + ecx*4 - 0xc0]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
addss xmm4, xmm0
movss xmm0, dword [ebp + ecx*4 - 0xb0]
mulss xmm0, xmm1
addss xmm3, xmm0
movss xmm0, dword [ebp + ecx*4 - 0xa0]
mulss xmm0, xmm1
inc ecx
addss xmm2, xmm0
cmp ecx, edx
jl 0x4ccea1
movss dword [ebp - 8], xmm2
movss dword [ebp - 0xc], xmm3
movss dword [ebp - 0x10], xmm4
xor eax, eax
jmp 0x4ccf00
cvttss2si ecx, dword [ebp + eax*4 - 0x10]
cmp ecx, 0xffff
jge 0x4ccf16
test ecx, ecx
jns 0x4ccf16
xor edx, edx
jmp 0x4ccf20
mov edx, 0xffff
cmp ecx, edx
cmovl edx, ecx
mov word [esi + eax*2], dx
inc eax
cmp eax, 3
jl 0x4ccf00
jmp 0x4ccf4a
cmp dword [ebx + 0x24608], 0
je 0x4ccf4a
push edi
push dword [ebp - 0x10c]
mov ecx, ebx
call fcn.004cde70
mov ax, word [esi + eax*2]
mov word [esi], ax
xor ecx, ecx
cmp dword [ebx + 0x245dc], ecx
jle 0x4ccf75
xor edx, edx
movzx eax, word [esi + ecx*2]
inc ecx
shr eax, 3
add eax, edx
add edx, 0x2000
inc dword [ebx + eax*4 + 0x246c4]
cmp ecx, dword [ebx + 0x245dc]
jl 0x4ccf56
movzx eax, word [ebx + 0x44aa]
inc edi
add esi, 8
cmp edi, eax
jl 0x4cce70
mov edi, dword [ebp - 0x10c]
movzx eax, word [ebx + 0x44a8]
inc edi
mov dword [ebp - 0x10c], edi
cmp edi, eax
jl 0x4cce44
cmp dword [ebx + 0x245dc], 4
jne 0x4ccfc0
cmp dword [ebx + 0x24620], 0
je 0x4ccfc0
mov dword [ebx + 0x245dc], 3
cmp dword [ebx + 0x24608], 0
je 0x4ccfdc
cmp dword [ebx + 0x388], 0
je 0x4ccfdc
mov dword [ebx + 0x245dc], 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005920c1
mov esp, ebp
pop ebp
ret
push 0x5de910
mov dword [ebx + 0x49730], 1
call fcn.005927a9
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.005920c1
mov esp, ebp
pop ebp
ret