Function at 0x7f2f6d6f
Capabilities:
Create process on windows

Disassembly:
push ebp
lea ebp, [esp - 0x8ec]
sub esp, 0x96c
mov eax, dword [0x7f307090]
push ebx
xor ebx, ebx
cmp dword [0x7f307acc], ebx
push esi
mov dword [ebp + 0x8e8], eax
push edi
je 0x7f2f6dcd
mov eax, dword [0x7f307a9c]
cmp eax, ebx
jne 0x7f2f6db1
push 0x7f2d33c4
call fcn.7f2d4368
cmp eax, ebx
mov dword [0x7f307a9c], eax
je 0x7f2f6dbe
push dword [ebp + 0x8f4]
call eax
jmp 0x7f2f70f3
push 0x7f
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x7f2f70f3
mov esi, dword [ebp + 0x8f4]
xor eax, eax
push 0xf
pop ecx
lea edi, [ebp - 0x80]
rep stosd dword es:[edi], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x7c], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x78], eax
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x64], eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x60], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x5c], eax
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x54], eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x50], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x4c], eax
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x48], eax
mov eax, dword [esi + 0xc]
cmp eax, 0xffff
mov dword [ebp - 0x80], 0x3c
jbe 0x7f2f6e95
push eax
call fcn.7f2da99a
pop ecx
mov ecx, dword [0x7f307088]
inc eax
imul ecx, eax
push ecx
mov dword [ebp + 0x8f4], eax
call fcn.7f2d53a1
test eax, eax
mov edi, dword [0x7f307088]
je 0x7f2f6e68
mov eax, edi
imul eax, dword [ebp + 0x8f4]
cmp eax, ebx
je 0x7f2f6e68
add eax, 3
and eax, 0xfffffffc
call fcn.7f2fd060
mov dword [ebp - 0x74], esp
jmp 0x7f2f6e6b
mov dword [ebp - 0x74], ebx
cmp dword [ebp - 0x74], ebx
je 0x7f2f6e9d
imul edi, dword [ebp + 0x8f4]
push ebx
push ebx
push edi
push dword [ebp - 0x74]
push dword [ebp + 0x8f4]
push dword [esi + 0xc]
push ebx
push dword [0x7f307ac8]
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
jmp 0x7f2f6e98
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], ebx
jne 0x7f2f6ea6
cmp dword [esi + 0xc], ebx
jne 0x7f2f6dc6
mov eax, dword [esi + 0x14]
cmp eax, 0xffff
jbe 0x7f2f6f21
push eax
call fcn.7f2da99a
pop ecx
mov ecx, dword [0x7f307088]
inc eax
imul ecx, eax
push ecx
mov dword [ebp + 0x8f4], eax
call fcn.7f2d53a1
test eax, eax
mov edi, dword [0x7f307088]
je 0x7f2f6ef4
mov eax, edi
imul eax, dword [ebp + 0x8f4]
cmp eax, ebx
je 0x7f2f6ef4
add eax, 3
and eax, 0xfffffffc
call fcn.7f2fd060
mov dword [ebp - 0x6c], esp
jmp 0x7f2f6ef7
mov dword [ebp - 0x6c], ebx
cmp dword [ebp - 0x6c], ebx
je 0x7f2f6f29
imul edi, dword [ebp + 0x8f4]
push ebx
push ebx
push edi
push dword [ebp - 0x6c]
push dword [ebp + 0x8f4]
push dword [esi + 0x14]
push ebx
push dword [0x7f307ac8]
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
jmp 0x7f2f6f24
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], ebx
jne 0x7f2f6f32
cmp dword [esi + 0x14], ebx
jne 0x7f2f6dc6
mov eax, dword [esi + 0x18]
cmp eax, 0xffff
jbe 0x7f2f6fad
push eax
call fcn.7f2da99a
pop ecx
mov ecx, dword [0x7f307088]
inc eax
imul ecx, eax
push ecx
mov dword [ebp + 0x8f4], eax
call fcn.7f2d53a1
test eax, eax
mov edi, dword [0x7f307088]
je 0x7f2f6f80
mov eax, edi
imul eax, dword [ebp + 0x8f4]
cmp eax, ebx
je 0x7f2f6f80
add eax, 3
and eax, 0xfffffffc
call fcn.7f2fd060
mov dword [ebp - 0x68], esp
jmp 0x7f2f6f83
mov dword [ebp - 0x68], ebx
cmp dword [ebp - 0x68], ebx
je 0x7f2f6fb5
imul edi, dword [ebp + 0x8f4]
push ebx
push ebx
push edi
push dword [ebp - 0x68]
push dword [ebp + 0x8f4]
push dword [esi + 0x18]
push ebx
push dword [0x7f307ac8]
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
jmp 0x7f2f6fb0
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], ebx
jne 0x7f2f6fbe
cmp dword [esi + 0x18], ebx
jne 0x7f2f6dc6
mov eax, dword [esi + 0x28]
cmp eax, 0xffff
jbe 0x7f2f7039
push eax
call fcn.7f2da99a
inc eax
mov dword [ebp + 0x8f4], eax
imul eax, dword [0x7f307088]
pop ecx
push eax
call fcn.7f2d53a1
test eax, eax
mov edi, dword [0x7f307088]
je 0x7f2f700a
mov eax, dword [ebp + 0x8f4]
imul eax, edi
cmp eax, ebx
je 0x7f2f700a
add eax, 3
and eax, 0xfffffffc
call fcn.7f2fd060
mov dword [ebp - 0x58], esp
jmp 0x7f2f700d
mov dword [ebp - 0x58], ebx
cmp dword [ebp - 0x58], ebx
je 0x7f2f7041
mov eax, dword [ebp + 0x8f4]
imul eax, edi
push ebx
push ebx
push eax
push dword [ebp - 0x58]
push dword [ebp + 0x8f4]
push dword [esi + 0x28]
push ebx
push dword [0x7f307ac8]
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
jmp 0x7f2f703c
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], ebx
jne 0x7f2f704a
cmp dword [esi + 0x28], ebx
jne 0x7f2f6dc6
mov eax, dword [esi + 0x10]
cmp eax, ebx
je 0x7f2f70dd
cmp eax, 0xffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x70], ecx
jbe 0x7f2f7089
push ebx
push ebx
push 0x92a
push ecx
push 0xffffffffffffffff
push eax
push ebx
push dword [0x7f307ac8]
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp eax, ebx
je 0x7f2f7084
mov byte [ebp + eax - 0x43], bl
jmp 0x7f2f708c
mov byte [ebp - 0x44], bl
jmp 0x7f2f708c
mov dword [ebp - 0x70], eax
test byte [esi + 6], 0x40
je 0x7f2f70dd
push dword [esi + 0x10]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edi, eax
mov eax, dword [esi + 0x10]
inc edi
lea eax, [eax + edi*2]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push ebx
push ebx
push 0x92a
lea ecx, [ebp - 0x44]
push ecx
lea eax, [edi + eax + 1]
push eax
push dword [esi + 0x10]
push ebx
push dword [0x7f307ac8]
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jne 0x7f2f70dd
mov dword [esi + 0x20], 8
push 0x57
jmp 0x7f2f6dc0
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExA]
mov ecx, dword [ebp - 0x60]
mov dword [esi + 0x20], ecx
mov ecx, dword [ebp - 0x48]
mov dword [esi + 0x38], ecx
lea esp, [ebp - 0x8c]
mov ecx, dword [ebp + 0x8e8]
call fcn.7f2fd123
pop edi
pop esi
pop ebx
add ebp, 0x8ec
leave
ret 4