Function at 0x1000e820
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 0x1000e8f9
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 [0x10227880]
mov edx, dword [ecx + eax*4]
mov ecx, dword [0x1022b680]
cmp ecx, dword [edx + 4]
jle 0x1000e8a1
push 0x1022b680
call fcn.1016716f
add esp, 4
cmp dword [0x1022b680], 0xffffffff
jne 0x1000e8a1
call fcn.10004d60
push 0x1022b680
call fcn.10167130
add esp, 4
mov ecx, dword [0x1022b6a8]
mov eax, dword [0x1022b6ac]
mov dword [ebp - 0x14], edi
cmp ecx, 0x25c5e09b
jne 0x1000e8be
cmp eax, 0x8fafd21e
je 0x1000e8cd
cmp ecx, 0x257edf0d
jne 0x1000e8d4
cmp eax, 0xb2ab117a
jne 0x1000e8d4
test edi, edi
setne al
jmp 0x1000e8e4
mov eax, dword [0x1022b6a0]
mov ecx, 0x1022b6a0
push edi
mov eax, dword [eax + 0x18]
call eax
mov byte [ebp - 0x10], al
mov dword [ebp - 0xc], 0x1022b6a0
test al, al
jne 0x1000eacb
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 0x1000e9c4
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 [0x10227880]
mov edx, dword [ecx + eax*4]
mov ecx, dword [0x1022b680]
cmp ecx, dword [edx + 4]
jle 0x1000e96c
push 0x1022b680
call fcn.1016716f
add esp, 4
cmp dword [0x1022b680], 0xffffffff
jne 0x1000e96c
call fcn.10004d60
push 0x1022b680
call fcn.10167130
add esp, 4
mov ecx, dword [0x1022b6a8]
mov eax, dword [0x1022b6ac]
mov dword [ebp - 0x14], edi
cmp ecx, 0x25c5e09b
jne 0x1000e989
cmp eax, 0x8fafd21e
je 0x1000e998
cmp ecx, 0x257edf0d
jne 0x1000e99f
cmp eax, 0xb2ab117a
jne 0x1000e99f
test edi, edi
setne al
jmp 0x1000e9af
mov eax, dword [0x1022b6a0]
mov ecx, 0x1022b6a0
push edi
mov eax, dword [eax + 0x18]
call eax
mov byte [ebp - 0x10], al
mov dword [ebp - 0xc], 0x1022b6a0
test al, al
jne 0x1000ead8
mov edi, dword [ebp - 4]
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0
push ebx
push 0x1000eb00
push dword [ebp + 0xc]
push 0
call fcn.1017486f
add esp, 0x18
mov dword [edi + 4], eax
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x1000eab2
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 0x1000ea0d
push esi
call edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
test eax, eax
je 0x1000ea1a
push eax
call edi
mov eax, dword [0x10227880]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1022b680]
cmp eax, dword [ecx + 4]
jle 0x1000ea5e
push 0x1022b680
call fcn.1016716f
add esp, 4
cmp dword [0x1022b680], 0xffffffff
jne 0x1000ea5e
call fcn.10004d60
push 0x1022b680
call fcn.10167130
add esp, 4
mov ecx, dword [0x1022b6a8]
mov edx, dword [ebp + 8]
mov eax, dword [0x1022b6ac]
mov dword [ebp - 0x14], edx
cmp ecx, 0x25c5e09b
jne 0x1000ea7e
cmp eax, 0x8fafd21e
je 0x1000ea8d
cmp ecx, 0x257edf0d
jne 0x1000ea94
cmp eax, 0xb2ab117a
jne 0x1000ea94
test edx, edx
setne al
jmp 0x1000eaa4
mov eax, dword [0x1022b6a0]
mov ecx, 0x1022b6a0
push edx
mov eax, dword [eax + 0x18]
call eax
mov byte [ebp - 0x10], al
mov dword [ebp - 0xc], 0x1022b6a0
test al, al
jne 0x1000eae5
test esi, esi
je 0x1000eac2
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.10005a10
mov edx, str.thread.exit_event
lea ecx, [ebp - 0x14]
call fcn.10005a10
mov edx, str.thread
lea ecx, [ebp - 0x14]
call fcn.10005a10
int3