Function at 0x1000eaa0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
push 0
push 0
push 1
mov edi, ecx
push 0
mov dword [ebp - 4], edi
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov ebx, dword [ebp + 8]
mov esi, eax
mov dword [ebx + 4], esi
test esi, esi
jne 0x1000eb79
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebx]
mov ecx, ebx
push 1
mov edi, eax
call dword [edx]
mov ecx, dword fs:[0x2c]
mov eax, dword [0x10228880]
mov edx, dword [ecx + eax*4]
mov ecx, dword [0x1022c6ac]
cmp ecx, dword [edx + 4]
jle 0x1000eb21
push 0x1022c6ac
call fcn.1016792e
add esp, 4
cmp dword [0x1022c6ac], 0xffffffff
jne 0x1000eb21
call fcn.10005060
push 0x1022c6ac
call fcn.101678ef
add esp, 4
mov ecx, dword [0x1022c6d8]
mov eax, dword [0x1022c6dc]
mov dword [ebp - 0x14], edi
cmp ecx, 0x25c5e09b
jne 0x1000eb3e
cmp eax, 0x8fafd21e
je 0x1000eb4d
cmp ecx, 0x257edf0d
jne 0x1000eb54
cmp eax, 0xb2ab117a
jne 0x1000eb54
test edi, edi
setne al
jmp 0x1000eb64
mov eax, dword [0x1022c6d0]
mov ecx, 0x1022c6d0
push edi
mov eax, dword [eax + 0x18]
call eax
mov byte [ebp - 0x10], al
mov dword [ebp - 0xc], 0x1022c6d0
test al, al
jne 0x1000ed4b
mov edi, dword [ebp - 4]
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [edi + 8], eax
mov dword [ebx + 8], eax
cmp dword [edi + 8], 0
jne 0x1000ec44
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebx]
mov ecx, ebx
push 1
mov edi, eax
call dword [edx]
mov ecx, dword fs:[0x2c]
mov eax, dword [0x10228880]
mov edx, dword [ecx + eax*4]
mov ecx, dword [0x1022c6ac]
cmp ecx, dword [edx + 4]
jle 0x1000ebec
push 0x1022c6ac
call fcn.1016792e
add esp, 4
cmp dword [0x1022c6ac], 0xffffffff
jne 0x1000ebec
call fcn.10005060
push 0x1022c6ac
call fcn.101678ef
add esp, 4
mov ecx, dword [0x1022c6d8]
mov eax, dword [0x1022c6dc]
mov dword [ebp - 0x14], edi
cmp ecx, 0x25c5e09b
jne 0x1000ec09
cmp eax, 0x8fafd21e
je 0x1000ec18
cmp ecx, 0x257edf0d
jne 0x1000ec1f
cmp eax, 0xb2ab117a
jne 0x1000ec1f
test edi, edi
setne al
jmp 0x1000ec2f
mov eax, dword [0x1022c6d0]
mov ecx, 0x1022c6d0
push edi
mov eax, dword [eax + 0x18]
call eax
mov byte [ebp - 0x10], al
mov dword [ebp - 0xc], 0x1022c6d0
test al, al
jne 0x1000ed58
mov edi, dword [ebp - 4]
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0
push ebx
push 0x1000ed80
push dword [ebp + 0xc]
push 0
call fcn.10174ff0
add esp, 0x18
mov dword [edi + 4], eax
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x1000ed32
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebx]
mov ecx, ebx
push 1
mov dword [ebp + 8], eax
call dword [edx]
test esi, esi
je 0x1000ec8d
push esi
call edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
test eax, eax
je 0x1000ec9a
push eax
call edi
mov eax, dword [0x10228880]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1022c6ac]
cmp eax, dword [ecx + 4]
jle 0x1000ecde
push 0x1022c6ac
call fcn.1016792e
add esp, 4
cmp dword [0x1022c6ac], 0xffffffff
jne 0x1000ecde
call fcn.10005060
push 0x1022c6ac
call fcn.101678ef
add esp, 4
mov ecx, dword [0x1022c6d8]
mov edx, dword [ebp + 8]
mov eax, dword [0x1022c6dc]
mov dword [ebp - 0x14], edx
cmp ecx, 0x25c5e09b
jne 0x1000ecfe
cmp eax, 0x8fafd21e
je 0x1000ed0d
cmp ecx, 0x257edf0d
jne 0x1000ed14
cmp eax, 0xb2ab117a
jne 0x1000ed14
test edx, edx
setne al
jmp 0x1000ed24
mov eax, dword [0x1022c6d0]
mov ecx, 0x1022c6d0
push edx
mov eax, dword [eax + 0x18]
call eax
mov byte [ebp - 0x10], al
mov dword [ebp - 0xc], 0x1022c6d0
test al, al
jne 0x1000ed65
test esi, esi
je 0x1000ed42
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
call edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edx, str.thread.entry_event
lea ecx, [ebp - 0x14]
call fcn.10005d10
mov edx, str.thread.exit_event
lea ecx, [ebp - 0x14]
call fcn.10005d10
mov edx, str.thread
lea ecx, [ebp - 0x14]
call fcn.10005d10
int3