Function at 0x450f60
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Create thread
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x517788
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x5566e0]
xor eax, esp
mov dword [esp + 0x28], eax
push ebx
push esi
push edi
mov eax, dword [0x5566e0]
xor eax, esp
push eax
lea eax, [esp + 0x40]
mov dword fs:[0], eax
mov ebx, ecx
call fcn.004c6f68
mov ecx, dword [eax + 4]
call fcn.004c231a
xor ecx, ecx
or edi, 0xffffffff
mov dword [esp + 0x48], ecx
cmp dword [ebx + 0x40], edi
jne 0x451281
cmp dword [ebx + 0x7c], ecx
je 0x451052
mov eax, dword [0x5737f4]
mov edx, dword [eax + 0x70]
cmp dword [edx - 0xc], ecx
lea esi, [eax + 0x70]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
je 0x451031
mov eax, edx
sub eax, 0x10
cmp dword [eax + 0xc], 1
jle 0x450ff3
mov eax, dword [eax + 4]
push eax
mov ecx, esi
call fcn.00405430
mov edi, dword [esi]
lea esi, [esp + 0x1c]
call fcn.00479e10
cmp eax, 1
je 0x45101b
lea ecx, [esp + 0x17]
mov dword [esp + 0x48], 0xffffffff
call fcn.00405f50
xor eax, eax
jmp 0x451293
mov ecx, dword [ebx + 0x38]
push ecx
lea eax, [esp + 0x20]
call fcn.0047a220
mov eax, dword [esp + 0x18]
or edi, 0xffffffff
xor ecx, ecx
mov edx, dword [eax + 0xcc]
mov dword [ebx + 0x68], edx
mov dx, word [eax + 0xd0]
mov word [ebx + 0x6c], dx
mov dword [eax + 0xcc], ecx
mov word [eax + 0xd0], cx
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
cmp eax, edi
mov dword [ebx + 0x40], eax
jne 0x45111c
call fcn.004c2ca4
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x451083
push 0x80004005
call fcn.00404150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
push 0x572
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x50], 1
call fcn.0041c760
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x4c], 2
call fcn.00404e60
mov byte [esp + 0x48], 1
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
mov ecx, edi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4510da
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [esp + 0x18]
push 0
push 0
push esi
call fcn.004c4087
lea eax, [esi - 0x10]
mov edx, edi
lea ecx, [eax + 0xc]
mov byte [esp + 0x48], 0
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x451108
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x17]
mov dword [esp + 0x48], edi
call fcn.00405f50
xor eax, eax
jmp 0x451293
movzx ecx, word [ebx + 0x6c]
push ecx
mov word [esp + 0x2c], 2
call dword [sym.imp.WS2_32.dll_htons]
mov ecx, dword [ebx + 0x40]
mov edx, dword [ebx + 0x68]
push 1
mov word [esp + 0x2e], ax
lea eax, [esp + 0x28]
push eax
push 1
push 6
push ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x38], 1
call dword [sym.imp.WS2_32.dll_setsockopt]
mov eax, dword [ebx + 0x40]
push 0x10
lea edx, [esp + 0x2c]
push edx
push eax
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, edi
jne 0x4511c2
mov ecx, dword [ebx + 0x40]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [esp + 0x18]
mov dword [ebx + 0x40], edi
call fcn.00477dd0
push 0x573
lea edx, [esp + 0x20]
mov bl, 3
push edx
mov byte [esp + 0x50], bl
call fcn.0041c760
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x4c], 4
call fcn.00404e60
mov byte [esp + 0x48], bl
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x4510ce
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push ebx
mov dword [ebx + 0x64], eax
call fcn.00451650
test eax, eax
jne 0x451244
lea ecx, [esp + 0x18]
call fcn.00477dd0
push 0x5e3
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x50], 5
call fcn.0041c760
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x4c], 6
call fcn.00404e60
lea ecx, [esp + 0x1c]
mov byte [esp + 0x48], 5
call fcn.00404bc0
mov edx, dword [esp + 0x18]
push 0
push 0
push edx
call fcn.004c4087
mov eax, dword [ebx + 0x40]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [esp + 0x18]
mov dword [ebx + 0x40], edi
call fcn.00404bc0
lea ecx, [esp + 0x17]
mov dword [esp + 0x48], edi
call fcn.00405f50
xor eax, eax
jmp 0x451293
push 0
push 0
push ebx
push 0x451300
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
jne 0x45127a
mov ecx, dword [ebx + 0x40]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [esp + 0x17]
mov dword [ebx + 0x40], edi
mov dword [esp + 0x48], edi
call fcn.00405f50
xor eax, eax
jmp 0x451293
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x17]
mov dword [esp + 0x48], edi
call fcn.00405f50
mov eax, 1
mov ecx, dword [esp + 0x40]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.004e0b83
mov esp, ebp
pop ebp
ret