Function at 0x140002880
Capabilities:
Compare security identifiers
Create process on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x140079010]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov r15, r8
mov r14, rdx
mov rdi, rcx
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
movups xmmword [rbp + 0x18], xmm0
movups xmmword [rbp + 0x28], xmm0
xor esi, esi
test rcx, rcx
je 0x1400028d2
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400028d5
mov rax, rsi
lea r8, [0x140064fc0]
mov rdx, rax
lea rcx, [rbp + 8]
call fcn.140020bf0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], rax
xorps xmm1, xmm1
movups xmmword [rbp - 0x70], xmm1
movups xmmword [rbp - 0x60], xmm1
movups xmmword [rbp - 0x50], xmm1
movups xmmword [rbp - 0x40], xmm1
movups xmmword [rbp - 0x30], xmm1
movups xmmword [rbp - 0x20], xmm1
mov qword [rbp - 0x10], rax
mov dword [rbp - 0x70], 0x68
mov r12d, 1
mov dword [rbp - 0x34], r12d
mov word [rbp - 0x30], r12w
lea rax, str.winsta0default
mov qword [rbp - 0x60], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea r8, [rsp + 0x68]
lea edx, [r12 + 7]
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x140002987
lea rax, [rbp]
mov qword [rsp + 0x20], rax
lea r9d, [r12 + 0x53]
lea r8, [rbp + 0x40]
mov edx, r12d
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_GetTokenInformation]
mov rcx, qword [rsp + 0x68]
test eax, eax
jne 0x140002a46
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rdi, rdi
je 0x1400029b9
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp byte [rax + 0x1e30], 0
je 0x1400029b9
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rax
xor r8d, r8d
lea rdx, str.isSystemUser__false_n
call fcn.140020650
lea rax, [rsp + 0x78]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x10
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x140002cf2
test rdi, rdi
je 0x140002d01
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp byte [rax + 0x1e30], 0
je 0x140002d01
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + reloc.OLEAUT32.dll_VariantClear]
mov r9d, ebx
mov r8d, r12d
lea rdx, str.CreateProcessW_failed_with_error_code__i_n
mov rcx, rax
call fcn.140020650
jmp 0x140002d01
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [rsp + 0x60], 0
mov word [rsp + 0x64], 0x500
lea rax, [rsp + 0x70]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x48], esi
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8d, [r9 + 0x12]
movzx edx, r12b
lea rcx, [rsp + 0x60]
call qword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
test eax, eax
je 0x140002987
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.ADVAPI32.dll_EqualSid]
mov ebx, eax
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_FreeSid]
test ebx, ebx
je 0x140002987
test rdi, rdi
je 0x140002afb
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp byte [rax + 0x1e30], 0
je 0x140002afb
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rax
xor r8d, r8d
lea rdx, str.isSystemUser__true_n
call fcn.140020650
call qword [sym.imp.KERNEL32.dll_WTSGetActiveConsoleSessionId]
mov ebx, eax
jmp 0x140002b08
call qword [sym.imp.KERNEL32.dll_WTSGetActiveConsoleSessionId]
mov ebx, eax
test rdi, rdi
je 0x140002b38
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp byte [rax + 0x1e30], 0
je 0x140002b38
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rax
mov r9d, ebx
mov r8d, r12d
lea rdx, str.dwSessionId___i_n
call fcn.140020650
lea rcx, str.Wtsapi32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rcx, rax
lea rdx, [0x140065060]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140002d6d
lea rdx, [rsp + 0x68]
mov ecx, ebx
call rax
test eax, eax
je 0x140002d2e
mov qword [rsp + 0x60], rsi
xor r8d, r8d
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x60]
call qword [sym.imp.USERENV.dll_CreateEnvironmentBlock]
test eax, eax
jne 0x140002bd2
test rdi, rdi
je 0x140002bc8
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp byte [rax + 0x1e30], 0
je 0x140002bc8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + reloc.OLEAUT32.dll_VariantClear]
mov r9d, ebx
mov r8d, r12d
lea rdx, str.CreateEnvironmentBlock_failed_with_error_code__i_n
mov rcx, rax
call fcn.140020650
mov rax, rsi
mov qword [rsp + 0x60], rax
jmp 0x140002bd7
mov rax, qword [rsp + 0x60]
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x50], rcx
lea rcx, [rbp - 0x70]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0x8000480
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
xor r9d, r9d
mov r8, r15
mov rdx, r14
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
test eax, eax
jne 0x140002c5a
test rdi, rdi
je 0x140002c5a
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp byte [rax + 0x1e30], 0
je 0x140002c5a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + reloc.OLEAUT32.dll_VariantClear]
mov r9d, ebx
mov r8d, r12d
lea rdx, str.CreateProcessAsUserW_failed_with_error_code__i_n
mov rcx, rax
call fcn.140020650
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.USERENV.dll_DestroyEnvironmentBlock]
test eax, eax
jne 0x140002ca6
test rdi, rdi
je 0x140002ca6
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp byte [rax + 0x1e30], 0
je 0x140002ca6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + reloc.OLEAUT32.dll_VariantClear]
mov r9d, ebx
mov r8d, r12d
lea rdx, str.DestroyEnvironmentBlock_failed_with_error_code__i_n
mov rcx, rax
call fcn.140020650
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x140002cf2
test rdi, rdi
je 0x140002cf2
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp byte [rax + 0x1e30], 0
je 0x140002cf2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + reloc.OLEAUT32.dll_VariantClear]
mov r9d, ebx
mov r8d, r12d
lea rdx, str.CloseHandle_hUserToken__failed_with_error_code__i_n
mov rcx, rax
call fcn.140020650
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rsi, qword [rsp + 0x78]
lea rcx, [rbp + 8]
call fcn.140021100
mov rax, rsi
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.14002aab0
add rsp, 0x1b0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test rdi, rdi
je 0x140002d01
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp byte [rax + 0x1e30], 0
je 0x140002d01
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + reloc.OLEAUT32.dll_VariantClear]
mov r9d, ebx
mov r8d, r12d
lea rdx, str._WTSQueryUserToken_failed_with_error_code__i_n
mov rcx, rax
call fcn.140020650
jmp 0x140002d01
test rdi, rdi
je 0x140002d01
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp byte [rax + 0x1e30], 0
je 0x140002d01
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + reloc.OLEAUT32.dll_VariantClear]
mov r9d, ebx
mov r8d, r12d
lea rdx, str.GetProcAddress_WTSQueryUserToken__failed_with_error_code__i_n
mov rcx, rax
call fcn.140020650
jmp 0x140002d01