Function at 0x446150
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1058
call fcn.004ac5b0
mov eax, dword [0x56f790]
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 0x4463fa
test edi, edi
je 0x4463fa
push 4
push esi
call fcn.004d66ad
add esp, 8
test eax, eax
je 0x4461a3
pop edi
mov eax, 2
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ac4b8
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x14], 0
je 0x4461cb
push esi
call fcn.0048b530
add esp, 4
test eax, eax
jne 0x4461cb
pop edi
mov eax, 5
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ac4b8
mov esp, ebp
pop ebp
ret
call fcn.00451f30
test al, al
jne 0x446322
call fcn.00451eb0
test eax, eax
je 0x446322
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.004b17e0
add esp, 0xc
lea eax, [ebp - 0x1004]
cmp word [edi], 0
je 0x446292
push edi
push esi
push 0x533ea0
push eax
call fcn.00416710
add esp, 0x10
jmp 0x4462a1
push esi
push 0x534034
push eax
call fcn.00416710
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 0x4463e5
cmp dword [ebp + 0x18], 0
je 0x4462f0
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp - 0x1058]
call fcn.00446ab0
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.004ac4b8
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 0x4463e5
cmp dword [ebp + 0x18], 0
je 0x4463bd
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp - 0x1008]
call fcn.00446ab0
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.004ac4b8
mov esp, ebp
pop ebp
ret
pop edi
mov eax, 4
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ac4b8
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
xor ecx, ebp
pop esi
call fcn.004ac4b8
mov esp, ebp
pop ebp
ret