Function at 0x700b9740
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2c
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x38], 0
test ecx, ecx
je 0x700b9840
cmp ecx, 1
mov eax, 1
jbe 0x700b9833
mov edi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [esp], esi
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
sub esp, 4
cmp dword [esi + 0x28], 1
je 0x700b97f1
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov eax, dword [esi + 0x18]
mov dword [esp], eax
call ebx
sub esp, 0xc
test eax, eax
je 0x700b9780
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
mov dword [esp + 4], 0xffffffff
mov eax, dword [esi + 0x20]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
sub esp, 8
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov eax, dword [esi + 0x1c]
mov dword [esp], eax
call ebx
sub esp, 0xc
mov dword [esp], esi
call edi
sub esp, 4
cmp dword [esi + 0x28], 1
jne 0x700b9786
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
cmp dword [esi + 0x28], 1
jbe 0x700b981f
mov dword [esp + 8], 0xc0
mov dword [esp + 4], str..._source_libvpx_1.3.0_vp9_decoder_vp9_thread.c
mov dword [esp], str.worker__status____OK
call fcn.6feeef40
mov edi, dword [esi + 0x38]
xor ebx, ebx
test edi, edi
sete bl
xor eax, eax
test ebx, ebx
jne 0x700b9965
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov ebx, dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0x10
mov dword [esi + 0x18], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0x10
mov dword [esi + 0x1c], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov ecx, dword [esi + 0x18]
sub esp, 0x10
test ecx, ecx
mov dword [esi + 0x20], eax
je 0x700b9994
mov edx, dword [esi + 0x1c]
test edx, edx
je 0x700b9994
test eax, eax
je 0x700b9994
mov dword [esp], esi
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
sub esp, 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x700b94b0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.msvcrt.dll__beginthreadex]
test eax, eax
mov dword [esi + 0x24], eax
je 0x700b994f
mov dword [esp + 4], 1
mov ebx, 1
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov dword [esi + 0x28], 1
sub esp, 8
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
sub esp, 4
test ebx, ebx
je 0x700b9833
cmp dword [esi + 0x28], 1
je 0x700b99c2
mov dword [esp + 8], 0xd7
mov dword [esp + 4], str..._source_libvpx_1.3.0_vp9_decoder_vp9_thread.c
mov dword [esp], str._ok___worker__status___OK_
call fcn.6feeef40
lea esp, [ebp - 0xc]
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp], ecx
call ebx
mov eax, dword [esi + 0x1c]
sub esp, 4
mov dword [esp], eax
call ebx
mov eax, dword [esi + 0x20]
sub esp, 4
mov dword [esp], eax
call ebx
xor eax, eax
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 1
jmp 0x700b9833