Function at 0x100c4600
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x114
push ebx
mov ebx, dword [ebp + 8]
mov eax, 0x14
mov ecx, 0xe
push esi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 0x6618]
push edi
mov dword [esp + 0x68], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x80], ecx
xor edx, edx
lea esi, [ebx + 0xe70c]
mov ecx, 0xc
lea edi, [esp + 0xa8]
cmp eax, 1
mov dword [esp + 0x2c], 0xa
mov dword [esp + 0x30], 0x63707274
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], 0x24
mov dword [esp + 0x3c], 0x64657363
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], 0x28
mov dword [esp + 0x48], 0x77747074
mov dword [esp + 0x4c], edx
mov dword [esp + 0x54], 0x626b7074
mov dword [esp + 0x58], edx
mov dword [esp + 0x60], 0x72545243
mov dword [esp + 0x64], edx
mov dword [esp + 0x6c], 0x67545243
mov dword [esp + 0x70], edx
mov dword [esp + 0x78], 0x62545243
mov dword [esp + 0x7c], edx
mov dword [esp + 0x84], 0x7258595a
mov dword [esp + 0x88], edx
mov dword [esp + 0x90], 0x6758595a
mov dword [esp + 0x94], edx
mov dword [esp + 0x9c], 0x6258595a
mov dword [esp + 0xa0], edx
mov dword [esp + 0x28], 0x1000000
rep movsd dword es:[edi], dword [esi]
je 0x100c472c
cmp dword [ebx + 0x90], edx
jne 0x100c472c
mov eax, dword [ebx + 0x78]
cmp eax, 1
jl 0x100c472c
cmp eax, 5
jg 0x100c472c
xor eax, eax
jmp 0x100c4731
mov eax, 1
mov ecx, dword [ebx + 0x65d0]
or ecx, eax
mov dword [ebx + 0x65d0], ecx
jne 0x100c4a5e
mov eax, dword [0x1013e5f8]
push 1
push eax
call fcn.10030d94
push str.convert_to_rgb__
push eax
push ebx
mov dword [ebx + 0x65ac], eax
call fcn.100ab730
mov edi, dword [ebx + 0x65ac]
mov ecx, 0x14
mov esi, 0x1013e5f8
add esp, 0x14
rep movsd dword es:[edi], dword [esi]
cmp dword [ebx + 0x78], 5
jne 0x100c478b
mov eax, dword [ebx + 0x65ac]
mov ecx, dword [eax + 0x14]
mov dword [eax + 0x10], ecx
mov edx, dword [ebx + 0x65ac]
xor ecx, ecx
mov dword [edx], 0xfc
test ecx, ecx
je 0x100c47b4
xor edx, edx
cmp ecx, 1
setle dl
dec edx
and edx, 0xf3f3e6bd
add edx, 0x64657363
jmp 0x100c47b9
mov edx, 0x74657874
mov eax, dword [ebx + 0x65ac]
mov esi, dword [eax]
shr esi, 2
mov dword [eax + esi*4], edx
mov edx, dword [ebx + 0x65ac]
lea eax, [ecx + ecx*2]
mov esi, dword [edx]
shl eax, 2
mov dword [esp + eax + 0x34], esi
mov eax, dword [esp + eax + 0x38]
add eax, 3
and al, 0xfc
add eax, esi
inc ecx
mov dword [edx], eax
mov eax, dword [esp + 0x2c]
cmp ecx, eax
jl 0x100c4799
mov edi, dword [ebx + 0x65ac]
mov ecx, 0x1f
add edi, 0x80
lea esi, [esp + 0x2c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x78]
mov edx, dword [esp + 0x40]
xor eax, eax
mov esi, 0x1f00000
mov edi, dword [ecx*4 + 0x10173d48]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov eax, dword [ebx + 0x65ac]
shr edx, 2
not ecx
mov dword [eax + edx*4 + 8], ecx
mov ecx, dword [ebx + 0x65ac]
mov edx, dword [esp + 0x4c]
lea eax, [edx + ecx + 8]
mov ecx, dword [0x1013e648]
mov dword [eax], ecx
mov edx, dword [0x1013e64c]
mov dword [eax + 4], edx
mov ecx, dword [0x1013e650]
mov dword [eax + 8], ecx
mov eax, dword [ebx + 0x7c]
cmp eax, 8
je 0x100c4863
mov esi, dword [esp + 0x28]
lea eax, [esp + 0x64]
mov edx, 3
mov ecx, dword [eax]
mov edi, dword [ebx + 0x65ac]
add edi, ecx
mov ecx, 0x63757276
add eax, 0xc
mov dword [edi], ecx
xor ecx, ecx
dec edx
mov dword [edi + 4], ecx
mov ecx, 1
mov dword [edi + 8], ecx
mov dword [edi + 0xc], esi
jne 0x100c486c
mov eax, dword [ebx + 0x78]
lea edx, [esp + 0xd8]
push 3
push edx
mov ecx, dword [eax*4 + 0x10173d34]
push ecx
call fcn.100b59d0
add esp, 0xc
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 0x1013e490
lea edi, [esp + 0x88]
lea esi, [esp + 0xd8]
mov dword [esp + 0x10], 3
fld qword [0x101308b8]
mov eax, dword [esp + 0xc]
mov ecx, 3
fld qword [esi]
fmul qword [eax]
add esi, 8
add eax, 8
dec ecx
faddp st(1)
jne 0x100c48e5
fmul qword [0x1013e758]
fadd qword [0x101308c0]
call fcn.1002fe10
mov edx, dword [edi]
mov ecx, dword [esp + 0x14]
shr edx, 2
add edx, ecx
mov ecx, dword [ebx + 0x65ac]
add edi, 0xc
mov dword [ecx + edx*4 + 8], eax
mov eax, dword [esp + 0x10]
dec eax
mov dword [esp + 0x10], eax
jne 0x100c48d6
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x14]
add eax, 0x18
inc esi
cmp eax, 0x1013e4d8
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], eax
jl 0x100c48c0
mov edx, dword [0x1013e5f8]
xor esi, esi
shr edx, 2
test edx, edx
jle 0x100c497f
mov edi, dword [sym.imp.WS2_32.dll_htonl]
mov eax, dword [ebx + 0x65ac]
mov ecx, dword [eax + esi*4]
push ecx
call edi
mov edx, dword [ebx + 0x65ac]
inc esi
mov dword [edx + esi*4 - 4], eax
mov eax, dword [0x1013e5f8]
shr eax, 2
cmp esi, eax
jl 0x100c495c
mov ecx, dword [ebx + 0x65ac]
mov edx, dword [esp + 0x34]
mov esi, str.auto_generated_by_dcraw
lea edi, [edx + ecx + 8]
mov edx, dword [esp + 0x40]
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x78]
mov ecx, dword [ebx + 0x65ac]
mov edi, dword [eax*4 + 0x10173d48]
lea edx, [edx + ecx + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x6618]
xor ecx, ecx
lea esi, [esp + 0xa8]
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], esi
xor edi, edi
test eax, eax
jle 0x100c4a47
mov dword [esp + 0x10], 0
mov dword [esi], 0
mov eax, dword [esp + 0x10]
cmp eax, 3
jge 0x100c4a39
mov edx, dword [ebx + 0x78]
add ecx, eax
lea eax, [edi + eax*4]
mov edx, dword [edx*4 + 0x10173d34]
lea ecx, [edx + ecx*8]
lea edx, [ebx + eax*4 + 0xe70c]
mov eax, 3
sub eax, dword [esp + 0x10]
fld qword [ecx]
fmul dword [edx]
add ecx, 8
add edx, 0x10
dec eax
fadd dword [esi]
fstp dword [esi]
jne 0x100c4a24
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0x6618]
inc edi
add esi, 4
cmp edi, eax
jl 0x100c49eb
mov esi, dword [esp + 0xc]
add ecx, 3
add esi, 0x10
cmp ecx, 9
mov dword [esp + 0xc], esi
mov dword [esp + 0x14], ecx
jl 0x100c49e5
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x100c4a95
mov eax, dword [ebx + 0x65d0]
test eax, eax
mov eax, str.Building_histograms..._n
jne 0x100c4a7c
mov eax, str.Converting_to__s_colorspace..._n
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx*4 + 0x10173d48]
push edx
push eax
push 0x1016ee30
call fcn.10030c0b
add esp, 0xc
mov ecx, 0x8000
xor eax, eax
lea edi, [ebx + 0xe73c]
mov dword [esp + 0xc], eax
rep stosd dword es:[edi], eax
mov edi, dword [ebx + 0x6628]
cmp word [ebx + 0x65fc], ax
mov dword [esp + 0x18], edi
jbe 0x100c4c38
xor eax, eax
cmp word [ebx + 0x65fe], ax
mov dword [esp + 0x14], eax
jbe 0x100c4c1e
mov ecx, dword [ebx + 0x65d0]
test ecx, ecx
jne 0x100c4b98
fld dword [0x10136e8c]
mov edx, dword [ebx + 0x6618]
fst dword [esp + 0x24]
fld dword [0x10136e8c]
test edx, edx
fst dword [esp + 0x20]
fld dword [0x10136e8c]
fst dword [esp + 0x1c]
jle 0x100c4b6a
mov ecx, edi
lea eax, [esp + 0xb8]
xor esi, esi
add eax, 4
mov si, word [ecx]
add ecx, 2
mov dword [esp + 0x10], esi
dec edx
fild dword [esp + 0x10]
fld st(0)
fmul dword [eax - 0x14]
faddp st(2)
fld st(0)
fmul dword [eax - 4]
faddp st(3)
fmul dword [eax + 0xc]
faddp st(3)
jne 0x100c4b11
fstp dword [esp + 0x1c]
fstp dword [esp + 0x20]
fstp dword [esp + 0x24]
mov esi, edi
lea edi, [esp + 0x1c]
mov dword [esp + 0x10], 3
fld dword [edi]
call fcn.1002fe10
cmp eax, 0xffff
jge 0x100c4b79
test eax, eax
jge 0x100c4b72
xor eax, eax
jmp 0x100c4b7e
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x100c4b46
cmp eax, 0xffff
jl 0x100c4b7e
mov eax, 0xffff
mov word [esi], ax
mov eax, dword [esp + 0x10]
add edi, 4
add esi, 2
dec eax
mov dword [esp + 0x10], eax
jne 0x100c4b54
mov edi, dword [esp + 0x18]
jmp 0x100c4bc3
mov ecx, dword [ebx + 0x90]
test ecx, ecx
je 0x100c4bc3
mov ecx, dword [esp + 0xc]
mov edx, dword [ebx + 0x657c]
and ecx, 7
and eax, 1
lea ecx, [eax + ecx*2]
shl ecx, 1
shr edx, cl
and edx, 3
mov ax, word [edi + edx*2]
mov word [edi], ax
mov eax, dword [ebx + 0x6618]
xor edx, edx
test eax, eax
jle 0x100c4bfd
xor esi, esi
mov ecx, edi
xor eax, eax
mov ax, word [ecx]
add ecx, 2
shr eax, 3
add eax, esi
inc dword [ebx + eax*4 + 0xe73c]
inc edx
add esi, 0x2000
lea eax, [ebx + eax*4 + 0xe73c]
cmp edx, dword [ebx + 0x6618]
jl 0x100c4bd3
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov cx, word [ebx + 0x65fe]
inc eax
add edi, 8
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edi
jl 0x100c4ad2
mov eax, dword [esp + 0xc]
xor edx, edx
mov dx, word [ebx + 0x65fc]
inc eax
cmp eax, edx
mov dword [esp + 0xc], eax
jl 0x100c4abf
cmp dword [ebx + 0x6618], 4
jne 0x100c4c52
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x100c4c52
mov dword [ebx + 0x6618], 3
mov eax, dword [ebx + 0x90]
test eax, eax
je 0x100c4c70
mov eax, dword [ebx + 0x657c]
test eax, eax
je 0x100c4c70
mov dword [ebx + 0x6618], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret