Function at 0x4427d5
Capabilities:
Create process on windows

Disassembly:
mov eax, 0x47aab1
call fcn.004461a8
sub esp, 0x3c8
push ebx
push esi
push str.Shell32.dll
xor ebx, ebx
xor esi, esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [ebp - 0x24], eax
je 0x44280b
push str.ShellExecuteExW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
push edi
push 0xe
pop ecx
xor eax, eax
lea edi, [ebp - 0x94]
mov dword [ebp - 0x98], ebx
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x58]
mov dword [ebp - 0x5c], ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x10
xor eax, eax
pop ecx
lea edi, [ebp - 0x128]
push dword [ebp + 0x14]
mov dword [ebp - 0x12c], ebx
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x1cc]
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], 0xcccccccc
call fcn.004114e0
cmp dword [0x49cca0], ebx
mov dword [ebp - 4], ebx
je 0x44286e
push 1
lea ecx, [ebp - 0x1cc]
call fcn.004130db
cmp esi, ebx
je 0x4428d2
mov eax, dword [ebp + 8]
mov dword [ebp - 0x98], 0x3c
mov dword [ebp - 0x88], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x84], eax
xor eax, eax
cmp dword [ebp + 0x10], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x8c], ebx
setne al
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x98]
push eax
mov dword [ebp - 0x94], 0x40
call esi
test eax, eax
jne 0x4428c7
mov dword [ebp - 0x10], ebx
jmp 0x442afb
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x10], eax
jmp 0x442a3c
push 0x10
lea eax, [ebp - 0x5c]
push ebx
push eax
call fcn.00446a10
push 0x44
lea eax, [ebp - 0x12c]
pop esi
push esi
push ebx
push eax
call fcn.00446a10
add esp, 0x18
xor eax, eax
cmp dword [ebp + 0x10], ebx
mov dword [ebp - 0x12c], esi
mov esi, 0x47e5a0
mov edi, 0x47e598
setne al
mov word [ebp - 0xfc], ax
lea eax, [ebp + 0x13]
push ebx
push eax
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x100], 1
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x2c], edi
call fcn.004017e6
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 1
cmp eax, ebx
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xa0], edi
jne 0x44294a
mov eax, 0x49cc4c
lea ecx, [ebp + 0xf]
push ebx
push ecx
push eax
lea ecx, [ebp - 0xc0]
call fcn.00408d43
mov eax, dword [ebp - 0xb8]
mov byte [ebp - 4], 2
cmp eax, ebx
mov dword [ebp - 0x20], 0x47e5b8
je 0x442973
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xe8], esi
cmp eax, ebx
mov dword [ebp - 0xc8], edi
jne 0x44298b
mov eax, 0x49cc4c
lea ecx, [ebp - 0x15]
push ebx
push ecx
push eax
lea ecx, [ebp - 0xe8]
call fcn.00408d43
mov eax, dword [ebp - 0xe0]
mov byte [ebp - 4], 3
cmp eax, ebx
jne 0x4429af
mov eax, 0x47e5b8
push dword [ebp - 0x20]
push eax
lea eax, [ebp - 0x4c]
push str.__s___s
push eax
call fcn.00414a68
add esp, 0x10
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 2
call fcn.00401bc7
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 1
call fcn.00401bc7
mov eax, dword [ebp - 0x44]
cmp eax, ebx
jne 0x4429ee
mov eax, 0x47e5b8
push eax
lea eax, [ebp - 0x3d4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x12c]
push eax
push ebx
push ebx
push 0x20
push ebx
push ebx
lea eax, [ebp - 0x3d4]
push ebx
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x442a25
mov dword [ebp - 0x10], ebx
jmp 0x442a31
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], bl
call fcn.00401bc7
cmp dword [ebp - 0x10], ebx
je 0x442afb
mov esi, dword [sym.imp.USER32.dll_PeekMessageW]
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
push 0xff
push 0xffffffffffffffff
lea eax, [ebp - 0x10]
push ebx
push eax
push 1
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
cmp eax, ebx
je 0x442ad1
cmp eax, 1
jne 0x442ad1
push 1
push ebx
push ebx
lea eax, [ebp - 0x40]
push ebx
push eax
call esi
test eax, eax
je 0x442a51
cmp dword [ebp - 0x3c], 0xf
je 0x442a9d
cmp dword [ebp - 0x3c], 0x113
je 0x442abd
cmp dword [ebp - 0x3c], 0x402
jne 0x442aad
cmp dword [0x49cca0], ebx
je 0x442aad
lea eax, [ebp - 0x40]
push eax
call edi
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push ebx
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x442a51
jmp 0x442a6e
cmp dword [0x49cca0], ebx
jne 0x442a9d
mov ecx, dword [ebp + 0x14]
push 1
call fcn.004314e4
jmp 0x442aad
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x1c], ebx
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x4a1c0c], eax
je 0x442af6
push dword [ebp - 0x1c]
call esi
push dword [ebp - 0x10]
call esi
cmp dword [0x49cca0], ebx
pop edi
je 0x442b10
push ebx
lea ecx, [ebp - 0x1cc]
call fcn.004130db
cmp dword [ebp - 0x24], ebx
je 0x442b1e
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov esi, dword [ebp - 0x14]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1cc]
call fcn.004115ad
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0x10