Function at 0x48b360
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x18], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x48b788
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebx + 0xe4], 0
mov byte [ebx + 0x311], 0
mov byte [ebx + 0x312], 0
mov byte [ebx + 0x2f0], 0
mov byte [ebx + 0x2ea], 0
cmp byte [ebx + 0x1361], 0
je 0x48b3b5
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0048dce0
push 6
push 1
push 2
call sub.wsock32.dll_socket
mov esi, eax
mov dword [ebx + 0x33c], esi
inc esi
jne 0x48b3d9
lea ecx, [ebp - 0x18]
mov dx, 0x2733
mov eax, ebx
call fcn.0048de98
mov eax, dword [ebx + 0x2c8]
mov edx, dword [0x54d6c4]
mov edx, dword [edx]
call fcn.00403f34
je 0x48b443
lea eax, [ebp - 0x14]
xor ecx, ecx
mov edx, 0x10
call fcn.00402bd8
mov word [ebp - 0x14], 2
push 0x15
call sub.wsock32.dll_htons
mov word [ebp - 0x12], ax
mov eax, dword [ebx + 0x2c8]
call fcn.00403fe8
push eax
call sub.wsock32.dll_inet_addr
mov esi, eax
mov dword [ebp - 0x10], esi
cmp esi, 0x100007f
jne 0x48b431
xor eax, eax
mov dword [ebp - 0x10], eax
push 0x10
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebx + 0x33c]
push eax
call sub.wsock32.dll_bind
push 0x3f
push 0x465
mov eax, dword [ebx + 0x344]
push eax
mov eax, dword [ebx + 0x33c]
push eax
call sub.wsock32.dll_WSAAsyncSelect
mov dl, 1
mov eax, ebx
call fcn.0048a158
mov eax, ebx
call fcn.0048f414
mov byte [ebx + 0x340], 1
mov byte [ebx + 0x1361], 1
mov byte [ebx + 0x329], 0
mov byte [ebx + 0x32a], 0
cmp byte [ebx + 0x1360], 0
je 0x48b4a8
mov ecx, 0x48b7a0
mov dl, 1
mov eax, dword [0x489858]
call fcn.0040ba6c
call fcn.0040361c
xor esi, esi
xor eax, eax
push ebp
push 0x48b4ce
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x18]
xor edx, edx
mov eax, ebx
call fcn.0048dfec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48b4fa
cmp dword [ebx + 0x2b8], 0
jne 0x48b552
test esi, esi
jg 0x48b50e
cmp word [ebx + 0x76], 0
jne 0x48b526
mov ecx, 0x48b7bc
mov dl, 1
mov eax, dword [0x489858]
call fcn.0040ba6c
call fcn.0040361c
jmp 0x48b552
mov byte [ebp - 1], 0
lea ecx, [ebp - 1]
mov edx, ebx
mov eax, dword [ebx + 0x78]
call dword [ebx + 0x74]
cmp byte [ebp - 1], 0
jne 0x48b551
mov ecx, 0x48b7bc
mov dl, 1
mov eax, dword [0x489858]
call fcn.0040ba6c
call fcn.0040361c
inc esi
cmp dword [ebx + 0x2b8], 0
je 0x48b4aa
mov word [ebx + 0x2b4], 2
cmp dword [ebx + 0xd0], 0
jne 0x48b587
mov ax, word [ebx + 0xf0]
push eax
call sub.wsock32.dll_htons
mov word [ebx + 0x2b6], ax
jmp 0x48b59b
mov ax, word [ebx + 0xdc]
push eax
call sub.wsock32.dll_htons
mov word [ebx + 0x2b6], ax
mov byte [ebx + 0x120], 0
mov eax, 0x10
mov byte [ebx + 0xec], 1
push eax
lea eax, [ebx + 0x2b4]
push eax
mov eax, dword [ebx + 0x33c]
push eax
call sub.wsock32.dll_connect
inc eax
jne 0x48b5d3
lea ecx, [ebp - 0x18]
mov dx, 0x2733
mov eax, ebx
call fcn.0048de98
xor edx, edx
mov eax, ebx
call fcn.0048cbc4
mov eax, ebx
call fcn.0048e4a8
cmp byte [ebx + 0x1360], 0
jne 0x48b607
cmp byte [ebx + 0x32a], 0
jne 0x48b607
cmp byte [ebx + 0x329], 0
jne 0x48b607
cmp byte [ebx + 0xec], 0
jne 0x48b5dc
mov eax, ebx
call fcn.0048cc14
cmp byte [ebx + 0x32a], 0
jne 0x48b62d
cmp byte [ebx + 0x329], 0
jne 0x48b62d
cmp byte [ebx + 0xec], 0
jne 0x48b732
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0048dce0
mov byte [ebx + 0x1361], 0
cmp word [ebx + 0x9e], 0
je 0x48b657
mov edx, ebx
mov eax, dword [ebx + 0xa0]
call dword [ebx + 0x9c]
cmp byte [ebx + 0xe6], 0
je 0x48b676
mov ecx, 0x48b7e0
mov dl, 1
mov eax, dword [0x4898b0]
call fcn.0040ba6c
call fcn.0040361c
cmp byte [ebx + 0xec], 0
jne 0x48b6be
mov eax, ebx
call fcn.0048de80
cmp eax, 0x2733
jne 0x48b699
mov edx, 0x274c
mov eax, ebx
call fcn.0048de88
mov eax, ebx
call fcn.0048de80
lea ecx, [ebp - 0x18]
mov dl, 1
call fcn.00487f5c
mov ecx, dword [ebp - 0x18]
mov dl, 1
mov eax, dword [0x489858]
call fcn.0040ba6c
call fcn.0040361c
cmp byte [ebx + 0x32a], 0
je 0x48b6e9
lea ecx, [ebp - 0x18]
mov dl, 1
mov ax, 0x274c
call fcn.00487f5c
mov ecx, dword [ebp - 0x18]
mov dl, 1
mov eax, dword [0x489858]
call fcn.0040ba6c
call fcn.0040361c
cmp byte [ebx + 0xec], 0
je 0x48b711
cmp byte [ebx + 0x1360], 0
jne 0x48b711
mov ecx, 0x48b7fc
mov dl, 1
mov eax, dword [0x489858]
call fcn.0040ba6c
call fcn.0040361c
cmp byte [ebx + 0x329], 0
je 0x48b772
mov ecx, 0x48b7e0
mov dl, 1
mov eax, dword [0x489858]
call fcn.0040ba6c
call fcn.0040361c
jmp 0x48b772
mov eax, dword [ebx + 0xe0]
cmp eax, 0xa
jne 0x48b748
xor edx, edx
mov eax, ebx
call fcn.0048e56c
jmp 0x48b772
cmp eax, 0x10
jne 0x48b758
mov dl, 1
mov eax, ebx
call fcn.0048e56c
jmp 0x48b772
cmp eax, 0xb
jne 0x48b766
mov eax, ebx
call fcn.0048e948
jmp 0x48b772
cmp eax, 0xd
jne 0x48b772
mov eax, ebx
call fcn.0048f19c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x48b78f
lea eax, [ebp - 0x18]
call fcn.00403ba8
ret