Function at 0x4103c0
Capabilities:
Acquire debug privileges
Create process on windows
Enumerate processes
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c0
mov eax, dword [0x5c2b50]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x258], 0xffffffff
mov dword [ebp - 0x248], 0xffffffff
mov dword [ebp - 0x244], 0xffffffff
mov dword [ebp - 0x250], 0xffffffff
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x260], 0
call dword [sym.imp.KERNEL32.dll_WTSGetActiveConsoleSessionId]
mov edi, eax
cmp edi, 0xffffffff
jne 0x4104cd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov edi, eax
push str._n______________________________________________________________________________________________n
call ebx
push 0x800
call fcn.005369fe
push 0x800
mov esi, eax
push 0
push esi
call fcn.00537300
push edi
push str.RunProcessAsUserWithSystemToken
push 0x2b1
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservice_systemservices.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push esi
call fcn.00406430
add esp, 0x30
push esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
push 0x2b1
push str.RunProcessAsUserWithSystemToken
call fcn.00404610
add esp, 0xc
test esi, esi
je 0x4104b3
push esi
call fcn.005369c6
add esp, 4
push str._n______________________________________________________________________________________________n
call ebx
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00536ab6
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x258]
push eax
call fcn.0040e8c0
mov esi, eax
add esp, 8
test esi, esi
je 0x410568
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str._n______________________________________________________________________________________________n
call ebx
push 0x800
call fcn.005369fe
push 0x800
mov edi, eax
push 0
push edi
call fcn.00537300
push esi
push str.RunProcessAsUserWithSystemToken
push 0x2ba
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservice_systemservices.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push edi
call fcn.00406430
add esp, 0x30
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push edi
push 0x2ba
push str.RunProcessAsUserWithSystemToken
call fcn.00404610
add esp, 0xc
test edi, edi
je 0x41055e
push edi
call fcn.005369c6
add esp, 4
push str._n______________________________________________________________________________________________n
jmp 0x410add
lea eax, [ebp - 0x260]
push eax
push dword [ebp - 0x248]
call fcn.0040f530
add esp, 8
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x4105a3
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00536ab6
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x240]
mov dword [ebp - 0x240], 0x22c
push eax
push ebx
call sub.KERNEL32.dll_Process32FirstW
test eax, eax
je 0x41058d
mov edi, edi
lea eax, [ebp - 0x21c]
push str.winlogon.exe
push eax
call fcn.005380f0
add esp, 8
test eax, eax
jne 0x4105fd
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x25c]
push eax
push dword [ebp - 0x238]
call dword [sym.imp.KERNEL32.dll_ProcessIdToSessionId]
test eax, eax
je 0x4105fd
cmp dword [ebp - 0x25c], edi
je 0x410610
lea eax, [ebp - 0x240]
push eax
push ebx
call sub.KERNEL32.dll_Process32NextW
test eax, eax
jne 0x4105c0
jmp 0x41061c
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x24c], eax
push 0x44
lea eax, [ebp - 0x2c0]
push 0
push eax
call fcn.00537300
add esp, 0xc
mov dword [ebp - 0x2c0], 0x44
xorps xmm0, xmm0
mov dword [ebp - 0x2b8], str.winsta0default
movdqu xmmword [ebp - 0x27c], xmm0
push dword [ebp - 0x24c]
push 0
push 0x2000000
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x24c], eax
test eax, eax
jne 0x4106d5
call ebx
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov esi, eax
push str._n______________________________________________________________________________________________n
call ebx
push 0x800
call fcn.005369fe
push 0x800
mov edi, eax
push 0
push edi
call fcn.00537300
push esi
push str.RunProcessAsUserWithSystemToken
push 0x2f9
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservice_systemservices.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push edi
call fcn.00406430
add esp, 0x30
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push edi
push 0x2f9
jmp 0x410a1c
lea ecx, [ebp - 0x250]
push ecx
push 0x201eb
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x410750
call ebx
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov esi, eax
push str._n______________________________________________________________________________________________n
call ebx
push 0x800
call fcn.005369fe
push 0x800
mov edi, eax
push 0
push edi
call fcn.00537300
push esi
push str.RunProcessAsUserWithSystemToken
push 0x304
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservice_systemservices.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push edi
call fcn.00406430
add esp, 0x30
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push edi
push 0x304
jmp 0x410a1c
lea eax, [ebp - 0x26c]
push eax
push str.SeDebugPrivilege
push 0
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
test eax, eax
jne 0x4107cc
call ebx
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov esi, eax
push str._n______________________________________________________________________________________________n
call ebx
push 0x800
call fcn.005369fe
push 0x800
mov edi, eax
push 0
push edi
call fcn.00537300
push esi
push str.RunProcessAsUserWithSystemToken
push 0x30d
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservice_systemservices.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push edi
call fcn.00406430
add esp, 0x30
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push edi
push 0x30d
jmp 0x410a1c
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x244]
push eax
push 1
push 1
push 0
push 0x2000000
push dword [ebp - 0x250]
mov dword [ebp - 0x14], 1
mov dword [ebp - 8], 2
call dword [sym.imp.ADVAPI32.dll_DuplicateTokenEx]
test eax, eax
jne 0x410872
call ebx
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov esi, eax
push str._n______________________________________________________________________________________________n
call ebx
push 0x800
call fcn.005369fe
push 0x800
mov edi, eax
push 0
push edi
call fcn.00537300
push esi
push str.RunProcessAsUserWithSystemToken
push 0x31b
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservice_systemservices.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push edi
call fcn.00406430
add esp, 0x30
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push edi
push 0x31b
jmp 0x410a1c
push 4
push edi
push 0xc
push dword [ebp - 0x244]
call dword [sym.imp.ADVAPI32.dll_SetTokenInformation]
push 0
push 0
push 0x10
lea eax, [ebp - 0x14]
push eax
push 0
push dword [ebp - 0x244]
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
jne 0x410903
call ebx
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov esi, eax
push str._n______________________________________________________________________________________________n
call ebx
push 0x800
call fcn.005369fe
push 0x800
mov edi, eax
push 0
push edi
call fcn.00537300
push esi
push str.RunProcessAsUserWithSystemToken
push 0x32b
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservice_systemservices.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push edi
call fcn.00406430
add esp, 0x30
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push edi
push 0x32b
jmp 0x410a1c
push 1
push dword [ebp - 0x248]
lea eax, [ebp - 0x254]
push eax
call sub.USERENV.dll_CreateEnvironmentBlock
test eax, eax
je 0x4109bd
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x2c0]
push eax
push 0
push dword [ebp - 0x254]
push 0x430
push 0
push 0
push 0
push dword [ebp - 0x264]
push 0
push dword [ebp - 0x244]
call dword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
test eax, eax
jne 0x410a3d
call ebx
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov esi, eax
push str._n______________________________________________________________________________________________n
call ebx
push 0x800
call fcn.005369fe
push 0x800
mov edi, eax
push 0
push edi
call fcn.00537300
push esi
push str.RunProcessAsUserWithSystemToken
push 0x351
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservice_systemservices.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push edi
call fcn.00406430
add esp, 0x30
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push edi
push 0x351
jmp 0x410a1c
call ebx
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov esi, eax
push str._n______________________________________________________________________________________________n
call ebx
push 0x800
call fcn.005369fe
push 0x800
mov edi, eax
push 0
push edi
call fcn.00537300
push esi
push str.RunProcessAsUserWithSystemToken
push 0x339
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservice_systemservices.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push edi
call fcn.00406430
add esp, 0x30
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push edi
push 0x339
push str.RunProcessAsUserWithSystemToken
call fcn.00404610
add esp, 0xc
test edi, edi
je 0x410a36
push edi
call fcn.005369c6
add esp, 4
push str._n______________________________________________________________________________________________n
call ebx
push dword [ebp - 0x254]
call sub.USERENV.dll_DestroyEnvironmentBlock
mov eax, dword [ebp - 0x24c]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, 0xffffffff
je 0x410a5c
push eax
call ebx
mov eax, dword [ebp - 0x258]
cmp eax, 0xffffffff
je 0x410a6a
push eax
call ebx
mov eax, dword [ebp - 0x244]
cmp eax, 0xffffffff
je 0x410a78
push eax
call ebx
mov eax, dword [ebp - 0x250]
cmp eax, 0xffffffff
je 0x410a86
push eax
call ebx
mov edi, dword [ebp - 0x260]
test edi, edi
je 0x410ad1
push dword [edi + 8]
call fcn.0041e8e8
add esp, 4
mov dword [edi + 8], 0
push dword [edi + 0x1c]
push dword [ebp - 0x248]
call dword [sym.imp.USERENV.dll_UnloadUserProfile]
test eax, eax
jne 0x410ac8
push edi
call fcn.0041e8e8
add esp, 4
xor edi, edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push edi
call fcn.0041e8e8
add esp, 4
mov eax, dword [ebp - 0x248]
cmp eax, 0xffffffff
je 0x410adf
push eax
call ebx
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00536ab6
mov esp, ebp
pop ebp
ret