Function at 0x16a0e
Capabilities:
Create thread

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x34
push ebx
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi + 4]
push edi
xor edi, edi
cmp eax, edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 4], edi
mov dword [ebp - 8], edi
mov dword [esi + 0xabc], 2
jne 0x16cf4
cmp dword [esi + 8], edi
jne 0x16cf4
cmp dword [esi + 0xc], edi
jne 0x16cf4
cmp dword [esi + 0x10], edi
jne 0x16cf4
mov ebx, dword [sym.imp.ntoskrnl.exe_KeInitializeEvent]
push edi
lea eax, [esi + 0x24]
push edi
push eax
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], edi
mov dword [ebp - 0x18], eax
call ebx
push edi
lea eax, [esi + 0x14]
push edi
push eax
mov dword [ebp - 0x1c], eax
call ebx
push edi
push 1
lea eax, [esi + 0x34]
push eax
call ebx
lea eax, [esi + 0x58]
mov dword [ebp + 8], eax
mov dword [ebp - 0x14], 0x3c
mov eax, dword [ebp + 8]
push edi
push 1
add eax, 0xfffffff0
push eax
call ebx
push edi
push 1
push dword [ebp + 8]
call ebx
add dword [ebp + 8], 0x2c
dec dword [ebp - 0x14]
jne 0x16a98
push esi
push 0x16832
push edi
push edi
lea eax, [ebp - 0x34]
push eax
mov ebx, 0x1f03ff
push ebx
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 0x34], 0x18
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x28], 0x200
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], edi
call dword [sym.imp.ntoskrnl.exe_PsCreateSystemThread]
cmp eax, edi
mov dword [ebp + 8], eax
jge 0x16b1b
test byte [0x13b14], 1
je 0x16b8a
push eax
mov ebx, 0x132cc
push ebx
push 0x37
push dword [0x13b0c]
push dword [0x13b08]
call fcn.000105cc
jmp 0x16b8f
push edi
lea eax, [ebp - 8]
push eax
push edi
push edi
push ebx
push dword [ebp - 0x10]
call dword [sym.imp.ntoskrnl.exe_ObReferenceObjectByHandle]
push esi
push 0x15080
push edi
push edi
lea eax, [ebp - 0x34]
push eax
push ebx
lea eax, [ebp - 0xc]
push eax
mov dword [ebp - 0x34], 0x18
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x28], 0x200
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], edi
call dword [sym.imp.ntoskrnl.exe_PsCreateSystemThread]
cmp eax, edi
mov dword [ebp + 8], eax
jge 0x16c86
test byte [0x13b14], 1
je 0x16b8a
push eax
push 0x132cc
push 0x38
push dword [0x13b0c]
push dword [0x13b08]
call fcn.000105cc
mov ebx, 0x132cc
mov esi, dword [sym.imp.ntoskrnl.exe_KeSetEvent]
push edi
push 1
push dword [ebp - 0x18]
call esi
push edi
push 1
push dword [ebp - 0x1c]
call esi
cmp dword [ebp - 4], edi
mov esi, dword [sym.imp.ntoskrnl.exe_KeWaitForSingleObject]
je 0x16c05
test byte [0x13b14], 1
je 0x16bd3
push dword [ebp - 0xc]
push dword [ebp - 4]
push ebx
push 0x3a
push dword [0x13b0c]
push dword [0x13b08]
call fcn.00010598
push edi
push edi
push edi
push edi
push dword [ebp - 4]
call esi
test byte [0x13b14], 4
je 0x16bf9
push ebx
push 0x3b
push dword [0x13b0c]
push dword [0x13b08]
call fcn.00010306
mov ecx, dword [ebp - 4]
call dword [sym.imp.ntoskrnl.exe_ObfDereferenceObject]
mov dword [ebp - 4], edi
cmp dword [ebp - 0xc], edi
je 0x16c16
push dword [ebp - 0xc]
call dword [sym.imp.ntoskrnl.exe_ZwClose]
mov dword [ebp - 0xc], edi
cmp dword [ebp - 8], edi
je 0x16c70
test byte [0x13b14], 1
je 0x16c3e
push dword [ebp - 0x10]
push dword [ebp - 8]
push ebx
push 0x3c
push dword [0x13b0c]
push dword [0x13b08]
call fcn.00010598
push edi
push edi
push edi
push edi
push dword [ebp - 8]
call esi
test byte [0x13b14], 4
je 0x16c64
push ebx
push 0x3d
push dword [0x13b0c]
push dword [0x13b08]
call fcn.00010306
mov ecx, dword [ebp - 8]
call dword [sym.imp.ntoskrnl.exe_ObfDereferenceObject]
mov dword [ebp - 8], edi
cmp dword [ebp - 0x10], edi
je 0x16c7e
push dword [ebp - 0x10]
call dword [sym.imp.ntoskrnl.exe_ZwClose]
mov eax, dword [ebp + 8]
jmp 0x16d24
push edi
lea eax, [ebp - 4]
push eax
push edi
push edi
push ebx
push dword [ebp - 0xc]
call dword [sym.imp.ntoskrnl.exe_ObReferenceObjectByHandle]
mov edi, dword [sym.imp.ntoskrnl.exe_KeSetPriorityThread]
push 0x10
push dword [ebp - 4]
call edi
push 0x10
push dword [ebp - 8]
call edi
test byte [0x13b14], 4
je 0x16cd8
push dword [ebp - 4]
push dword [ebp - 0xc]
push dword [ebp - 8]
push dword [ebp - 0x10]
push 0x132cc
push 0x39
push dword [0x13b0c]
push dword [0x13b08]
call fcn.00010634
mov eax, dword [ebp - 0xc]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [esi + 8], eax
mov eax, dword [ebp - 4]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 8]
mov dword [esi + 0x10], eax
xor eax, eax
jmp 0x16d24
test byte [0x13b14], 1
je 0x16d1f
push dword [esi + 0x10]
push dword [esi + 0xc]
push dword [esi + 8]
push eax
push 0x132cc
push 0x36
push dword [0x13b0c]
push dword [0x13b08]
call fcn.00010634
mov eax, 0xc0000001
pop edi
pop esi
pop ebx
leave
ret 4