Function at 0x49cb14
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x994
mov eax, dword [0xee37e4]
xor eax, esp
mov dword [esp + 0x990], eax
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
push ebx
push esi
mov dword [esp + 0x70], eax
xor ebx, ebx
mov eax, dword [ebp + 0x18]
mov esi, ebx
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x8c], eax
push 0x20
pop eax
mov ecx, esi
sar eax, cl
cmp eax, edi
jle 0x49cb65
inc esi
cmp esi, 5
jl 0x49cb54
xor eax, eax
mov dword [esp + 0x14], esi
inc eax
mov ecx, esi
shl eax, cl
mov dword [esp + 0x5c], eax
push 0x20
pop eax
sar eax, cl
cmp edi, eax
jne 0x49d1b3
mov ecx, edx
call fcn.004967fb
test al, al
je 0x49cbb4
push ecx
push ebx
push 0x2ee
push str.C:Userskjk_src_sumatrapdfextlibdjvuIW44Image.cpp
push 0xe85ff8
lea ecx, [esp + 0x3c]
call fcn.004bef54
push 0xedebc0
lea eax, [esp + 0x2c]
jmp 0x49d1d6
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov eax, dword [ecx + 4]
dec eax
mov ecx, dword [ecx + 8]
add eax, edi
cdq
idiv edi
mov dword [esp + 0x30], eax
lea eax, [edi - 1]
add eax, ecx
cdq
idiv edi
mov edx, eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x34], edx
cmp dword [eax], ebx
jl 0x49d18e
cmp dword [eax + 4], ebx
jl 0x49d18e
mov ecx, dword [esp + 0x30]
cmp dword [eax + 8], ecx
jg 0x49d18e
cmp dword [eax + 0xc], edx
jg 0x49d18e
push 8
pop ecx
mov edx, ecx
lea eax, [esp + 0xa0]
mov dword [eax - 8], ebx
mov dword [eax - 4], ebx
mov dword [eax], ebx
lea eax, [eax + 0x10]
mov dword [eax - 0xc], ebx
sub edx, 1
jne 0x49cc15
lea eax, [esp + 0x120]
mov dword [eax - 8], ebx
mov dword [eax - 4], ebx
mov dword [eax], ebx
lea eax, [eax + 0x10]
mov dword [eax - 0xc], ebx
sub ecx, 1
jne 0x49cc2f
mov eax, esi
mov dword [esp + 0x24], 1
mov esi, dword [esp + 0x70]
lea edi, [esp + 0x98]
shl eax, 4
add edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x70]
lea edi, [esp + 0x118]
add edi, eax
mov eax, dword [esp + 0x14]
sub eax, 1
mov dword [esp + 0x20], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
js 0x49cd5f
mov edx, eax
shl edx, 4
mov dword [esp + 0x1c], edx
lea edi, [esp + 0x98]
add edi, edx
lea esi, [esp + 0x128]
add esi, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x24]
lea esi, [esp + 0x98]
imul ecx, edi, 3
add esi, edx
sub dword [esi], ecx
add dword [esp + edx + 0xa0], ecx
sub dword [esp + edx + 0x9c], ecx
add dword [esp + edx + 0xa4], ecx
mov ecx, esi
call fcn.004967fb
test al, al
je 0x49ccea
mov dword [esp + edx + 0xa4], ebx
mov dword [esp + edx + 0xa0], ebx
mov dword [esp + edx + 0x9c], ebx
mov dword [esi], ebx
lea eax, [esp + 0x28]
mov ecx, esi
push eax
push esi
call fcn.004ab7ee
mov edx, dword [esp + 0x1c]
add edi, edi
mov eax, dword [esi]
dec eax
mov dword [esp + 0x24], edi
add eax, edi
lea ecx, [edi - 1]
not ecx
and eax, ecx
mov dword [esp + edx + 0x118], eax
mov eax, ecx
and eax, dword [esp + edx + 0xa0]
mov dword [esp + edx + 0x120], eax
mov eax, dword [esp + edx + 0x9c]
dec eax
add eax, edi
and eax, ecx
mov dword [esp + edx + 0x11c], eax
mov eax, dword [esp + edx + 0xa4]
and eax, ecx
mov dword [esp + edx + 0x124], eax
sub edx, 0x10
mov eax, dword [esp + 0x20]
dec eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
test eax, eax
jns 0x49cc8b
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0xa0]
push 2
lea ecx, [esi - 1]
not ecx
mov edx, ecx
mov eax, ecx
and eax, dword [esp + 0xa0]
and edx, dword [esp + 0x9c]
dec edi
mov dword [esp + 0x4c], eax
and edi, ecx
mov eax, dword [esp + 0xa8]
add edi, esi
dec eax
mov dword [esp + 0x84], edi
and eax, ecx
mov dword [esp + 0x50], edx
add eax, esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x54], eax
sub edi, edx
sub eax, dword [esp + 0x4c]
imul eax, edi
mov dword [esp + 0x48], edi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.004b5791
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
sar edx, cl
mov eax, dword [eax + 0xc]
sar eax, 5
imul edx, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4c]
sar eax, cl
add edx, eax
mov eax, dword [esp + 0x10]
shl edx, 4
add edx, dword [eax]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x84], edx
cmp eax, dword [esp + 0x50]
jge 0x49cfb3
shl dword [esp + 0x20], 4
mov dword [esp + 0x40], edi
shl dword [esp + 0x40], cl
shl dword [esp + 0x40], 1
mov dword [esp + 0x10], eax
add eax, 0x1f
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], eax
cmp eax, dword [esp + 0x80]
jge 0x49cf7e
mov edx, eax
mov dword [esp + 0x18], ecx
cmp ecx, 2
jle 0x49ce8f
lea eax, [edx + 0x1f]
cmp eax, dword [esp + 0xb8]
jl 0x49ce8a
cmp edx, dword [esp + 0xc0]
jg 0x49ce8a
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0xbc]
jl 0x49ce8a
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0xc4]
jle 0x49ce8f
push 2
pop edx
jmp 0x49ce93
mov edx, dword [esp + 0x18]
xor eax, eax
sub ecx, edx
inc eax
shl eax, cl
mov dword [esp + 0x54], eax
mov eax, edi
shl eax, cl
mov ecx, edx
mov dword [esp + 0x78], eax
push 0x20
pop eax
sar eax, cl
lea ecx, [edx + edx]
mov dword [esp + 0x18], eax
xor eax, eax
inc eax
shl eax, cl
add eax, 0xf
sar eax, 4
push eax
push ecx
mov ecx, dword [esp + 0x70]
lea eax, [esp + 0x1a0]
push eax
call fcn.0049c70b
mov eax, dword [esp + 0x64]
lea edx, [esp + 0x198]
mov dword [esp + 0x88], eax
mov dword [esp + 0x7c], ebx
test esi, esi
jle 0x49cf4c
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x88]
lea ecx, [eax + eax]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x78]
add ecx, ecx
shl eax, 6
mov dword [esp + 0x78], ecx
mov dword [esp + 0x18], eax
mov ecx, ebx
mov ebx, dword [esp + 0x54]
mov ax, word [edx]
add edx, dword [esp + 0x58]
mov word [edi + ecx*2], ax
add ecx, ebx
cmp ecx, esi
jl 0x49cf15
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x18]
add ecx, ebx
add edi, dword [esp + 0x78]
add eax, 0xffffffc0
add edx, eax
mov dword [esp + 0x7c], ecx
push 0
pop ebx
cmp ecx, esi
jl 0x49cf0f
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
lea eax, [eax + esi*2]
add dword [esp + 0x68], 0x10
add edx, esi
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x64], eax
mov dword [esp + 0x6c], edx
cmp edx, dword [esp + 0x80]
jl 0x49ce52
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x1c]
add ecx, dword [esp + 0x40]
add edx, dword [esp + 0x20]
add dword [esp + 0x10], esi
add dword [esp + 0x24], esi
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x50]
cmp dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x84], edx
jl 0x49ce2f
mov eax, dword [esp + 0x48]
test ecx, ecx
jle 0x49d0c3
mov edx, dword [esp + 0x4c]
mov ecx, eax
neg ecx
lea eax, [esp + 0x98]
neg edx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], eax
mov esi, eax
lea edi, [esp + 0x28]
push ecx
push edx
lea ecx, [esp + 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x64]
lea eax, [edi - 1]
not eax
and dword [esp + 0x30], eax
and dword [esp + 0x34], eax
call fcn.004ab7b2
cmp dword [ebp + 0x1c], 0
je 0x49d009
cmp ebx, 4
jge 0x49d060
mov eax, dword [esp + 0x34]
mov esi, edi
mov ecx, dword [esp + 0x2c]
sub eax, ecx
mov edx, dword [esp + 0x30]
sub edx, dword [esp + 0x28]
sar esi, 1
push esi
push edi
mov edi, dword [esp + 0x4c]
imul ecx, edi
push edi
push eax
mov eax, dword [esp + 0x70]
add ecx, dword [esp + 0x38]
lea ecx, [eax + ecx*2]
call fcn.0049e2a4
mov eax, dword [esp + 0x60]
add esp, 0x10
inc ebx
mov dword [esp + 0x5c], esi
add eax, 0x10
mov dword [esp + 0x50], eax
cmp ebx, dword [esp + 0x14]
jge 0x49d0c3
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
jmp 0x49cfd8
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x60]
imul ecx, ebx
lea edi, [eax + ecx*2]
mov ecx, dword [esp + 0x34]
cmp dword [esp + 0x2c], ecx
jge 0x49d0c7
sub ecx, dword [esp + 0x2c]
mov eax, ebx
ret
shl eax, 2
dec ecx
shr ecx, 1
inc ecx
mov edx, dword [esp + 0x28]
cmp edx, dword [esp + 0x30]
jge 0x49d0ba
lea eax, [edx + ebx]
lea esi, [edi + eax*2]
movzx eax, word [edi + edx*2]
mov word [edi + edx*2 + 2], ax
add edx, 2
mov word [esi + 2], ax
mov word [esi], ax
lea esi, [esi + 4]
cmp edx, dword [esp + 0x30]
jl 0x49d099
mov eax, ebx
shl eax, 2
add edi, eax
sub ecx, 1
jne 0x49d089
jmp 0x49d0c7
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x70]
lea edi, [esp + 0x28]
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x28]
neg eax
push eax
mov eax, dword [esp + 0x50]
movsd dword es:[edi], dword [esi]
neg eax
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004ab7b2
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x34]
imul ecx, ebx
lea edi, [eax + ecx*2]
cmp dword [esp + 0x2c], edx
jge 0x49d168
mov eax, dword [esp + 0x74]
add ebx, ebx
sub edx, dword [esp + 0x2c]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], 0x7f
mov ecx, dword [esp + 0x28]
mov esi, eax
cmp ecx, dword [esp + 0x30]
jge 0x49d15a
mov ebx, dword [esp + 0x8c]
movsx eax, word [edi + ecx*2]
add eax, 0x20
sar eax, 6
cmp eax, 0xffffff80
jge 0x49d13f
push 0xffffffffffffff80
pop eax
jmp 0x49d147
cmp eax, 0x7f
cmovg eax, dword [esp + 0x58]
mov byte [esi], al
inc ecx
add esi, ebx
cmp ecx, dword [esp + 0x30]
jl 0x49d12b
mov ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x74]
add eax, dword [ebp + 0x14]
add edi, ebx
mov dword [esp + 0x74], eax
sub edx, 1
jne 0x49d118
mov eax, dword [esp + 0x90]
push dword [eax]
call fcn.006f3e36
pop ecx
mov ecx, dword [esp + 0x99c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.006f3e28
mov esp, ebp
pop ebp
ret 0x18
push ecx
push ebx
push 0x2f1
push str.C:Userskjk_src_sumatrapdfextlibdjvuIW44Image.cpp
push 0xe86010
lea ecx, [esp + 0x3c]
call fcn.004bef54
push 0xedebc0
lea eax, [esp + 0x2c]
jmp 0x49d1d6
push ecx
push ebx
push 0x2ec
push str.C:Userskjk_src_sumatrapdfextlibdjvuIW44Image.cpp
push 0xe8605c
lea ecx, [esp + 0x3c]
call fcn.004bef54
push 0xedebc0
lea eax, [esp + 0x2c]
push eax
call fcn.006f5b8c
int3