Function at 0x45a67c
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff1c
push ebx
push esi
push edi
xor edi, edi
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0x10]
test eax, eax
je 0x45a697
mov edi, dword [eax + 4]
mov eax, dword [ebp + 0x1c]
push eax
mov edx, dword [ebp + 0x18]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
push ebx
mov eax, dword [ebp + 0xc]
push eax
call sub.WSOCK32.dll_setsockopt
mov esi, eax
call sub.WSOCK32.dll_WSAGetLastError
mov dword [0x4d12a8], eax
lea eax, [ebp - 0xe4]
push eax
mov edx, dword [0x4d12a8]
push edx
call fcn.0045ae24
add esp, 8
cmp ebx, 0xffff
jne 0x45a912
push esi
push edi
mov esi, str.SOL_SOCKET
lea edi, [ebp - 0xb4]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
mov edx, dword [ebp + 0x14]
cmp edx, 0x20
jg 0x45a741
je 0x45a7af
cmp edx, 4
jg 0x45a72a
je 0x45a8ac
sub edx, 0xffffff7f
je 0x45a7e6
sub edx, 0x82
je 0x45a7cd
dec edx
je 0x45a790
jmp 0x45a8fc
sub edx, 8
je 0x45a83c
sub edx, 8
je 0x45a805
jmp 0x45a8fc
cmp edx, 0x1002
jg 0x45a778
je 0x45a892
sub edx, 0x80
je 0x45a85a
sub edx, 0x80
je 0x45a874
sub edx, 0xf01
je 0x45a8ca
jmp 0x45a8fc
sub edx, 0x1007
je 0x45a823
dec edx
je 0x45a8e4
jmp 0x45a8fc
push esi
push edi
mov esi, str.SO_ACCEPTCONN
lea edi, [ebp - 0xc8]
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
pop esi
jmp 0x45a985
push esi
push edi
mov esi, str.SO_BROADCAST
lea edi, [ebp - 0xc8]
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x45a985
push esi
push edi
mov esi, str.SO_DEBUG
lea edi, [ebp - 0xc8]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x45a985
push esi
push edi
mov esi, str.SO_DONTLINGER
lea edi, [ebp - 0xc8]
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
pop esi
jmp 0x45a985
push esi
push edi
mov esi, str.SO_DONTROUTE
lea edi, [ebp - 0xc8]
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x45a985
push esi
push edi
mov esi, str.SO_ERROR
lea edi, [ebp - 0xc8]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x45a985
push esi
push edi
mov esi, str.SO_KEEPALIVE
lea edi, [ebp - 0xc8]
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x45a985
push esi
push edi
mov esi, str.SO_LINGER
lea edi, [ebp - 0xc8]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
pop esi
jmp 0x45a985
push esi
push edi
mov esi, str.SO_OOBINLINE
lea edi, [ebp - 0xc8]
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x45a985
push esi
push edi
mov esi, str.SO_RCVBUF
lea edi, [ebp - 0xc8]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
pop esi
jmp 0x45a985
push esi
push edi
mov esi, str.SO_REUSEADDR
lea edi, [ebp - 0xc8]
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x45a985
push esi
push edi
mov esi, str.SO_SNDBUF
lea edi, [ebp - 0xc8]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
pop esi
jmp 0x45a985
push esi
push edi
mov esi, str.SO_TYPE
lea edi, [ebp - 0xc8]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
jmp 0x45a985
push esi
push edi
mov esi, str.__INVALID__
lea edi, [ebp - 0xc8]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
jmp 0x45a985
cmp ebx, 6
jne 0x45a95d
push esi
push edi
mov esi, str.IPPROTO_TCP
lea edi, [ebp - 0xb4]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
cmp dword [ebp + 0x14], 1
jne 0x45a947
push esi
push edi
mov esi, str.TCP_NODELAY
lea edi, [ebp - 0xc8]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
jmp 0x45a985
push esi
push edi
mov esi, str.__INVALID__
lea edi, [ebp - 0xc8]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
jmp 0x45a985
push esi
push edi
mov esi, str.__INVALID__
lea edi, [ebp - 0xb4]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
push esi
push edi
mov esi, str.__INVALID__
lea edi, [ebp - 0xc8]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea edx, [ebp - 0xe4]
push edx
push esi
mov ecx, dword [ebp + 0x1c]
lea edx, [ebp - 0xc8]
push ecx
lea ecx, [ebp - 0xb4]
mov eax, dword [ebp + 0x18]
push eax
push edx
push ecx
lea edx, [ebp - 0xa0]
mov eax, dword [ebp + 0xc]
push eax
push edi
push str.Sock_ID_lu_setsockopt__u__s__s_0x_p__d_______d___s_
push edx
call fcn.0049d914
add esp, 0x28
lea ecx, [ebp - 0xa0]
mov eax, dword [0x4bef10]
mov edx, dword [0x4bef0c]
push ecx
push 0
push eax
push edx
call sub.USER32.dll_SendMessageA
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18