Function at 0x592624
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff18
xor edx, edx
push ebx
push esi
push edi
xor edi, edi
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 4], edx
test eax, eax
je 0x592644
mov edi, dword [eax + 4]
test eax, eax
je 0x59264e
mov eax, dword [eax + 8]
mov dword [ebp - 4], eax
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
push ebx
mov edx, dword [ebp + 0xc]
push edx
call sub.WSOCK32.DLL_setsockopt
mov esi, eax
call sub.WSOCK32.DLL_WSAGetLastError
mov dword [0x6fccb0], eax
lea eax, [ebp - 0xe8]
push eax
mov edx, dword [0x6fccb0]
push edx
call fcn.00592e6c
add esp, 8
cmp ebx, 0xffff
jne 0x5928c9
push esi
push edi
mov esi, str.SOL_SOCKET
lea edi, [ebp - 0xb8]
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 0x5926f8
je 0x592766
cmp edx, 4
jg 0x5926e1
je 0x592863
sub edx, 0xffffff7f
je 0x59279d
sub edx, 0x82
je 0x592784
dec edx
je 0x592747
jmp 0x5928b3
sub edx, 8
je 0x5927f3
sub edx, 8
je 0x5927bc
jmp 0x5928b3
cmp edx, 0x1002
jg 0x59272f
je 0x592849
sub edx, 0x80
je 0x592811
sub edx, 0x80
je 0x59282b
sub edx, 0xf01
je 0x592881
jmp 0x5928b3
sub edx, 0x1007
je 0x5927da
dec edx
je 0x59289b
jmp 0x5928b3
push esi
push edi
mov esi, str.SO_ACCEPTCONN
lea edi, [ebp - 0xcc]
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
pop esi
jmp 0x59293c
push esi
push edi
mov esi, str.SO_BROADCAST
lea edi, [ebp - 0xcc]
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x59293c
push esi
push edi
mov esi, str.SO_DEBUG
lea edi, [ebp - 0xcc]
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 0x59293c
push esi
push edi
mov esi, str.SO_DONTLINGER
lea edi, [ebp - 0xcc]
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
pop esi
jmp 0x59293c
push esi
push edi
mov esi, str.SO_DONTROUTE
lea edi, [ebp - 0xcc]
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x59293c
push esi
push edi
mov esi, str.SO_ERROR
lea edi, [ebp - 0xcc]
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 0x59293c
push esi
push edi
mov esi, str.SO_KEEPALIVE
lea edi, [ebp - 0xcc]
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x59293c
push esi
push edi
mov esi, str.SO_LINGER
lea edi, [ebp - 0xcc]
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 0x59293c
push esi
push edi
mov esi, str.SO_OOBINLINE
lea edi, [ebp - 0xcc]
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x59293c
push esi
push edi
mov esi, str.SO_RCVBUF
lea edi, [ebp - 0xcc]
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 0x59293c
push esi
push edi
mov esi, str.SO_REUSEADDR
lea edi, [ebp - 0xcc]
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x59293c
push esi
push edi
mov esi, str.SO_SNDBUF
lea edi, [ebp - 0xcc]
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 0x59293c
push esi
push edi
mov esi, str.SO_TYPE
lea edi, [ebp - 0xcc]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
jmp 0x59293c
push esi
push edi
mov esi, 0x6dac9d
lea edi, [ebp - 0xcc]
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 0x59293c
cmp ebx, 6
jne 0x592914
push esi
push edi
mov esi, str.IPPROTO_TCP
lea edi, [ebp - 0xb8]
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
mov edx, dword [ebp + 0x14]
dec edx
jne 0x5928fe
push esi
push edi
mov esi, str.TCP_NODELAY
lea edi, [ebp - 0xcc]
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 0x59293c
push esi
push edi
mov esi, 0x6dacc1
lea edi, [ebp - 0xcc]
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 0x59293c
push esi
push edi
mov esi, 0x6daccd
lea edi, [ebp - 0xb8]
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, 0x6dacd9
lea edi, [ebp - 0xcc]
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 - 0xe8]
push edx
push esi
mov ecx, dword [ebp + 0x1c]
lea edx, [ebp - 0xcc]
push ecx
lea ecx, [ebp - 0xb8]
mov eax, dword [ebp + 0x18]
push eax
push edx
push ecx
lea edx, [ebp - 0xa4]
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.006a0ad0
add esp, 0x28
lea ecx, [ebp - 0xa4]
mov edx, dword [0x6db428]
push ecx
mov eax, dword [ebp - 4]
mov ecx, dword [0x6db424]
push eax
push edx
push ecx
call sub.USER32.DLL_SendMessageA
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18