Function at 0x4678a0
Capabilities:
Connect socket
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5d160b
mov eax, dword fs:[0]
push eax
sub esp, 0x228
mov eax, dword [0x64a040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x234], esi
cmp byte [esi + 0x408c], 0
jne 0x4678e5
mov al, 2
jmp 0x467b15
xorps xmm0, xmm0
mov eax, 2
movdqu xmmword [ebp - 0x120], xmm0
mov word [ebp - 0x120], ax
movzx eax, word [esi + 0x408e]
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x11e], ax
mov ecx, 0x64b4b4
lea eax, [esi + 0x4110]
push eax
call fcn.0046a760
mov dword [ebp - 0x11c], eax
lea eax, [ebp - 0x120]
push 0x10
push eax
push dword [esi + 0x7c]
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x467946
mov al, 3
jmp 0x467b15
cmp byte [esi + 0x408c], 3
jne 0x467b13
push 0xfe
lea eax, [ebp - 0x10e]
mov word [ebp - 0x110], 0x105
push 0
push eax
call fcn.005b41f0
mov ax, word [esi + 0x4090]
lea edi, [esi + 0x4090]
add esp, 0xc
neg ax
sbb al, al
and al, 2
push 0
mov byte [ebp - 0x10e], al
lea eax, [ebp - 0x110]
push 3
push eax
push dword [esi + 0x7c]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 3
jne 0x46793f
push 0
push 2
lea eax, [ebp - 0x110]
push eax
push dword [esi + 0x7c]
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 2
jne 0x46793f
cmp byte [ebp - 0x110], 5
jne 0x46793f
mov al, byte [ebp - 0x10f]
test al, al
je 0x467b13
cmp al, 2
jne 0x46793f
push 3
lea eax, [ebp - 0x224]
push edi
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x228], eax
call fcn.004622e0
lea eax, [ebp - 0x1a0]
mov dword [ebp - 4], 0
mov dword [ebp - 0x1a4], eax
lea ecx, [ebp - 0x1a4]
push 3
lea eax, [esi + 0x40d0]
push eax
call fcn.004622e0
push dword [ebp - 0x228]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [ebp - 0x110], 1
call esi
push eax
push dword [ebp - 0x228]
mov dword [ebp - 0x230], eax
mov byte [ebp - 0x10f], al
lea eax, [ebp - 0x10e]
push eax
call fcn.005b65c0
mov edi, dword [ebp - 0x230]
add esp, 0xc
push dword [ebp - 0x1a4]
call esi
push eax
push dword [ebp - 0x1a4]
mov byte [ebp + edi - 0x10e], al
lea ecx, [ebp - 0x110]
add edi, 3
mov dword [ebp - 0x230], eax
add ecx, edi
push ecx
call fcn.005b65c0
add edi, dword [ebp - 0x230]
lea eax, [ebp - 0x110]
mov esi, dword [ebp - 0x234]
add esp, 0xc
push 0
push edi
push eax
push dword [esi + 0x7c]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, edi
jne 0x467b39
push 0
push 2
lea eax, [ebp - 0x110]
push eax
push dword [esi + 0x7c]
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 2
jne 0x467b39
cmp byte [ebp - 0x110], 1
jne 0x467b30
cmp byte [ebp - 0x10f], 0
jne 0x467b30
mov eax, dword [ebp - 0x1a4]
lea ecx, [ebp - 0x1a0]
cmp eax, ecx
je 0x467afa
push eax
call fcn.005b1bd3
add esp, 4
mov eax, dword [ebp - 0x228]
lea ecx, [ebp - 0x224]
cmp eax, ecx
je 0x467b13
push eax
call fcn.005b1bd3
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005b144a
mov esp, ebp
pop ebp
ret
mov byte [ebp - 0x229], 4
jmp 0x467b40
mov byte [ebp - 0x229], 3
mov eax, dword [ebp - 0x1a4]
lea ecx, [ebp - 0x1a0]
cmp eax, ecx
je 0x467b59
push eax
call fcn.005b1bd3
add esp, 4
mov eax, dword [ebp - 0x228]
lea ecx, [ebp - 0x224]
cmp eax, ecx
je 0x467b72
push eax
call fcn.005b1bd3
add esp, 4
mov al, byte [ebp - 0x229]
jmp 0x467b15