Function at 0x405e0b
Capabilities:
Create process on windows
Set environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x70
push ebx
push esi
push edi
push 0x44
xor eax, eax
pop ebx
push ebx
push eax
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x6c]
push eax
call fcn.0041de40
xor eax, eax
lea edi, [ebp - 0x20]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
add esp, 0xc
lea eax, [ebp - 0x10]
push eax
call fcn.004095c3
mov esi, eax
test esi, esi
jns 0x405e54
push 0x4038dc
jmp 0x40603d
push dword [0x42bef8]
call fcn.00409663
mov esi, eax
test esi, esi
jns 0x405e6f
push 0x4038fc
jmp 0x40603d
lea eax, [ebp - 0xc]
call fcn.004099d2
mov esi, eax
test esi, esi
jns 0x405e87
push 0x40391c
jmp 0x40603d
push dword [0x42bef8]
mov esi, dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
push 0x403944
call esi
test eax, eax
jne 0x405ec9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x405eb8
and esi, 0xffff
or esi, 0x80070000
test esi, esi
js 0x405ebf
mov esi, 0x80004005
push 0x403968
jmp 0x40603d
push dword [ebp - 0xc]
push 0x403988
call esi
test eax, eax
jne 0x405f02
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x405ef1
and esi, 0xffff
or esi, 0x80070000
test esi, esi
js 0x405ef8
mov esi, 0x80004005
push 0x4039b4
jmp 0x40603d
push dword [0x42befc]
push 0x4039d8
call esi
test eax, eax
jne 0x405f3e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x405f2d
and esi, 0xffff
or esi, 0x80070000
test esi, esi
js 0x405f34
mov esi, 0x80004005
push 0x403a08
jmp 0x40603d
xor edi, edi
inc edi
cmp dword [ebp + 0xc], edi
jne 0x405f81
push 0x403a30
push 0x403a34
call esi
test eax, eax
jne 0x405f81
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x405f70
and esi, 0xffff
or esi, 0x80070000
test esi, esi
js 0x405f77
mov esi, 0x80004005
push 0x403a54
jmp 0x40603d
push dword [ebp + 8]
lea eax, [ebp - 8]
push eax
call fcn.00409779
mov esi, eax
test esi, esi
jns 0x405f9d
push 0x403a74
jmp 0x40603d
push dword [ebp - 8]
mov eax, edi
push 0x403a9c
push edi
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x40], edi
mov word [ebp - 0x3c], ax
call fcn.004084c7
add esp, 0xc
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x6c]
push eax
push dword [0x42bef8]
xor ebx, ebx
push ebx
push 0x20
push ebx
push ebx
push ebx
push dword [ebp - 8]
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x405fea
mov esi, 0x80070667
push 0x403abc
jmp 0x40603d
mov dword [ebp + 0xc], ebx
mov edi, dword [ebp - 0x18]
push ebx
call dword [sym.imp.USER32.dll_GetTopWindow]
jmp 0x406016
or dword [ebp + 8], 0xffffffff
lea eax, [ebp + 8]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp edi, dword [ebp + 8]
je 0x40602d
push 2
push esi
call dword [sym.imp.USER32.dll_GetWindow]
mov esi, eax
cmp esi, ebx
jne 0x405ff9
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], 0x32
jl 0x405fed
call fcn.004068fb
mov esi, eax
cmp esi, ebx
jge 0x406047
push 0x403ad8
push esi
call fcn.0040854a
pop ecx
pop ecx
jmp 0x40606e
push 0xffffffffffffffff
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [ebp + 0x10]
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
push dword [ebp - 0x1c]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call edi
push dword [ebp - 0x20]
call edi
mov edi, dword [ebp - 0x10]
test edi, edi
je 0x40607b
push edi
call fcn.00409663
cmp dword [ebp - 8], 0
je 0x406089
push dword [ebp - 8]
call fcn.00408e6f
cmp dword [ebp - 0xc], 0
je 0x406097
push dword [ebp - 0xc]
call fcn.00408e6f
test edi, edi
je 0x4060a1
push edi
call fcn.00408e6f
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0xc