Function at 0x6d666058
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push esi
push dword [ebp + 0xc]
mov esi, dword [ebp + 8]
call fcn.6d664fdf
push dword [ebp + 0xc]
mov dword [ebp - 4], eax
call fcn.6d66500b
cmp dword [ebp - 4], 0
pop ecx
pop ecx
mov dword [ebp - 8], eax
jge 0x6d666099
test eax, eax
jns 0x6d666099
push str.Socket_closed
push str.java_net_SocketException
push esi
call sub.java.dll__JNU_ThrowByName_12
jmp 0x6d6662da
push ebx
mov ebx, dword [ebp + 0x10]
push edi
mov edi, 0x1006
cmp ebx, edi
jne 0x6d666187
push dword [0x6d6715a4]
mov eax, dword [esi]
push dword [ebp + 0xc]
push esi
call dword [eax + 0x17c]
test eax, eax
jne 0x6d6662d8
cmp byte [section..data], al
je 0x6d6662d8
mov eax, dword [esi]
push str.java_lang_Integer
push esi
call dword [eax + 0x18]
test eax, eax
je 0x6d6662d8
mov ecx, dword [esi]
push 0x6d66c248
push str.value
push eax
push esi
call dword [ecx + 0x178]
test eax, eax
je 0x6d6662d8
mov ecx, dword [esi]
push eax
push dword [ebp + 0x18]
push esi
call dword [ecx + 0x190]
mov dword [ebp + 0x14], eax
cmp eax, 0x1388
jg 0x6d66611b
and dword [ebp + 0x14], 0
push 4
lea eax, [ebp + 0x14]
push eax
push edi
mov edi, dword [sym.imp.ws2_32.dll_setsockopt]
mov ebx, 0xffff
push ebx
push dword [ebp - 4]
call edi
test eax, eax
jns 0x6d66615a
call dword [sym.imp.ws2_32.dll_WSAGetLastError]
cmp eax, 0x273a
jne 0x6d66614d
mov byte [section..data], 0
jmp 0x6d66615a
push str.setsockopt_SO_RCVTIMEO
push esi
call fcn.6d663a00
pop ecx
pop ecx
cmp dword [ebp - 8], 0xffffffff
je 0x6d6662d8
push 4
lea eax, [ebp + 0x14]
push eax
push 0x1006
push ebx
push dword [ebp - 8]
call edi
test eax, eax
jns 0x6d6662d8
push str.setsockopt_SO_RCVTIMEO
jmp 0x6d6662d0
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x10]
push eax
push ebx
call sym.net.dll__NET_MapSocketOption_12
test eax, eax
je 0x6d6661a0
push str.Invalid_option
jmp 0x6d6661b6
cmp ebx, 8
jg 0x6d6661c6
je 0x6d6661e6
dec ebx
je 0x6d6661e6
dec ebx
dec ebx
je 0x6d6661f6
dec ebx
je 0x6d6661e6
push str.Option_not_supported_by_TwoStacksPlainSocketImpl
push str.java_net_SocketException
push esi
call sub.java.dll__JNU_ThrowByName_12
jmp 0x6d6662d8
cmp ebx, 0x80
je 0x6d666234
cmp ebx, 0x1000
jle 0x6d6661b1
cmp ebx, 0x1002
jle 0x6d6661f6
cmp ebx, 0x1003
jne 0x6d6661b1
xor eax, eax
cmp byte [ebp + 0x14], al
setne al
mov dword [ebp + 8], eax
jmp 0x6d666285
mov eax, dword [esi]
push str.java_lang_Integer
push esi
call dword [eax + 0x18]
test eax, eax
je 0x6d6662d8
mov ecx, dword [esi]
push 0x6d66c248
push str.value
push eax
push esi
call dword [ecx + 0x178]
test eax, eax
je 0x6d6662d8
mov ecx, dword [esi]
push eax
push dword [ebp + 0x18]
push esi
call dword [ecx + 0x190]
jmp 0x6d6661ee
mov eax, dword [esi]
push str.java_lang_Integer
push esi
call dword [eax + 0x18]
test eax, eax
je 0x6d6662d8
mov ecx, dword [esi]
push 0x6d66c248
push str.value
push eax
push esi
call dword [ecx + 0x178]
test eax, eax
je 0x6d6662d8
cmp byte [ebp + 0x14], 0
je 0x6d66627b
xor ecx, ecx
push eax
push dword [ebp + 0x18]
inc ecx
mov word [ebp + 8], cx
mov ecx, dword [esi]
push esi
call dword [ecx + 0x190]
jmp 0x6d666281
xor eax, eax
mov word [ebp + 8], ax
mov word [ebp + 0xa], ax
cmp dword [ebp - 4], 0xffffffff
mov edi, str.setsockopt
je 0x6d6662b1
push 4
lea eax, [ebp + 8]
push eax
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push dword [ebp - 4]
call sym.net.dll__Java_java_net_Inet4AddressImpl_isReachable0_24
test eax, eax
jns 0x6d6662b1
push edi
push esi
call fcn.6d663a00
pop ecx
pop ecx
cmp dword [ebp - 8], 0xffffffff
je 0x6d6662d8
push 4
lea eax, [ebp + 8]
push eax
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push dword [ebp - 8]
call sym.net.dll__Java_java_net_Inet4AddressImpl_isReachable0_24
test eax, eax
jns 0x6d6662d8
push edi
push esi
call fcn.6d663a00
pop ecx
pop ecx
pop edi
pop ebx
pop esi
leave
ret 0x14