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

Disassembly:
push ebx
mov ebx, dword [esp + 8]
push ebp
push esi
push edi
mov edi, dword [esp + 0x18]
xor ebp, ebp
cmp dword [edi + 0x18], 0x65646976
jne 0x10047a19
push edi
push ebx
call fcn.10048ed3
pop ecx
pop ecx
imul ecx, dword [edi + 0x14], 0x78
mov esi, eax
mov eax, dword [edi + 0xc]
cmp dword [ecx + eax], ebp
je 0x10047bb7
push dword [ecx + eax]
call sym.gstreamer_lite.dll_Ordinal_92
pop ecx
imul ecx, dword [edi + 0x14], 0x78
mov edx, eax
mov eax, dword [edi + 0xc]
mov dword [ecx + eax], edx
mov ecx, dword [edi + 0x14]
mov edx, dword [edi + 0xc]
imul eax, ecx, 0x78
add eax, edx
cmp dword [eax + 0xc], ebp
je 0x1004780e
cmp dword [eax + 0x10], ebp
je 0x1004780e
push ebp
push dword [eax + 0x10]
push 0x18
push str.height
push dword [eax + 0xc]
push 0x18
push str.width
push dword [eax]
call sym.gstreamer_lite.dll_Ordinal_34
mov ecx, dword [edi + 0x14]
add esp, 0x20
mov edx, dword [edi + 0xc]
test esi, esi
je 0x10047835
mov eax, dword [sym.gstreamer_lite.dll_Ordinal_3]
imul ecx, ecx, 0x78
push ebp
push dword [ecx + edx + 0x20]
push dword [ecx + edx + 0x1c]
push dword [eax]
push str.framerate
push dword [ecx + edx]
call sym.gstreamer_lite.dll_Ordinal_34
add esp, 0x18
imul ecx, dword [edi + 0x14], 0x78
mov edx, dword [edi + 0xc]
mov esi, dword [ecx + edx + 0x14]
test esi, esi
jle 0x10047860
mov eax, dword [ecx + edx + 0x18]
test eax, eax
jle 0x10047860
push ebp
push eax
mov eax, dword [sym.gstreamer_lite.dll_Ordinal_3]
push esi
push dword [eax]
push str.pixel_aspect_ratio
push dword [ecx + edx]
jmp 0x100478ba
cmp dword [edi + 0x74], ebp
jle 0x100478c2
cmp dword [edi + 0x78], ebp
jle 0x100478c2
mov esi, dword [ecx + edx + 0xc]
test esi, esi
jle 0x100478c2
mov eax, dword [ecx + edx + 0x10]
test eax, eax
jle 0x100478c2
imul eax, dword [edi + 0x74]
imul esi, dword [edi + 0x78]
cmp eax, esi
jne 0x1004788c
xor esi, esi
xor eax, eax
inc esi
inc eax
mov dword [ecx + edx + 0x14], eax
imul ecx, dword [edi + 0x14], 0x78
mov eax, dword [edi + 0xc]
push ebp
mov dword [ecx + eax + 0x18], esi
imul edx, dword [edi + 0x14], 0x78
mov ecx, dword [edi + 0xc]
mov eax, dword [sym.gstreamer_lite.dll_Ordinal_3]
push dword [edx + ecx + 0x18]
push dword [edx + ecx + 0x14]
push dword [eax]
push str.pixel_aspect_ratio
push dword [edx + ecx]
call sym.gstreamer_lite.dll_Ordinal_34
add esp, 0x18
imul ecx, dword [edi + 0x14], 0x78
mov edx, dword [edi + 0xc]
push 0x40
pop esi
mov eax, dword [ecx + edx + 0x3c]
test eax, eax
je 0x1004793a
cmp eax, 1
jne 0x100478ea
push ebp
push str.progressive
push esi
push str.interlace_mode
push dword [ecx + edx]
jmp 0x10047932
cmp eax, 2
jne 0x1004793a
push ebp
push str.interleaved
push esi
push str.interlace_mode
push dword [ecx + edx]
call sym.gstreamer_lite.dll_Ordinal_34
imul eax, dword [edi + 0x14], 0x78
add esp, 0x14
mov ecx, dword [edi + 0xc]
cmp dword [eax + ecx + 0x40], 9
jne 0x1004791c
push ebp
push str.top_field_first
jmp 0x10047929
cmp dword [eax + ecx + 0x40], 0xe
jne 0x1004793a
push ebp
push str.bottom_field_first
push esi
push str.field_order
push dword [eax + ecx]
call sym.gstreamer_lite.dll_Ordinal_34
add esp, 0x14
imul eax, dword [edi + 0x14], 0x78
mov ecx, dword [edi + 0xc]
lea edx, [ecx + 0x24]
add edx, eax
cmp dword [edx], ebp
jne 0x1004795c
cmp dword [eax + ecx + 0x28], ebp
jne 0x1004795c
cmp dword [eax + ecx + 0x2c], ebp
jne 0x1004795c
cmp dword [eax + ecx + 0x30], ebp
je 0x10047985
push edx
call fcn.1006ff90
imul ecx, dword [edi + 0x14], 0x78
mov esi, eax
mov eax, dword [edi + 0xc]
push ebp
push esi
push 0x40
push str.colorimetry
push dword [ecx + eax]
call sym.gstreamer_lite.dll_Ordinal_34
push esi
call sub.glib_lite.dll_Ordinal_110
add esp, 0x1c
mov edx, dword [edi + 0x308]
cmp edx, 0xffffffff
je 0x10047bb7
mov ecx, dword [edi + 0xc]
xor eax, eax
inc eax
mov ebp, eax
imul eax, dword [edi + 0x14], 0x78
cmp dword [eax + ecx + 0x14], 0
jle 0x100479b5
mov esi, dword [eax + ecx + 0x18]
test esi, esi
jle 0x100479b5
mov ebp, dword [eax + ecx + 0x14]
jmp 0x100479b7
mov esi, ebp
push esi
push ebp
push dword [eax + ecx + 0x10]
push dword [eax + ecx + 0xc]
push edx
call fcn.1006185a
add esp, 0x14
test eax, eax
je 0x100479d8
or dword [edi + 0x30c], 0x4000
xor ebp, ebp
push ebp
push 0xffffffffffffffff
push dword [edi + 0x30c]
call fcn.10070c1c
push eax
push str.multiview_flags
push dword [edi + 0x308]
call fcn.10070ce3
pop ecx
imul ecx, dword [edi + 0x14], 0x78
push eax
mov eax, dword [edi + 0xc]
push 0x40
push str.multiview_mode
push dword [ecx + eax]
call sym.gstreamer_lite.dll_Ordinal_34
add esp, 0x24
jmp 0x10047bb7
cmp dword [edi + 0x18], 0x6e756f73
jne 0x10047ac6
imul ecx, dword [edi + 0x14], 0x78
mov eax, dword [edi + 0xc]
cmp dword [ecx + eax], ebp
je 0x10047bb7
push dword [ecx + eax]
call sym.gstreamer_lite.dll_Ordinal_92
pop ecx
imul ecx, dword [edi + 0x14], 0x78
mov edx, eax
mov eax, dword [edi + 0xc]
mov dword [ecx + eax], edx
imul ecx, dword [edi + 0x14], 0x78
mov edx, dword [edi + 0xc]
movsd xmm0, qword [ecx + edx + 0x48]
comisd xmm0, xmmword [0x10093b20]
jbe 0x10047a7a
cvttsd2si eax, xmm0
push ebp
push eax
push 0x18
push str.rate
push dword [ecx + edx]
call sym.gstreamer_lite.dll_Ordinal_34
add esp, 0x14
imul eax, dword [edi + 0x14], 0x78
mov ecx, dword [edi + 0xc]
mov edx, dword [eax + ecx + 0x50]
test edx, edx
jle 0x10047a9d
push ebp
push edx
push 0x18
push str.channels
push dword [eax + ecx]
call sym.gstreamer_lite.dll_Ordinal_34
add esp, 0x14
imul ecx, dword [edi + 0x14], 0x78
mov edx, dword [edi + 0xc]
cmp dword [ecx + edx + 0x50], 2
jle 0x10047bb7
mov eax, dword [0x100b7dcc]
push ebp
push ebp
push ebp
push dword [eax]
push str.channel_mask
push dword [ecx + edx]
jmp 0x10047baf
cmp dword [edi + 0x18], 0x70636c63
jne 0x10047bb7
imul ecx, dword [edi + 0x14], 0x78
mov eax, dword [edi + 0xc]
cmp dword [ecx + eax], ebp
je 0x10047bb7
push ebp
push dword [ecx + eax]
mov esi, ebp
call sym.gstreamer_lite.dll_Ordinal_32
push str.closedcaption_x_cea_608
push eax
call sym.gstreamer_lite.dll_Ordinal_162
add esp, 0x10
test eax, eax
je 0x10047b67
mov eax, dword [ebx + 0xd0]
mov ecx, ebp
mov edx, dword [eax + 4]
test edx, edx
je 0x10047b72
mov eax, dword [eax]
mov ebp, dword [eax]
cmp dword [ebp + 0x18], 0x65646976
je 0x10047b26
inc ecx
add eax, 4
cmp ecx, edx
jb 0x10047b11
jmp 0x10047b63
push ebp
push ebx
call fcn.10048ed3
imul esi, dword [ebp + 0x14], 0x78
imul edx, dword [edi + 0x14], 0x78
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0xc]
pop ecx
pop ecx
mov ecx, dword [edi + 0xc]
mov eax, dword [esi + eax + 0x1c]
mov dword [edx + ecx + 0x1c], eax
imul esi, dword [ebp + 0x14], 0x78
imul edx, dword [edi + 0x14], 0x78
mov eax, dword [ebp + 0xc]
mov ecx, dword [edi + 0xc]
mov eax, dword [esi + eax + 0x20]
mov esi, dword [esp + 0x18]
mov dword [edx + ecx + 0x20], eax
xor ebp, ebp
jmp 0x10047b72
push edi
push ebx
call fcn.10048ed3
pop ecx
pop ecx
mov esi, eax
imul ecx, dword [edi + 0x14], 0x78
mov eax, dword [edi + 0xc]
push dword [ecx + eax]
call sym.gstreamer_lite.dll_Ordinal_92
imul edx, dword [edi + 0x14], 0x78
pop ecx
mov ecx, dword [edi + 0xc]
mov dword [edx + ecx], eax
test esi, esi
je 0x10047bb7
imul edx, dword [edi + 0x14], 0x78
mov ecx, dword [edi + 0xc]
mov eax, dword [sym.gstreamer_lite.dll_Ordinal_3]
push ebp
push dword [edx + ecx + 0x20]
push dword [edx + ecx + 0x1c]
push dword [eax]
push str.framerate
push dword [edx + ecx]
call sym.gstreamer_lite.dll_Ordinal_34
add esp, 0x18
mov eax, dword [edi]
test eax, eax
je 0x10047d41
push ebp
push ebp
mov dword [eax + 0x40], edi
push 0x10049cef
push dword [edi]
call sym.gstreamer_lite.dll_Ordinal_123
push ebp
push ebp
push 0x10049e73
push dword [edi]
call sym.gstreamer_lite.dll_Ordinal_125
push 1
push dword [edi]
call sym.gstreamer_lite.dll_Ordinal_121
push dword [edi]
call sym.gstreamer_lite.dll_Ordinal_128
add esp, 0x2c
cmp dword [edi + 0x310], ebp
je 0x10047c0c
push edi
push ebx
call fcn.10047617
pop ecx
pop ecx
test eax, eax
je 0x10047d44
cmp dword [edi + 0x20], ebp
je 0x10047ce1
push ebp
push 0x280e
push dword [ebx + 0xbc]
mov dword [esp + 0x24], ebp
call fcn.1001d889
mov esi, eax
add esp, 0xc
test esi, esi
je 0x10047c62
lea eax, [esp + 0x18]
push eax
push esi
call fcn.10002f5c
lea eax, [ebx + 0xec]
push eax
push esi
call fcn.10002b24
neg eax
push esi
sbb eax, eax
neg eax
mov dword [ebx + 0xe8], eax
call sym.gstreamer_lite.dll_Ordinal_94
add esp, 0x14
jmp 0x10047c7f
cmp dword [ebx + 0xe8], ebp
jne 0x10047c7f
mov dword [ebx + 0xe8], 1
call sym.gstreamer_lite.dll_Ordinal_171
mov dword [ebx + 0xec], eax
push dword [edi + 8]
mov dword [edi + 0x20], ebp
call sym.gstreamer_lite.dll_Ordinal_71
mov esi, eax
pop ecx
cmp dword [ebx + 0xe8], ebp
je 0x10047ca3
push dword [ebx + 0xec]
push esi
call sym.gstreamer_lite.dll_Ordinal_76
pop ecx
pop ecx
mov edx, dword [esp + 0x18]
cmp dword [edi + 0x304], ebp
je 0x10047cb6
or edx, 4
mov dword [esp + 0x18], edx
imul ecx, dword [edi + 0x14], 0x78
mov eax, dword [edi + 0xc]
cmp dword [ecx + eax + 8], ebp
je 0x10047cc8
or edx, 1
jmp 0x10047ccb
and edx, 0xfffffffe
push edx
push esi
mov dword [esp + 0x20], edx
call fcn.1000306a
push esi
push dword [edi]
call sym.gstreamer_lite.dll_Ordinal_115
add esp, 0x10
push dword [edi]
call sym.gstreamer_lite.dll_Ordinal_102
pop ecx
imul ecx, dword [edi + 0x14], 0x78
mov esi, eax
mov eax, dword [edi + 0xc]
cmp dword [ecx + eax], 0
je 0x10047d33
test esi, esi
je 0x10047d0b
push dword [ecx + eax]
push esi
call fcn.10014c86
pop ecx
pop ecx
test eax, eax
jne 0x10047d37
imul ecx, dword [edi + 0x14], 0x78
mov eax, dword [edi + 0xc]
mov ebx, dword [edi]
push dword [ecx + eax]
call sym.gstreamer_lite.dll_Ordinal_64
cmp dword [ebx + 0x48], 1
pop ecx
push eax
push ebx
jne 0x10047d2c
call sym.gstreamer_lite.dll_Ordinal_115
jmp 0x10047d31
call fcn.1001faf5
pop ecx
pop ecx
test esi, esi
je 0x10047d3e
push esi
call sym.gstreamer_lite.dll_Ordinal_94
pop ecx
mov dword [edi + 0x1c], ebp
xor eax, eax
inc eax
pop edi
pop esi
pop ebp
pop ebx
ret