Function at 0x407ef0
Capabilities:
Create process on windows

Disassembly:
sub esp, 0x260
push ebx
push ebp
push esi
push edi
xor bl, bl
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x69]
mov byte [esp + 0x68], bl
xor esi, esi
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
mov ecx, 0x10
mov word [esp + 0x11], ax
lea edi, [esp + 0x28]
mov dword [esp + 0x24], esi
lea edx, [esp + 0x68]
rep stosd dword es:[edi], eax
xor ecx, ecx
push 0x104
mov dword [esp + 0x1c], ecx
push edx
mov dword [esp + 0x24], ecx
mov byte [esp + 0x18], bl
mov byte [esp + 0x1b], al
mov dword [esp + 0x1c], esi
mov dword [esp + 0x28], ecx
call fcn.00402d10
add esp, 8
test eax, eax
jne 0x407f72
push str._CreateSdProcess__GetSangforSduiPath_Failed_n
call fcn.00402a60
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x260
ret
cmp dword [esp + 0x274], 1
jne 0x407f7e
mov bl, 0x10
call fcn.004013b0
add bl, 0x40
mov ebp, eax
mov byte [esp + 0x10], 0x20
mov byte [esp + 0x11], bl
call fcn.00407e60
mov ebx, dword [esp + 0x278]
test eax, eax
je 0x408059
call fcn.00407ca0
test eax, eax
je 0x408059
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x16d]
mov byte [esp + 0x16c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
cmp ebx, esi
stosb byte es:[edi], al
je 0x407ff8
lea eax, [esp + 0x10]
push str._StartSDOffLine
push eax
push str._s__s
lea ecx, [esp + 0x178]
push 0x103
push ecx
call dword [sym.imp.MSVCRT.dll__snprintf]
add esp, 0x14
jmp 0x408020
lea edi, [esp + 0x10]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x16c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 1
lea ecx, [esp + 0x170]
push 0
lea edx, [esp + 0x70]
push ecx
push edx
push str.runas
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
cmp eax, 0x20
ja 0x408109
lea eax, [esp + 0x68]
push eax
push str._CreateSdProcess__ShellExecute_Failed__Cmd_s_n
call fcn.00402a60
add esp, 8
lea edi, [esp + 0x10]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x68]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
test ebx, ebx
rep movsb byte es:[edi], byte [esi]
je 0x4080ac
lea eax, [esp + 0x68]
push str._StartSDOffLine
push eax
push str._s__s
lea ecx, [esp + 0x74]
push 0x103
push ecx
call dword [sym.imp.MSVCRT.dll__snprintf]
add esp, 0x14
lea edx, [esp + 0x14]
lea eax, [esp + 0x24]
push edx
push eax
push 0
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x84]
push ebp
push ecx
push 0
mov dword [esp + 0x4c], 0x44
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x408109
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [esp + 0x68]
push eax
push edx
push str._CreateSdProcess__CreateProcess_Failed__Cmd_s__err_d_n
call fcn.00402a60
push ebp
call fcn.00401640
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x260
ret
push ebp
call fcn.00401640
mov eax, dword [esp + 0x278]
add esp, 4
test eax, eax
jne 0x408122
call fcn.00407ab0
mov eax, dword [esp + 0x14]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call esi
mov ecx, dword [esp + 0x18]
push ecx
call esi
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x260
ret