Function at 0x6d7772c6
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [0x6d781098]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi]
push edi
push dword [0x6d78158c]
mov edi, dword [ebp + 0x14]
push ebx
push esi
mov dword [ebp - 0x2c], ebx
call dword [eax + 0x17c]
push dword [0x6d781598]
mov dword [ebp - 0x34], eax
mov eax, dword [esi]
push ebx
push esi
call dword [eax + 0x17c]
mov dword [ebp - 0x30], eax
call sym.net.dll__ipv6_available_0
push dword [0x6d781640]
mov ebx, eax
mov eax, dword [esi]
push edi
push esi
call dword [eax + 0x190]
cmp eax, 2
jne 0x6d777335
test ebx, ebx
jne 0x6d777335
push str.Protocol_family_not_supported
jmp 0x6d7774f2
cmp dword [ebp - 0x34], 0
je 0x6d7774ed
test ebx, ebx
je 0x6d77734d
cmp dword [ebp - 0x30], 0
je 0x6d7774ed
push dword [0x6d781204]
mov eax, dword [esi]
push dword [ebp - 0x34]
push esi
call dword [eax + 0x190]
mov dword [ebp - 0x24], eax
test ebx, ebx
je 0x6d77737b
push dword [0x6d781204]
mov eax, dword [esi]
push dword [ebp - 0x30]
push esi
call dword [eax + 0x190]
mov dword [ebp - 0x28], eax
test edi, edi
jne 0x6d77738f
push str.argument_address
push esi
call sub.java.dll__JNU_ThrowNullPointerException_8
jmp 0x6d7774fd
push dword [0x6d78163c]
mov eax, dword [esi]
push edi
push esi
call dword [eax + 0x190]
push 0
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp + 0x10]
push edi
push esi
call sym.net.dll__Java_java_net_Inet4AddressImpl_isReachable0_24
test eax, eax
jne 0x6d7774fd
lea eax, [ebp - 0x20]
test ebx, ebx
je 0x6d777499
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x28]
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], edi
call sym.net.dll__Java_java_net_Inet4AddressImpl_isReachable0_24
cmp eax, 0xffffffff
je 0x6d77748a
mov eax, dword [ebp - 0x40]
cmp eax, ebx
je 0x6d77741f
mov dword [ebp - 0x24], eax
cmp eax, 0xffffffff
jne 0x6d77740c
mov eax, dword [esi]
push 0
push dword [0x6d78158c]
push dword [ebp - 0x2c]
push esi
call dword [eax + 0x1a0]
jmp 0x6d77741f
mov ecx, dword [esi]
push eax
push dword [0x6d781204]
push dword [ebp - 0x34]
push esi
call dword [ecx + 0x1b4]
mov eax, dword [ebp - 0x3c]
cmp eax, edi
je 0x6d777442
mov dword [ebp - 0x28], eax
cmp eax, 0xffffffff
jne 0x6d777475
mov eax, dword [esi]
push 0
push dword [0x6d781598]
push dword [ebp - 0x2c]
push esi
call dword [eax + 0x1a0]
cmp dword [ebp + 0x10], 0
jne 0x6d7774d6
cmp dword [ebp - 0x24], 0xffffffff
jne 0x6d777458
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x24]
call dword [sym.imp.ws2_32.dll_getsockname]
cmp eax, 0xffffffff
jne 0x6d7774c5
push str.JVM_GetSockName
jmp 0x6d77748f
mov ecx, dword [esi]
push eax
push dword [0x6d781204]
push dword [ebp - 0x30]
push esi
call dword [ecx + 0x1b4]
jmp 0x6d777442
push str.Cannot_bind
push esi
call fcn.6d773a00
pop ecx
pop ecx
jmp 0x6d7774fd
push dword [ebp - 0x38]
push eax
push dword [ebp - 0x24]
call dword [sym.imp.ws2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x6d777442
call dword [sym.imp.ws2_32.dll_WSAGetLastError]
cmp eax, 0x271d
jne 0x6d77748a
push 0x2740
call dword [sym.imp.ws2_32.dll_WSASetLastError]
jmp 0x6d77748a
movzx eax, word [ebp - 0x1e]
push eax
call dword [sym.imp.ws2_32.dll_ntohs]
movzx eax, ax
mov dword [ebp + 0x10], eax
push dword [ebp + 0x10]
mov eax, dword [esi]
push dword [0x6d781588]
push dword [ebp - 0x2c]
push esi
call dword [eax + 0x1b4]
jmp 0x6d7774fd
push str.socket_closed
push str.java_net_SocketException
push esi
call sub.java.dll__JNU_ThrowByName_12
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.6d77b1da
leave
ret 0x10