Function at 0x439bb0
Capabilities:
Check for time delay via gettickcount
Terminate thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
mov esi, ecx
cmp byte [esi], 0
je 0x439ea1
mov al, byte [ebp + 8]
push ebx
mov byte [esi + 2], al
mov eax, dword [esi + 0x248]
xor ebx, ebx
mov byte [esi + 1], 1
cmp eax, ebx
je 0x439be0
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
push edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 8], eax
jmp 0x439bf2
xor ebx, ebx
cmp dword [esi + 0x214], ebx
mov dword [ebp - 4], ebx
mov dword [ebp + 8], ebx
jle 0x439d4d
xor edi, edi
jmp 0x439c10
mov ecx, dword [esi + 0x220]
mov eax, dword [ecx + edi + 8]
add ecx, edi
test eax, eax
je 0x439c83
mov ecx, dword [ecx + 0x54]
test ecx, ecx
jne 0x439c40
push 0x64
push eax
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov edx, dword [esi + 0x220]
mov dword [edx + edi + 0x54], 0x100
jmp 0x439c83
cmp ecx, 0xff
jne 0x439c53
cmp byte [esi + 2], 0
je 0x439c53
inc dword [ebp + 8]
jmp 0x439c83
cmp ecx, 0x100
je 0x439c83
push 5
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x439c78
mov eax, dword [esi + 0x220]
mov dword [eax + edi + 0x54], 0x100
jmp 0x439c83
mov eax, 1
add dword [ebp + 8], eax
add dword [ebp - 4], eax
inc ebx
add edi, 0x178
cmp ebx, dword [esi + 0x214]
jl 0x439c10
cmp dword [ebp - 4], 0
jle 0x439cb0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 8]
cmp eax, 0xfa
jb 0x439bf0
cmp dword [ebp + 8], 0
jle 0x439d4b
xor ebx, ebx
cmp dword [esi + 0x214], ebx
jle 0x439d4b
xor edi, edi
lea ebx, [ebx]
mov ecx, dword [esi + 0x220]
mov eax, dword [ecx + edi + 8]
add ecx, edi
test eax, eax
je 0x439d1d
cmp dword [ecx + 0x54], 0x100
je 0x439d1d
cmp byte [esi + 2], 0
jne 0x439cfc
push 1
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x439d1d
mov edx, dword [esi + 0x220]
mov eax, dword [edx + edi + 8]
push 0x64
push eax
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov ecx, dword [esi + 0x220]
mov dword [ecx + edi + 0x54], 0x100
mov edx, dword [esi + 0x220]
mov eax, dword [edx + edi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esi + 0x220]
mov dword [ecx + edi + 8], 0
inc ebx
add edi, 0x178
cmp ebx, dword [esi + 0x214]
jl 0x439cd0
xor ebx, ebx
cmp dword [esi + 0x214], ebx
mov dword [ebp + 8], ebx
jle 0x439e59
lea esp, [esp]
mov edx, dword [esi + 0x220]
mov eax, dword [edx + ebx + 4]
lea edi, [edx + ebx]
test eax, eax
je 0x439dac
cmp eax, 0xffffffff
je 0x439dac
test eax, eax
je 0x439dac
cmp eax, 0xffffffff
je 0x439dac
push eax
mov dword [edi + 0x54], 0x64
call dword [sym.imp.KERNEL32.dll_DisconnectNamedPipe]
mov eax, dword [edi + 4]
push eax
mov dword [edi + 0x54], 0xc8
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi + 4], 0
mov dword [edi + 0x54], 0xc9
mov ecx, dword [esi + 0x220]
mov dword [ecx + ebx + 4], 0
mov edx, dword [esi + 0x220]
mov eax, dword [edx + ebx + 0x38]
test eax, eax
je 0x439ddd
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esi + 0x220]
mov dword [eax + ebx + 0x38], 0
mov ecx, dword [esi + 0x220]
mov eax, dword [ecx + ebx + 0x164]
test eax, eax
je 0x439e08
push eax
call fcn.0044c4f0
mov edx, dword [esi + 0x220]
add esp, 4
mov dword [edx + ebx + 0x164], 0
mov eax, dword [esi + 0x220]
mov eax, dword [eax + ebx + 0x170]
test eax, eax
je 0x439e3e
mov ecx, dword [esi + 0x23c]
test ecx, ecx
je 0x439e3e
mov edx, dword [esi + 0x244]
push edx
push eax
call ecx
mov eax, dword [esi + 0x220]
mov dword [eax + ebx + 0x170], 0
mov eax, dword [ebp + 8]
inc eax
add ebx, 0x178
cmp eax, dword [esi + 0x214]
mov dword [ebp + 8], eax
jl 0x439d60
xor ebx, ebx
mov eax, dword [esi + 0x24c]
pop edi
cmp eax, ebx
je 0x439e71
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x24c], ebx
mov eax, dword [esi + 0x248]
cmp eax, ebx
je 0x439e88
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x248], ebx
mov ecx, dword [esi + 0x220]
push ecx
call fcn.0044c4f0
add esp, 4
mov dword [esi + 0x220], ebx
mov byte [esi], 0
pop ebx
pop esi
mov esp, ebp
pop ebp
ret 4