Function at 0x47a412
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x47a8cf
cmp dword [ebx + 0x378], 0
jne 0x47a8cf
mov dword [ebx + 0x378], 1
push ebx
call fcn.0047a28e
cmp dword [0x55a3c0], 0
je 0x47a461
mov dword [ebx + 0x368], 0xffffffff
push dword [ebx]
call fcn.00516145
push eax
call fcn.005010e4
xor esi, esi
xor edi, edi
mov eax, dword [ebx + 0x35c]
test eax, eax
je 0x47a477
cmp eax, dword [ebx + 0x350]
ja 0x47a48b
mov dword [ebx + 0x33c], 9
mov dword [ebx + 0x344], 1
push dword [ebx]
call fcn.00516145
push eax
call fcn.0050a5e4
cmp dword [ebx + 0x344], 0
je 0x47a62b
cmp dword [ebx + 0x35c], 0
jbe 0x47a4ef
mov edx, dword [ebx + 0x380]
sub edx, dword [ebx + 0x37c]
mov dword [ebp - 4], edx
cmp dword [ebp - 4], 1
jae 0x47a4ca
mov dword [ebp - 4], 1
mov eax, dword [ebx + 0x350]
mov edx, dword [ebx + 0x360]
cmp eax, edx
jae 0x47a4de
mov ecx, eax
jmp 0x47a4e2
mov ecx, eax
sub ecx, edx
mov eax, ecx
xor edx, edx
div dword [ebp - 4]
mov dword [ebx + 0x364], eax
cmp dword [0x54a710], 0
je 0x47a500
push 0x1e
push ebx
call fcn.00478b09
cmp dword [0x558a48], 0
je 0x47a558
mov eax, dword [ebx + 0x338]
test eax, eax
jl 0x47a51a
push eax
call fcn.0053ca08
pop ecx
mov dword [ebx + 0x338], 0xffffffff
mov dword [0x551b4c], ebx
xor edx, edx
mov dword [0x558f34], edx
push 0
push 0x18
push 0x551c7b
push 0
call fcn.004efac0
xor ecx, ecx
mov dword [0x551b4c], ecx
push ebx
call fcn.00478a69
test eax, eax
je 0x47a8cf
push 0
push 1
push 0x574d36
lea eax, [ebx + 0x234]
push eax
call fcn.0046e7cb
cmp byte [0x574d36], 0
je 0x47a62b
push 0x574d36
call fcn.005395b8
pop ecx
add eax, 0xa
push eax
call fcn.00545a4c
pop ecx
mov esi, eax
test esi, esi
je 0x47a62b
push esi
mov edi, 0x574d36
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
lea eax, [ebx + 0x234]
push eax
lea edx, [ebx + 0x130]
push edx
push 0x551c85
push 0x574d36
call sub.USER32.dll_wsprintfA
add esp, 0x10
push 0x574d36
call fcn.005395b8
pop ecx
add eax, 0xa
push eax
call fcn.00545a4c
pop ecx
mov edi, eax
test edi, edi
je 0x47a622
push esi
push edi
mov esi, edi
mov edi, 0x574d36
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x47a62b
push esi
call fcn.00545938
pop ecx
xor esi, esi
cmp dword [ebp + 0xc], 0
jne 0x47a7e1
cmp dword [0x54f36c], 0
je 0x47a7e1
push ebx
call fcn.0047a21b
push dword [0x54d29c]
push dword [0x55b3d8]
call fcn.004dfc12
cmp dword [ebx + 0x344], 0
je 0x47a731
lea eax, [ebx + 4]
push eax
lea edx, [ebx + 0x234]
push edx
push 0
push 0xb6b
call fcn.0041c35b
push eax
push 0x574d36
call sub.USER32.dll_wsprintfA
add esp, 0x10
mov eax, dword [ebx + 0x37c]
test eax, eax
jle 0x47a6cc
mov edx, dword [ebx + 0x380]
sub edx, eax
mov dword [ebp - 4], edx
cmp dword [ebp - 4], 1
jae 0x47a6ad
mov dword [ebp - 4], 1
push 1
push dword [ebp - 4]
push 0x551c8b
call fcn.004a8254
push eax
push 0x574d36
call fcn.005394dc
add esp, 8
jmp 0x47a6e6
push 0
push 0xb66
call fcn.0041c35b
push eax
push 0x574d36
call fcn.005394dc
add esp, 8
push 0x551c8f
push 0x574d36
call fcn.005394dc
add esp, 8
push dword [ebx + 0x364]
push 0x551c92
push 0x574d36
call fcn.005395b8
pop ecx
add eax, 0x574d36
push eax
call sub.USER32.dll_wsprintfA
add esp, 0xc
push 0x551c9a
push 0x574d36
call fcn.005394dc
add esp, 8
jmp 0x47a79a
push ebx
call fcn.0047956b
push ebx
call fcn.00478a69
test eax, eax
je 0x47a8cf
cmp dword [ebx + 0x33c], 4
jne 0x47a775
lea ecx, [ebx + 4]
push ecx
lea eax, [ebx + 0x234]
push eax
push 0
push 0xb68
call fcn.0041c35b
push eax
push 0x574d36
call sub.USER32.dll_wsprintfA
add esp, 0x10
jmp 0x47a79a
lea edx, [ebx + 4]
push edx
lea ecx, [ebx + 0x234]
push ecx
push 0
push 0xb69
call fcn.0041c35b
push eax
push 0x574d36
call sub.USER32.dll_wsprintfA
add esp, 0x10
xor eax, eax
mov dword [0x558950], eax
mov dword [0x558960], 1
push dword [0x54d298]
push 0x574d36
push dword [0x55b3d8]
call fcn.004dfd6c
push dword [0x54d29c]
push dword [0x55b3d8]
call fcn.004dfc12
push 0
push 0
push 0x10
push dword [ebx]
call sub.USER32.dll_SendMessageA
jmp 0x47a836
cmp dword [ebx + 0x344], 0
je 0x47a801
push 1
push ebx
push 0
push 0xb6a
call fcn.0041c35b
push eax
call fcn.0047962b
jmp 0x47a836
cmp dword [ebx + 0x33c], 4
jne 0x47a821
push 1
push ebx
push 0
push 0xb67
call fcn.0041c35b
push eax
call fcn.0047962b
jmp 0x47a836
push 1
push ebx
push 0
push 0xb60
call fcn.0041c35b
push eax
call fcn.0047962b
test esi, esi
je 0x47a8cf
cmp byte [esi], 0x2f
jne 0x47a858
push 0
push 0
push 1
push edi
push esi
push dword [0x55b3d8]
call fcn.0049bc6c
jmp 0x47a8bd
push 0x8001
call sub.KERNEL32.dll_SetErrorMode
push 5
push 0x553318
push edi
push esi
push 0
push dword [0x55b3c8]
call sub.SHELL32.dll_ShellExecuteA
cmp eax, 0x1f
jae 0x47a8b6
xor edx, edx
mov dword [0x558950], edx
push esi
push 0
push 0xb6c
call fcn.0041c35b
push eax
push 0x574d36
call sub.USER32.dll_wsprintfA
add esp, 0xc
push dword [0x54d29c]
push 0x574d36
push dword [0x55b3d8]
call fcn.004e0c3e
push 0
call sub.KERNEL32.dll_SetErrorMode
push esi
call fcn.00545938
pop ecx
test edi, edi
je 0x47a8cf
push edi
call fcn.00545938
pop ecx
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8