Function at 0x14003b524
Capabilities:
Acquire debug privileges
Terminate process
Terminate thread

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
xor ebp, ebp
mov rbx, rcx
lea rcx, [rsp + 0x50]
mov r12d, 1
mov dword [rsp + 0x108], ebp
mov r15d, ebp
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x78], rbp
call fcn.140061510
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov rdx, qword [rsp + 0xf8]
lea r8, [rsp + 0x50]
xor r9d, r9d
mov rcx, rbx
mov dword [rsp + 0x60], eax
mov byte [rsp + 0x20], r12b
call fcn.1400782c4
mov r11, qword [rsp + 0x50]
lea eax, [rbp + 0x2d]
mov qword [rsp + 0xf8], r11
movzx r14d, bp
lea edi, [rbp + 0x2a]
mov si, bp
mov r13w, bp
mov word [rsp + 0x3c], bp
cmp ax, word [r11]
jne 0x14003b5cb
mov edi, eax
mov ebx, 4
cmp di, word [r11]
jne 0x14003b841
add r11, 2
mov qword [rsp + 0xf8], r11
je 0x14003b751
lea rdx, [rsp + 0xf8]
lea rcx, [0x140115150]
mov r8d, 5
call fcn.140063f6c
cmp al, bpl
je 0x14003b614
or r14w, r12w
jmp 0x14003b73f
mov rdx, qword [rsp + 0xf8]
lea rcx, str.svr2
mov r8d, ebx
call fcn.14005a400
cmp al, bpl
jne 0x14003b7a7
mov rdx, qword [rsp + 0xf8]
lea rcx, str.exitcode
mov r8d, 9
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
cmp eax, ebp
jne 0x14003b6ad
mov rax, qword [rsp + 0xf8]
mov dword [rsp + 0x40], ebp
lea rdx, [rsp + 0x40]
add rax, 0x14
mov qword [rsp + 0xf8], rax
movzx ecx, word [rax]
mov eax, 9
sub cx, 0x30
cmp cx, ax
lea rcx, [rsp + 0xf8]
setbe bl
call fcn.1400710e8
cmp bl, bpl
mov ebx, 4
je 0x14003b73f
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x108], eax
jmp 0x14003b73f
lea rdx, [rsp + 0xf8]
lea rcx, str.explorer
mov r8d, 8
call fcn.140063f6c
cmp al, bpl
je 0x14003b6d6
mov dword [rsp + 0x108], r12d
jmp 0x14003b73f
lea rdx, [rsp + 0xf8]
lea rcx, [0x140116e2c]
mov r8d, 3
call fcn.140063f6c
cmp al, bpl
je 0x14003b6fa
mov esi, r12d
jmp 0x14003b73f
lea rdx, [rsp + 0xf8]
lea rcx, str.tree
mov r8d, ebx
call fcn.140063f6c
cmp al, bpl
je 0x14003b71e
mov r13d, 0xc0
jmp 0x14003b73f
lea rdx, [rsp + 0xf8]
lea rcx, [0x140116e20]
mov r8d, r12d
call fcn.140063f6c
cmp al, bpl
je 0x14003b79c
mov dword [rsp + 0x3c], r12d
mov r11, qword [rsp + 0xf8]
cmp di, word [r11]
je 0x14003b5da
cmp si, bp
je 0x14003b841
mov rax, qword [str.26:INDATA]
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x80]
mov qword [rcx], rax
mov rax, qword [0x140116e10]
mov qword [rcx + 8], rax
mov rax, qword [0x140116e18]
mov qword [rcx + 0x10], rax
mov rcx, qword [rsp + 0xf0]
call fcn.140030820
jmp 0x14003bc6c
sub qword [rsp + 0xf8], 2
jmp 0x14003b751
lea rsi, [0x140132120]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, 2
lea rcx, str.SeShutdownPrivilege
lea r8d, [rdx + 6]
call fcn.14001b8e0
movzx eax, word [0x14013219c]
mov edi, 4
mov bl, bpl
lea r12, str.SeDebugPrivilege
test dil, al
jne 0x14003b801
or ax, di
lea edx, [rdi - 2]
xor r8d, r8d
mov rcx, r12
mov bl, 1
mov word [0x14013219c], ax
call fcn.14001b8e0
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_AbortSystemShutdownW]
cmp bl, bpl
je 0x14003b827
mov eax, 0xfffb
xor r8d, r8d
mov edx, edi
and word [0x14013219c], ax
mov rcx, r12
call fcn.14001b8e0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [rsp + 0x50]
call fcn.140058d88
xor eax, eax
jmp 0x14003bc79
lea rsi, [0x140132120]
mov rcx, rsi
mov rbx, rsi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [rsp + 0x38], 0x8000
mov dil, bpl
lea r12, str.SeDebugPrivilege
cmp r14b, bpl
je 0x14003b89c
movzx eax, word [0x14013219c]
mov ecx, 4
test cl, al
jne 0x14003b89c
lea r14d, [rcx - 3]
or ax, cx
lea edx, [rcx - 2]
xor r8d, r8d
mov rcx, r12
mov dil, r14b
mov word [0x14013219c], ax
call fcn.14001b8e0
jmp 0x14003b8ae
mov rcx, rsi
mov rbx, rbp
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r14d, 1
mov rcx, qword [rsp + 0xf8]
mov esi, 0x2a
cmp si, word [rcx]
jne 0x14003ba5e
mov esi, ebp
mov eax, 0x2a
add rcx, 2
add esi, r14d
mov qword [rsp + 0xf8], rcx
cmp ax, word [rcx]
je 0x14003b8cb
mov eax, 0x26
jmp 0x14003b8f5
add rcx, 2
add r15d, r14d
mov qword [rsp + 0xf8], rcx
cmp ax, word [rcx]
je 0x14003b8e6
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xf8]
call fcn.140070e78
cmp eax, ebp
jle 0x14003ba24
mov rcx, qword [rsp + 0x30]
cmp rcx, rbp
je 0x14003ba24
cmp esi, r14d
jne 0x14003b98b
cmp r15d, ebp
je 0x14003b9e3
mov edx, dword [rsp + 0x108]
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
cmp eax, r14d
jne 0x14003b947
mov rsi, rbp
jmp 0x14003b955
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebp
cmove eax, r14d
mov esi, eax
cmp dil, bpl
je 0x14003b975
xor r8d, r8d
mov eax, 0xfffb
mov rcx, r12
and word [0x14013219c], ax
lea edx, [r8 + 4]
call fcn.14001b8e0
cmp rbx, rbp
je 0x14003b983
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbp, rsi
jmp 0x14003bc6c
cmp esi, 2
jne 0x14003b9e3
cmp r15d, ebp
je 0x14003b9a4
mov edx, dword [rsp + 0x108]
call qword [sym.imp.KERNEL32.dll_TerminateThread]
jmp 0x14003b93d
mov r8d, ecx
xor edx, edx
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov r13, rax
cmp rax, rbp
je 0x14003b947
cmp rax, 0xffffffffffffffff
je 0x14003b947
mov edx, dword [rsp + 0x108]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateThread]
mov rcx, r13
mov esi, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, r14d
jmp 0x14003b940
mov esi, dword [rsp + 0x108]
mov r14, rcx
mov qword [rsp + 0x68], rcx
mov r15b, bpl
cmp r13w, bp
je 0x14003ba14
lea r10, [0x140111598]
or r13w, 1
mov qword [rsp + 0xf8], r10
jmp 0x14003bb1a
mov r10, rbp
mov qword [rsp + 0xf8], rbp
jmp 0x14003bba0
cmp dil, bpl
je 0x14003ba44
xor r8d, r8d
mov eax, 0xfffb
mov rcx, r12
and word [0x14013219c], ax
lea edx, [r8 + 4]
call fcn.14001b8e0
cmp rbx, rbp
je 0x14003ba52
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbp, 0xffffffff80070057
jmp 0x14003bc6c
call fcn.140018458
mov rcx, rax
call fcn.14001b428
mov qword [rsp + 0xf8], rax
cmp word [rax], bp
je 0x14003ba24
mov edx, 0x5c
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrChrW]
mov r10, qword [rsp + 0xf8]
neg rax
sbb al, al
and al, 0x20
mov byte [rsp + 0x100], al
cmp r10, rbp
je 0x14003bafc
lea rcx, [rsp + 0x58]
mov r8d, 0x3f
mov edx, esi
mov qword [rsp + 0x58], r10
call fcn.140058fec
mov r11, qword [rsp + 0x58]
mov r10, qword [rsp + 0xf8]
cmp r11, r10
jbe 0x14003baf0
cmp si, word [r11]
jne 0x14003baf0
cmp word [r11 + 2], bp
jne 0x14003baf0
mov word [r11], bp
mov r10, qword [rsp + 0xf8]
mov qword [rsp + 0x70], r11
mov r13d, 0x81
jmp 0x14003bafc
cmp word [r11], bp
je 0x14003bafc
mov r13d, 0x181
mov rcx, qword [rsp + 0x30]
mov esi, dword [rsp + 0x108]
mov r15b, byte [rsp + 0x100]
cmp r10, rbp
je 0x14003bb6e
mov r14, qword [rsp + 0x68]
movzx eax, r13w
mov rcx, r10
mov dword [rsp + 0x20], r14d
neg ax
movsx eax, r15b
sbb edx, edx
xor r9d, r9d
and edx, esi
mov r8d, edx
movzx edx, r13w
or edx, 0x10
or edx, eax
call fcn.14002d480
mov rcx, rax
mov qword [rsp + 0x30], rax
cmp r14, rbp
je 0x14003bb66
lea r8, [rsp + 0x48]
mov edx, esi
mov ecx, r14d
call fcn.140019b64
mov rcx, qword [rsp + 0x30]
mov r10, qword [rsp + 0xf8]
cmp r13w, bp
je 0x14003bb96
cmp rcx, rbp
mov rax, rbp
sete al
mov qword [rsp + 0x48], rax
cmp r10, rbp
je 0x14003bc27
cmp rcx, rbp
je 0x14003bc27
jmp 0x14003bbbe
movsxd rax, dword [rsp + 0x60]
cmp rax, rcx
je 0x14003bbbe
cmp rcx, rbp
je 0x14003bbbe
lea r8, [rsp + 0x48]
mov edx, esi
call fcn.140019b64
mov r10, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x30]
cmp word [rsp + 0x3c], bp
jne 0x14003bc27
cmp r10, rbp
je 0x14003bc27
cmp rcx, rbp
je 0x14003bc27
mov r14d, 1
cmp qword [rsp + 0x78], rcx
jne 0x14003bbff
mov rcx, qword [rsp + 0xf0]
xor r9d, r9d
xor r8d, r8d
mov rdx, r14
call fcn.14001f27c
mov r10, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x30]
cmp r13w, bp
mov rax, rcx
cmovne rax, rbp
cmp rcx, rbp
mov qword [rsp + 0x78], rax
jle 0x14003bc27
mov eax, dword [rsp + 0x38]
sub eax, r14d
cmp eax, ebp
mov dword [rsp + 0x38], eax
jg 0x14003bb10
mov rax, qword [rsp + 0x70]
cmp rax, rbp
je 0x14003bc39
mov ecx, 0x2a
mov word [rax], cx
cmp dil, bpl
je 0x14003bc59
xor r8d, r8d
mov eax, 0xfffb
mov rcx, r12
and word [0x14013219c], ax
lea edx, [r8 + 4]
call fcn.14001b8e0
cmp rbx, rbp
je 0x14003bc67
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbp, qword [rsp + 0x48]
lea rcx, [rsp + 0x50]
call fcn.140058d88
mov rax, rbp
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret