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

Disassembly:
sub esp, 0x80
push ebx
mov ebx, dword [esp + 0x88]
push esi
push ebx
call sym.vidcap60.exe__SfGetPixelType_4
mov esi, eax
cmp esi, 0x17
mov dword [esp + 0x14], esi
jl 0x4e064c
cmp esi, 0x20
jg 0x4e064c
mov eax, dword [esp + 0x90]
test eax, eax
jne 0x4e036e
push ebx
call fcn.00423880
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x98]
test eax, eax
jne 0x4e0394
movzx eax, word [ebx + 0xe]
imul eax, dword [ebx + 4]
add eax, 0x1f
and eax, 0xffffffe0
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, dword [ebx + 4]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 8]
push eax
push ecx
push 0
push 0
lea edx, [esp + 0x3c]
push edx
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x4e03dc
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
jmp 0x4e03ed
push eax
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x24]
push edx
call dword [sym.imp.USER32.dll_IntersectRect]
lea eax, [esp + 8]
push eax
push esi
call sym.vidcap60.exe__SfGetPixelBitsPerChannel_8
test eax, eax
mov dword [esp + 0x18], eax
jne 0x4e0410
pop esi
mov eax, 0x80070057
pop ebx
add esp, 0x80
ret 0x28
push edi
mov edi, dword [esp + 0xa0]
test edi, edi
je 0x4e043a
mov cl, byte [esp + 0xe]
mov edx, 1
shl edx, cl
xor eax, eax
shl edx, 2
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [esp + 0xa4]
test edi, edi
mov edx, dword [esp + 0xc]
je 0x4e0467
mov cl, dh
mov eax, 1
shl eax, cl
shl eax, 2
mov ecx, eax
mov esi, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [esp + 0xa8]
test edi, edi
je 0x4e0490
mov cl, dl
mov eax, 1
shl eax, cl
shl eax, 2
mov ecx, eax
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
push ebp
mov ebp, dword [esp + 0xb0]
test ebp, ebp
je 0x4e04be
mov cl, byte [esp + 0x13]
mov eax, 1
shl eax, cl
mov edi, ebp
shl eax, 2
mov ecx, eax
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [esp + 0xb8]
test edi, edi
je 0x4e04e9
mov cl, byte [esp + 0x12]
mov eax, 1
shl eax, cl
shl eax, 2
mov ecx, eax
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x28]
sub ecx, eax
sub esi, edi
test ecx, ecx
jle 0x4e063d
test esi, esi
jle 0x4e063d
mov edx, dword [esp + 0x1c]
mov edx, dword [edx*4 + 0x5eb14c]
test edx, edx
mov dword [esp + 0x1c], edx
jne 0x4e0532
pop ebp
pop edi
pop esi
mov eax, 0x80004001
pop ebx
add esp, 0x80
ret 0x28
imul eax, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov edi, dword [ebx + 8]
mov dword [esp + 0x48], edx
sub edi, dword [esp + 0x30]
imul edi, dword [esp + 0x18]
cdq
and edx, 7
add eax, edx
mov edx, dword [esp + 0x14]
sar eax, 3
add edi, edx
add eax, edi
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x24]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0x20]
test eax, eax
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], ecx
je 0x4e058d
mov edx, dword [ebx]
add edx, ebx
mov dword [esp + 0x60], edx
jmp 0x4e0595
mov dword [esp + 0x60], 0
mov edx, dword [esp + 0xa4]
test edx, edx
mov esi, 0x62363c
mov dword [esp + 0x78], edx
jne 0x4e05ad
mov dword [esp + 0x78], esi
mov ecx, dword [esp + 0xa8]
test ecx, ecx
mov dword [esp + 0x7c], ecx
jne 0x4e05c0
mov dword [esp + 0x7c], esi
mov eax, dword [esp + 0xac]
test eax, eax
mov dword [esp + 0x80], eax
jne 0x4e05d9
mov dword [esp + 0x80], esi
test ebp, ebp
mov dword [esp + 0x84], ebp
jne 0x4e05eb
mov dword [esp + 0x84], esi
mov esi, dword [esp + 0xb4]
neg edx
sbb edx, edx
neg ecx
sbb ecx, ecx
neg eax
sbb eax, eax
mov dword [esp + 0x6c], eax
neg ebp
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0xb8]
lea eax, [esp + 0x44]
sbb ebp, ebp
push eax
mov dword [esp + 0x90], esi
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x74], ebp
call dword [esp + 0x20]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x80
ret 0x28
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x80
ret 0x28
pop esi
mov eax, 0x80004001
pop ebx
add esp, 0x80
ret 0x28