Function at 0x100d3cb5
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push str.kernel32.dll
mov ebx, dword [ebx + 0x318]
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
push str.InitializeConditionVariable
push edi
call esi
push str.WakeAllConditionVariable
push edi
mov dword [0x10275cb8], eax
call esi
push str.WakeConditionVariable
push edi
mov dword [0x10275cb4], eax
call esi
push str.SleepConditionVariableCS
push edi
mov dword [0x10275cbc], eax
call esi
xor edi, edi
mov dword [0x10275cc0], eax
inc edi
test ebx, ebx
jne 0x100d3d56
call fcn.101086c9
mov esi, dword [ebp + 8]
mov ebx, eax
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x100d3d37
add eax, 0xf
cdq
and edx, 0xf
add eax, edx
sar eax, 4
cmp ebx, eax
cmovg ebx, eax
cmp ebx, edi
jle 0x100d3d4c
push 0x10
inc ebx
pop eax
cmp ebx, eax
cmovg ebx, eax
mov dword [esi + 0x318], ebx
jmp 0x100d3d59
mov dword [esi + 0x318], edi
mov ebx, edi
jmp 0x100d3d59
mov esi, dword [ebp + 8]
cmp ebx, edi
jg 0x100d3d69
and dword [esi + 0x320], 0
jmp 0x100d3e80
push 0x60
call fcn.1010cffe
mov edi, eax
pop ecx
test edi, edi
jne 0x100d3d7f
or eax, 0xffffffff
jmp 0x100d3e82
xor ecx, ecx
cmp ebx, 0x7ffffff
jb 0x100d3d8d
mov eax, ecx
jmp 0x100d3d9b
mov eax, ebx
shl eax, 4
push eax
call fcn.1010cffe
pop ecx
xor ecx, ecx
mov dword [edi], eax
test eax, eax
jne 0x100d3daa
push edi
call sym.ffmpegsumo.dll_av_free
pop ecx
jmp 0x100d3d77
mov eax, dword [esi + 0x40]
push ecx
mov dword [eax + 0x1c], edi
lea eax, [edi + 0x24]
push eax
mov dword [edi + 0x44], ecx
mov dword [edi + 0x18], ecx
mov dword [edi + 0x1c], ecx
mov dword [edi + 0x48], ecx
call fcn.100d3f6f
lea eax, [edi + 0x20]
push 0
push eax
call fcn.100d3f6f
add esp, 0x10
lea eax, [edi + 0x28]
mov dword [ebp - 0xc], eax
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea eax, [edi + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor eax, eax
mov dword [ebp - 4], eax
test ebx, ebx
jle 0x100d3e3d
xor ecx, ecx
mov dword [ebp - 8], ecx
mov esi, dword [edi]
mov eax, dword [ebp + 8]
add esi, ecx
push 0
push 0
push esi
push 0x100d3be0
push 0
push 0
mov dword [esi + 4], 0x100d41dd
mov dword [esi + 8], eax
call fcn.10119b00
add esp, 0x18
mov dword [esi], eax
test eax, eax
mov eax, dword [ebp - 4]
je 0x100d3e89
mov ecx, dword [ebp - 8]
inc eax
add ecx, 0x10
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
cmp eax, ebx
jl 0x100d3df9
mov esi, dword [ebp + 8]
mov eax, dword [edi + 0x18]
add eax, ebx
cmp dword [edi + 0x44], eax
je 0x100d3e63
lea esi, [edi + 0x28]
lea eax, [edi + 0x20]
push esi
push eax
call fcn.100d4043
mov eax, dword [edi + 0x18]
add eax, ebx
pop ecx
pop ecx
cmp dword [edi + 0x44], eax
jne 0x100d3e4a
mov esi, dword [ebp + 8]
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [esi + 0x328], fcn.100d40ce
mov dword [esi + 0x32c], 0x100d41b3
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 8]
push dword [ebp - 0xc]
mov dword [ebx + 0x318], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push ebx
call fcn.100d262d
jmp 0x100d3da7