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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b509b
mov eax, dword fs:[0]
push eax
sub esp, 0x228
mov eax, dword [0x628040]
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 0x458455
mov al, 2
jmp 0x458685
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, 0x6294b4
lea eax, [esi + 0x4110]
push eax
call fcn.00459840
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 0x4584b6
mov al, 3
jmp 0x458685
cmp byte [esi + 0x408c], 3
jne 0x458683
push 0xfe
lea eax, [ebp - 0x10e]
mov word [ebp - 0x110], 0x105
push 0
push eax
call fcn.00597c10
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 0x4584af
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 0x4584af
cmp byte [ebp - 0x110], 5
jne 0x4584af
mov al, byte [ebp - 0x10f]
test al, al
je 0x458683
cmp al, 2
jne 0x4584af
push 3
lea eax, [ebp - 0x224]
push edi
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x228], eax
call fcn.00452e50
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.00452e50
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.00599ff0
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.00599ff0
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 0x4586a9
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 0x4586a9
cmp byte [ebp - 0x110], 1
jne 0x4586a0
cmp byte [ebp - 0x10f], 0
jne 0x4586a0
mov eax, dword [ebp - 0x1a4]
lea ecx, [ebp - 0x1a0]
cmp eax, ecx
je 0x45866a
push eax
call fcn.005955f3
add esp, 4
mov eax, dword [ebp - 0x228]
lea ecx, [ebp - 0x224]
cmp eax, ecx
je 0x458683
push eax
call fcn.005955f3
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.00594e67
mov esp, ebp
pop ebp
ret
mov byte [ebp - 0x229], 4
jmp 0x4586b0
mov byte [ebp - 0x229], 3
mov eax, dword [ebp - 0x1a4]
lea ecx, [ebp - 0x1a0]
cmp eax, ecx
je 0x4586c9
push eax
call fcn.005955f3
add esp, 4
mov eax, dword [ebp - 0x228]
lea ecx, [ebp - 0x224]
cmp eax, ecx
je 0x4586e2
push eax
call fcn.005955f3
add esp, 4
mov al, byte [ebp - 0x229]
jmp 0x458685