Function at 0x4093d0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
push edi
xor edi, edi
push edi
push edi
push 1
mov esi, ecx
mov dword [0x447254], edi
mov dword [0x4479f8], edi
push edi
mov dword [esi], edi
call dword [sym.imp.KERNEL32.dll_CreateEventA]
push eax
mov dword [esi + 0x424], eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov ecx, esi
call fcn.00409340
call fcn.0040d770
push 0x447848
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x3e8
call esi
mov ebp, dword [sym.imp.WS2_32.dll_socket]
push 6
push 1
push 2
call ebp
mov ebx, dword [sym.imp.WS2_32.dll_setsockopt]
push 1
lea ecx, [esp + 0x17]
push ecx
push 4
push 0xffff
push eax
mov dword [0x447844], eax
mov byte [esp + 0x27], 1
call ebx
xor eax, eax
mov dword [0x447830], eax
mov dword [0x447834], eax
mov dword [0x447838], eax
mov dword [0x44783c], eax
mov eax, dword [0x4479d8]
mov edx, 2
push eax
mov word [0x447830], dx
call dword [sym.imp.WS2_32.dll_inet_addr]
push 0x4e85
mov dword [0x447834], eax
call dword [sym.imp.WS2_32.dll_htons]
mov ecx, dword [0x447844]
push 0x10
push 0x447830
push ecx
mov word [0x447832], ax
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
jge 0x4094bf
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret
mov eax, dword [0x447264]
sub eax, edi
je 0x4094e4
sub eax, 1
je 0x4094db
sub eax, 1
jne 0x4094eb
mov byte [0x44781c], 0x22
jmp 0x4094eb
mov byte [0x44781c], 0x21
jmp 0x4094eb
mov byte [0x44781c], 0x11
mov edx, dword [0x447844]
push edi
push 1
push 0x44781c
push edx
call dword [sym.imp.WS2_32.dll_send]
test eax, eax
jle 0x4094b5
mov eax, dword [0x447844]
push edi
mov edi, dword [sym.imp.WS2_32.dll_recv]
push 1
push 0x44781c
push eax
call edi
cmp byte [0x44781c], 3
je 0x409542
push 0xa
call esi
mov ecx, dword [0x447844]
push 0
push 1
push 0x44781c
push ecx
call edi
cmp byte [0x44781c], 3
jne 0x409523
push 0x3e8
call esi
push 6
push 1
push 2
call ebp
push 4
lea edx, [esp + 0x18]
push edx
push 0x1002
push 0xffff
push eax
mov dword [0x447840], eax
mov dword [esp + 0x28], 0x4000
mov dword [esp + 0x2c], 4
call ebx
test eax, eax
jl 0x4094b5
mov edx, dword [0x447840]
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x18]
push ecx
push 0x1002
push 0xffff
push edx
call dword [sym.imp.WS2_32.dll_getsockopt]
test eax, eax
jl 0x4094b5
mov ecx, dword [0x4479d8]
xor eax, eax
mov dword [0x447820], eax
mov dword [0x447824], eax
mov dword [0x447828], eax
mov dword [0x44782c], eax
mov eax, 2
push ecx
mov word [0x447820], ax
call dword [sym.imp.WS2_32.dll_inet_addr]
push 0x4e86
mov dword [0x447824], eax
call dword [sym.imp.WS2_32.dll_htons]
mov edx, dword [0x447840]
push 0x10
push 0x447820
push edx
mov word [0x447822], ax
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
jl 0x4094b5
mov eax, dword [0x447844]
mov edi, dword [sym.imp.WS2_32.dll_send]
push 0
push 1
push 0x44781c
push eax
mov byte [0x44781c], 4
call edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [0x447818], 1
mov dword [0x447814], eax
jne 0x409656
mov ecx, dword [0x447844]
push 0
push 1
push 0x44781c
push ecx
mov byte [0x44781c], 7
call edi
push 0x64
call esi
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xc
ret