Function at 0x4b5f78
Capabilities:
Set socket configuration

Disassembly:
sub esp, 0x10
push ebx
push ecx
push edx
push esi
push edi
mov esi, eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ecx
mov edi, edx
lea edx, [esp + 0x1c]
mov eax, edx
mov ebx, 0x5baa5c
mov ecx, 0
call fcn.00423ae0
mov eax, 0
mov eax, 0
mov eax, dword [esp + 0x18]
cmp eax, 2
jne 0x4b60cb
mov eax, dword [0x5c2a10]
mov dword [esp + 0x1c], eax
mov eax, dword [0x5c2a14]
mov dword [esp + 0x20], eax
mov ecx, 8
cmp dword [0x5c290c], 0
je 0x4b6030
mov eax, 0x5b3048
mov ebx, 0x1d
call fcn.00425f5c
mov eax, dword [esp + 0x1c]
call fcn.00425c64
call fcn.00425618
mov eax, 0x5b3068
mov ebx, 1
call fcn.00425f5c
call fcn.00425618
mov eax, dword [esp + 0x20]
call fcn.00425c64
call fcn.00425618
mov eax, 0x5b306c
mov ebx, 0x22
call fcn.00425f5c
mov eax, 0
call fcn.004a7a20
push ecx
push edx
push dword [0x5c2a0c]
push 0xffff
push esi
call sub.WSOCK32.dll_setsockopt
cmp eax, 0
je 0x4b61de
call sub.WSOCK32.dll_WSAGetLastError
mov ecx, eax
mov eax, 0x5b3090
mov ebx, 0x29
call fcn.00425f5c
mov eax, esi
call fcn.00425c64
call fcn.00425618
mov eax, 0x5b30bc
mov ebx, 0xa
call fcn.00425f5c
call fcn.00425618
mov eax, ecx
call fcn.00425c64
call fcn.00425618
mov eax, 0x5b30c8
mov ebx, 1
call fcn.00425f5c
call fcn.00425618
push ecx
call fcn.004a5630
call fcn.00425618
mov eax, str.SimpleCloseSocket___Graceful_Close
mov ebx, 0x22
call fcn.00425f5c
mov eax, 0x64
call fcn.004a7a20
jmp 0x4b61de
cmp eax, 3
jne 0x4b61de
mov eax, dword [0x5c2a1c]
mov dword [esp + 0x1c], eax
mov eax, dword [0x5c2a20]
mov dword [esp + 0x20], eax
mov ecx, 8
cmp dword [0x5c2908], 0
je 0x4b614c
mov eax, str.Calling_SetSockOpt._Linger_
mov ebx, 0x1d
call fcn.00425f5c
mov eax, dword [esp + 0x1c]
call fcn.00425c64
call fcn.00425618
mov eax, 0x5b3110
mov ebx, 1
call fcn.00425f5c
call fcn.00425618
mov eax, dword [esp + 0x20]
call fcn.00425c64
call fcn.00425618
mov eax, 0x5b3114
mov ebx, 0x19
call fcn.00425f5c
mov eax, 0
call fcn.004a7a20
push ecx
push edx
push dword [0x5c2a18]
push 0xffff
push esi
call sub.WSOCK32.dll_setsockopt
cmp eax, 0
je 0x4b61de
call sub.WSOCK32.dll_WSAGetLastError
mov ecx, eax
mov eax, str.Error_setting_socket_options_on_socket_
mov ebx, 0x29
call fcn.00425f5c
mov eax, esi
call fcn.00425c64
call fcn.00425618
mov eax, 0x5b315c
mov ebx, 0xa
call fcn.00425f5c
call fcn.00425618
mov eax, ecx
call fcn.00425c64
call fcn.00425618
mov eax, 0x5b3168
mov ebx, 1
call fcn.00425f5c
call fcn.00425618
push ecx
call fcn.004a5630
call fcn.00425618
mov eax, str.SimpleCloseSocket___Abort
mov ebx, 0x19
call fcn.00425f5c
mov eax, 0x64
call fcn.004a7a20
mov eax, dword [esp + 0x14]
cmp eax, 0
jne 0x4b61ec
cmp edi, 0
je 0x4b61f3
mov ebx, edi
call fcn.004c6218
push esi
call sub.WSOCK32.dll_closesocket
mov esi, eax
cmp esi, 0
je 0x4b6295
call sub.WSOCK32.dll_WSAGetLastError
mov esi, eax
cmp esi, 0x2736
jne 0x4b6242
mov eax, str.Err0r_10038_Ignored.SimpleCloseSocket
mov ebx, 0x14
call fcn.00425f5c
mov eax, 0x5b319c
mov ebx, 0x11
call fcn.00425f5c
mov eax, 0x64
call fcn.004a7a20
mov esi, 0
jmp 0x4b6295
mov eax, 0x5b31b0
mov ebx, 0x2a
call fcn.00425f5c
mov eax, esi
call fcn.00425c64
call fcn.00425618
mov eax, 0x5b31dc
mov ebx, 1
call fcn.00425f5c
call fcn.00425618
push esi
call fcn.004a5630
call fcn.00425618
mov eax, str.SimpleCloseSocket
mov ebx, 0x11
call fcn.00425f5c
mov eax, 0x64
call fcn.004a7a20
mov eax, esi
pop edi
pop esi
pop edx
pop ecx
pop ebx
add esp, 0x10
ret