Function at 0x419140
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.00418d00
mov eax, dword [esi + 0x78]
xor ebx, ebx
test eax, eax
je 0x419246
nop dword [eax]
cmp ebx, dword [esi + 0x60]
je 0x41923a
mov eax, dword [esi + 0x74]
mov edi, dword [eax + ebx*4]
mov eax, dword [edi + 4]
test eax, eax
je 0x41918f
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
jmp 0x4191a0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [edi + 4], eax
test eax, eax
jne 0x4191bc
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
test ecx, ecx
jne 0x4192ed
mov eax, dword [edi + 8]
test eax, eax
je 0x4191cc
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
jmp 0x4191dd
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [edi + 8], eax
test eax, eax
jne 0x4191f9
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
test ecx, ecx
jne 0x4192ed
cmp dword [edi + 0xc], 0
mov byte [edi + 0x10], 0
jne 0x41923a
lea eax, [ebp + 0xc]
push eax
push 0
push edi
push 0x41d700
push 0
push 0
call fcn.0044f4d1
add esp, 0x18
mov dword [edi + 0xc], eax
test eax, eax
jne 0x41923a
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
test ecx, ecx
jne 0x4192ed
mov eax, dword [esi + 0x78]
inc ebx
cmp ebx, eax
jb 0x419170
xor edi, edi
test eax, eax
je 0x419284
mov ebx, dword [sym.imp.KERNEL32.dll_SetEvent]
cmp edi, dword [esi + 0x60]
je 0x41927e
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 0x41927e
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
test ecx, ecx
jne 0x4192ed
inc edi
cmp edi, dword [esi + 0x78]
jb 0x419252
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x74]
push dword [ebp + 0x10]
mov ecx, dword [ecx + eax*4]
call fcn.00418660
mov ecx, dword [esi + 0x78]
xor edi, edi
xor ebx, ebx
test ecx, ecx
je 0x419301
cmp ebx, dword [esi + 0x60]
je 0x4192cd
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 0x4192c8
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x4192c8
or eax, 0xffffffff
test edi, edi
cmove edi, eax
mov ecx, dword [esi + 0x78]
inc ebx
cmp ebx, ecx
jb 0x4192a0
test edi, edi
je 0x419301
jle 0x4192e4
movzx edi, di
or edi, 0x80070000
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
jle 0x4192f8
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 0x4193cb
mov edx, dword [esi + 0x74]
nop
mov eax, dword [edx]
cmp dword [eax + 0x6c], 0x80004004
je 0x4193ec
inc edi
add edx, 4
cmp edi, ecx
jb 0x419310
mov edx, dword [esi + 0x74]
xor edi, edi
nop dword [eax]
mov eax, dword [edx]
cmp dword [eax + 0x6c], 0x8007000e
je 0x4193e0
inc edi
add edx, 4
cmp edi, ecx
jb 0x419330
mov edi, dword [esi + 0x74]
xor edx, edx
nop dword [eax]
mov eax, dword [edi]
mov eax, dword [eax + 0x6c]
test eax, eax
je 0x41936c
cmp eax, 0x20000010
je 0x41936c
cmp eax, 1
je 0x41936c
cmp eax, 0x80004005
jne 0x4193cd
inc edx
add edi, 4
cmp edx, ecx
jb 0x419350
mov edx, dword [esi + 0x74]
xor edi, edi
nop dword [eax]
mov eax, dword [edx]
cmp dword [eax + 0x6c], 1
je 0x4193d4
inc edi
add edx, 4
cmp edi, ecx
jb 0x419380
mov edi, dword [esi + 0x74]
xor edx, edx
mov eax, dword [edi]
mov eax, dword [eax + 0x6c]
test eax, eax
je 0x4193a5
cmp eax, 0x20000010
jne 0x4193cd
inc edx
add edi, 4
cmp edx, ecx
jb 0x419395
xor edi, edi
nop
mov eax, dword [esi + 0x74]
push dword [ebp + 0x14]
mov ecx, dword [eax + edi*4]
add ecx, 0x18
call fcn.00417f80
test eax, eax
jne 0x4193cd
inc edi
cmp edi, dword [esi + 0x78]
jb 0x4193b0
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