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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x51b5e4
mov eax, dword fs:[0]
push eax
sub esp, 0x2e4
mov eax, dword [0x79b0b4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov ebx, dword [ebp + 8]
mov ecx, ebx
mov dword [ebp - 0x190], ebx
mov dword [ebp - 4], 0
call fcn.004912a0
cmp dword [0x79bf1c], 0x10
mov ecx, 0x79bf08
mov edx, eax
cmovae ecx, dword [0x79bf08]
cmp dword [eax + 0x14], 0x10
jb 0x4c06c7
mov edx, dword [eax]
mov esi, dword [eax + 0x10]
cmp esi, dword [0x79bf18]
jne 0x4c0e28
sub esi, 4
jb 0x4c06f1
nop dword [eax + eax]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4c06f6
add edx, 4
add ecx, 4
sub esi, 4
jae 0x4c06e0
cmp esi, 0xfffffffc
je 0x4c072a
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x4c0723
cmp esi, 0xfffffffd
je 0x4c072a
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x4c0723
cmp esi, 0xfffffffe
je 0x4c072a
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x4c0723
cmp esi, 0xffffffff
je 0x4c072a
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x4c072a
sbb eax, eax
or eax, 1
jmp 0x4c072c
xor eax, eax
test eax, eax
jne 0x4c0e28
mov ecx, dword [edi + 4]
cmp dword [ecx + 0xcc], 0xffffffff
jne 0x4c075c
mov ecx, dword [ecx + 0x3c]
mov eax, ecx
shr eax, 9
test al, 1
jne 0x4c0c83
shr ecx, 0xb
test cl, 1
je 0x4c0c9e
mov ecx, ebx
call fcn.00491310
cmp dword [eax], 1
jne 0x4c0cbf
mov ecx, dword [edi + 4]
push ebx
add ecx, 0x30
call fcn.0048e410
mov ecx, dword [edi + 4]
add ecx, 0x30
call fcn.0048fbd0
mov ecx, dword [edi + 4]
mov eax, dword [eax]
mov dword [ecx + 0x70], eax
mov ecx, dword [edi + 4]
add ecx, 0x30
call fcn.0048f370
mov edx, dword [edi + 4]
mov ebx, eax
mov dword [ebp - 0x188], ebx
mov ecx, dword [ebx]
mov dword [edx + 0x74], ecx
mov edx, dword [edi + 4]
mov ecx, dword [ebx + 8]
mov dword [edx + 0x78], ecx
mov ecx, dword [edi + 4]
mov eax, dword [ebx + 4]
mov dword [ecx + 0x7c], eax
mov ecx, dword [edi + 4]
mov eax, dword [ebx + 0xc]
mov dword [ecx + 0x80], eax
mov ebx, dword [edi + 4]
mov eax, dword [ebx + 0x80]
sub eax, dword [ebx + 0x7c]
inc eax
mov dword [ebp - 0x180], eax
mov eax, dword [ebx + 0x78]
sub eax, dword [ebx + 0x74]
inc eax
mov dword [ebp - 0x184], eax
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x180]
cdq
push edx
push eax
push ecx
push esi
call fcn.004639b0
test edx, edx
jne 0x4c081d
cmp eax, 0x10000000
ja 0x4c081d
push dword [ebp - 0x184]
lea ecx, [ebx + 0xe0]
push dword [ebp - 0x180]
call fcn.004c24d0
jmp 0x4c0824
mov byte [ebx + 0xdd], 1
mov ebx, dword [edi + 4]
xor ecx, ecx
mov edx, 4
mov esi, dword [ebx + 0x80]
sub esi, dword [ebx + 0x7c]
inc esi
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004635cb
add esp, 4
mov dword [ebp - 0x180], eax
push dword [ebx + 0xf0]
call fcn.00462b3a
mov eax, dword [ebp - 0x180]
add esp, 4
mov dword [ebx + 0xec], esi
mov dword [ebx + 0xf0], eax
mov ecx, dword [edi + 4]
add ecx, 0x30
call fcn.0048f250
mov ecx, dword [edi + 4]
add ecx, 0x30
push ecx
push 0
push dword [eax]
call fcn.00498210
add esp, 0xc
mov esi, eax
push esi
call fcn.004b2790
mov edx, dword [edi + 4]
add esp, 4
mov dword [edx + 0xc8], eax
test esi, esi
je 0x4c08b0
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0x188]
mov eax, dword [ecx + 0x7c]
dec eax
mov dword [ecx + 0x94], eax
mov esi, dword [edi + 4]
lea ebx, [esi + 0x84]
mov ecx, dword [esi + 0xc8]
mov eax, ecx
sub eax, dword [edx + 4]
add eax, dword [edx + 0xc]
cdq
idiv ecx
mov esi, dword [ebx]
mov ecx, eax
mov eax, dword [ebx + 4]
mov edx, eax
mov dword [ebp - 0x180], eax
sub edx, esi
sar edx, 3
cmp ecx, edx
jae 0x4c08fa
lea eax, [esi + ecx*8]
jmp 0x4c093b
jbe 0x4c093e
mov eax, dword [ebx + 8]
sub eax, esi
sar eax, 3
cmp ecx, eax
jbe 0x4c0919
lea eax, [ebp - 0x189]
push eax
push ecx
mov ecx, ebx
call fcn.00491c00
jmp 0x4c093e
sub ecx, edx
lea esi, [ecx*8]
push esi
push 0
push dword [ebp - 0x180]
call fcn.00464ad0
mov eax, dword [ebp - 0x180]
add esp, 0xc
add eax, esi
mov dword [ebx + 4], eax
xor ebx, ebx
mov esi, dword [edi + 4]
mov eax, dword [esi + 0xc0]
sub eax, dword [esi + 0xbc]
sar eax, 2
cmp ebx, eax
jae 0x4c0a00
push 0x60
call fcn.00462d48
mov esi, eax
add esp, 4
mov dword [ebp - 0x188], esi
mov byte [ebp - 4], 2
test esi, esi
je 0x4c09e8
push 0
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x20], 0
call fcn.004b2460
mov dword [esi + 0x24], eax
add esp, 4
mov dword [esi + 0x28], 0xffffffff
mov byte [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0xf
mov dword [esi + 0x48], 0
mov dword [esi + 0x4c], 0
mov dword [esi + 0x50], 0
push 1
lea ecx, [esi + 0x54]
mov byte [ebp - 4], 4
call fcn.004dab30
jmp 0x4c09ea
xor esi, esi
mov eax, dword [edi + 4]
mov byte [ebp - 4], 0
mov eax, dword [eax + 0xbc]
mov dword [eax + ebx*4], esi
inc ebx
jmp 0x4c0940
mov ebx, dword [esi + 0x80]
sub ebx, dword [esi + 0x7c]
inc ebx
push ebx
call fcn.004635cb
add esp, 4
mov dword [ebp - 0x188], eax
push dword [esi + 0xf8]
call fcn.00462b3a
mov eax, dword [ebp - 0x188]
add esp, 4
mov dword [esi + 0xf8], eax
xor ecx, ecx
mov dword [esi + 0xf4], ebx
mov esi, dword [edi + 4]
mov eax, dword [esi + 0x80]
sub eax, dword [esi + 0x7c]
inc eax
test eax, eax
jle 0x4c0a6c
nop dword [eax]
mov eax, dword [esi + 0xf8]
mov byte [ecx + eax], 0
inc ecx
mov esi, dword [edi + 4]
mov eax, dword [esi + 0x80]
sub eax, dword [esi + 0x7c]
inc eax
cmp ecx, eax
jl 0x4c0a50
mov eax, dword [esi + 0x80]
cdq
mov ebx, eax
mov ecx, edx
mov eax, dword [esi + 0x7c]
cdq
sub ebx, eax
mov eax, dword [esi + 0x78]
sbb ecx, edx
cdq
mov dword [ebp - 0x184], eax
add ebx, 1
mov eax, dword [esi + 0x74]
adc ecx, 0
mov dword [ebp - 0x180], edx
cdq
sub dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x180]
sbb eax, edx
mov dword [ebp - 0x188], ecx
add dword [ebp - 0x184], 1
adc eax, 0
mov dword [ebp - 0x180], eax
mov eax, dword [esi + 0xc8]
cdq
cmp ecx, edx
jg 0x4c0ad2
jl 0x4c0ace
cmp ebx, eax
jae 0x4c0ad2
mov eax, ebx
mov edx, ecx
push dword [ebp - 0x180]
push dword [ebp - 0x184]
push edx
push eax
call fcn.004639b0
shld edx, eax, 2
shl eax, 2
test edx, edx
jl 0x4c0b01
jg 0x4c0d2c
cmp eax, 0x7fffffff
ja 0x4c0d2c
mov dword [esi + 0x11c], eax
mov esi, dword [edi + 4]
mov ebx, dword [esi + 0x11c]
push ebx
call fcn.004635cb
add esp, 4
mov dword [ebp - 0x188], eax
push dword [esi + 0x110]
call fcn.00462b3a
mov eax, dword [ebp - 0x188]
add esp, 4
mov dword [esi + 0x10c], ebx
mov dword [esi + 0x110], eax
mov ecx, dword [edi + 4]
add ecx, 0x30
call fcn.0048f250
mov edx, dword [edi + 4]
lea ecx, [edx + 0x30]
push ecx
push dword [edx + 0x11c]
push dword [eax]
call fcn.00498210
mov ecx, dword [edi + 4]
add esp, 0xc
mov dword [ecx + 0x114], eax
mov eax, dword [edi + 4]
mov edx, dword [eax + 0x98]
lea ebx, [eax + 0x98]
mov esi, dword [eax + 0x80]
sub esi, dword [eax + 0x7c]
mov eax, dword [ebx + 4]
inc esi
mov ecx, eax
mov dword [ebp - 0x180], eax
sub ecx, edx
sar ecx, 2
cmp esi, ecx
jae 0x4c0b9c
lea eax, [edx + esi*4]
jmp 0x4c0bd9
jbe 0x4c0bdc
mov eax, dword [ebx + 8]
sub eax, edx
sar eax, 2
cmp esi, eax
jbe 0x4c0bbb
lea eax, [ebp - 0x189]
mov ecx, ebx
push eax
push esi
call fcn.004b02b0
jmp 0x4c0bdc
sub esi, ecx
shl esi, 2
push esi
push 0
push dword [ebp - 0x180]
call fcn.00464ad0
mov eax, dword [ebp - 0x180]
add esp, 0xc
add eax, esi
mov dword [ebx + 4], eax
mov ecx, dword [ebp - 0x190]
call fcn.0048f140
mov ecx, dword [edi + 4]
mov esi, eax
lea eax, [ebp - 0x180]
push eax
mov dword [ecx + 0x118], 0
mov ecx, esi
call fcn.0048f130
lea eax, [ebp - 0x190]
mov ecx, esi
push eax
call fcn.0048f3d0
mov ecx, dword [ebp - 0x180]
cmp ecx, dword [eax]
je 0x4c0c65
mov eax, dword [ecx + 0x110]
sub eax, 0
je 0x4c0c4e
sub eax, 1
je 0x4c0c37
sub eax, 1
jne 0x4c0db6
jmp 0x4c0c4e
mov eax, dword [edi + 4]
lea ecx, [ebp - 0x180]
add dword [eax + 0x118], 2
call fcn.004484f0
jmp 0x4c0c04
mov eax, dword [edi + 4]
lea ecx, [ebp - 0x180]
add dword [eax + 0x118], 4
call fcn.004484f0
jmp 0x4c0c04
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00462b2c
mov esp, ebp
pop ebp
ret 4
push str.Expected_a_deep_scanline_file_but_the_file_is_tiled.
lea ecx, [ebp - 0x50]
call fcn.004d49d0
push 0x795bb4
lea eax, [ebp - 0x50]
push eax
call fcn.004644df
push str.Expected_a_deep_scanline_file_but_the_file_is_not_a_deep_image.
lea ecx, [ebp - 0x8c]
call fcn.004d49d0
push 0x795bb4
lea eax, [ebp - 0x8c]
push eax
call fcn.004644df
call fcn.004d8870
push 1
lea ecx, [ebp - 0x240]
call fcn.0048ded0
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.00491310
mov esi, eax
lea eax, [ebp - 0x230]
push str.Version
push eax
call fcn.0042e410
add esp, 8
mov ecx, eax
push dword [esi]
call fcn.0048e4c0
push str._not_supported_for_deepscanline_images_in_this_version_of_the_library
push eax
call fcn.0042e410
add esp, 8
lea eax, [ebp - 0x240]
lea ecx, [ebp - 0xc8]
push eax
call fcn.004d4920
push 0x795bb4
lea eax, [ebp - 0xc8]
push eax
call fcn.004644df
call fcn.004d8870
push 1
lea ecx, [ebp - 0x240]
call fcn.0048ded0
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 5
push str.Deep_scanline_image_size
push eax
call fcn.0042e410
add esp, 8
mov ecx, eax
push dword [ebp - 0x180]
push dword [ebp - 0x184]
call fcn.004acee0
push 0x6d0fa4
push eax
call fcn.0042e410
add esp, 8
mov ecx, eax
push dword [ebp - 0x188]
push ebx
call fcn.004acee0
push str._exceeds_maximum_size
push eax
call fcn.0042e410
add esp, 8
lea eax, [ebp - 0x240]
lea ecx, [ebp - 0x104]
push eax
call fcn.004d4920
push 0x795bb4
lea eax, [ebp - 0x104]
push eax
call fcn.004644df
call fcn.004d8870
push 1
lea ecx, [ebp - 0x2f0]
call fcn.0048ded0
lea eax, [ebp - 0x2e0]
mov byte [ebp - 4], 6
push str.Bad_type_for_channel
push eax
call fcn.0042e410
add esp, 8
lea ecx, [ebp - 0x180]
mov esi, eax
call fcn.0048eb20
push eax
push esi
call fcn.0042e410
add esp, 8
push str._initializing_deepscanline_reader
push eax
call fcn.0042e410
add esp, 8
lea eax, [ebp - 0x2f0]
lea ecx, [ebp - 0x140]
push eax
call fcn.004d4920
push 0x795bb4
lea eax, [ebp - 0x140]
push eax
call fcn.004644df
push str.Cant_build_a_DeepScanLineInputFile_from_a_type_mismatched_part.
lea ecx, [ebp - 0x17c]
call fcn.004d49d0
push 0x795bb4
lea eax, [ebp - 0x17c]
push eax
call fcn.004644df
push 0
push 0
call fcn.004644df
int3