Function at 0x449883
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push esi
mov esi, ecx
cmp byte [esi], 0
je 0x449b59
mov al, byte [ebp + 8]
mov byte [esi + 3], al
mov eax, dword [esi + 0x248]
mov byte [esi + 1], 1
test eax, eax
je 0x4498b0
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
mov dword [ebp - 0xc], edi
mov ecx, dword [esi + 0x214]
xor edx, edx
and dword [ebp - 4], edx
xor ebx, ebx
mov dword [ebp + 8], edx
test ecx, ecx
jle 0x449971
xor edi, edi
mov eax, dword [esi + 0x220]
mov ecx, dword [edi + eax + 0xc]
test ecx, ecx
je 0x449953
mov eax, dword [edi + eax + 0x58]
test eax, eax
jne 0x449914
or dword [ebp - 8], 0xffffffff
push 5
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x44994b
lea eax, [ebp - 8]
push eax
mov eax, dword [esi + 0x220]
push dword [edi + eax + 0xc]
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
jmp 0x449938
cmp eax, 0xff
jne 0x449924
cmp byte [esi + 3], 0
je 0x449924
inc ebx
jmp 0x449953
cmp eax, 0x100
je 0x449953
push 5
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x44994b
mov eax, dword [esi + 0x220]
mov edx, dword [ebp + 8]
mov dword [edi + eax + 0x58], 0x100
jmp 0x449953
mov edx, dword [ebp + 8]
inc ebx
inc edx
mov dword [ebp + 8], edx
mov eax, dword [ebp - 4]
add edi, 0x190
mov ecx, dword [esi + 0x214]
inc eax
mov dword [ebp - 4], eax
cmp eax, ecx
jl 0x4498d7
mov edi, dword [ebp - 0xc]
mov eax, ecx
test edx, edx
jle 0x449992
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, edi
cmp eax, 0xfa
jb 0x4498bd
mov ecx, dword [esi + 0x214]
mov eax, ecx
test ebx, ebx
jle 0x449a12
xor ebx, ebx
test ecx, ecx
jle 0x449a12
xor edi, edi
mov eax, dword [esi + 0x220]
mov ecx, dword [edi + eax + 0xc]
test ecx, ecx
je 0x449a01
cmp dword [edi + eax + 0x58], 0x100
je 0x449a01
cmp dword [edi + eax + 0x58], 0xff
jne 0x4499c7
mov eax, 0xfa
jmp 0x4499cf
xor eax, eax
cmp byte [esi + 3], al
sete al
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x449a01
mov eax, dword [esi + 0x220]
push dword [ebp + 0xc]
add eax, edi
push eax
add eax, 0xc
push eax
call fcn.00449b5e
mov eax, dword [esi + 0x220]
add esp, 0xc
mov dword [edi + eax + 0x58], 0x100
mov eax, dword [esi + 0x214]
inc ebx
add edi, 0x190
cmp ebx, eax
jl 0x44999e
and dword [ebp + 8], 0
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jle 0x449b05
xor edi, edi
mov eax, dword [esi + 0x220]
lea ecx, [eax + edi]
cmp dword [ecx + 8], 0
je 0x449a4f
cmp dword [ecx + 8], 0xffffffff
je 0x449a4f
push 0
push 1
push 1
push ecx
mov ecx, esi
call fcn.00449fed
mov eax, dword [esi + 0x220]
and dword [eax + edi + 8], 0
mov ecx, dword [esi + 0x220]
mov eax, dword [edi + ecx + 0x3c]
test eax, eax
je 0x449a74
cmp eax, 0xffffffff
je 0x449a74
and dword [edi + ecx + 0x3c], 0
cmp eax, 0xffffffff
je 0x449a74
push eax
call ebx
mov ecx, dword [esi + 0x220]
mov eax, dword [edi + ecx + 0xc]
test eax, eax
je 0x449a94
cmp eax, 0xffffffff
je 0x449a94
and dword [edi + ecx + 0xc], 0
cmp eax, 0xffffffff
je 0x449a94
push eax
call ebx
mov eax, dword [esi + 0x220]
mov ecx, dword [eax + edi + 0x17c]
test ecx, ecx
je 0x449ac0
push ecx
call fcn.004e1bea
mov eax, dword [esi + 0x220]
pop ecx
and dword [edi + eax + 0x17c], 0
mov eax, dword [esi + 0x220]
mov ecx, dword [eax + edi + 0x188]
test ecx, ecx
je 0x449aec
mov eax, dword [esi + 0x23c]
test eax, eax
je 0x449aec
push dword [esi + 0x244]
push ecx
call eax
mov eax, dword [esi + 0x220]
and dword [edi + eax + 0x188], 0
mov ecx, dword [ebp + 8]
add edi, 0x190
inc ecx
mov dword [ebp + 8], ecx
cmp ecx, dword [esi + 0x214]
jl 0x449a26
mov eax, dword [esi + 0x24c]
test eax, eax
je 0x449b23
cmp eax, 0xffffffff
je 0x449b23
and dword [esi + 0x24c], 0
cmp eax, 0xffffffff
je 0x449b23
push eax
call ebx
mov eax, dword [esi + 0x248]
test eax, eax
je 0x449b41
cmp eax, 0xffffffff
je 0x449b41
and dword [esi + 0x248], 0
cmp eax, 0xffffffff
je 0x449b41
push eax
call ebx
push dword [esi + 0x220]
call fcn.004e1bea
and dword [esi + 0x220], 0
pop ecx
pop edi
mov byte [esi], 0
pop ebx
pop esi
leave
ret 8