Function at 0x488066
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4f5f01
mov eax, dword fs:[0]
push eax
sub esp, 0x488
mov eax, dword [0x54b0c4]
xor eax, esp
mov dword [esp + 0x480], eax
push ebx
push esi
push edi
mov eax, dword [0x54b0c4]
xor eax, esp
push eax
lea eax, [esp + 0x498]
mov dword fs:[0], eax
mov esi, ecx
mov ecx, dword [esi + 0xc]
xor ebx, ebx
cmp ecx, ebx
jne 0x4880e0
cmp dword [0x550bdc], ebx
je 0x4880d9
push str.context_is_null
push 0x51653c
call fcn.004022f5
call fcn.0040233d
call fcn.0040233d
mov esi, eax
call fcn.00402366
xor eax, eax
jmp 0x4883a2
lea eax, [esi + 0x18]
mov edx, dword [eax]
cmp dword [edx - 0xc], ebx
jne 0x4880f9
cmp dword [0x550bdc], ebx
je 0x4880d9
push str.exe_path_is_empty
jmp 0x4880be
push ecx
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.004c05cf
add esp, 0xc
mov dword [esp + 0x4a0], ebx
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], ebx
jne 0x48814e
cmp dword [0x550bdc], ebx
je 0x488140
push str.expanded_exe_path_is_empty
push 0x51653c
call fcn.004022f5
call fcn.0040233d
call fcn.0040233d
mov esi, eax
call fcn.00402366
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.004012f9
jmp 0x4880d9
mov eax, dword [0x550310]
mov ecx, 0x550310
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
mov byte [esp + 0x4a0], 1
lea eax, [esi + 0x20]
mov ecx, dword [eax]
cmp dword [ecx - 0xc], ebx
je 0x4881aa
push dword [esi + 0xc]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.004c05cf
add esp, 0xc
lea edi, [esp + 0x10]
mov byte [esp + 0x4a0], 2
call fcn.00402a90
mov byte [esp + 0x4a0], 1
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
call fcn.004012f9
mov eax, dword [esi + 0x1c]
cmp dword [eax - 0xc], ebx
je 0x4881c3
push eax
push 0x516c5c
lea ecx, [esp + 0x18]
call fcn.00417918
pop ecx
pop ecx
lea ebx, [esp + 0x10]
call fcn.0043ed56
xor ebx, ebx
cmp byte [esi + 0x24], bl
mov edi, 0x516698
je 0x48823c
cmp dword [0x550bdc], ebx
je 0x488222
push str.__with_low_permissions.
push dword [esp + 0x14]
push str._param
push dword [esp + 0x20]
push edi
push 0x51653c
call fcn.004022f5
call fcn.0040233d
call fcn.0040233d
call fcn.0040233d
call fcn.0040233d
call fcn.0040233d
call fcn.0040233d
mov esi, eax
call fcn.00402366
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
call fcn.0048dfed
mov esi, eax
neg esi
sbb esi, esi
inc esi
jne 0x488388
cmp dword [0x550bdc], ebx
je 0x488286
push str.__with_normal_permissions.
push dword [esp + 0x14]
push str._param
push dword [esp + 0x20]
push edi
push 0x51653c
call fcn.004022f5
call fcn.0040233d
call fcn.0040233d
call fcn.0040233d
call fcn.0040233d
call fcn.0040233d
call fcn.0040233d
mov esi, eax
call fcn.00402366
mov eax, dword [0x550310]
mov ecx, 0x550310
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x18], eax
mov byte [esp + 0x4a0], 3
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], ebx
jge 0x4882b5
push 0x80070057
call fcn.00401940
push dword [esp + 0x10]
cmp word [eax], 0x22
push eax
lea eax, [esp + 0x20]
jne 0x4882cb
push str._s__s
jmp 0x4882d0
push str.__s___s
call fcn.00401a57
add esp, 0xc
push 0x410
lea eax, [esp + 0x7a]
push ebx
push eax
mov word [esp + 0x80], bx
call sub.MSVCR80.dll_memset
add esp, 0xc
push dword [esp + 0x18]
lea eax, [esp + 0x78]
push 0x208
push eax
call dword [sym.imp.MSVCR80.dll_wcscpy_s]
add esp, 0xc
push 0x40
lea eax, [esp + 0x34]
push ebx
push eax
mov dword [esp + 0x38], 0x44
call sub.MSVCR80.dll_memset
xor eax, eax
mov dword [esp + 0x28], ebx
lea edi, [esp + 0x2c]
stosd dword es:[edi], eax
add esp, 0xc
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x30]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [esp + 0x94]
push eax
push ebx
mov word [esp + 0x84], 0xa
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov esi, eax
cmp esi, ebx
je 0x48837c
cmp dword [esp + 0x1c], ebx
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x488370
push dword [esp + 0x1c]
call edi
cmp dword [esp + 0x20], ebx
je 0x48837c
push dword [esp + 0x20]
call edi
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
call fcn.004012f9
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
call fcn.004012f9
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.004012f9
mov eax, esi
mov ecx, dword [esp + 0x498]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x480]
xor ecx, esp
call fcn.004d0736
mov esp, ebp
pop ebp
ret