Function at 0x419220
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x14]
push ebx
push esi
push edi
push dword [ebp + 0xc]
mov esi, ecx
mov byte [eax], 0
push dword [ebp + 8]
lea ecx, [esi - 4]
call fcn.00418de0
mov eax, dword [esi + 0x78]
xor ebx, ebx
test eax, eax
je 0x419326
nop dword [eax]
cmp ebx, dword [esi + 0x60]
je 0x41931a
mov eax, dword [esi + 0x74]
mov edi, dword [eax + ebx*4]
mov eax, dword [edi + 4]
test eax, eax
je 0x41926f
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
jmp 0x419280
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [edi + 4], eax
test eax, eax
jne 0x41929c
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
test ecx, ecx
jne 0x4193cd
mov eax, dword [edi + 8]
test eax, eax
je 0x4192ac
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
jmp 0x4192bd
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [edi + 8], eax
test eax, eax
jne 0x4192d9
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
test ecx, ecx
jne 0x4193cd
cmp dword [edi + 0xc], 0
mov byte [edi + 0x10], 0
jne 0x41931a
lea eax, [ebp + 0xc]
push eax
push 0
push edi
push 0x41d7e0
push 0
push 0
call fcn.0044d021
add esp, 0x18
mov dword [edi + 0xc], eax
test eax, eax
jne 0x41931a
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
test ecx, ecx
jne 0x4193cd
mov eax, dword [esi + 0x78]
inc ebx
cmp ebx, eax
jb 0x419250
xor edi, edi
test eax, eax
je 0x419364
mov ebx, dword [sym.imp.KERNEL32.dll_SetEvent]
cmp edi, dword [esi + 0x60]
je 0x41935e
mov eax, dword [esi + 0x74]
mov eax, dword [eax + edi*4]
push dword [eax + 4]
mov byte [eax + 0x10], 0
call ebx
test eax, eax
jne 0x41935e
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
test ecx, ecx
jne 0x4193cd
inc edi
cmp edi, dword [esi + 0x78]
jb 0x419332
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x74]
push dword [ebp + 0x10]
mov ecx, dword [ecx + eax*4]
call fcn.00418740
mov ecx, dword [esi + 0x78]
xor edi, edi
xor ebx, ebx
test ecx, ecx
je 0x4193e1
cmp ebx, dword [esi + 0x60]
je 0x4193ad
mov eax, dword [esi + 0x74]
push 0xffffffffffffffff
mov eax, dword [eax + ebx*4]
push dword [eax + 8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0x4193a8
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x4193a8
or eax, 0xffffffff
test edi, edi
cmove edi, eax
mov ecx, dword [esi + 0x78]
inc ebx
cmp ebx, ecx
jb 0x419380
test edi, edi
je 0x4193e1
jle 0x4193c4
movzx edi, di
or edi, 0x80070000
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
jle 0x4193d8
movzx ecx, cx
or ecx, 0x80070000
pop edi
pop esi
mov eax, ecx
pop ebx
pop ebp
ret 0x10
xor edi, edi
test ecx, ecx
je 0x4194ab
mov edx, dword [esi + 0x74]
nop
mov eax, dword [edx]
cmp dword [eax + 0x6c], 0x80004004
je 0x4194cc
inc edi
add edx, 4
cmp edi, ecx
jb 0x4193f0
mov edx, dword [esi + 0x74]
xor edi, edi
nop dword [eax]
mov eax, dword [edx]
cmp dword [eax + 0x6c], 0x8007000e
je 0x4194c0
inc edi
add edx, 4
cmp edi, ecx
jb 0x419410
mov edi, dword [esi + 0x74]
xor edx, edx
nop dword [eax]
mov eax, dword [edi]
mov eax, dword [eax + 0x6c]
test eax, eax
je 0x41944c
cmp eax, 0x20000010
je 0x41944c
cmp eax, 1
je 0x41944c
cmp eax, 0x80004005
jne 0x4194ad
inc edx
add edi, 4
cmp edx, ecx
jb 0x419430
mov edx, dword [esi + 0x74]
xor edi, edi
nop dword [eax]
mov eax, dword [edx]
cmp dword [eax + 0x6c], 1
je 0x4194b4
inc edi
add edx, 4
cmp edi, ecx
jb 0x419460
mov edi, dword [esi + 0x74]
xor edx, edx
mov eax, dword [edi]
mov eax, dword [eax + 0x6c]
test eax, eax
je 0x419485
cmp eax, 0x20000010
jne 0x4194ad
inc edx
add edi, 4
cmp edx, ecx
jb 0x419475
xor edi, edi
nop
mov eax, dword [esi + 0x74]
push dword [ebp + 0x14]
mov ecx, dword [eax + edi*4]
add ecx, 0x18
call fcn.00418060
test eax, eax
jne 0x4194ad
inc edi
cmp edi, dword [esi + 0x78]
jb 0x419490
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
pop edi
pop esi
mov eax, 1
pop ebx
pop ebp
ret 0x10
pop edi
pop esi
mov eax, 0x8007000e
pop ebx
pop ebp
ret 0x10
pop edi
pop esi
mov eax, 0x80004004
pop ebx
pop ebp
ret 0x10