Function at 0x444b60
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
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.004435c0
mov eax, dword [esi + 0x78]
xor ebx, ebx
test eax, eax
je 0x444c67
nop dword [eax]
cmp ebx, dword [esi + 0x60]
je 0x444c5b
mov eax, dword [esi + 0x74]
mov edi, dword [eax + ebx*4]
mov eax, dword [edi + 4]
test eax, eax
je 0x444baf
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
jmp 0x444bc0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [edi + 4], eax
test eax, eax
jne 0x444bdc
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
test ecx, ecx
jne 0x444d10
mov eax, dword [edi + 8]
test eax, eax
je 0x444bec
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
jmp 0x444bfd
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [edi + 8], eax
test eax, eax
jne 0x444c19
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
test ecx, ecx
jne 0x444d10
cmp dword [edi + 0xc], 0
mov byte [edi + 0x10], 0
jne 0x444c5b
lea eax, [esp + 0xc]
push eax
push 0
push edi
push 0x449360
push 0
push 0
call fcn.00420584
add esp, 0x18
mov dword [edi + 0xc], eax
test eax, eax
jne 0x444c5b
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
test ecx, ecx
jne 0x444d10
mov eax, dword [esi + 0x78]
inc ebx
cmp ebx, eax
jb 0x444b90
xor edi, edi
test eax, eax
je 0x444ca5
mov ebx, dword [sym.imp.KERNEL32.dll_SetEvent]
cmp edi, dword [esi + 0x60]
je 0x444c9f
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 0x444c9f
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
test ecx, ecx
jne 0x444d10
inc edi
cmp edi, dword [esi + 0x78]
jb 0x444c73
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x74]
push dword [ebp + 0x10]
mov ecx, dword [ecx + eax*4]
call fcn.00443b10
mov ecx, dword [esi + 0x78]
xor edi, edi
xor ebx, ebx
test ecx, ecx
je 0x444d26
cmp ebx, dword [esi + 0x60]
je 0x444cee
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 0x444ce9
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x444ce9
or eax, 0xffffffff
test edi, edi
cmove edi, eax
mov ecx, dword [esi + 0x78]
inc ebx
cmp ebx, ecx
jb 0x444cc1
test edi, edi
je 0x444d26
jle 0x444d05
movzx edi, di
or edi, 0x80070000
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
jle 0x444d1b
movzx ecx, cx
or ecx, 0x80070000
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
xor edi, edi
test ecx, ecx
je 0x444d47
mov edx, dword [esi + 0x74]
nop
mov eax, dword [edx]
cmp dword [eax + 0x6c], 0x80004004
je 0x444e06
inc edi
add edx, 4
cmp edi, ecx
jb 0x444d30
xor edi, edi
test ecx, ecx
je 0x444d67
mov edx, dword [esi + 0x74]
mov eax, dword [edx]
cmp dword [eax + 0x6c], 0x8007000e
je 0x444e14
inc edi
add edx, 4
cmp edi, ecx
jb 0x444d50
xor edx, edx
test ecx, ecx
je 0x444d98
mov edi, dword [esi + 0x74]
mov eax, dword [edi]
mov eax, dword [eax + 0x6c]
test eax, eax
je 0x444d90
cmp eax, 0x20000010
je 0x444d90
cmp eax, 1
je 0x444d90
cmp eax, 0x80004005
jne 0x444dfd
inc edx
add edi, 4
cmp edx, ecx
jb 0x444d70
xor edi, edi
test ecx, ecx
je 0x444db5
mov edx, dword [esi + 0x74]
mov eax, dword [edx]
cmp dword [eax + 0x6c], 1
je 0x444e22
inc edi
add edx, 4
cmp edi, ecx
jb 0x444da1
xor edx, edx
test ecx, ecx
je 0x444dd8
mov edi, dword [esi + 0x74]
nop
mov eax, dword [edi]
mov eax, dword [eax + 0x6c]
test eax, eax
je 0x444dd0
cmp eax, 0x20000010
jne 0x444dfd
inc edx
add edi, 4
cmp edx, ecx
jb 0x444dc0
xor edi, edi
test ecx, ecx
je 0x444dfb
nop
mov eax, dword [esi + 0x74]
push dword [ebp + 0x14]
mov ecx, dword [eax + edi*4]
add ecx, 0x18
call fcn.00443f70
test eax, eax
jne 0x444dfd
inc edi
cmp edi, dword [esi + 0x78]
jb 0x444de0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, 0x80004004
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, 0x8007000e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x10