Function at 0x48f104
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 0x48f50b
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 0x48f159
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00491a84
push 6
push 1
push 2
call sub.wsock32.dll_socket
mov esi, eax
mov dword [ebx + 0x33c], esi
inc esi
jne 0x48f17d
lea ecx, [ebp - 0x18]
mov dx, 0x2733
mov eax, ebx
call fcn.00491bb4
mov eax, dword [ebx + 0x2c8]
mov edx, dword [0x54988c]
mov edx, dword [edx]
call fcn.00403fa0
je 0x48f1d8
lea eax, [ebp - 0x14]
xor ecx, ecx
mov edx, 0x10
call fcn.00402bd8
push 0x15
call sub.wsock32.dll_htons
mov word [ebp - 0x12], ax
mov eax, dword [ebx + 0x2c8]
call fcn.00404054
push eax
call sub.wsock32.dll_inet_addr
mov dword [ebp - 0x10], eax
mov word [ebp - 0x14], 2
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.0048e268
mov eax, ebx
call fcn.0049300c
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 0x48f23d
mov ecx, 0x48f524
mov dl, 1
mov eax, dword [0x48d978]
call fcn.0040bbb8
call fcn.00403688
xor esi, esi
xor eax, eax
push ebp
push 0x48f263
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x18]
xor edx, edx
mov eax, ebx
call fcn.00491d08
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48f28f
cmp dword [ebx + 0x2b8], 0
jne 0x48f2e7
test esi, esi
jg 0x48f2a3
cmp word [ebx + 0x76], 0
jne 0x48f2bb
mov ecx, 0x48f540
mov dl, 1
mov eax, dword [0x48d978]
call fcn.0040bbb8
call fcn.00403688
jmp 0x48f2e7
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 0x48f2e6
mov ecx, 0x48f540
mov dl, 1
mov eax, dword [0x48d978]
call fcn.0040bbb8
call fcn.00403688
inc esi
cmp dword [ebx + 0x2b8], 0
je 0x48f23f
mov word [ebx + 0x2b4], 2
cmp dword [ebx + 0xd0], 0
jne 0x48f31c
mov ax, word [ebx + 0xf0]
push eax
call sub.wsock32.dll_htons
mov word [ebx + 0x2b6], ax
jmp 0x48f330
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 0x48f368
lea ecx, [ebp - 0x18]
mov dx, 0x2733
mov eax, ebx
call fcn.00491bb4
xor edx, edx
mov eax, ebx
call fcn.004909e4
mov eax, ebx
call fcn.00492174
cmp byte [ebx + 0x1360], 0
jne 0x48f39c
cmp byte [ebx + 0x32a], 0
jne 0x48f39c
cmp byte [ebx + 0x329], 0
jne 0x48f39c
cmp byte [ebx + 0xec], 0
jne 0x48f371
mov eax, ebx
call fcn.00490a34
cmp byte [ebx + 0x32a], 0
jne 0x48f3c2
cmp byte [ebx + 0x329], 0
jne 0x48f3c2
cmp byte [ebx + 0xec], 0
jne 0x48f4c7
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00491a84
mov byte [ebx + 0x1361], 0
cmp word [ebx + 0x9e], 0
je 0x48f3ec
mov edx, ebx
mov eax, dword [ebx + 0xa0]
call dword [ebx + 0x9c]
cmp byte [ebx + 0xe6], 0
je 0x48f40b
mov ecx, 0x48f564
mov dl, 1
mov eax, dword [0x48d9d0]
call fcn.0040bbb8
call fcn.00403688
cmp byte [ebx + 0xec], 0
jne 0x48f453
mov eax, ebx
call fcn.00491b9c
cmp eax, 0x2733
jne 0x48f42e
mov edx, 0x274c
mov eax, ebx
call fcn.00491ba4
mov eax, ebx
call fcn.00491b9c
lea ecx, [ebp - 0x18]
mov dl, 1
call fcn.0048c088
mov ecx, dword [ebp - 0x18]
mov dl, 1
mov eax, dword [0x48d978]
call fcn.0040bbb8
call fcn.00403688
cmp byte [ebx + 0x32a], 0
je 0x48f47e
lea ecx, [ebp - 0x18]
mov dl, 1
mov ax, 0x274c
call fcn.0048c088
mov ecx, dword [ebp - 0x18]
mov dl, 1
mov eax, dword [0x48d978]
call fcn.0040bbb8
call fcn.00403688
cmp byte [ebx + 0xec], 0
je 0x48f4a6
cmp byte [ebx + 0x1360], 0
jne 0x48f4a6
mov ecx, 0x48f580
mov dl, 1
mov eax, dword [0x48d978]
call fcn.0040bbb8
call fcn.00403688
cmp byte [ebx + 0x329], 0
je 0x48f4f5
mov ecx, 0x48f564
mov dl, 1
mov eax, dword [0x48d978]
call fcn.0040bbb8
call fcn.00403688
jmp 0x48f4f5
mov eax, dword [ebx + 0xe0]
cmp eax, 0xa
jne 0x48f4db
mov eax, ebx
call fcn.00492238
jmp 0x48f4f5
cmp eax, 0xb
jne 0x48f4e9
mov eax, ebx
call fcn.00492540
jmp 0x48f4f5
cmp eax, 0xd
jne 0x48f4f5
mov eax, ebx
call fcn.00492d94
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x48f512
lea eax, [ebp - 0x18]
call fcn.00403c14
ret