Function at 0x455c66
Capabilities:
Create tcp socket
Create udp socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff60
mov eax, 0x4c0204
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
call fcn.0049d698
cmp dword [0x4c0158], 0
jne 0x455c9c
mov eax, 8
mov edx, dword [ebp - 0x44]
mov dword fs:[0], edx
jmp 0x456172
cmp dword [ebx + 0xde], 0
je 0x455cb9
mov eax, 0x10
mov edx, dword [ebp - 0x44]
mov dword fs:[0], edx
jmp 0x456172
cmp dword [ebx + 0x106], 0
je 0x455cd6
mov eax, 0x10
mov edx, dword [ebp - 0x44]
mov dword fs:[0], edx
jmp 0x456172
cmp dword [ebx + 0x94], 0
je 0x455cf3
mov eax, 0x10
mov edx, dword [ebp - 0x44]
mov dword fs:[0], edx
jmp 0x456172
cmp dword [ebx + 0x80], 0
je 0x455d10
mov eax, 0x10
mov edx, dword [ebp - 0x44]
mov dword fs:[0], edx
jmp 0x456172
cmp dword [ebx + 0x90], 0
je 0x455d2d
mov eax, 0x10
mov edx, dword [ebp - 0x44]
mov dword fs:[0], edx
jmp 0x456172
xor ecx, ecx
mov dword [ebx + 0x84], ecx
mov dword [ebx + 0x8c], 0xb4
cmp dword [ebx + 0x44], 0
je 0x455d4a
xor eax, eax
mov dword [ebx + 0x48], eax
push ebx
call fcn.00457876
cmp dword [ebx + 0x10], 7
pop ecx
jne 0x455ddd
mov dword [ebp - 0x48], ebx
cmp dword [0x4c0168], 0
jne 0x455d76
push 0
push 1
push 2
call sub.WSOCK32.dll_socket
mov esi, eax
jmp 0x455d86
push 0
push 1
push 2
push dword [ebp - 0x48]
call fcn.0045aa64
mov esi, eax
cmp esi, 0xffffffff
je 0x455dda
mov word [ebp - 0x34], 0xc
xor edx, edx
lea eax, [ebp - 8]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 8], esi
mov ecx, dword [ebp - 0x4c]
lea edx, [ebp - 0x10]
mov dword [ebp - 4], ecx
inc dword [ebp - 0x28]
push eax
push 0x4d3004
push edx
call fcn.0045cfd0
inc dword [ebp - 0x28]
inc dword [ebp - 0x28]
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x50], ecx
add esp, 0xc
mov eax, dword [ebp - 0x50]
mov edx, dword [eax + 1]
dec dword [ebp - 0x28]
add edx, 0x10
add edx, 4
dec dword [ebp - 0x28]
mov ecx, dword [ebp - 0x48]
mov dword [edx], ecx
mov dword [ebx + 0xc], esi
cmp dword [ebx + 0x10], 6
jne 0x455e6f
mov dword [ebp - 0x58], ebx
cmp dword [0x4c0168], 0
jne 0x455e02
push 0
push 2
push 2
call sub.WSOCK32.dll_socket
mov esi, eax
jmp 0x455e12
push 0
push 2
push 2
push dword [ebp - 0x58]
call fcn.0045aa64
mov esi, eax
cmp esi, 0xffffffff
je 0x455e6c
mov word [ebp - 0x34], 0x24
xor eax, eax
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x18], esi
mov edx, dword [ebp - 0x5c]
lea eax, [ebp - 0x20]
mov dword [ebp - 0x14], edx
inc dword [ebp - 0x28]
push ecx
push 0x4d3004
push eax
call fcn.0045cfd0
inc dword [ebp - 0x28]
inc dword [ebp - 0x28]
lea edx, [ebp - 0x20]
mov dword [ebp - 0x60], edx
add esp, 0xc
mov ecx, dword [ebp - 0x60]
mov eax, dword [ecx + 1]
dec dword [ebp - 0x28]
add eax, 0x10
add eax, 4
dec dword [ebp - 0x28]
mov word [ebp - 0x34], 0x18
mov edx, dword [ebp - 0x58]
mov dword [eax], edx
mov dword [ebx + 0xc], esi
cmp dword [ebx + 0xc], 0xffffffff
jne 0x455ea6
mov esi, ebx
cmp dword [0x4c0168], 0
jne 0x455e87
call sub.WSOCK32.dll_WSAGetLastError
jmp 0x455e8d
push esi
call fcn.0045adc4
push eax
push ebx
call fcn.0045861f
add esp, 8
mov ecx, dword [ebp - 0x44]
mov dword fs:[0], ecx
jmp 0x456172
cmp dword [ebp + 0x10], 0
je 0x455eed
mov dword [ebp - 0x68], 1
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x6c], ebx
cmp dword [0x4c0168], 0
jne 0x455ed7
push 4
lea edx, [ebp - 0x68]
push edx
push 4
push 0xffff
push eax
call sub.WSOCK32.dll_setsockopt
jmp 0x455eed
push 4
lea ecx, [ebp - 0x68]
push ecx
push 4
push 0xffff
push eax
push dword [ebp - 0x6c]
call fcn.0045a663
mov word [ebp - 0xa0], 2
cmp dword [ebp + 0x14], 0
je 0x455f21
mov esi, dword [ebp + 0x14]
mov edi, ebx
cmp dword [0x4c0168], 0
jne 0x455f12
push esi
call sub.WSOCK32.dll_inet_addr
jmp 0x455f19
push esi
push edi
call fcn.0045a193
mov dword [ebp - 0x9c], eax
jmp 0x455f43
mov esi, ebx
cmp dword [0x4c0168], 0
jne 0x455f35
push 0
call sub.WSOCK32.dll_htonl
jmp 0x455f3d
push 0
push esi
call fcn.0045a0bc
mov dword [ebp - 0x9c], eax
mov si, word [ebp + 0xc]
cmp dword [0x4c0168], 0
mov edi, ebx
jne 0x455f5a
push esi
call sub.WSOCK32.dll_htons
jmp 0x455f61
push esi
push edi
call fcn.0045a124
mov word [ebp - 0x9e], ax
mov esi, dword [ebx + 0xc]
mov edi, ebx
cmp dword [0x4c0168], 0
jne 0x455f87
push 0x10
lea eax, [ebp - 0xa0]
push eax
push esi
call sub.WSOCK32.dll_bind
jmp 0x455f97
push 0x10
lea edx, [ebp - 0xa0]
push edx
push esi
push edi
call fcn.004599a1
inc eax
jne 0x455fcb
mov esi, ebx
cmp dword [0x4c0168], 0
jne 0x455fac
call sub.WSOCK32.dll_WSAGetLastError
jmp 0x455fb2
push esi
call fcn.0045adc4
push eax
push ebx
call fcn.0045861f
add esp, 8
mov ecx, dword [ebp - 0x44]
mov dword fs:[0], ecx
jmp 0x456172
mov dword [ebp - 0x74], 1
cmp dword [ebx + 0x10], 7
jne 0x455fe1
mov dword [ebp - 0x70], 0x28
jmp 0x455fe8
mov dword [ebp - 0x70], 3
mov eax, dword [ebx + 0xc]
mov edx, ebx
cmp dword [0x4c0168], 0
jne 0x456007
lea ecx, [ebp - 0x74]
push ecx
push 0x8004667e
push eax
call sub.WSOCK32.dll_ioctlsocket
jmp 0x456017
lea ecx, [ebp - 0x74]
push ecx
push 0x8004667e
push eax
push edx
call fcn.00459b63
mov esi, dword [ebp - 0x70]
mov edi, dword [0x4c0164]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x7c], ebx
cmp dword [0x4c0168], 0
jne 0x456043
push esi
push 0x400
push edi
push dword [ebp - 0x78]
call sub.WSOCK32.dll_WSAAsyncSelect
jmp 0x456055
push esi
push 0x400
push edi
push dword [ebp - 0x78]
push dword [ebp - 0x7c]
call fcn.0045b6b2
test eax, eax
je 0x456088
mov dword [ebp - 0x80], ebx
cmp dword [0x4c0168], 0
jne 0x45606c
call sub.WSOCK32.dll_WSAGetLastError
jmp 0x456074
push dword [ebp - 0x80]
call fcn.0045adc4
mov eax, 0x14
mov edx, dword [ebp - 0x44]
mov dword fs:[0], edx
jmp 0x456172
cmp dword [ebx + 0x10], 7
jne 0x45615c
mov dword [ebx + 0x80], 1
xor ecx, ecx
mov dword [ebx + 0x88], ecx
mov dword [ebp - 0x84], 0x32
cmp dword [ebx + 0x44], 0
je 0x4560b9
xor eax, eax
mov dword [ebx + 0x30], eax
mov esi, dword [ebp - 0x84]
mov edi, dword [ebx + 0xc]
mov dword [ebp - 0x88], ebx
cmp dword [0x4c0168], 0
jne 0x4560da
push esi
push edi
call sub.WSOCK32.dll_listen
jmp 0x4560e7
push esi
push edi
push dword [ebp - 0x88]
call fcn.0045a260
inc eax
jne 0x456166
mov dword [ebp - 0x90], ebx
cmp dword [0x4c0168], 0
jne 0x456100
call sub.WSOCK32.dll_WSAGetLastError
jmp 0x45610b
push dword [ebp - 0x90]
call fcn.0045adc4
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0x2733
jne 0x45612b
xor eax, eax
mov edx, dword [ebp - 0x44]
mov dword fs:[0], edx
jmp 0x456172
push dword [ebp - 0x8c]
push ebx
call fcn.0045861f
add esp, 8
mov dword [ebx + 0x88], eax
xor ecx, ecx
mov dword [ebx + 0x80], ecx
mov eax, dword [ebx + 0x88]
mov edx, dword [ebp - 0x44]
mov dword fs:[0], edx
jmp 0x456172
mov dword [ebx + 0x90], 1
xor eax, eax
mov edx, dword [ebp - 0x44]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret