Function at 0x45f4d0
Capabilities:
Connect socket
Get socket status
Receive data
Receive data on socket
Resolve dns
Set socket configuration

Disassembly:
mov eax, dword [0x461b3f8]
sub esp, 0x3b4
push ebx
xor ebx, ebx
cmp eax, ebx
push esi
je 0x45fa30
mov eax, dword [0x461c008]
mov esi, 1
cmp eax, ebx
jne 0x45f6fe
push str.cary
push 0x4ec0898
mov dword [esp + 0x24], esi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
call sub.WINMM.dll_timeGetTime
movsx edx, word [0x4c4288]
mov dword [0x461c004], eax
lea eax, [esp + 8]
lea ecx, [esp + 0x30]
push eax
push ecx
push edx
call fcn.0045e820
add esp, 0xc
test eax, eax
jge 0x45f555
push 0x4c4454
push 0x461b65c
call fcn.004923a7
add esp, 8
mov eax, 0xfffffffe
pop esi
pop ebx
add esp, 0x3b4
ret
push ebx
push esi
push 2
call sub.WSOCK32.dll_socket
cmp eax, 0xffffffff
mov dword [0x461b404], eax
jne 0x45f588
push 0x4c43cc
push 0x461b65c
call fcn.004923a7
add esp, 8
mov eax, 0xfffffffd
pop esi
pop ebx
add esp, 0x3b4
ret
lea ecx, [esp + 0x1c]
push ecx
push 0x8004667e
push eax
call sub.WSOCK32.dll_ioctlsocket
cmp dword [0x4ba438], ebx
je 0x45f5cb
mov eax, dword [0x461b404]
lea edx, [esp + 0x18]
push 4
push edx
push esi
push 6
push eax
mov dword [esp + 0x2c], esi
call sub.WSOCK32.dll_setsockopt
test eax, eax
je 0x45f5cb
pop esi
mov eax, 0xffffff9c
pop ebx
add esp, 0x3b4
ret
mov edx, dword [esp + 8]
xor ecx, ecx
mov dword [0x461bf60], ecx
push edx
mov dword [0x461bf64], ecx
mov word [0x461bf60], 2
mov dword [0x461bf68], ecx
mov dword [0x461bf6c], ecx
call sub.WSOCK32.dll_htons
mov word [0x461bf62], ax
lea eax, [esp + 0x30]
push eax
call sub.WSOCK32.dll_inet_addr
cmp eax, 0xffffffff
mov dword [0x461bf64], eax
jne 0x45f662
lea ecx, [esp + 0x30]
push ecx
call sub.WSOCK32.dll_gethostbyname
cmp eax, ebx
jne 0x45f656
lea edx, [esp + 0x30]
push edx
push 0x4c43a8
push 0x461b65c
call fcn.004923a7
mov eax, dword [0x461b404]
add esp, 0xc
push eax
call sub.WSOCK32.dll_closesocket
mov dword [0x4ebffd8], ebx
pop esi
mov eax, 0xfffffffc
pop ebx
add esp, 0x3b4
ret
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
mov eax, dword [edx]
mov dword [0x461bf64], eax
mov ecx, dword [0x461b404]
push 0x10
push 0x461bf60
push ecx
call sub.WSOCK32.dll_connect
cmp eax, 0xffffffff
jne 0x45f6ca
call sub.WSOCK32.dll_WSAGetLastError
cmp eax, 0x2733
je 0x45f6b8
mov edx, dword [0x461b404]
push edx
call sub.WSOCK32.dll_closesocket
push 0x4c438c
push 0x461b65c
mov dword [0x4ebffd8], ebx
call fcn.004923a7
add esp, 8
mov eax, 0xfffffffb
pop esi
pop ebx
add esp, 0x3b4
ret
mov dword [0x461c008], esi
mov byte [0x461bb60], bl
mov dword [0x461b658], ebx
call sub.WINMM.dll_timeGetTime
sub eax, dword [0x461c004]
cmp eax, 0x927c0
jbe 0x45fa30
push 0x4c43f8
push 0x461b65c
call fcn.004923a7
add esp, 8
or eax, 0xffffffff
pop esi
pop ebx
add esp, 0x3b4
ret
cmp eax, esi
jl 0x45f87d
cmp eax, 0x46
jg 0x45f87d
inc eax
cmp eax, 0x46
mov dword [0x461c008], eax
jne 0x45f724
mov dword [0x461c008], 0x45
mov eax, dword [0x461b404]
lea ecx, [esp + 8]
lea edx, [esp + 0x2b8]
push ecx
push edx
lea ecx, [esp + 0x1bc]
lea edx, [esp + 0xb8]
push ecx
push edx
push eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0xc8], eax
mov dword [esp + 0xc4], esi
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1c8], esi
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x2cc], esi
call sub.WSOCK32.dll_select
test eax, eax
jle 0x45f6ca
mov ecx, dword [0x461b404]
lea eax, [esp + 0xb0]
push eax
push ecx
call sub.WSOCK32.dll___WSAFDIsSet
test eax, eax
je 0x45f7ff
mov edx, dword [0x461b404]
push ebx
push 0x3ff
push 0x461bb60
push edx
call sub.WSOCK32.dll_recv
test eax, eax
jle 0x45f7ff
mov al, byte [0x461bb60]
cmp al, 0x45
jne 0x45f7c9
push 0x461bb61
jmp 0x45f820
cmp al, 0x5a
jne 0x45f84c
mov edx, dword [0x461b404]
lea ecx, [esp + 0x1b4]
push ecx
push edx
mov dword [0x461b658], 0xf000001
call sub.WSOCK32.dll___WSAFDIsSet
test eax, eax
je 0x45f7ff
mov dword [0x461c008], 0x47
mov dword [0x461b3fc], esi
mov edx, dword [0x461b404]
lea ecx, [esp + 0x2b8]
push ecx
push edx
call sub.WSOCK32.dll___WSAFDIsSet
test eax, eax
je 0x45f6ca
push 0x4c43e4
push 0x461b65c
call fcn.004923a7
mov eax, dword [0x461b404]
add esp, 8
push eax
call sub.WSOCK32.dll_closesocket
mov dword [0x4ebffd8], ebx
pop esi
mov eax, 0xfffffffa
pop ebx
add esp, 0x3b4
ret
push 0x4c4440
push 0x461b65c
call fcn.004923a7
mov eax, dword [0x461b404]
add esp, 8
push eax
call sub.WSOCK32.dll_closesocket
mov dword [0x4ebffd8], ebx
pop esi
mov eax, 0xfffffff8
pop ebx
add esp, 0x3b4
ret
cmp eax, 0x47
jl 0x45fa01
cmp eax, 0x50
jg 0x45fa01
cmp eax, 0x47
jne 0x45f9b0
mov edx, dword [0x4557040]
mov ecx, dword [0x455703c]
mov eax, dword [0x4557044]
mov dword [esp + 0xc], edx
push esi
lea edx, [esp + 0xc]
mov dword [esp + 0xc], ecx
mov ecx, dword [0x4557048]
push 0x10
push edx
push str.f_encor1c
mov word [0x461bff4], bx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
call fcn.0048bb90
mov ecx, dword [0x4556284]
mov eax, dword [0x4556280]
mov edx, dword [0x4556288]
mov dword [esp + 0x34], ecx
push esi
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], eax
mov eax, dword [0x455628c]
push 0x10
push ecx
push str.f_encor1c
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], eax
call fcn.0048bb90
mov eax, dword [0x461b658]
mov ecx, dword [0x461b404]
add esp, 0x20
cmp eax, ebx
lea edx, [esp + 0x20]
lea eax, [esp + 8]
push edx
push eax
push ecx
je 0x45f934
call fcn.0048ff00
jmp 0x45f939
call fcn.0043bb10
mov edx, dword [0x461b658]
add esp, 0xc
and edx, 0xf000000
cmp edx, 0xf000000
jne 0x45f967
lea eax, [esp + 8]
push eax
push 0x4ec0898
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push str.1234567
jmp 0x45f97c
lea ecx, [esp + 8]
push ecx
push 0x4ec0898
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x4b88c4
push 0x4ec0898
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [0x461c008]
mov dword [0x461c000], esi
inc eax
cmp eax, 0x51
mov dword [0x461c008], eax
jne 0x45f6ca
mov dword [0x461c008], 0x50
jmp 0x45f6ca
cmp dword [0x461c000], 2
jne 0x45f992
cmp word [0x461bff4], bx
je 0x45f9c9
mov eax, 0x51
jmp 0x45f992
push 0x4c4414
push 0x461b65c
mov dword [0x461c000], ebx
call fcn.004923a7
mov edx, dword [0x461b404]
add esp, 8
push edx
call sub.WSOCK32.dll_closesocket
mov dword [0x4ebffd8], ebx
pop esi
mov eax, 0xfffffff9
pop ebx
add esp, 0x3b4
ret
cmp eax, 0x51
jl 0x45fa16
cmp eax, 0x62
jg 0x45fa16
inc eax
mov dword [0x461c008], eax
jmp 0x45f6ca
cmp eax, 0x63
jne 0x45f6ca
mov eax, esi
mov dword [0x461c000], ebx
pop esi
pop ebx
add esp, 0x3b4
ret
pop esi
xor eax, eax
pop ebx
add esp, 0x3b4
ret