Function at 0x438acb
Capabilities:
Acquire debug privileges
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
push ebx
push esi
xor eax, eax
push edi
mov dword [ebp - 0x1c], eax
call fcn.00439470
mov dword [ebp - 0x10], eax
call fcn.00426bd0
test al, al
je 0x438aff
pop eax
push ebx
pop ecx
push ebx
pop ebp
push edx
pop ebp
pop edx
pop edi
pop eax
pop esp
push edi
push ecx
push edx
push ebx
push eax
push esp
pop esi
pop ecx
push edx
push esp
call fcn.00426489
test al, al
je 0x438b1a
pop edi
push ebp
push edx
pop esp
push esp
pop esi
pop ebx
pop ebp
pop eax
pop ebx
pop esp
pop edi
pop edx
pop edx
pop ebx
pop ebx
push ebx
push ebp
call fcn.00426c15
test al, al
je 0x438b41
pop esi
push edi
pop edi
pop edi
pop ebx
push eax
push ebx
pop edi
push edi
push esi
push eax
pop ebx
push ebp
push ecx
push ebp
push ebp
push ecx
pop ecx
pop edx
pop ebp
pop eax
pop eax
pop edx
push edi
push ebx
push eax
push edx
push ecx
pop esp
push edi
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
call fcn.0042684f
test al, al
je 0x438b72
push eax
pop esi
pop edi
pop esp
push esi
pop edi
pop ecx
pop ebp
push ebx
pop ebp
push ecx
push ecx
push eax
push edi
push ebx
pop esi
pop eax
pop edx
push esi
push esp
push edi
pop ecx
pop ebx
push ecx
pop ebx
push edx
pop edx
pop esp
pop edx
call fcn.00426489
test al, al
je 0x438b91
push ebp
pop ecx
push esp
pop edx
push ecx
push ebx
push edi
push esp
pop ebx
pop eax
pop edx
pop edx
push ebx
pop esi
pop ecx
push ebx
push esi
pop ecx
push ebx
push edx
push ebp
pop edi
call fcn.0042666c
test al, al
je 0x438bab
push edi
pop esp
pop edx
push eax
push edx
pop ebp
push ebx
push esp
push esp
pop esi
pop esp
pop eax
push ebx
push ecx
push esp
push esp
pop ecx
mov esi, dword [ebp - 0x10]
lea eax, [ebp - 0x18]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ProcessIdToSessionId]
lea eax, [ebp - 4]
push eax
push dword [ebp - 0x18]
call sub.WTSAPI32.dll_WTSQueryUserToken
mov edi, 0x400
test eax, eax
jne 0x438bf4
push esi
push eax
push edi
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je 0x438bf4
lea eax, [ebp - 4]
push eax
push 0xf00ff
push esi
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.004266b1
test al, al
je 0x438c1d
pop esp
pop edx
pop ebx
push esp
push esp
pop esp
push ecx
push ebp
push eax
push eax
push ebx
pop ebx
push ecx
push ecx
push esi
pop edx
pop esi
pop ebp
push eax
push ebx
push ecx
push eax
push edx
pop eax
push esi
push eax
push esp
pop ebx
pop edx
pop esi
pop ecx
push edi
call fcn.004269a8
test al, al
je 0x438c41
push ebp
pop edi
pop edi
push edi
push ebp
pop edi
pop eax
pop edx
pop esp
pop esp
pop edi
pop eax
push ebx
push esi
pop ebx
push ebx
push esp
pop esi
pop ebp
pop ebp
push esi
pop eax
mov edi, 0x400
cmp dword [ebp - 4], 0
je 0x438d9e
lea eax, [ebp - 0x1c]
push eax
push 4
lea eax, [ebp - 0x20]
push eax
push 0x13
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_GetTokenInformation]
xor esi, esi
xor ebx, ebx
inc esi
test eax, eax
jne 0x438c93
lea eax, [ebp - 0x14]
push eax
push str.SeDebugPrivilege
push ebx
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
lea eax, [ebp - 8]
push eax
push esi
push esi
push ebx
push 0x2000000
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_DuplicateTokenEx]
mov eax, dword [ebp - 8]
jmp 0x438c99
mov eax, dword [ebp - 0x20]
mov dword [ebp - 8], eax
push esi
push eax
lea eax, [ebp - 0xc]
push eax
call sub.USERENV.dll_CreateEnvironmentBlock
test eax, eax
je 0x438cb9
cmp dword [ebp + 0x10], 0
mov eax, 0x404
cmovne edi, eax
mov dword [ebp - 0x10], edi
jmp 0x438cbf
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
push 0x44
pop esi
push esi
lea eax, [ebp - 0x64]
push ebx
push eax
call fcn.00442fd0
push 0x10
push ebx
push dword [ebp + 0xc]
call fcn.00442fd0
push 5
pop eax
push 0x10
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x38], 1
mov word [ebp - 0x34], ax
call fcn.00442fd0
add esp, 0x24
call fcn.0042684f
test al, al
je 0x438d1d
push eax
pop esi
pop edi
pop esp
push esi
pop edi
pop ecx
pop ebp
push ebx
pop ebp
push ecx
push ecx
push eax
push edi
push ebx
pop esi
pop eax
pop edx
push esi
push esp
push edi
pop ecx
pop ebx
push ecx
pop ebx
push edx
pop edx
pop esp
pop edx
call fcn.00426489
test al, al
je 0x438d3c
push ebp
pop ecx
push esp
pop edx
push ecx
push ebx
push edi
push esp
pop ebx
pop eax
pop edx
pop edx
push ebx
pop esi
pop ecx
push ebx
push esi
pop ecx
push ebx
push edx
push ebp
pop edi
call fcn.0042666c
test al, al
je 0x438d56
push edi
pop esp
pop edx
push eax
push edx
pop ebp
push ebx
push esp
push esp
pop esi
pop esp
pop eax
push ebx
push ecx
push esp
push esp
pop ecx
push dword [ebp + 0xc]
xor ebx, ebx
lea eax, [ebp - 0x64]
push eax
push ebx
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push ebx
push ebx
push ebx
push dword [ebp + 8]
push ebx
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
test eax, eax
push 1
pop eax
cmovne ebx, eax
cmp dword [ebp - 8], 0
je 0x438d8d
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 4], 0
je 0x438da0
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x438da0
xor ebx, ebx
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret