Function at 0x4e16d0
Capabilities:
Enumerate pe sections

Disassembly:
push esi
mov esi, dword [esp + 0x20]
push edi
mov edi, dword [esp + 0x20]
mov eax, edi
or eax, esi
jge 0x4e16f1
mov ecx, dword [esp + 0xc]
pop edi
mov dword [ecx], 0
xor eax, eax
pop esi
ret 0x1c
mov eax, edi
cdq
and edx, 0x3fff
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3fff
add eax, edx
push ebx
sar ecx, 0xe
sar eax, 0xe
and edi, 0x80003fff
push ebp
jns 0x4e1721
dec edi
or edi, 0xffffc000
inc edi
and esi, 0x80003fff
jns 0x4e1731
dec esi
or esi, 0xffffc000
inc esi
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
sub ebx, ecx
sub edx, eax
mov dword [esp + 0x28], ebx
dec ebx
lea ebp, [edx - 1]
or ebx, ebp
or ebx, eax
or ebx, ecx
jge 0x4e1760
mov edx, dword [esp + 0x14]
pop ebp
pop ebx
pop edi
mov dword [edx], 0
xor eax, eax
pop esi
ret 0x1c
mov ebx, dword [esp + 0x28]
add ebx, 0xfffffffe
add edx, 0xfffffffe
or ebx, edx
jge 0x4e18f1
mov ebx, dword [esp + 0x20]
lea edx, [eax + 1]
cmp edx, ebx
jl 0x4e1843
mov esi, dword [esp + 0x1c]
imul eax, dword [esp + 0x24]
lea edx, [ecx + 1]
cmp edx, esi
mov edx, dword [esp + 0x18]
jl 0x4e17ac
pop ebp
add eax, edx
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x10]
pop ebx
pop edi
mov dword [ecx], eax
mov eax, 1
pop esi
ret 0x1c
add eax, edx
movzx edx, byte [eax + ecx*4 + 6]
lea ecx, [eax + ecx*4]
imul edx, edi
movzx eax, byte [ecx + 2]
mov ebx, dword [esp + 0x14]
mov esi, 0x4000
sub esi, edi
imul eax, esi
add eax, edx
cdq
and edx, 0x3fff
add eax, edx
movzx edx, byte [ecx + 5]
sar eax, 0xe
imul edx, edi
mov byte [ebx + 2], al
movzx eax, byte [ecx + 1]
imul eax, esi
add eax, edx
cdq
and edx, 0x3fff
add eax, edx
movzx edx, byte [ecx]
sar eax, 0xe
imul edx, esi
mov byte [ebx + 1], al
movzx eax, byte [ecx + 4]
imul eax, edi
add eax, edx
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
mov byte [ebx], al
movzx eax, byte [ecx + 3]
movzx ecx, byte [ecx + 7]
imul eax, esi
imul ecx, edi
add eax, ecx
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
pop ebp
mov byte [ebx + 3], al
pop ebx
pop edi
mov eax, 1
pop esi
ret 0x1c
mov ebx, dword [esp + 0x24]
imul eax, ebx
imul edx, ebx
mov ebp, dword [esp + 0x18]
shl ecx, 2
add eax, ecx
add eax, ebp
mov edi, eax
movzx eax, byte [edi + 2]
add edx, ecx
add edx, ebp
mov ebx, edx
movzx edx, byte [ebx + 2]
mov ebp, dword [esp + 0x14]
imul edx, esi
mov ecx, 0x4000
sub ecx, esi
imul eax, ecx
add eax, edx
cdq
and edx, 0x3fff
add eax, edx
movzx edx, byte [ebx + 1]
sar eax, 0xe
imul edx, esi
mov byte [ebp + 2], al
movzx eax, byte [edi + 1]
imul eax, ecx
add eax, edx
cdq
and edx, 0x3fff
add eax, edx
movzx edx, byte [ebx]
sar eax, 0xe
imul edx, esi
mov byte [ebp + 1], al
movzx eax, byte [edi]
imul eax, ecx
add eax, edx
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
mov byte [ebp], al
movzx eax, byte [edi + 3]
imul eax, ecx
movzx ecx, byte [ebx + 3]
imul ecx, esi
add eax, ecx
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
mov byte [ebp + 3], al
pop ebp
pop ebx
pop edi
mov eax, 1
pop esi
ret 0x1c
mov edx, dword [esp + 0x24]
imul eax, edx
push esi
push edi
mov edi, dword [esp + 0x20]
push edx
add eax, edi
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x20]
push edx
push eax
call sym.vidcap60.exe__SfGetSubPixel32Fast_20
pop ebp
pop ebx
pop edi
mov eax, 1
pop esi
ret 0x1c