Function at 0x4c4a60
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Get local ipv4 addresses
Get socket information
Resolve dns

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov edx, dword [eax]
call dword [edx]
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x44], 0
je 0x4c4a96
push 0xb7
call sub.wsock32.dll_WSASetLastError
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov edx, dword [eax]
call dword [edx + 4]
or eax, 0xffffffff
jmp 0x4c4c3e
push 0
push 1
push 2
call sub.wsock32.dll_socket
mov edx, dword [ebp + 8]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xc], 0xffffffff
jne 0x4c4ac3
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov edx, dword [eax]
call dword [edx + 4]
or eax, 0xffffffff
jmp 0x4c4c3e
mov word [ebp - 0x28], 2
mov dx, word [ebp + 0x10]
push edx
call sub.wsock32.dll_htons
mov word [ebp - 0x26], ax
push dword [ebp + 0xc]
call sub.wsock32.dll_inet_addr
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xffffffff
je 0x4c4aee
cmp dword [ebp - 0x24], 0
jne 0x4c4b39
push dword [ebp + 0xc]
call sub.wsock32.dll_gethostbyname
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4c4b1d
mov ecx, dword [ebp + 8]
push dword [ecx + 0xc]
call sub.wsock32.dll_closesocket
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov edx, dword [eax]
call dword [edx + 4]
or eax, 0xffffffff
jmp 0x4c4c3e
mov edx, dword [ebp - 0x10]
movsx ecx, word [edx + 0xa]
push ecx
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0xc]
push dword [edx]
lea ecx, [ebp - 0x24]
push ecx
call sub.cc3260mt.dll__memcpy
add esp, 0xc
push 0x10
lea eax, [ebp - 0x28]
push eax
mov edx, dword [ebp + 8]
push dword [edx + 0xc]
call sub.wsock32.dll_connect
inc eax
jne 0x4c4b7b
call sub.wsock32.dll_WSAGetLastError
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp + 8]
push dword [ecx + 0xc]
call sub.wsock32.dll_closesocket
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov edx, dword [eax]
call dword [edx + 4]
push dword [ebp - 0x18]
call sub.wsock32.dll_WSASetLastError
or eax, 0xffffffff
jmp 0x4c4c3e
mov dword [ebp - 0xc], 0x10
lea edx, [ebp - 0xc]
push edx
lea ecx, [ebp - 0x38]
push ecx
mov eax, dword [ebp + 8]
push dword [eax + 0xc]
call sub.wsock32.dll_getsockname
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
je 0x4c4bb1
mov dx, word [ebp - 0x36]
push edx
call sub.wsock32.dll_htons_1
movzx ecx, ax
mov eax, dword [ebp + 8]
mov dword [eax + 0x10], ecx
mov dx, word [ebp - 0x26]
push edx
call sub.wsock32.dll_htons_1
movzx ecx, ax
mov eax, dword [ebp + 8]
mov dword [eax + 0x30], ecx
push dword [ebp - 0x24]
call sub.wsock32.dll_inet_ntoa
mov dword [ebp - 0x14], eax
mov edx, dword [ebp + 8]
cmp dword [edx + 0x34], 0
je 0x4c4be4
mov ecx, dword [ebp + 8]
push dword [ecx + 0x34]
call sub.cc3260mt.dll___bdla_qpv
pop ecx
push dword [ebp - 0x14]
call sub.cc3260mt.dll__strlen
pop ecx
inc eax
push eax
call sub.cc3260mt.dll___bnwa_qui
pop ecx
mov edx, dword [ebp + 8]
mov dword [edx + 0x34], eax
push dword [ebp - 0x14]
call sub.cc3260mt.dll__strlen
pop ecx
inc eax
push eax
push 0
mov eax, dword [ebp + 8]
push dword [eax + 0x34]
call sub.cc3260mt.dll__memset
add esp, 0xc
push dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
push dword [ecx + 0x34]
call sub.cc3260mt.dll__strcpy
add esp, 8
mov eax, dword [ebp + 8]
mov dword [eax + 0x44], 1
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov edx, dword [eax]
call dword [edx + 4]
xor eax, eax
mov esp, ebp
pop ebp
ret