Function at 0x10089c05
Capabilities:
Print debug messages
Terminate thread

Disassembly:
push 0x24
mov eax, 0x1045dcd5
call fcn.1043ac1f
mov esi, ecx
mov dword [ebp - 0x30], esi
lea eax, [ebp - 0x2c]
push eax
call fcn.10089e85
xor edi, edi
mov dword [ebp - 4], edi
cmp dword [eax + 0x14], 8
jb 0x10089c2c
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
or dword [ebp - 4], 0xffffffff
push edi
push 1
lea ecx, [ebp - 0x2c]
call fcn.1007a42c
mov dword [ebp - 4], 1
mov byte [esi + 0x68], 1
cmp dword [esi + 0x64], 0
je 0x10089cde
push 0x2710
push dword [esi + 0x64]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x10089ca2
lea eax, [ebp - 0x2c]
push eax
call fcn.10089f33
mov byte [ebp - 4], 2
cmp dword [eax + 0x14], 8
jb 0x10089c81
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov byte [ebp - 4], 1
push edi
push 1
lea ecx, [ebp - 0x2c]
call fcn.1007a42c
push 1
push dword [esi + 0x64]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
lea eax, [ebp - 0x2c]
push eax
call fcn.1008a005
mov byte [ebp - 4], 3
cmp dword [eax + 0x14], 8
jb 0x10089cb7
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov byte [ebp - 4], 1
push edi
push 1
lea ecx, [ebp - 0x2c]
call fcn.1007a42c
push dword [esi + 0x64]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call edi
and dword [esi + 0x64], 0
jmp 0x10089ce4
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [esi + 0x6c], 0xffffffff
je 0x10089cf3
push dword [esi + 0x6c]
call edi
or dword [esi + 0x6c], 0xffffffff
or dword [ebp - 4], 0xffffffff
jmp 0x10089d32
mov dword [ebp - 4], 6
lea eax, [ebp - 0x2c]
push eax
call fcn.1008a18e
mov byte [ebp - 4], 7
cmp dword [eax + 0x14], 8
jb 0x10089d4e
mov eax, dword [eax]
push eax
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
call edi
mov byte [ebp - 4], 6
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.1007a42c
cmp dword [esi + 0xc], 0
je 0x10089dbb
push dword [esi + 0xc]
call dword [sym.imp.KERNEL32.dll_InterlockedFlushSList]
mov edi, eax
test edi, edi
je 0x10089dac
mov ecx, dword [edi + 0xfc]
test ecx, ecx
je 0x10089d9b
push ecx
mov ecx, dword [ecx + 0xfc]
mov dword [ebp - 0x30], ecx
call fcn.1043826b
pop ecx
mov ecx, dword [ebp - 0x30]
jmp 0x10089d82
mov eax, dword [edi]
mov dword [ebp - 0x30], eax
push edi
call fcn.1043826b
pop ecx
mov edi, dword [ebp - 0x30]
jmp 0x10089d78
push dword [esi + 0xc]
call fcn.1043826b
pop ecx
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea eax, [ebp - 0x2c]
push eax
call fcn.1008a23c
mov byte [ebp - 4], 8
cmp dword [eax + 0x14], 8
jb 0x10089dd0
mov eax, dword [eax]
push eax
call edi
mov byte [ebp - 4], 6
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.1007a42c
cmp dword [esi + 8], 0
je 0x10089e12
push dword [esi + 8]
call dword [sym.imp.KERNEL32.dll_InterlockedFlushSList]
test eax, eax
je 0x10089e03
mov edi, dword [eax]
push eax
call fcn.1043826b
pop ecx
mov eax, edi
jmp 0x10089df2
push dword [esi + 8]
call fcn.1043826b
pop ecx
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
or dword [ebp - 4], 0xffffffff
jmp 0x10089e54
lea eax, [ebp - 0x2c]
push eax
call fcn.1008a3b8
mov dword [ebp - 4], 0xb
cmp dword [eax + 0x14], 8
jb 0x10089e6c
mov eax, dword [eax]
push eax
call edi
or dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.1007a42c
call fcn.1043ab71
ret