Function at 0x4203d0
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.0041fe60
xor ebx, ebx
lea ecx, [esi + 0x60]
mov dword [ebp + 0xc], ecx
cmp dword [esi + 0x78], ebx
jbe 0x420531
mov edx, dword [sym.imp.KERNEL32.dll_CreateEventA]
cmp ebx, dword [ecx]
je 0x4204e1
mov eax, dword [esi + 0x74]
mov edi, dword [eax + ebx*4]
cmp dword [edi + 4], 0
jne 0x420446
push 0
push 0
push 0
push 0
call edx
mov dword [edi + 4], eax
test eax, eax
jne 0x420440
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
test ecx, ecx
jne 0x420528
mov edx, dword [sym.imp.KERNEL32.dll_CreateEventA]
cmp dword [edi + 8], 0
jne 0x420475
push 0
push 0
push 0
push 0
call edx
mov dword [edi + 8], eax
test eax, eax
jne 0x420475
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
test ecx, ecx
jne 0x420528
push dword [edi + 4]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
test eax, eax
jne 0x420488
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [edi + 8]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
test eax, eax
jne 0x42049b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [edi + 0xc], 0
mov byte [edi + 0x10], 0
jne 0x4204d8
lea eax, [ebp + 8]
push eax
push 0
push edi
push 0x425ac0
push 0
push 0
call fcn.004428b5
add esp, 0x18
mov dword [edi + 0xc], eax
test eax, eax
jne 0x4204d8
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
test ecx, ecx
jne 0x420528
mov edx, dword [sym.imp.KERNEL32.dll_CreateEventA]
lea ecx, [esi + 0x60]
mov eax, dword [esi + 0x78]
inc ebx
cmp ebx, eax
jb 0x420403
xor edi, edi
test eax, eax
je 0x420534
mov ebx, dword [sym.imp.KERNEL32.dll_SetEvent]
nop dword [eax]
cmp edi, dword [ecx]
je 0x420520
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 0x42051d
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esi + 0x60]
inc edi
cmp edi, dword [esi + 0x78]
jb 0x420500
jmp 0x420534
pop edi
pop esi
mov eax, ecx
pop ebx
pop ebp
ret 0x10
mov dword [ebp + 0xc], ecx
mov eax, dword [ecx]
mov ecx, dword [esi + 0x74]
push dword [ebp + 0x10]
mov ecx, dword [ecx + eax*4]
call fcn.0041f7b0
mov ecx, dword [esi + 0x78]
xor edi, edi
test ecx, ecx
je 0x42056d
mov ebx, dword [ebp + 0xc]
cmp edi, dword [ebx]
je 0x420565
mov eax, dword [esi + 0x74]
push 0xffffffffffffffff
mov eax, dword [eax + edi*4]
push dword [eax + 8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esi + 0x78]
inc edi
cmp edi, ecx
jb 0x420550
xor edi, edi
test ecx, ecx
je 0x42063b
mov edx, dword [esi + 0x74]
nop word [eax + eax]
mov eax, dword [edx]
cmp dword [eax + 0x6c], 0x80004004
je 0x42065c
inc edi
add edx, 4
cmp edi, ecx
jb 0x420580
mov edx, dword [esi + 0x74]
xor edi, edi
nop dword [eax]
mov eax, dword [edx]
cmp dword [eax + 0x6c], 0x8007000e
je 0x420650
inc edi
add edx, 4
cmp edi, ecx
jb 0x4205a0
mov edi, dword [esi + 0x74]
xor edx, edx
nop dword [eax]
mov eax, dword [edi]
mov eax, dword [eax + 0x6c]
test eax, eax
je 0x4205dc
cmp eax, 0x20000010
je 0x4205dc
cmp eax, 1
je 0x4205dc
cmp eax, 0x80004005
jne 0x42063d
inc edx
add edi, 4
cmp edx, ecx
jb 0x4205c0
mov edi, dword [esi + 0x74]
xor edx, edx
nop dword [eax]
mov eax, dword [edi]
cmp dword [eax + 0x6c], 1
je 0x420644
inc edx
add edi, 4
cmp edx, ecx
jb 0x4205f0
mov edi, dword [esi + 0x74]
xor edx, edx
mov eax, dword [edi]
mov eax, dword [eax + 0x6c]
test eax, eax
je 0x420615
cmp eax, 0x20000010
jne 0x42063d
inc edx
add edi, 4
cmp edx, ecx
jb 0x420605
xor edi, edi
nop
mov eax, dword [esi + 0x74]
push dword [ebp + 0x14]
mov ecx, dword [eax + edi*4]
add ecx, 0x18
call fcn.0041ef10
test eax, eax
jne 0x42063d
inc edi
cmp edi, dword [esi + 0x78]
jb 0x420620
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