Function at 0x5a667c
Capabilities:
Create process on windows

Disassembly:
push ebp
sub esp, 0x5c
mov eax, 0x6bf29e
call fcn.00651da4
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 0x5a66c0
xor eax, eax
inc eax
jmp 0x5a6be4
lea eax, [ecx - 2]
cmp eax, 3
jae 0x5a6be2
mov byte [esi + 8], bl
mov byte [esi], bl
cmp ecx, 2
jne 0x5a66db
cmp byte [esi + 9], bl
jne 0x5a66b8
cmp ecx, 3
jne 0x5a671a
mov eax, dword [0x7f7ff4]
inc dword [0x7c25b0]
push dword [eax*4 + 0x7b5f20]
push str.Failed_to_connect_to_host_at:__s
push 0x80
call fcn.00485bac
mov eax, dword [0x7f7ff4]
add esp, 0xc
dec eax
and eax, 1
mov dword [0x7f7ff4], eax
or eax, 0xffffffff
jmp 0x5a6be4
inc dword [0x7c25ac]
cmp ecx, 4
jne 0x5a672d
push 2
pop eax
jmp 0x5a6be4
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.0045a8b9
and dword [ebp - 4], 0
cmp dword [ebp + 0x40], 0
je 0x5a67d4
call fcn.00588d11
test al, al
jne 0x5a67d4
test byte [esi + 4], 2
je 0x5a67d4
push 0
push str.infotype
mov ecx, ebx
call fcn.0045a686
test eax, eax
jne 0x5a6779
push 0x40
pop eax
jmp 0x5a6784
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 0x5a679a
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x18]
push 0x6d201c
push eax
call fcn.00462014
add esp, 0xc
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 1
jb 0x5a67b8
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00596761
pop ecx
pop ecx
push 0
push 1
lea ecx, [ebp + 0x18]
mov byte [ebp - 4], 0
call fcn.004284eb
push 0
push 0x6dd480
mov ecx, ebx
call fcn.0045a810
mov edi, eax
test edi, edi
je 0x5a6809
cmp dword [edi], 0x70747468
jne 0x5a6809
push edi
call fcn.00469399
test eax, eax
je 0x5a6809
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.0045a8b9
mov eax, dword fs:[0x2c]
mov edi, dword [0x7f8ad8]
mov byte [ebp - 4], 2
mov ecx, dword [eax + edi*4]
mov eax, dword [0x7f8388]
cmp eax, dword [ecx + 4]
jle 0x5a68c5
mov ebx, 0x7f8388
push ebx
call fcn.00651f0b
cmp dword [0x7f8388], 0xffffffff
pop ecx
jne 0x5a68c5
push str.u.url
mov ecx, 0x7f8310
call fcn.0040f49f
push str.u.siz
mov ecx, 0x7f8328
mov byte [ebp - 4], 3
call fcn.0040f49f
push str.u.sha
mov ecx, 0x7f8340
mov byte [ebp - 4], 4
call fcn.0040f49f
push str.u.sig
mov ecx, 0x7f8358
mov byte [ebp - 4], 5
call fcn.0040f49f
push str.u.ver
mov ecx, 0x7f8370
mov byte [ebp - 4], 6
call fcn.0040f49f
push 0x6cd34e
mov byte [ebp - 4], 2
call fcn.00651d8e
push ebx
call fcn.00651ecc
pop ecx
pop ecx
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + edi*4]
mov eax, dword [0x7f8408]
cmp eax, dword [ecx + 4]
jle 0x5a6965
mov edi, 0x7f8408
push edi
call fcn.00651f0b
cmp dword [0x7f8408], 0xffffffff
pop ecx
jne 0x5a6965
push str.l.url
mov ecx, 0x7f8390
call fcn.0040f49f
push str.l.siz
mov ecx, 0x7f83a8
mov byte [ebp - 4], 7
call fcn.0040f49f
push str.l.sha
mov ecx, 0x7f83c0
mov byte [ebp - 4], 8
call fcn.0040f49f
push str.l.sig
mov ecx, 0x7f83d8
mov byte [ebp - 4], 9
call fcn.0040f49f
push str.l.ver
mov ecx, 0x7f83f0
mov byte [ebp - 4], 0xa
call fcn.0040f49f
push 0x6cd36c
mov byte [ebp - 4], 2
call fcn.00651d8e
push edi
call fcn.00651ecc
pop ecx
pop ecx
push 0x7f8310
lea ebx, [esi + 0x20]
mov ecx, esi
push ebx
call fcn.005a865a
test al, al
je 0x5a6b15
push 0x7f8390
lea eax, [esi + 0x54]
mov ecx, esi
push eax
call fcn.005a865a
test al, al
je 0x5a6b15
mov eax, dword [esi + 0x78]
lea ecx, [esi + 0x44]
or eax, dword [ecx]
je 0x5a6b48
test dword [esi + 4], 0x1000
mov al, 1
push 6
mov dword [ebp + 0x58], 4
pop edi
mov byte [ebp + 0x5f], al
je 0x5a6a12
call fcn.00588d11
test al, al
jne 0x5a6a0c
cmp dword [ebp + 0x14], 8
mov eax, dword [ebp]
jae 0x5a69d0
lea eax, [ebp]
push eax
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
push eax
push 0x80a7
push dword [0x7d4820]
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 0x5a6a0f
cmp dword [ebp - 0x3c], 0
mov edi, dword [ebp - 0x40]
setne al
jmp 0x5a6a12
lea ecx, [esi + 0x44]
mov al, byte [ebp + 0x5f]
sub edi, 6
je 0x5a6a56
sub edi, 1
jne 0x5a6b03
test al, al
jne 0x5a6a4e
mov dword [ebp + 0x58], 3
cmp dword [ecx], edi
je 0x5a6a37
mov eax, dword [esi + 0x40]
mov dword [0x7c2408], eax
cmp dword [esi + 0x78], 0
je 0x5a6b03
mov eax, dword [esi + 0x74]
mov dword [0x7c240c], eax
jmp 0x5a6b03
push 2
pop eax
jmp 0x5a6b06
mov byte [ebp + 0x5f], 1
call fcn.00475363
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 0x5a6ac7
inc byte [esi]
mov eax, dword [0x7c0b60]
push 0x7c0b60
mov dword [ebp + 0x50], 0x7c0b60
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 0x5a6431
push ebx
push dword [edi + esi + 0x20]
call fcn.00464423
mov eax, dword [ebp + 0x50]
mov byte [ebp - 4], 0xd
test eax, eax
je 0x5a6ac0
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 0x5a6a77
test dword [esi + 4], 0x1000
je 0x5a6af6
call fcn.00588d11
test al, al
jne 0x5a6af6
push 0
push 0
push 0x10
push dword [0x7d4820]
call dword [sym.imp.USER32.dll_PostMessageW]
mov byte [ebp - 4], 0xe
call fcn.004753a4
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0x58]
push eax
push 0x7c23c8
mov ecx, esi
call fcn.005a7836
jmp 0x5a6b48
test byte [esi + 4], 2
je 0x5a6b48
call fcn.00588d11
test al, al
jne 0x5a6b48
push 0x47e
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x28], 0x30
call fcn.00595698
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00596761
pop ecx
pop ecx
mov edi, dword [ebp + 0x48]
xor ebx, ebx
push ebx
push 0x6dfc64
mov ecx, edi
call fcn.0045a810
mov esi, eax
test esi, esi
je 0x5a6b73
push esi
call fcn.0040f6ae
pop ecx
push eax
push esi
mov ecx, 0x7c2428
call fcn.0040f427
push ebx
push 0x6e6a20
mov ecx, edi
call fcn.0045a810
test eax, eax
je 0x5a6bcc
lea ecx, [ebp + 0x5f]
mov byte [ebp + 0x5f], bl
push ecx
push eax
lea eax, [ebp + 0x1c]
push eax
call fcn.004c8ebb
cmp byte [ebp + 0x5f], bl
je 0x5a6bcc
mov byte [ebp + 0x57], 1
call fcn.00475363
mov ecx, dword [0x7c63e4]
lea eax, [ebp + 0x1c]
push 1
push eax
mov byte [ebp - 4], 0xf
call fcn.00512a95
push 1
lea eax, [ebp + 0x1c]
push eax
call fcn.0048c689
mov byte [ebp - 4], 0x10
call fcn.004753a4
push ebx
push 1
lea ecx, [ebp]
call fcn.004284eb
push ebx
push 1
lea ecx, [ebp + 0x30]
call fcn.004284eb
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