Function at 0x42aee3
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4f027c
mov eax, dword fs:[0]
push eax
sub esp, 0xc0
mov eax, dword [0x52fe80]
xor eax, esp
mov dword [esp + 0xb8], eax
push ebx
push esi
push edi
mov eax, dword [0x52fe80]
xor eax, esp
push eax
lea eax, [esp + 0xd0]
mov dword fs:[0], eax
mov esi, ecx
cmp dword [esi], 0xffffffff
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x18]
mov edi, dword [ebp + 0x10]
mov ebx, dword [sym.imp.WS2_32.dll_closesocket]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
je 0x42af5e
push dword [esi]
call ebx
or dword [esi], 0xffffffff
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
push dword [ebp + 0x1c]
and dword [esi + 4], 0
push ecx
push eax
push edi
push dword [esp + 0x20]
lea ecx, [esp + 0x70]
call fcn.00439f52
and dword [esp + 0xd8], 0
cmp dword [esi + 0x1018], 0
je 0x42afb6
lea edi, [esi + 0x1008]
mov ecx, edi
call fcn.0042b2c7
mov ecx, dword [eax]
test ecx, ecx
je 0x42af9f
mov eax, dword [ecx]
push 1
call dword [eax]
dec dword [edi + 0x10]
jne 0x42afaa
and dword [edi + 0xc], 0
jmp 0x42afad
inc dword [edi + 0xc]
cmp dword [esi + 0x1018], 0
jne 0x42af8c
mov ecx, dword [esi + 0x1020]
test ecx, ecx
je 0x42afcd
mov eax, dword [ecx]
push 1
call dword [eax]
and dword [esi + 0x1020], 0
xor eax, eax
lea edi, [esp + 0x26]
mov word [esp + 0x24], ax
mov ecx, esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x14]
call fcn.0042b233
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
or edi, 0xffffffff
mov dword [esi], eax
cmp eax, edi
jne 0x42b026
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 0x511ba4
lea ecx, [esp + 0x3c]
call fcn.0042ad56
push 0x52b58c
lea eax, [esp + 0x38]
push eax
call fcn.004bcf07
push 4
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 0x2bf20
push ecx
push 0x1005
push 0xffff
push eax
call dword [sym.imp.WS2_32.dll_setsockopt]
lea eax, [esi + 0x101c]
push eax
lea eax, [esi + 0x1008]
push eax
lea ecx, [esp + 0x64]
call fcn.0043a021
push 0x12
push 0x4c8
push dword [esp + 0x20]
push dword [esi]
call dword [sym.imp.WS2_32.dll_WSAAsyncSelect]
cmp eax, edi
jne 0x42b09a
push dword [esi]
call ebx
mov dword [esi], edi
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 0x511b88
lea ecx, [esp + 0x3c]
call fcn.0042ad56
push 0x52b58c
lea eax, [esp + 0x38]
jmp 0x42b020
push 0x10
lea eax, [esp + 0x28]
push eax
push dword [esi]
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, edi
jne 0x42b0e2
mov edi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call edi
cmp eax, 0x2733
je 0x42b0e2
push dword [esi]
call ebx
or dword [esi], 0xffffffff
call edi
push eax
push 0x511bc4
lea ecx, [esp + 0x3c]
call fcn.0042ad56
push 0x52b58c
lea eax, [esp + 0x38]
jmp 0x42b020
lea ecx, [esp + 0xa4]
call fcn.00402680
lea ecx, [esp + 0x8c]
call fcn.00402680
lea ecx, [esp + 0x74]
call fcn.00402a40
lea ecx, [esp + 0x5c]
call fcn.00402a40
mov ecx, dword [esp + 0xd0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb8]
xor ecx, esp
call fcn.004bc1bd
mov esp, ebp
pop ebp
ret 0x18