Function at 0x440520
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x9c
mov dword [ebp - 0x70], 0
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [esp], 0x727a84
call edi
sub esp, 4
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esp + 4], str.Wow64DisableWow64FsRedirection
mov dword [esp], eax
call esi
sub esp, 8
mov ebx, eax
mov dword [esp], 0x727a84
call edi
sub esp, 4
mov dword [esp + 4], str.Wow64RevertWow64FsRedirection
mov dword [esp], eax
call esi
sub esp, 8
test ebx, ebx
mov dword [ebp - 0x80], eax
setne dl
test eax, eax
mov byte [ebp - 0x79], 0
setne al
and dl, al
mov byte [ebp - 0x7a], dl
jne 0x440740
lea edi, [ebp - 0x4c]
mov dword [esp], str._windir_System32control.exe
lea ebx, [ebp - 0x54]
mov dword [ebp - 0x54], edi
call sub.msvcrt.dll_wcslen
add eax, eax
mov edx, eax
mov dword [ebp - 0x84], eax
sar edx, 1
cmp edx, 7
mov ecx, edx
mov dword [ebp - 0x6c], edx
ja 0x4406f0
cmp edx, 1
mov eax, dword [ebp - 0x54]
je 0x440760
test edx, edx
lea esi, [ebp - 0x6c]
jne 0x440711
xor edx, edx
mov dword [ebp - 0x50], ecx
mov word [eax + ecx*2], dx
mov dword [esp + 4], ebx
mov ecx, esi
mov dword [esp], 0x8554b8
call fcn.0043fce0
mov eax, dword [ebp - 0x54]
sub esp, 8
cmp eax, edi
je 0x440608
mov dword [esp], eax
call fcn.006eb330
xor eax, eax
mov ecx, 0xf
mov edi, ebx
rep stosd dword es:[edi], eax
mov esi, dword [ebp - 0x6c]
mov eax, dword [ebp + 8]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 1
mov dword [esp + 4], str.Run__S__S__d__d__n
mov dword [esp], 0x835180
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [ebp - 0x54], 0x3c
mov dword [ebp - 0x50], 0x40
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], 1
call fcn.0041eed0
mov dword [esp + 4], 0x727a7a
mov dword [esp], esi
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x4406e0
mov eax, dword [ebp + 8]
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0x727a7a
mov dword [esp], 0
mov dword [esp + 8], eax
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
sub esp, 0x18
cmp byte [ebp - 0x79], 0
je 0x4406c3
cmp byte [ebp - 0x7a], 0
je 0x4406c3
mov eax, dword [ebp - 0x70]
mov dword [esp], eax
call dword [ebp - 0x80]
sub esp, 4
mov eax, dword [ebp - 0x6c]
lea edx, [ebp - 0x64]
cmp eax, edx
je 0x4406d5
mov dword [esp], eax
call fcn.006eb330
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 4
mov dword [esp], ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
sub esp, 4
jmp 0x4406ab
lea esi, [ebp - 0x6c]
mov dword [esp + 4], 0
mov ecx, ebx
mov dword [esp], esi
call fcn.006c1e40
mov edx, dword [ebp - 0x6c]
sub esp, 8
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x4c], edx
mov ecx, dword [ebp - 0x84]
mov dword [esp + 4], str._windir_System32control.exe
mov dword [esp], eax
mov dword [esp + 8], ecx
call sub.msvcrt.dll_memcpy
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x54]
jmp 0x4405db
lea eax, [ebp - 0x70]
mov dword [esp], eax
call ebx
sub esp, 4
test eax, eax
setne byte [ebp - 0x79]
jmp 0x440595
movzx edx, word [str._windir_System32control.exe]
lea esi, [ebp - 0x6c]
mov word [eax], dx
jmp 0x4405db