Function at 0x450e60
Capabilities:
Connect socket
Get socket status

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x403c
call fcn.00464c10
mov eax, dword [0x4efa64]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x4010], 0
mov dword [ebp - 0x403c], 1
push 0
push 1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x4018], eax
cmp dword [ebp - 0x4018], 0xffffffff
jne 0x450eb5
mov eax, 1
jmp 0x451161
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp - 0x4018]
push eax
call dword [sym.imp.WS2_32.dll_connect]
mov dword [ebp - 0x4030], eax
cmp dword [ebp - 0x4030], 0
jne 0x450efd
mov dword [ebp - 0x4010], 0
push 2
mov ecx, dword [ebp - 0x4018]
push ecx
call dword [sym.imp.WS2_32.dll_shutdown]
jmp 0x45114e
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x400c], eax
cmp dword [ebp - 0x400c], 0x274c
jg 0x450f74
cmp dword [ebp - 0x400c], 0x274c
je 0x450fd9
cmp dword [ebp - 0x400c], 0x2742
jg 0x450f63
cmp dword [ebp - 0x400c], 0x2742
je 0x450fd9
cmp dword [ebp - 0x400c], 0
je 0x450fe8
cmp dword [ebp - 0x400c], 0x2734
je 0x450fe8
jmp 0x451124
cmp dword [ebp - 0x400c], 0x2743
je 0x450fca
jmp 0x451124
cmp dword [ebp - 0x400c], 0x274d
je 0x450f9d
cmp dword [ebp - 0x400c], 0x2750
je 0x450fd9
cmp dword [ebp - 0x400c], 0x2751
je 0x450fd9
jmp 0x451124
cmp dword [ebp + 0xc], 0
je 0x450faf
mov dword [ebp - 0x4020], 0x274d
jmp 0x450fb9
mov dword [ebp - 0x4020], 0
mov edx, dword [ebp - 0x4020]
mov dword [ebp - 0x4010], edx
jmp 0x45114e
mov dword [ebp - 0x4010], 0xfffffffe
jmp 0x45114e
mov dword [ebp - 0x4010], 0xffffffff
jmp 0x45114e
mov dword [ebp - 0x4024], 5
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
jne 0x451006
mov dword [ebp - 0x4024], 1
mov dword [ebp - 0x4008], 0
mov dword [ebp - 0x4014], 0
jmp 0x45102b
mov eax, dword [ebp - 0x4014]
add eax, 1
mov dword [ebp - 0x4014], eax
mov ecx, dword [ebp - 0x4014]
cmp ecx, dword [ebp - 0x4008]
jae 0x451052
mov edx, dword [ebp - 0x4014]
mov eax, dword [ebp + edx*4 - 0x4004]
cmp eax, dword [ebp - 0x4018]
jne 0x451050
jmp 0x451052
jmp 0x45101c
mov ecx, dword [ebp - 0x4014]
cmp ecx, dword [ebp - 0x4008]
jne 0x45108e
cmp dword [ebp - 0x4008], 0x1000
jae 0x45108e
mov edx, dword [ebp - 0x4014]
mov eax, dword [ebp - 0x4018]
mov dword [ebp + edx*4 - 0x4004], eax
mov ecx, dword [ebp - 0x4008]
add ecx, 1
mov dword [ebp - 0x4008], ecx
xor edx, edx
jne 0x451010
mov dword [ebp - 0x4038], 5
mov dword [ebp - 0x4034], 0
mov dword [ebp - 0x401c], 0
jmp 0x4510c5
mov eax, dword [ebp - 0x401c]
add eax, 1
mov dword [ebp - 0x401c], eax
mov ecx, dword [ebp - 0x401c]
cmp ecx, dword [ebp - 0x4024]
jge 0x451103
lea edx, [ebp - 0x4038]
push edx
push 0
lea eax, [ebp - 0x4008]
push eax
push 0
push 0x1000
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0x4028], eax
cmp dword [ebp - 0x4028], 0
jle 0x451101
jmp 0x451103
jmp 0x4510b6
cmp dword [ebp - 0x4028], 0
jg 0x451118
mov dword [ebp - 0x4010], 0xffffffff
jmp 0x451122
mov dword [ebp - 0x4010], 0
jmp 0x45114e
cmp dword [ebp + 0xc], 0
je 0x451136
mov dword [ebp - 0x402c], 0xfffffffd
jmp 0x451142
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x402c], eax
mov ecx, dword [ebp - 0x402c]
mov dword [ebp - 0x4010], ecx
mov edx, dword [ebp - 0x4018]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [ebp - 0x4010]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00464bf6
mov esp, ebp
pop ebp
ret