Function at 0x160053378
Capabilities:
Check for debugger via api
Terminate process

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xe78]
sub rsp, 0xf50
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x160270bd8]
xor rax, rsp
mov qword [rbp + 0xe40], rax
mov ebx, edx
mov r13, rcx
xor edi, edi
mov r15d, edi
mov dword [rsp + 0x50], edi
lea esi, [rdi + 1]
test dword [0x160274340], 0x800
jne 0x160099196
test r15b, 2
jne 0x1600991fa
test sil, r15b
jne 0x160099212
mov dword [rsp + 0x54], edi
mov rax, qword [0x160273d18]
mov r12d, dword [rax + 0xfa4]
test r12d, r12d
cmove esi, ebx
mov eax, r12d
neg eax
sbb r14d, r14d
and r14d, 0xfffb9330
test esi, esi
jne 0x160053437
mov esi, edi
lea rdx, [rsp + 0x54]
mov rcx, qword [r13 + 0x20]
call qword [sym.imp.api_ms_win_core_debug_l1_1_1.dll_CheckRemoteDebuggerPresent]
test eax, eax
je 0x160053437
cmp dword [rsp + 0x54], edi
mov eax, 1
cmovne esi, eax
lea rdi, [r13 + 0x78]
mov qword [rsp + 0x60], rdi
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
nop
lea rcx, [r13 + 0x50]
call fcn.16005254c
lea rbx, [r13 + 0xa0]
mov qword [rbp - 0x70], rbx
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
nop
lea rcx, [r13 + 0x70]
xor edx, edx
call fcn.1600523d4
nop
test rbx, rbx
je 0x160053482
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
mov rcx, r13
call fcn.160053318
xor ebx, ebx
test eax, eax
je 0x1600994a4
mov rax, qword [0x160273d18]
cmp dword [rax + 0x4e8], ebx
jne 0x1600994a4
lea eax, [rbx + 1]
mov dword [r13 + 0x3c], eax
lea edx, [rbx + 0x20]
mov rcx, qword [r13 + 0x20]
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_SetPriorityClass]
mov rcx, qword [r13 + 0xc8]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_SetEvent]
test eax, eax
je 0x160099412
mov rax, qword [r13 + 0x20]
mov qword [rsp + 0x68], rax
mov rax, qword [0x160273d18]
mov rcx, qword [rax + 0xfb0]
mov qword [rsp + 0x70], rcx
neg r12d
sbb ecx, ecx
add ecx, 2
lea r9d, [r14 + 0x493e0]
xor r8d, r8d
lea rdx, [rsp + 0x68]
call qword [sym.imp.api_ms_win_core_synch_l1_2_1.dll_WaitForMultipleObjects]
mov r12d, eax
test eax, eax
jne 0x1600992bf
test dword [0x160274340], 0x800
jne 0x16009922a
test r15b, 8
jne 0x16009928f
test r15b, 4
jne 0x1600992aa
test dword [0x160274340], 0x800
jne 0x160099424
test r15b, 0x20
jne 0x160099489
test r15b, 0x10
jne 0x1600535b1
mov rax, qword [0x160273d18]
mov rcx, qword [rax + 0x1d20]
test rcx, rcx
je 0x160053573
lock dec dword [rcx]
mov rdi, qword [rsp + 0x60]
test rdi, rdi
je 0x160053581
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
mov rcx, qword [rbp + 0xe40]
xor rcx, rsp
call fcn.16006e590
lea r11, [rsp + 0xf50]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rcx, [rbp + 0x2c0]
jmp 0x160099546
mov rdx, qword [rcx + 0x18]
test rdx, rdx
je 0x1600991bb
add rdx, 0x2c0
lea rcx, [rbp + 0x40]
call fcn.160121184
mov r9, rax
mov r15d, esi
mov dword [rsp + 0x50], esi
jmp 0x1600991d2
lea rcx, [rbp - 0x60]
call fcn.1601211c8
mov r9, rax
mov r15d, 2
mov dword [rsp + 0x50], r15d
mov eax, edi
cmp word [r13 + 0x44], di
setne al
mov dword [rsp + 0x20], eax
mov r9, qword [r9 + 8]
mov r8d, dword [r13 + 0x48]
lea rdx, [0x1601f9318]
call fcn.160121abc
nop
jmp 0x1600533d8
and r15d, 0xfffffffd
mov dword [rsp + 0x50], r15d
lea rcx, [rbp - 0x60]
call fcn.1600ad8ac
nop
jmp 0x1600533e2
and r15d, 0xfffffffe
mov dword [rsp + 0x50], r15d
lea rcx, [rbp + 0x40]
call fcn.1600ad8ac
nop
jmp 0x1600533eb
mov rdx, qword [r13 + 0x18]
test rdx, rdx
je 0x16009924f
add rdx, 0x2c0
lea rcx, [rbp + 0x180]
call fcn.160121184
mov r9, rax
or r15d, 4
jmp 0x160099262
lea rcx, [rbp + 0xe0]
call fcn.1601211c8
mov r9, rax
or r15d, 8
mov dword [rsp + 0x50], r15d
mov eax, ebx
cmp word [r13 + 0x44], bx
setne al
mov dword [rsp + 0x20], eax
mov r9, qword [r9 + 8]
mov r8d, dword [r13 + 0x48]
lea rdx, [0x1601f91d8]
call fcn.160121abc
nop
jmp 0x160053524
and r15d, 0xfffffff7
mov dword [rsp + 0x50], r15d
lea rcx, [rbp + 0xe0]
call fcn.1600ad8ac
nop
jmp 0x16005352e
and r15d, 0xfffffffb
mov dword [rsp + 0x50], r15d
lea rcx, [rbp + 0x180]
call fcn.1600ad8ac
cmp r12d, 0x102
jne 0x160099409
test esi, esi
jne 0x160099412
call fcn.160105180
test eax, eax
jne 0x160099412
mov rbx, qword [0x160273d18]
add rbx, 0x140
mov qword [rbp - 0x68], rbx
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
nop
mov rax, qword [r13 + 0x20]
mov qword [rsp + 0x78], rax
mov r9d, dword [r13 + 0x48]
mov dword [rsp + 0x58], r9d
mov rax, qword [0x160273d18]
mov rcx, qword [rax + 0x1038]
mov qword [rbp - 0x80], rcx
mov esi, dword [rax + 0x10ac]
mov dword [rsp + 0x5c], esi
neg rcx
sbb r14d, r14d
neg r14d
inc r14d
lea r8, [0x1601d65a4]
mov edx, SafeArrayDestroy
lea rcx, [rbp + 0xe28]
call fcn.160059e34
mov r9d, esi
lea r8, [0x1601d65a4]
mov edx, SafeArrayDestroy
lea rcx, [rbp + 0xe10]
call fcn.160059e34
mov rax, qword [0x160273d18]
mov rdx, qword [rax + 0x180]
lea rcx, [rbp + 0x4a0]
call fcn.1600c0044
nop
xor eax, eax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xe10]
lea r8, [rbp + 0xe28]
mov edx, 0x80002727
lea rcx, [rbp + 0x4a0]
call fcn.160106504
lea eax, [r14 - 1]
mov dword [rsp + 0x40], eax
lea rax, [0x160274d64]
mov qword [rsp + 0x38], rax
lea rax, [0x1602047b8]
mov qword [rsp + 0x30], rax
lea rax, str.SearchProtocolHost
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x78]
mov ecx, 0x208
call fcn.1600cacf4
nop
lea rcx, [rbp + 0x4a0]
call fcn.1600c0898
nop
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
xor ebx, ebx
test r12d, r12d
je 0x160053538
xor edx, edx
mov rcx, qword [r13 + 0x20]
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TerminateProcess]
nop
jmp 0x160053538
mov rdx, qword [r13 + 0x18]
test rdx, rdx
je 0x160099449
add rdx, 0x2c0
lea rcx, [rbp + 0x2c0]
call fcn.160121184
mov r9, rax
or r15d, 0x10
jmp 0x16009945c
lea rcx, [rbp + 0x220]
call fcn.1601211c8
mov r9, rax
or r15d, 0x20
mov dword [rsp + 0x50], r15d
mov eax, ebx
cmp word [r13 + 0x44], bx
setne al
mov dword [rsp + 0x20], eax
mov r9, qword [r9 + 8]
mov r8d, dword [r13 + 0x48]
lea rdx, [0x1601f92c8]
call fcn.160121abc
nop
jmp 0x160053548
and r15d, 0xffffffdf
mov dword [rsp + 0x50], r15d
lea rcx, [rbp + 0x220]
call fcn.1600ad8ac
nop
jmp 0x160053552
mov eax, 1
mov dword [r13 + 0x3c], eax
test dword [0x160274340], 0x800
je 0x160099519
mov rdx, qword [r13 + 0x18]
test rdx, rdx
je 0x1600994de
add rdx, 0x2c0
lea rcx, [rbp + 0x400]
call fcn.160121184
mov r9, rax
or r15d, 0x40
jmp 0x1600994f2
lea rcx, [rbp + 0x360]
call fcn.1601211c8
mov r9, rax
bts r15d, 7
mov dword [rsp + 0x50], r15d
mov eax, ebx
cmp word [r13 + 0x44], bx
setne al
mov dword [rsp + 0x20], eax
mov r9, qword [r9 + 8]
mov r8d, dword [r13 + 0x48]
lea rdx, [0x1601f8fe8]
call fcn.160121abc
test r15b, r15b
jns 0x160099535
btr r15d, 7
mov dword [rsp + 0x50], r15d
lea rcx, [rbp + 0x360]
call fcn.1600ad8ac
nop
test r15b, 0x40
je 0x160053558
lea rcx, [rbp + 0x400]
call fcn.1600ad8ac
nop
jmp 0x160053558