Function at 0x47f340
Capabilities:
Create process on windows

Disassembly:
sub esp, 0x490
push ebx
push esi
push edi
xor ebx, ebx
push ebp
mov esi, 1
mov dword [esp + 0x10], ebx
mov byte [esp + 0x22c], bl
lea eax, [esp + 0x1c]
push 0x105
mov edi, dword [esp + 0x4a8]
push eax
mov byte [esp + 0x12c], bl
mov byte [esp + 0x24], bl
mov ecx, dword [edi]
mov byte [esp + 0x33c], bl
push ecx
call fcn.00470ad0
lea eax, [esp + 0x130]
add esp, 0xc
mov ecx, dword [edi + 8]
push 0x105
push eax
push ecx
call fcn.00470ad0
add esp, 0xc
cmp byte [esp + 0x1c], bl
jne 0x47f3c2
cmp byte [esp + 0x124], bl
jne 0x47f3c2
mov eax, 2
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x490
ret
cmp byte [esp + 0x1c], 0
je 0x47f41a
push 0
mov eax, dword [edi]
push eax
call fcn.00471040
add esp, 8
test eax, eax
je 0x47f3f8
lea eax, [esp + 0x18]
push 0x506f58
push eax
call fcn.00471070
add esp, 8
mov ecx, dword [edi]
push eax
push ecx
call fcn.00470bc0
add esp, 8
lea eax, [esp + 0x1c]
push 0x105
push eax
mov ecx, dword [edi]
cmp dword [edi + 4], 0
push ecx
je 0x47f412
call fcn.00470b30
jmp 0x47f417
call fcn.00470ad0
add esp, 0xc
cmp byte [esp + 0x124], 0
je 0x47f44a
lea eax, [esp + 0x124]
push 0x105
push eax
mov ecx, dword [edi + 8]
cmp dword [edi + 0xc], 0
push ecx
je 0x47f442
call fcn.00470b30
jmp 0x47f447
call fcn.00470ad0
add esp, 0xc
mov eax, dword [edi + 0xc]
test eax, eax
jne 0x47f45b
cmp dword [edi + 4], 0
je 0x47f478
test eax, eax
je 0x47f460
mov eax, dword [edi + 8]
jmp 0x47f462
mov eax, dword [edi]
lea ecx, [esp + 0x22c]
push 0x105
push ecx
push eax
call fcn.00470a10
add esp, 0xc
cmp byte [esp + 0x1c], 0
je 0x47f4ee
cmp byte [esp + 0x124], 0
je 0x47f4cb
lea eax, [esp + 0x124]
push 0x169
lea ecx, [esp + 0x338]
push eax
push ecx
call fcn.004c6f60
add esp, 0xc
cmp edi, 0xffffffe4
je 0x47f4ee
cmp byte [edi + 0x1c], 0
je 0x47f4cb
lea eax, [esp + 0x334]
push 0x169
push 0x5052f4
push eax
call fcn.004c6f60
add esp, 0xc
cmp edi, 0xffffffe4
je 0x47f4ee
lea eax, [edi + 0x1c]
cmp byte [eax], 0
je 0x47f4ee
push 0x169
push eax
lea eax, [esp + 0x33c]
push eax
call fcn.004c6f60
add esp, 0xc
mov ebp, dword [sym.imp.SHELL32.dll_ShellExecuteA]
test esi, esi
jne 0x47f503
cmp dword [esp + 0x10], 0
je 0x47f634
mov dword [esp + 0x10], 0
cmp dword [edi + 0x14], 0
je 0x47f59d
cmp byte [esp + 0x124], 0
push 1
je 0x47f556
lea ecx, [esp + 0x230]
mov eax, 0
cmp byte [esp + 0x230], 1
adc eax, 0xffffffff
mov edx, dword [0x50e324]
and eax, ecx
lea ecx, [esp + 0x128]
push eax
push 0
push ecx
push str.PRINT
push edx
jmp 0x47f5f2
lea ecx, [esp + 0x230]
mov eax, 0
cmp byte [esp + 0x230], 1
adc eax, 0xffffffff
mov edx, dword [0x50e324]
and eax, ecx
lea ecx, [esp + 0x338]
cmp byte [esp + 0x338], 1
push eax
mov eax, 0
adc eax, 0xffffffff
and eax, ecx
lea ecx, [esp + 0x24]
push eax
push ecx
push str.PRINT
push edx
jmp 0x47f5f2
cmp byte [esp + 0x1c], 0
je 0x47f5b5
cmp byte [esp + 0x334], 0
lea eax, [esp + 0x334]
jne 0x47f5b7
xor eax, eax
lea edx, [esp + 0x22c]
push 1
cmp byte [esp + 0x230], 1
mov ecx, 0
adc ecx, 0xffffffff
and ecx, edx
cmp byte [esp + 0x20], 0
push ecx
push eax
lea eax, [esp + 0x28]
jne 0x47f5e6
lea eax, [esp + 0x130]
push eax
push str.OPEN
mov eax, dword [0x50e324]
push eax
call ebp
cmp eax, 0x1f
mov ebx, eax
je 0x47f663
cmp ebx, 2
jne 0x47f62d
test esi, esi
je 0x47f62d
mov eax, dword [edi + 4]
test eax, eax
jne 0x47f615
cmp dword [edi + 0xc], 0
je 0x47f62d
test eax, eax
je 0x47f619
mov eax, dword [edi]
jmp 0x47f61c
mov eax, dword [edi + 8]
push eax
call fcn.0046c2d0
mov dword [esp + 0x14], 1
add esp, 4
xor esi, esi
jmp 0x47f4f4
cmp ebx, 0x20
jg 0x47f656
push edi
call fcn.0047f770
add esp, 4
test eax, eax
je 0x47f656
mov eax, 0x21
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x490
ret
mov eax, ebx
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x490
ret
push edi
call fcn.0047f770
add esp, 4
cmp eax, 1
sbb eax, eax
pop ebp
and eax, 0xfffffffe
pop edi
add eax, 0x21
pop esi
pop ebx
add esp, 0x490
ret