Function at 0x4bf7d0
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 0x4bf8fc
cmp dword [ebx + 0x90], edx
jne 0x4bf8fc
mov eax, dword [ebx + 0x78]
cmp eax, 1
jl 0x4bf8fc
cmp eax, 5
jg 0x4bf8fc
xor eax, eax
jmp 0x4bf901
mov eax, 1
mov ecx, dword [ebx + 0x65d0]
or ecx, eax
mov dword [ebx + 0x65d0], ecx
jne 0x4bfc2f
mov eax, dword [0x574b48]
push 1
push eax
call dword [sym.imp.MSVCRT.dll_calloc]
push str.convert_to_rgb__
push eax
push ebx
mov dword [ebx + 0x65ac], eax
call fcn.004a6780
mov edi, dword [ebx + 0x65ac]
mov ecx, 0x14
mov esi, 0x574b48
add esp, 0x14
rep movsd dword es:[edi], dword [esi]
cmp dword [ebx + 0x78], 5
jne 0x4bf95c
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 0x4bf985
xor edx, edx
cmp ecx, 1
setle dl
dec edx
and edx, 0xf3f3e6bd
add edx, 0x64657363
jmp 0x4bf98a
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 0x4bf96a
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 + 0x58edd0]
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 [0x574b98]
mov dword [eax], ecx
mov edx, dword [0x574b9c]
mov dword [eax + 4], edx
mov ecx, dword [0x574ba0]
mov dword [eax + 8], ecx
mov eax, dword [ebx + 0x7c]
cmp eax, 8
je 0x4bfa34
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 0x4bfa3d
mov eax, dword [ebx + 0x78]
lea edx, [esp + 0xd8]
push 3
push edx
mov ecx, dword [eax*4 + 0x58edbc]
push ecx
call fcn.004b0ad0
add esp, 0xc
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 0x5749e0
lea edi, [esp + 0x88]
lea esi, [esp + 0xd8]
mov dword [esp + 0x10], 3
fld qword [0x5565c8]
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 0x4bfab6
fmul qword [0x574ca8]
fadd qword [0x5565b8]
call sub.MSVCRT.dll__ftol
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 0x4bfaa7
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x14]
add eax, 0x18
inc esi
cmp eax, 0x574a28
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], eax
jl 0x4bfa91
mov edx, dword [0x574b48]
xor esi, esi
shr edx, 2
test edx, edx
jle 0x4bfb50
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 [0x574b48]
shr eax, 2
cmp esi, eax
jl 0x4bfb2d
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 + 0x58edd0]
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 0x4bfc18
mov dword [esp + 0x10], 0
mov dword [esi], 0
mov eax, dword [esp + 0x10]
cmp eax, 3
jge 0x4bfc0a
mov edx, dword [ebx + 0x78]
add ecx, eax
lea eax, [edi + eax*4]
mov edx, dword [edx*4 + 0x58edbc]
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 0x4bfbf5
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0x6618]
inc edi
add esi, 4
cmp edi, eax
jl 0x4bfbbc
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 0x4bfbb6
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x4bfc6b
mov eax, dword [ebx + 0x65d0]
test eax, eax
mov eax, str.Building_histograms..._n
jne 0x4bfc4d
mov eax, str.Converting_to__s_colorspace..._n
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx*4 + 0x58edd0]
push edx
push eax
mov eax, dword [sym.imp.MSVCRT.dll__iob]
add eax, 0x40
push eax
call dword [sym.imp.MSVCRT.dll_fprintf]
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 0x4bfe0e
xor eax, eax
cmp word [ebx + 0x65fe], ax
mov dword [esp + 0x14], eax
jbe 0x4bfdf4
mov ecx, dword [ebx + 0x65d0]
test ecx, ecx
jne 0x4bfd6e
fld dword [0x5565c4]
mov edx, dword [ebx + 0x6618]
fst dword [esp + 0x24]
fld dword [0x5565c4]
test edx, edx
fst dword [esp + 0x20]
fld dword [0x5565c4]
fst dword [esp + 0x1c]
jle 0x4bfd40
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 0x4bfce7
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 sub.MSVCRT.dll__ftol
cmp eax, 0xffff
jge 0x4bfd4f
test eax, eax
jge 0x4bfd48
xor eax, eax
jmp 0x4bfd54
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4bfd1c
cmp eax, 0xffff
jl 0x4bfd54
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 0x4bfd2a
mov edi, dword [esp + 0x18]
jmp 0x4bfd99
mov ecx, dword [ebx + 0x90]
test ecx, ecx
je 0x4bfd99
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 0x4bfdd3
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 0x4bfda9
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 0x4bfca8
mov eax, dword [esp + 0xc]
xor edx, edx
mov dx, word [ebx + 0x65fc]
inc eax
cmp eax, edx
mov dword [esp + 0xc], eax
jl 0x4bfc95
cmp dword [ebx + 0x6618], 4
jne 0x4bfe28
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x4bfe28
mov dword [ebx + 0x6618], 3
mov eax, dword [ebx + 0x90]
test eax, eax
je 0x4bfe46
mov eax, dword [ebx + 0x657c]
test eax, eax
je 0x4bfe46
mov dword [ebx + 0x6618], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret