Function at 0x4291c6
Capabilities:
Connect socket

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd4
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
mov dword [ebx + 0x51c], 2
push 0
call fcn.00548d28
pop ecx
mov dword [ebx + 0x874], eax
cmp dword [ebx + 0x52c], 0
je 0x4292a9
cmp word [ebx + 0x520], 0
jne 0x4292a9
cmp dword [0x5515fc], 0
je 0x429259
cmp dword [0x5515f8], 0
je 0x429259
push dword [0x54d29c]
push 0
push 0x523
call fcn.0041c35b
push eax
push dword [ebx]
call fcn.004dfd6c
call fcn.00427748
mov esi, eax
mov dword [ebx + 0x528], esi
push esi
push 1
push 0
add ebx, 0x4b8
push ebx
call fcn.00475cf6
mov eax, 1
jmp 0x429483
cmp byte [0x55781c], 0
je 0x4292a2
lea edx, [ebx + 0x4b8]
mov esi, edx
mov edi, 0x55781c
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]
push 8
push ebx
call fcn.00427c7b
test eax, eax
je 0x4292a2
mov eax, 1
jmp 0x429483
xor eax, eax
jmp 0x429483
lea edx, [ebx + 0x4b8]
push edx
call sub.WSOCK32.dll_inet_addr
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
jne 0x42931f
cmp dword [0x5515fc], 0
je 0x4292d9
cmp dword [0x5515f8], 0
je 0x4292d9
cmp dword [0x5515f4], 0
jne 0x42931f
cmp dword [ebx + 0x530], 0
je 0x429305
push 7
push 0
lea ecx, [ebx + 0x4b8]
push ecx
lea eax, [ebx + 0x3f0]
push eax
push dword [ebx]
call fcn.0045f440
mov eax, 1
jmp 0x429483
push ebx
push 0
push 0x524
call fcn.0041c35b
push eax
call fcn.0042793c
xor eax, eax
jmp 0x429483
cmp dword [0x5515fc], 0
je 0x429382
cmp dword [0x5515f8], 0
je 0x429382
cmp dword [ebx + 0x530], 0
je 0x429382
push dword [0x54d29c]
push 0
push 0x523
call fcn.0041c35b
push eax
push dword [ebx]
call fcn.004dfd6c
call fcn.00427748
mov esi, eax
mov dword [ebx + 0x528], esi
push esi
push 0
mov ax, word [ebx + 0x520]
push eax
add ebx, 0x4b8
push ebx
call fcn.00475cf6
mov eax, 1
jmp 0x429483
lea eax, [ebp - 0xc]
mov dword [ebp - 0x10], eax
lea edx, [ebp - 4]
mov dword [eax], edx
xor ecx, ecx
mov dword [eax + 4], ecx
mov word [ebp - 0x12], 4
mov word [ebp - 0x14], 2
lea esi, [ebp - 0x1c]
push 0x10
push 0
lea eax, [ebp - 0x2c]
push eax
call fcn.00539438
add esp, 0xc
mov word [ebp - 0x2c], 2
movsx edx, word [esi + 0xa]
push edx
mov ecx, dword [esi + 0xc]
push dword [ecx]
lea eax, [ebp - 0x28]
push eax
call fcn.005393c8
add esp, 0xc
mov dx, word [ebx + 0x520]
push edx
call sub.WSOCK32.dll_htons
mov word [ebp - 0x2a], ax
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
mov edx, dword [eax]
mov dword [ebp - 0x28], edx
push 0
push 2
push 0
mov cx, word [0x54f356]
push ecx
mov ax, word [0x54f354]
push eax
call fcn.004e3612
mov esi, eax
mov dword [ebx + 0x878], esi
cmp esi, 0xffffffff
jne 0x429426
push ebx
push 0
push 0x518
call fcn.0041c35b
push eax
call fcn.0042793c
xor eax, eax
jmp 0x429483
push dword [ebx + 0x878]
call fcn.0051b512
push 0x10
push 0x41c
push dword [0x55b3c8]
push dword [ebx + 0x878]
call sub.WSOCK32.dll_WSAAsyncSelect
push 0x10
lea edx, [ebp - 0x2c]
push edx
push dword [ebx + 0x878]
call sub.WSOCK32.dll_connect
test eax, eax
jge 0x429481
call sub.WSOCK32.dll_WSAGetLastError
cmp eax, 0x2733
je 0x429481
push ebx
push 0
push 0x525
call fcn.0041c35b
push eax
call fcn.0042793c
xor eax, eax
jmp 0x429483
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4