Function at 0x454d0c
Capabilities:
Create thread

Disassembly:
push 0x1ac
mov eax, 0x4e2b19
call fcn.004b698d
mov edi, ecx
mov dword [ebp - 0x48], edi
push dword [edi + 8]
mov esi, dword [sym.imp.KERNEL32.DLL_ResetEvent]
call esi
push dword [edi + 0xc]
call esi
mov ecx, dword [edi + 0x14]
lea eax, [edi + 0x10]
mov dword [ebp - 0x44], eax
mov byte [eax], 0
mov eax, dword [ebp + 0xc]
mov dword [edi + 0x1c], eax
test ecx, ecx
je 0x454d51
mov eax, dword [ecx]
push 1
call dword [eax + 0xc]
and dword [edi + 0x14], 0
push 0x14
call fcn.004b6271
mov edi, dword [ebp + 8]
mov ebx, eax
pop ecx
mov ecx, ebx
mov dword [ebp - 0x54], ebx
mov esi, dword [edi]
call fcn.00443cdc
mov eax, dword [ebp - 0x44]
mov dword [ebx + 0xc], esi
mov esi, dword [ebp - 0x48]
mov dword [ebx], vtable.WorkerThreadStopSignal.0
mov dword [ebx + 0x10], eax
mov ecx, dword [edi + 4]
mov dword [esi + 0x18], ecx
mov ecx, ebx
mov dword [esi + 0x14], ebx
push 1
push dword [esi + 0x18]
mov eax, dword [ecx]
call dword [eax]
xor ebx, ebx
push ebx
push ebx
push esi
push 0x454f58
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateThread]
mov dword [esi + 4], eax
test eax, eax
jne 0x454e45
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
push ecx
push ecx
lea ecx, [ebp - 0x108]
call fcn.00425a86
push esi
mov dword [ebp - 4], ebx
call fcn.004b8f6c
add eax, 4
mov dword [esp], 0x66c558
push eax
call fcn.004b8600
pop ecx
pop ecx
mov esi, eax
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push ecx
mov edx, esi
lea ecx, [ebp - 0xf8]
call fcn.0041b6b8
mov edx, str.::IWorkerThread::Start:_CreateThread_failed__
mov ecx, eax
call fcn.0041b6b8
pop ecx
mov ecx, eax
call fcn.00425b47
mov edx, 0x642320
mov ecx, eax
call fcn.0041b6b8
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x108]
call fcn.00425a3b
mov byte [ebp - 4], 1
cmp dword [eax + 0x14], 0x10
jb 0x454e2e
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x28]
call fcn.004288f2
push 0x6632d8
lea eax, [ebp - 0x28]
push eax
call fcn.004b9a9e
mov eax, dword [esi + 8]
push 0xffffffffffffffff
mov dword [ebp - 0x50], eax
mov eax, dword [esi + 0xc]
push ebx
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x50]
push eax
push 2
pop ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_WaitForMultipleObjects]
mov edi, eax
cmp edi, ebx
jbe 0x454f0a
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
push ecx
push ecx
lea ecx, [ebp - 0x1b8]
call fcn.00425a86
push esi
mov dword [ebp - 4], ebx
call fcn.004b8f6c
add eax, 4
mov dword [esp], 0x66c558
push eax
call fcn.004b8600
pop ecx
pop ecx
mov esi, eax
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push ecx
push edi
push ecx
mov edx, esi
lea ecx, [ebp - 0x1a8]
call fcn.0041b6b8
mov edx, str.::IWorkerThread::Start:_WaitForMultipleObjects_failed__
mov ecx, eax
call fcn.0041b6b8
pop ecx
mov ecx, eax
call fcn.00425b47
mov edx, 0x4f4370
mov ecx, eax
call fcn.0041b6b8
pop ecx
mov ecx, eax
call fcn.00425b47
mov edx, 0x642320
mov ecx, eax
call fcn.0041b6b8
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x1b8]
call fcn.00425a3b
mov byte [ebp - 4], 3
cmp dword [eax + 0x14], 0x10
jb 0x454e2e
jmp 0x454e2c
test edi, edi
sete bl
test bl, bl
jne 0x454f1a
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
mov al, bl
call fcn.004b6937
ret 8