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

Disassembly:
cmp dword [ecx + 0x188], 0
jne 0x10005988
mov eax, dword [ecx + 0x78]
cmp byte [eax + 0xe0], 0
jne 0x100059d9
jmp 0x10005c0e
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
test esi, esi
je 0x100059d0
mov eax, dword [esi]
lea ecx, [ebp + 8]
and dword [ebp + 8], 0
push ecx
push esi
call dword [eax + 0xc]
test eax, eax
js 0x100059d3
mov eax, dword [esi]
push esi
call dword [eax + 0x2c]
test eax, eax
jle 0x100059d0
mov edx, dword [edi + 0x188]
test edx, edx
je 0x100059cc
lea ecx, [edi + 0x170]
push ecx
push eax
push dword [ebp + 8]
call edx
add esp, 0xc
xor eax, eax
jmp 0x100059d3
xor eax, eax
inc eax
pop edi
pop esi
pop ebp
ret 4
sub esp, 0x54
push ebx
mov ebx, dword [esp + 0x5c]
xor eax, eax
mov dword [esp + 4], eax
xorps xmm0, xmm0
mov dword [esp + 8], eax
movlpd qword [esp + 0x14], xmm0
movlpd qword [esp + 0x1c], xmm0
push ebp
mov ebp, ecx
mov dword [esp + 0x10], ebp
push esi
push edi
test ebx, ebx
je 0x10005c01
cmp dword [ebp + 0x17c], eax
je 0x10005c01
cmp dword [ebp + 0x184], eax
je 0x10005c01
mov eax, dword [ebx]
push ebx
call dword [eax + 0x2c]
mov esi, eax
test esi, esi
jle 0x10005c01
lea edi, [ebp + 0x170]
push edi
lea eax, [esp + 0x14]
mov dword [esp + 0x20], edi
push esi
push eax
call dword [ebp + 0x184]
add esp, 0xc
cmp dword [esp + 0x10], 0
je 0x10005c01
mov eax, dword [ebx]
lea ecx, [esp + 0x14]
push ecx
push ebx
call dword [eax + 0xc]
test eax, eax
js 0x10005c01
cmp dword [esp + 0x14], 0
je 0x10005c01
push 2
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x18]
call sub.gstreamer_lite.dll_Ordinal_23
add esp, 0xc
test eax, eax
je 0x10005c01
push esi
push dword [esp + 0x18]
push dword [esp + 0x40]
call sub.VCRUNTIME140.dll_memcpy
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x20]
call sub.gstreamer_lite.dll_Ordinal_28
push esi
push dword [esp + 0x28]
call sub.gstreamer_lite.dll_Ordinal_27
mov eax, dword [ebx]
lea ecx, [esp + 0x44]
add esp, 0x1c
push ecx
lea ecx, [esp + 0x24]
push ecx
push ebx
call dword [eax + 0x14]
test eax, eax
jne 0x10005b93
mov edx, dword [esp + 0x24]
test edx, edx
jg 0x10005af1
jl 0x10005ae4
mov ecx, dword [esp + 0x20]
test ecx, ecx
jae 0x10005af5
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x68], eax
test eax, eax
jg 0x10005b1c
jl 0x10005b0b
mov ebp, dword [esp + 0x28]
test ebp, ebp
jae 0x10005b20
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x68], eax
mov ebp, dword [esp + 0x28]
cmp eax, edx
jg 0x10005b38
jl 0x10005b2a
cmp ebp, ecx
ja 0x10005b38
mov ebp, ecx
mov eax, edx
add ebp, 1
adc eax, 0
mov dword [esp + 0x68], eax
push 0
push 0x64
push edx
push ecx
call fcn.1001a050
push 0
push 0x64
push dword [esp + 0x70]
mov edi, eax
mov esi, edx
push ebp
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], esi
call fcn.1001a050
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], edx
mov dword [eax + 0x28], edi
mov edi, dword [esp + 0x1c]
mov dword [eax + 0x2c], esi
mov edx, dword [esp + 0x28]
sub edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
sbb ecx, dword [esp + 0x24]
mov dword [eax + 0x38], edx
mov dword [eax + 0x3c], ecx
jmp 0x10005bda
cmp eax, 0x40270
jne 0x10005bda
mov eax, dword [esp + 0x24]
test eax, eax
jg 0x10005bb8
jl 0x10005bab
cmp dword [esp + 0x20], 0
jae 0x10005bb8
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
mov eax, dword [esp + 0x24]
push 0
push 0x64
push eax
push dword [esp + 0x2c]
call fcn.1001a050
mov ecx, eax
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], ecx
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], edx
mov eax, dword [ebx]
push ebx
call dword [eax + 0x3c]
test eax, eax
jne 0x10005bec
mov eax, dword [esp + 0x10]
or dword [eax + 0xc], 0x40
push edi
push dword [esp + 0x14]
call dword [ebp + 0x17c]
pop ecx
pop ecx
test eax, eax
je 0x10005c01
xor eax, eax
jmp 0x10005c04
xor eax, eax
inc eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 4
sub esp, 0x14
push ebx
push ebp
push esi
mov esi, ecx
xorps xmm0, xmm0
xor eax, eax
mov dword [esp + 0xc], esi
movlpd qword [esp + 0x18], xmm0
movlpd qword [esp + 0x10], xmm0
cmp dword [esi + 0x17c], eax
je 0x10005d5a
mov ebx, dword [esp + 0x24]
test ebx, ebx
je 0x10005d5a
mov ebp, dword [ebx + 0x48]
mov dword [ebx + 0x48], eax
test ebp, ebp
je 0x10005d5a
mov eax, dword [ebx]
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x1c]
push ecx
push ebx
call dword [eax + 0x14]
test eax, eax
js 0x10005cf4
mov eax, dword [esp + 0x1c]
xor ecx, ecx
cmp eax, ecx
jg 0x10005c88
jl 0x10005c7b
cmp dword [esp + 0x18], ecx
jae 0x10005c88
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x14], ecx
jg 0x10005c9f
jl 0x10005c96
cmp dword [esp + 0x10], ecx
jae 0x10005c9f
xorps xmm0, xmm0
movlpd qword [esp + 0x10], xmm0
push edi
push ecx
push 0x64
push eax
push dword [esp + 0x28]
call fcn.1001a050
xor ecx, ecx
mov edi, eax
push ecx
push 0x64
push dword [esp + 0x20]
mov esi, edx
mov dword [esp + 0x28], edi
push dword [esp + 0x20]
mov dword [esp + 0x30], esi
call fcn.1001a050
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov dword [ebp + 0x28], edi
mov dword [ebp + 0x2c], esi
mov ecx, dword [esp + 0x14]
sub ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
sbb eax, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
mov dword [ebp + 0x38], ecx
mov dword [ebp + 0x3c], eax
pop edi
mov eax, dword [ebx]
push ebx
call dword [eax + 0x2c]
push eax
push ebp
call sub.gstreamer_lite.dll_Ordinal_27
mov eax, dword [ebx]
pop ecx
pop ecx
push ebx
call dword [eax + 0x3c]
test eax, eax
jne 0x10005d11
or dword [ebp + 0xc], 0x40
xor eax, eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], eax
mov eax, dword [ebx]
push ecx
push ebx
call dword [eax + 0x34]
xor ecx, ecx
movzx ebx, cl
inc ecx
test eax, eax
cmove ebx, ecx
cmp dword [esp + 0x24], 0
je 0x10005d3d
push dword [esp + 0x24]
call fcn.10017787
lea eax, [esi + 0x170]
mov byte [esi + 0x178], bl
push eax
push ebp
call dword [esi + 0x17c]
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp 0x10005d5d
xor eax, eax
inc eax
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 4