Function at 0x1004eaf0
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1058
call fcn.100b4660
mov eax, dword [0x101c0618]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
test esi, esi
je 0x1004ed9c
test edi, edi
je 0x1004ed9c
push 4
push esi
call fcn.10120683
add esp, 8
test eax, eax
je 0x1004eb43
pop edi
mov eax, 2
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b4568
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x14], 0
je 0x1004eb6d
push 1
push esi
call fcn.100440d0
add esp, 8
test eax, eax
jne 0x1004eb6d
pop edi
mov eax, 5
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b4568
mov esp, ebp
pop ebp
ret
call fcn.10057d40
test al, al
jne 0x1004ecc4
call fcn.10057cc0
test eax, eax
je 0x1004ecc4
xorps xmm0, xmm0
mov dword [ebp - 0x1048], 0x44
lea eax, [ebp - 0x1048]
movlpd qword [ebp - 0x1044], xmm0
push eax
movlpd qword [ebp - 0x103c], xmm0
movlpd qword [ebp - 0x1034], xmm0
movlpd qword [ebp - 0x102c], xmm0
movlpd qword [ebp - 0x1024], xmm0
movlpd qword [ebp - 0x101c], xmm0
movlpd qword [ebp - 0x1014], xmm0
movlpd qword [ebp - 0x100c], xmm0
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
mov ax, word [ebp + 0x10]
xorps xmm0, xmm0
push 0x1000
mov word [ebp - 0x1018], ax
lea eax, [ebp - 0x1004]
push 0
push eax
mov dword [ebp - 0x101c], 1
movups xmmword [ebp - 0x1058], xmm0
call fcn.100ec480
add esp, 0xc
lea eax, [ebp - 0x1004]
cmp word [edi], 0
je 0x1004ec34
push edi
push esi
push 0x1017a3a0
push eax
call fcn.10019b20
add esp, 0x10
jmp 0x1004ec43
push esi
push 0x1017a52c
push eax
call fcn.10019b20
add esp, 0xc
lea eax, [ebp - 0x1058]
push eax
lea eax, [ebp - 0x1048]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x1004]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov edi, eax
test edi, edi
je 0x1004ed87
cmp dword [ebp + 0x18], 0
je 0x1004ec92
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp - 0x1058]
call fcn.1004f460
add esp, 0xc
mov edi, eax
push dword [ebp - 0x1058]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x1054]
call esi
xor ecx, ecx
mov eax, 3
test edi, edi
pop edi
cmovne eax, ecx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b4568
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xorps xmm0, xmm0
mov dword [ebp - 0x1024], eax
lea eax, [ebp - 0x1040]
push eax
mov dword [ebp - 0x1028], 0
movlpd qword [ebp - 0x1020], xmm0
movlpd qword [ebp - 0x1018], xmm0
movlpd qword [ebp - 0x1010], xmm0
mov dword [ebp - 0x1008], 0
mov dword [ebp - 0x1040], 0x3c
mov dword [ebp - 0x1038], 0
mov dword [ebp - 0x1030], esi
mov dword [ebp - 0x103c], 0x140
mov dword [ebp - 0x102c], edi
mov dword [ebp - 0x1034], str.runas
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov esi, eax
test esi, esi
je 0x1004ed87
cmp dword [ebp + 0x18], 0
je 0x1004ed5f
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp - 0x1008]
call fcn.1004f460
add esp, 0xc
mov esi, eax
push dword [ebp - 0x1008]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor ecx, ecx
mov eax, 3
test esi, esi
pop edi
cmovne eax, ecx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b4568
mov esp, ebp
pop ebp
ret
pop edi
mov eax, 4
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b4568
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
xor ecx, ebp
pop esi
call fcn.100b4568
mov esp, ebp
pop ebp
ret