Function at 0x592529
Capabilities:
Create process on windows

Disassembly:
mov eax, 0x67af4a
call fcn.006313fc
sub esp, 0x8c
xor eax, eax
push ebx
push esi
push edi
push 7
mov esi, ecx
lea edi, [esp + 0x80]
pop ecx
rep stosd dword es:[edi], eax
xor ebx, ebx
mov eax, 0x400
push ebx
push eax
push eax
push ebx
lea eax, [esp + 0x8c]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
movzx ecx, byte [esi]
test ecx, ecx
jne 0x592574
xor eax, eax
inc eax
jmp 0x592aa8
lea eax, [ecx - 2]
cmp eax, 3
jae 0x592aa6
mov byte [esi + 8], bl
mov byte [esi], bl
cmp ecx, 2
jne 0x5925a2
cmp byte [esi + 9], bl
jne 0x59256c
inc dword [0x75fab8]
cmp ecx, 4
jne 0x5925e1
push 2
pop eax
jmp 0x592aa8
cmp ecx, 3
jne 0x59258f
mov eax, dword [0x791488]
inc dword [0x75fabc]
push dword [eax*4 + 0x754d58]
push str.Failed_to_connect_to_host_at:__s
push 0x80
call fcn.00484d2b
mov eax, dword [0x791488]
add esp, 0xc
dec eax
and eax, 1
mov dword [0x791488], eax
or eax, 0xffffffff
jmp 0x592aa8
push ebp
push ebx
push str.info
lea eax, [esp + 0x20]
lea ebp, [esi + 0xc]
push eax
mov ecx, ebp
call fcn.0045bd54
cmp dword [esp + 0x28], 0
mov dword [esp + 0xa4], ebx
je 0x59269b
call fcn.00576144
test al, al
jne 0x59269b
test byte [esi + 4], 2
je 0x59269b
push ebx
push str.infotype
mov ecx, ebp
call fcn.0045bb2b
test eax, eax
jne 0x592632
push 0x40
pop eax
jmp 0x59263d
dec eax
neg eax
sbb eax, eax
and eax, 0xffffffe0
add eax, 0x30
cmp dword [esp + 0x2c], 8
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x60], 1
jae 0x592658
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x34]
push 0x689854
push eax
call fcn.0047224d
add esp, 0xc
cmp dword [eax + 0x14], 8
mov byte [esp + 0xa4], 1
jb 0x59267b
mov eax, dword [eax]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.00583334
pop ecx
pop ecx
push ebx
push 1
lea ecx, [esp + 0x38]
mov byte [esp + 0xac], bl
call fcn.0042341c
push ebx
push 0x694ac0
mov ecx, ebp
call fcn.0045bcaf
mov edi, eax
test edi, edi
je 0x5926cd
cmp dword [edi], 0x70747468
jne 0x5926cd
push edi
call fcn.00468019
test eax, eax
je 0x5926cd
push 5
push ebx
push ebx
push edi
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
push ebx
push str.u.msg
lea eax, [esp + 0x50]
mov ecx, ebp
push eax
call fcn.0045bd54
mov eax, dword [0x7916d0]
mov byte [esp + 0xa4], 2
test al, 1
jne 0x592787
or eax, 1
mov dword [0x7916d0], eax
push str.u.url
mov ecx, 0x791658
mov byte [esp + 0xa8], 3
call fcn.00409ba7
push str.u.siz
mov ecx, 0x791670
mov byte [esp + 0xa8], 4
call fcn.00409ba7
push str.u.sha
mov ecx, 0x791688
mov byte [esp + 0xa8], 5
call fcn.00409ba7
push str.u.sig
mov ecx, 0x7916a0
mov byte [esp + 0xa8], 6
call fcn.00409ba7
push str.u.ver
mov ecx, 0x7916b8
mov byte [esp + 0xa8], 7
call fcn.00409ba7
push 0x686207
call fcn.00630c6d
mov eax, dword [0x7916d0]
pop ecx
mov byte [esp + 0xa4], 2
mov edi, 0x7916d8
test al, 2
jne 0x59281f
or eax, 2
mov dword [0x7916d0], eax
push str.l.url
mov ecx, edi
mov byte [esp + 0xa8], 8
call fcn.00409ba7
push str.l.siz
mov ecx, 0x7916f0
mov byte [esp + 0xa8], 9
call fcn.00409ba7
push str.l.sha
mov ecx, 0x791708
mov byte [esp + 0xa8], 0xa
call fcn.00409ba7
push str.l.sig
mov ecx, 0x791720
mov byte [esp + 0xa8], 0xb
call fcn.00409ba7
push str.l.ver
mov ecx, 0x791738
mov byte [esp + 0xa8], 0xc
call fcn.00409ba7
push 0x686225
call fcn.00630c6d
pop ecx
mov byte [esp + 0xa4], 2
push 0x791658
lea eax, [esi + 0x20]
mov ecx, esi
push eax
call fcn.005939c8
test al, al
je 0x5929c8
push edi
lea eax, [esi + 0x54]
mov ecx, esi
push eax
call fcn.005939c8
test al, al
je 0x5929c8
mov eax, dword [esi + 0x44]
or eax, dword [esi + 0x78]
je 0x5929fe
test dword [esi + 4], 0x1000
mov al, 1
push 4
pop ebx
push 6
pop edi
mov byte [esp + 0x12], al
je 0x5928cd
call fcn.00576144
test al, al
jne 0x5928c9
cmp dword [esp + 0x5c], 8
mov eax, dword [esp + 0x48]
jae 0x592884
lea eax, [esp + 0x48]
push eax
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
push eax
push 0x80a5
push dword [0x7705d4]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x4e
push 0x4e
push 0xffffffffffffffff
lea eax, [esp + 0x8c]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x5928c9
cmp dword [esp + 0x8c], 0
mov edi, dword [esp + 0x88]
setne al
jmp 0x5928cd
mov al, byte [esp + 0x12]
sub edi, 6
je 0x59290c
dec edi
jne 0x5929b7
test al, al
jne 0x592904
push 3
pop ebx
cmp dword [esi + 0x44], edi
je 0x5928ed
mov eax, dword [esi + 0x40]
mov dword [0x75f918], eax
cmp dword [esi + 0x78], 0
je 0x5929b7
mov eax, dword [esi + 0x74]
mov dword [0x75f91c], eax
jmp 0x5929b7
push 2
pop ebx
jmp 0x5929b7
mov byte [esp + 0x12], 1
call fcn.00475044
xor ebx, ebx
mov byte [esp + 0xa4], 0xd
inc ebx
mov byte [esi], 4
xor edi, edi
cmp dword [edi + esi + 0x44], 0
je 0x59297e
inc byte [esi]
mov eax, dword [0x75e0c0]
push 0x75e0c0
mov dword [esp + 0x18], 0x75e0c0
call dword [eax + 4]
xor ecx, ecx
mov byte [esp + 0xa4], 0xe
push ecx
push ecx
push ecx
lea ecx, [esp + 0x20]
push ecx
lea eax, [esi + 0x20]
add eax, edi
push 0x5922a9
push eax
push dword [eax]
call fcn.004635ab
mov eax, dword [esp + 0x14]
mov byte [esp + 0xa4], 0xd
test eax, eax
je 0x59297e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
add edi, 0x34
cmp edi, 0x68
jne 0x592926
test dword [esi + 4], 0x1000
je 0x5929aa
call fcn.00576144
test al, al
jne 0x5929aa
push 0
push 0
push 0x10
push dword [0x7705d4]
call dword [sym.imp.USER32.dll_PostMessageW]
mov byte [esp + 0xa4], 2
call fcn.00475085
push ebx
push 0x75f8d8
mov ecx, esi
call fcn.0059363d
xor ebx, ebx
jmp 0x5929fe
test byte [esi + 4], 2
je 0x5929fe
call fcn.00576144
test al, al
jne 0x5929fe
push 0x44f
mov dword [esp + 0x64], 1
mov dword [esp + 0x68], 0x30
call fcn.00582370
push eax
lea eax, [esp + 0x64]
push eax
call fcn.00583334
pop ecx
pop ecx
push ebx
push 0x69719c
mov ecx, ebp
call fcn.0045bcaf
mov esi, eax
test esi, esi
je 0x592a24
push esi
call fcn.00409db4
pop ecx
push eax
push esi
mov ecx, 0x75f938
call fcn.00409b2f
push ebx
push 0x69df60
mov ecx, ebp
call fcn.0045bcaf
pop ebp
test eax, eax
je 0x592a8e
lea ecx, [esp + 0xe]
mov byte [esp + 0xe], bl
push ecx
push eax
lea eax, [esp + 0x34]
push eax
call fcn.004c687b
cmp byte [esp + 0xe], 0
je 0x592a8e
mov byte [esp + 0xf], 1
call fcn.00475044
mov ecx, dword [0x7638f4]
lea eax, [esp + 0x2c]
push 1
push eax
mov byte [esp + 0xa8], 0xf
call fcn.0050b6ca
push 1
lea eax, [esp + 0x30]
push eax
call fcn.0048c457
mov byte [esp + 0xa0], 2
call fcn.00475085
push ebx
push 1
lea ecx, [esp + 0x4c]
call fcn.0042341c
push ebx
push 1
lea ecx, [esp + 0x1c]
call fcn.0042341c
xor eax, eax
mov ecx, dword [esp + 0x98]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret