Function at 0x58aeb5
Capabilities:
Create process on windows

Disassembly:
push ebp
sub esp, 0x5c
mov eax, 0x67fb1e
call fcn.0062921c
sub esp, 0x3c
xor eax, eax
push ebx
push esi
push edi
push 7
mov esi, ecx
lea edi, [ebp - 0x48]
pop ecx
rep stosd dword es:[edi], eax
xor ebx, ebx
mov eax, 0x400
push ebx
push eax
push eax
push ebx
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
movzx ecx, byte [esi]
test ecx, ecx
jne 0x58aef9
xor eax, eax
inc eax
jmp 0x58b41d
lea eax, [ecx - 2]
cmp eax, 3
jae 0x58b41b
mov byte [esi + 8], bl
mov byte [esi], bl
cmp ecx, 2
jne 0x58af14
cmp byte [esi + 9], bl
jne 0x58aef1
cmp ecx, 3
jne 0x58af53
mov eax, dword [0x79fe8c]
inc dword [0x76d30c]
push dword [eax*4 + 0x762d1c]
push str.Failed_to_connect_to_host_at:__s
push 0x80
call fcn.00482bae
mov eax, dword [0x79fe8c]
add esp, 0xc
dec eax
and eax, 1
mov dword [0x79fe8c], eax
or eax, 0xffffffff
jmp 0x58b41d
inc dword [0x76d308]
cmp ecx, 4
jne 0x58af66
push 2
pop eax
jmp 0x58b41d
push 0
lea ebx, [esi + 0xc]
push str.info
lea eax, [ebp + 0x30]
mov dword [ebp + 0x48], ebx
push eax
mov ecx, ebx
call fcn.00459834
and dword [ebp - 4], 0
cmp dword [ebp + 0x40], 0
je 0x58b00d
call fcn.0056f585
test al, al
jne 0x58b00d
test byte [esi + 4], 2
je 0x58b00d
push 0
push str.infotype
mov ecx, ebx
call fcn.00459601
test eax, eax
jne 0x58afb2
push 0x40
pop eax
jmp 0x58afbd
dec eax
neg eax
sbb eax, eax
and eax, 0xffffffe0
add eax, 0x30
cmp dword [ebp + 0x44], 8
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0x2c], 1
jae 0x58afd3
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x18]
push 0x68ea78
push eax
call fcn.004607f4
add esp, 0xc
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 1
jb 0x58aff1
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0057c60a
pop ecx
pop ecx
push 0
push 1
lea ecx, [ebp + 0x18]
mov byte [ebp - 4], 0
call fcn.0042386b
push 0
push 0x69ad90
mov ecx, ebx
call fcn.0045978b
mov edi, eax
test edi, edi
je 0x58b042
cmp dword [edi], 0x70747468
jne 0x58b042
push edi
call fcn.00467195
test eax, eax
je 0x58b042
push 5
xor eax, eax
push eax
push eax
push edi
push eax
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
push 0
push str.u.msg
lea eax, [ebp]
mov ecx, ebx
push eax
call fcn.00459834
mov eax, dword fs:[0x2c]
mov edi, dword [0x7a0690]
mov byte [ebp - 4], 2
mov ecx, dword [eax + edi*4]
mov eax, dword [0x7a00a0]
cmp eax, dword [ecx + 4]
jle 0x58b0fe
mov ebx, 0x7a00a0
push ebx
call fcn.006296ef
cmp dword [0x7a00a0], 0xffffffff
pop ecx
jne 0x58b0fe
push str.u.url
mov ecx, 0x7a0028
call fcn.0040a58f
push str.u.siz
mov ecx, 0x7a0040
mov byte [ebp - 4], 3
call fcn.0040a58f
push str.u.sha
mov ecx, 0x7a0058
mov byte [ebp - 4], 4
call fcn.0040a58f
push str.u.sig
mov ecx, 0x7a0070
mov byte [ebp - 4], 5
call fcn.0040a58f
push str.u.ver
mov ecx, 0x7a0088
mov byte [ebp - 4], 6
call fcn.0040a58f
push 0x68b1dd
mov byte [ebp - 4], 2
call fcn.006295a6
push ebx
call fcn.006296b0
pop ecx
pop ecx
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + edi*4]
mov eax, dword [0x7a0120]
cmp eax, dword [ecx + 4]
jle 0x58b19e
mov edi, 0x7a0120
push edi
call fcn.006296ef
cmp dword [0x7a0120], 0xffffffff
pop ecx
jne 0x58b19e
push str.l.url
mov ecx, 0x7a00a8
call fcn.0040a58f
push str.l.siz
mov ecx, 0x7a00c0
mov byte [ebp - 4], 7
call fcn.0040a58f
push str.l.sha
mov ecx, 0x7a00d8
mov byte [ebp - 4], 8
call fcn.0040a58f
push str.l.sig
mov ecx, 0x7a00f0
mov byte [ebp - 4], 9
call fcn.0040a58f
push str.l.ver
mov ecx, 0x7a0108
mov byte [ebp - 4], 0xa
call fcn.0040a58f
push 0x68b1fb
mov byte [ebp - 4], 2
call fcn.006295a6
push edi
call fcn.006296b0
pop ecx
pop ecx
push 0x7a0028
lea ebx, [esi + 0x20]
mov ecx, esi
push ebx
call fcn.0058c2fc
test al, al
je 0x58b34e
push 0x7a00a8
lea eax, [esi + 0x54]
mov ecx, esi
push eax
call fcn.0058c2fc
test al, al
je 0x58b34e
mov eax, dword [esi + 0x78]
lea ecx, [esi + 0x44]
or eax, dword [ecx]
je 0x58b381
test dword [esi + 4], 0x1000
mov al, 1
push 6
mov dword [ebp + 0x58], 4
pop edi
mov byte [ebp + 0x5f], al
je 0x58b24b
call fcn.0056f585
test al, al
jne 0x58b245
cmp dword [ebp + 0x14], 8
mov eax, dword [ebp]
jae 0x58b209
lea eax, [ebp]
push eax
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
push eax
push 0x80a5
push dword [0x77ddd4]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x4e
push 0x4e
push 0xffffffffffffffff
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
lea ecx, [esi + 0x44]
test eax, eax
je 0x58b248
cmp dword [ebp - 0x3c], 0
mov edi, dword [ebp - 0x40]
setne al
jmp 0x58b24b
lea ecx, [esi + 0x44]
mov al, byte [ebp + 0x5f]
sub edi, 6
je 0x58b28f
sub edi, 1
jne 0x58b33c
test al, al
jne 0x58b287
mov dword [ebp + 0x58], 3
cmp dword [ecx], edi
je 0x58b270
mov eax, dword [esi + 0x40]
mov dword [0x76d164], eax
cmp dword [esi + 0x78], 0
je 0x58b33c
mov eax, dword [esi + 0x74]
mov dword [0x76d168], eax
jmp 0x58b33c
push 2
pop eax
jmp 0x58b33f
mov byte [ebp + 0x5f], 1
call fcn.00472fb7
lea eax, [esi + 0x44]
mov byte [ebp - 4], 0xb
xor edi, edi
mov dword [ebp + 0x58], 1
sub eax, ebx
mov byte [esi], 4
mov dword [ebp + 0x4c], eax
cmp dword [eax + ebx], 0
je 0x58b300
inc byte [esi]
mov eax, dword [0x76b940]
push 0x76b940
mov dword [ebp + 0x50], 0x76b940
call dword [eax + 4]
xor eax, eax
mov byte [ebp - 4], 0xc
push eax
push eax
push eax
lea eax, [ebp + 0x50]
push eax
push 0x58ac6a
push ebx
push dword [edi + esi + 0x20]
call fcn.00462682
mov eax, dword [ebp + 0x50]
mov byte [ebp - 4], 0xd
test eax, eax
je 0x58b2f9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x4c]
mov byte [ebp - 4], 0xb
add edi, 0x34
add ebx, 0x34
cmp edi, 0x68
jne 0x58b2b0
test dword [esi + 4], 0x1000
je 0x58b32f
call fcn.0056f585
test al, al
jne 0x58b32f
push 0
push 0
push 0x10
push dword [0x77ddd4]
call dword [sym.imp.USER32.dll_PostMessageW]
mov byte [ebp - 4], 0xe
call fcn.00472ff8
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0x58]
push eax
push 0x76d124
mov ecx, esi
call fcn.0058bfe3
jmp 0x58b381
test byte [esi + 4], 2
je 0x58b381
call fcn.0056f585
test al, al
jne 0x58b381
push 0x46b
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x28], 0x30
call fcn.0057b788
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0057c60a
pop ecx
pop ecx
mov edi, dword [ebp + 0x48]
xor ebx, ebx
push ebx
push 0x69d4cc
mov ecx, edi
call fcn.0045978b
mov esi, eax
test esi, esi
je 0x58b3ac
push esi
call fcn.0040a79e
pop ecx
push eax
push esi
mov ecx, 0x76d184
call fcn.0040a517
push ebx
push 0x6a42f8
mov ecx, edi
call fcn.0045978b
test eax, eax
je 0x58b405
lea ecx, [ebp + 0x5f]
mov byte [ebp + 0x5f], bl
push ecx
push eax
lea eax, [ebp + 0x1c]
push eax
call fcn.004c469f
cmp byte [ebp + 0x5f], bl
je 0x58b405
mov byte [ebp + 0x57], 1
call fcn.00472fb7
mov ecx, dword [0x771148]
lea eax, [ebp + 0x1c]
push 1
push eax
mov byte [ebp - 4], 0xf
call fcn.00509479
push 1
lea eax, [ebp + 0x1c]
push eax
call fcn.00489742
mov byte [ebp - 4], 0x10
call fcn.00472ff8
push ebx
push 1
lea ecx, [ebp]
call fcn.0042386b
push ebx
push 1
lea ecx, [ebp + 0x30]
call fcn.0042386b
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
lea esp, [ebp + 0x60]
pop ebp
ret