Function at 0x18001151c
Capabilities:
Terminate thread

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov r13b, r9b
mov r14, r8
mov rsi, rdx
mov ebx, ecx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp ebx, eax
mov r12d, eax
je 0x180011550
test ebx, ebx
je 0x180011550
xor edi, edi
jmp 0x180011555
mov edi, 0x80070057
test ebx, ebx
je 0x180011565
mov ecx, ebx
call fcn.1800106b8
mov rbp, rax
jmp 0x180011567
xor ebp, ebp
xor r15d, r15d
test edi, edi
js 0x180011583
mov ecx, ebx
call fcn.180010e84
mov r15, rax
mov eax, 0x80070578
test r15, r15
cmove edi, eax
and dword [rsp + 0x90], 0
test edi, edi
js 0x1800116cc
test rsi, rsi
je 0x1800115af
cmp word [rsi], 0
je 0x1800115af
mov rcx, rsi
call fcn.1800106d8
mov dword [rsp + 0x90], eax
jmp 0x1800115b4
mov edi, 0x80070057
test edi, edi
js 0x1800116cc
test r13b, r13b
jne 0x1800116cc
xor edx, edx
mov r8d, ebx
lea ecx, [rdx + 0x40]
call qword [sym.imp.KERNEL32.dll_OpenProcess]
xor r13d, r13d
cmp rax, r13
mov rsi, rax
jne 0x1800115f8
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
cmp eax, r13d
cmovle edi, eax
jmp 0x1800116cf
cmp r14, r13
je 0x180011658
mov qword [rsp + 0xa0], r13
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [rsp + 0x30], 2
lea r9, [rsp + 0xa0]
mov r8, rsi
mov rdx, r14
mov rcx, rax
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
cmp eax, r13d
jne 0x180011650
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
cmp eax, r13d
cmovle edi, eax
jmp 0x180011658
mov r14, qword [rsp + 0xa0]
cmp edi, r13d
jl 0x1800116c1
mov qword [rsp + 0xa0], r13
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [rsp + 0x30], r13d
lea r9, [rsp + 0xa0]
mov r8, rsi
mov rdx, rbx
mov rcx, rax
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
cmp eax, r13d
jne 0x1800116b9
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
cmp eax, r13d
cmovle edi, eax
jmp 0x1800116c1
mov r12, qword [rsp + 0xa0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1800116cf
xor r13d, r13d
cmp edi, r13d
mov rbx, r13
mov esi, 1
jl 0x18001184b
mov edx, dword [rsp + 0x90]
mov eax, 0x2710
mov qword [rsp + 0xa0], r13
mov r13d, dword [rsp + 0xb0]
lea rcx, [rsp + 0xa0]
mov r9, r12
mov qword [rsp + 0x30], rcx
cmp r13d, eax
mov r8, r14
cmovb eax, r13d
mov rcx, r15
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], esi
call qword [sym.imp.USER32.dll_SendMessageTimeoutW]
test rax, rax
je 0x1800117d5
mov rsi, qword [rsp + 0xa0]
test rsi, rsi
je 0x18001176a
cmp rsi, 0xffffffffffffffff
jne 0x180011747
xor ebx, ebx
jmp 0x18001176a
and dword [rsp + 0x90], 0
lea rdx, [rsp + 0x90]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetHandleInformation]
neg eax
sbb rbx, rbx
and rbx, rsi
jne 0x18001176f
mov edi, 0x80070006
mov esi, 1
test rbp, rbp
je 0x180011784
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor ebp, ebp
test edi, edi
js 0x18001184b
mov rax, qword [rsp + 0xb8]
mov ecx, 2
lea rdx, [rsp + 0x40]
test rax, rax
mov r9d, r13d
mov qword [rsp + 0x40], rbx
cmove ecx, esi
xor r8d, r8d
mov qword [rsp + 0x48], rax
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
test eax, eax
je 0x180011811
cmp eax, esi
je 0x18001180a
cmp eax, 0x102
je 0x1800117eb
cmp eax, 0xffffffff
je 0x180011837
mov edi, 0x8000ffff
jmp 0x18001184b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
jmp 0x180011774
cmp byte [rsp + 0xc0], 0
je 0x180011803
mov edx, 0x80070102
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TerminateThread]
mov edi, 0x80070102
jmp 0x18001184b
mov edi, 0x80004004
jmp 0x18001184b
or dword [rsp + 0x90], 0xffffffff
lea rdx, [rsp + 0x90]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetExitCodeThread]
test eax, eax
je 0x180011837
mov edi, dword [rsp + 0x90]
jmp 0x18001184b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
xor sil, sil
test rbp, rbp
je 0x180011875
xor edx, edx
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
movzx esi, sil
mov rcx, rbp
test eax, eax
mov eax, 1
cmove esi, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rbx, rbx
je 0x180011885
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x180011890
mov eax, 0x80080008
test sil, sil
cmovne edi, eax
mov eax, edi
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret