Function at 0x4164a0
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 ebx, ecx
push 0
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov edi, dword [ebp + 8]
mov esi, eax
mov dword [edi + 4], esi
test esi, esi
jne 0x416572
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [edi]
mov ecx, edi
push 1
mov ebx, eax
call dword [edx]
mov eax, dword fs:[0x2c]
mov ecx, dword [0x652a58]
mov edx, dword [eax]
cmp ecx, dword [edx + 4]
jle 0x41651a
push 0x652a58
call fcn.005822ab
add esp, 4
cmp dword [0x652a58], 0xffffffff
jne 0x41651a
call fcn.00404ef0
push 0x652a58
call fcn.0058226c
add esp, 4
mov ecx, dword [0x652a80]
mov eax, dword [0x652a84]
mov dword [ebp - 0x14], ebx
cmp ecx, 0x25c5e09b
jne 0x416537
cmp eax, 0x8fafd21e
je 0x416546
cmp ecx, 0x257edf0d
jne 0x41654d
cmp eax, 0xb2ab117a
jne 0x41654d
test ebx, ebx
setne al
jmp 0x41655d
mov eax, dword [0x652a78]
mov ecx, 0x652a78
push ebx
mov eax, dword [eax + 0x18]
call eax
mov byte [ebp - 0x10], al
mov dword [ebp - 0xc], 0x652a78
test al, al
jne 0x416736
mov ebx, dword [ebp - 4]
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebx + 8], eax
mov dword [edi + 8], eax
cmp dword [ebx + 8], 0
jne 0x416636
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [edi]
mov ecx, edi
push 1
mov ebx, eax
call dword [edx]
mov eax, dword fs:[0x2c]
mov ecx, dword [0x652a58]
mov edx, dword [eax]
cmp ecx, dword [edx + 4]
jle 0x4165de
push 0x652a58
call fcn.005822ab
add esp, 4
cmp dword [0x652a58], 0xffffffff
jne 0x4165de
call fcn.00404ef0
push 0x652a58
call fcn.0058226c
add esp, 4
mov ecx, dword [0x652a80]
mov eax, dword [0x652a84]
mov dword [ebp - 0x14], ebx
cmp ecx, 0x25c5e09b
jne 0x4165fb
cmp eax, 0x8fafd21e
je 0x41660a
cmp ecx, 0x257edf0d
jne 0x416611
cmp eax, 0xb2ab117a
jne 0x416611
test ebx, ebx
setne al
jmp 0x416621
mov eax, dword [0x652a78]
mov ecx, 0x652a78
push ebx
mov eax, dword [eax + 0x18]
call eax
mov byte [ebp - 0x10], al
mov dword [ebp - 0xc], 0x652a78
test al, al
jne 0x416743
mov ebx, dword [ebp - 4]
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0
push edi
push 0x416760
push dword [ebp + 0xc]
push 0
call fcn.00590c73
add esp, 0x18
mov dword [ebx + 4], eax
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x41671d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [edi]
mov ecx, edi
push 1
mov dword [ebp + 8], eax
call dword [edx]
test esi, esi
je 0x41667f
push esi
call ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
test eax, eax
je 0x41668c
push eax
call ebx
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x652a58]
cmp eax, dword [ecx + 4]
jle 0x4166c9
push 0x652a58
call fcn.005822ab
add esp, 4
cmp dword [0x652a58], 0xffffffff
jne 0x4166c9
call fcn.00404ef0
push 0x652a58
call fcn.0058226c
add esp, 4
mov ecx, dword [0x652a80]
mov edx, dword [ebp + 8]
mov eax, dword [0x652a84]
mov dword [ebp - 0x14], edx
cmp ecx, 0x25c5e09b
jne 0x4166e9
cmp eax, 0x8fafd21e
je 0x4166f8
cmp ecx, 0x257edf0d
jne 0x4166ff
cmp eax, 0xb2ab117a
jne 0x4166ff
test edx, edx
setne al
jmp 0x41670f
mov eax, dword [0x652a78]
mov ecx, 0x652a78
push edx
mov eax, dword [eax + 0x18]
call eax
mov byte [ebp - 0x10], al
mov dword [ebp - 0xc], 0x652a78
test al, al
jne 0x416750
test esi, esi
je 0x41672d
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
call ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edx, 0x617d8c
lea ecx, [ebp - 0x14]
call fcn.00405ba0
mov edx, 0x617dc0
lea ecx, [ebp - 0x14]
call fcn.00405ba0
mov edx, 0x617db8
lea ecx, [ebp - 0x14]
call fcn.00405ba0
int3