Function at 0x140063b00
Capabilities:
Accept command line arguments
Create process on windows
Terminate process

Disassembly:
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 8]
sub rsp, 0x108
xor esi, esi
mov edi, esi
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea r8, [rbp + 0x40]
lea edx, [rsi + 8]
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x140063d8d
mov rcx, qword [rbp + 0x40]
lea rax, [rbp + 0x38]
lea r9d, [rsi + 4]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x30]
lea edx, [rsi + 0x1a]
call qword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
je 0x140063b5d
mov ebx, dword [rbp + 0x30]
lea edi, [rsi + 1]
jmp 0x140063b65
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x140063d95
cmp dword [rbp + 0x30], esi
je 0x140063b8c
mov ebx, esi
mov eax, ebx
add rsp, 0x108
pop rdi
pop rsi
pop rbx
pop rbp
ret
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea r8, [rsp + 0x70]
mov edx, 0xa
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x140063ce1
mov rcx, qword [rsp + 0x70]
lea rax, [rbp + 0x48]
mov r9d, 4
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x38]
lea edx, [r9 + 8]
call qword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
je 0x140063ccc
mov ecx, dword [rbp + 0x38]
lea r8, [rsp + 0x68]
mov qword [rsp + 0x68], rsi
call fcn.1400637e0
mov ebx, eax
test eax, eax
jne 0x140063cd4
mov rdx, qword [rsp + 0x68]
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_SetThreadToken]
test eax, eax
je 0x140063cac
mov rcx, qword [rsp + 0x70]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 1
mov edx, Ordinal_143
call qword [sym.imp.ADVAPI32.dll_DuplicateTokenEx]
test eax, eax
je 0x140063c86
mov rcx, qword [rsp + 0x60]
lea r9d, [rbx + 4]
lea r8, [rbp + 0x40]
mov dword [rbp + 0x40], 1
lea edx, [rbx + 0x1a]
call qword [sym.imp.ADVAPI32.dll_SetTokenInformation]
test eax, eax
jne 0x140063c8e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsp + 0x60]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call qword [sym.imp.ADVAPI32.dll_RevertToSelf]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140063ce9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call qword [sym.imp.ADVAPI32.dll_RevertToSelf]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140063ce9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsp + 0x68]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140063ce9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140063ce9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jne 0x140063d95
lea rcx, [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_GetStartupInfoW]
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea rcx, [rsp + 0x78]
xor r9d, r9d
mov qword [rsp + 0x50], rcx
mov r8, rax
lea rcx, [rbp - 0x70]
xor edx, edx
mov qword [rsp + 0x48], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
test eax, eax
je 0x140063d60
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
lea rcx, str.sa:_5
call fcn.140001580
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsp + 0x60]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
add rsp, 0x108
pop rdi
pop rsi
pop rbx
pop rbp
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov eax, ebx
add rsp, 0x108
pop rdi
pop rsi
pop rbx
pop rbp
ret