Function at 0x41c0f0
Capabilities:
Create raw socket
Create tcp socket
Create udp socket
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x45c
mov eax, dword [0x4aff50]
push ebx
push esi
mov esi, dword [ebp + 8]
test esi, esi
mov dword [esp + 0x460], eax
push edi
je 0x41c1ff
push esi
push str.Try_to_ping__s_...
push 2
call fcn.00409700
push eax
call fcn.0041a2e0
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
add esp, 0x10
mov dword [esp + 0x1c], eax
push esi
mov dword [esp + 0x24], eax
call dword [sym.imp.WS2_32.dll_inet_addr]
cmp eax, 0xffffffff
je 0x41c157
mov dword [esp + 0x18], eax
mov word [esp + 0x14], 2
jmp 0x41c18a
push esi
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x41c1e8
movsx ecx, word [eax + 0xa]
mov edx, dword [eax + 0xc]
mov esi, dword [edx]
mov edx, ecx
shr ecx, 2
lea edi, [esp + 0x18]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ax, word [eax + 8]
mov word [esp + 0x14], ax
push 1
push 0
push 0
push 1
push 3
push 2
call dword [sym.imp.WS2_32.dll_WSASocketA]
mov esi, eax
cmp esi, 0xffffffff
je 0x41c1e8
mov edi, dword [sym.imp.WS2_32.dll_setsockopt]
push 4
lea ecx, [esp + 0x10]
push ecx
push 0x1006
push 0xffff
mov ebx, 0x3e8
push esi
mov dword [esp + 0x20], ebx
call edi
cmp eax, 0xffffffff
je 0x41c1e8
push 4
lea edx, [esp + 0x10]
push edx
push 0x1005
push 0xffff
push esi
mov dword [esp + 0x20], ebx
call edi
cmp eax, 0xffffffff
jne 0x41c215
push 0
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 1
call fcn.00409700
mov ecx, eax
call fcn.0041bfd0
or eax, 0xffffffff
mov ecx, dword [esp + 0x464]
call fcn.0046bf5e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0xc], ebx
jle 0x41c32f
jmp 0x41c230
xor eax, eax
mov byte [esp + 0x24], 0
mov ecx, 0xa
lea edi, [esp + 0x25]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x24]
push 0x2c
push eax
call fcn.0040a640
add esp, 8
mov word [esp + 0x26], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov cx, word [esp + 0xc]
lea edx, [esp + 0x24]
push 0x2c
push edx
mov dword [esp + 0x34], eax
mov word [esp + 0x32], cx
call fcn.0040a5e0
add esp, 8
push 0x10
mov word [esp + 0x2a], ax
lea eax, [esp + 0x18]
push eax
push 0
push 0x2c
lea ecx, [esp + 0x34]
push ecx
push esi
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
je 0x41c2de
xor eax, eax
mov byte [esp + 0x60], 0
mov ecx, 0xff
lea edi, [esp + 0x61]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea edx, [esp + 0x10]
push edx
stosb byte es:[edi], al
lea eax, [esp + 0x54]
push eax
push 0
push 0x400
lea ecx, [esp + 0x70]
push ecx
push esi
mov dword [esp + 0x28], 0x10
call dword [sym.imp.WS2_32.dll_recvfrom]
cmp eax, 0xffffffff
jne 0x41c2fd
push 0
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 1
call fcn.00409700
mov ecx, eax
call fcn.0041bfd0
add ebx, 0x2710
jmp 0x41c31b
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x64]
push eax
call fcn.0041a860
add esp, 8
cmp eax, 0xffffffff
jne 0x41c319
mov eax, 0x2710
add ebx, eax
mov eax, dword [esp + 0xc]
mov ecx, dword [ebp + 0xc]
inc eax
cmp eax, ecx
mov dword [esp + 0xc], eax
jl 0x41c230
mov eax, ebx
cdq
idiv dword [ebp + 0xc]
mov esi, eax
push esi
push str._d_ms
push 2
call fcn.00409700
push eax
call fcn.0041a2e0
mov ecx, dword [esp + 0x474]
add esp, 0x10
mov eax, esi
call fcn.0046bf5e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret