Function at 0x6d775ab9
Capabilities:
Get socket status

Disassembly:
push ebp
lea ebp, [esp - 0xc4]
sub esp, 0x144
mov eax, dword [0x6d781098]
xor eax, ebp
mov dword [ebp + 0xc0], eax
mov eax, dword [ebp + 0xd4]
push ebx
push esi
mov esi, dword [ebp + 0xcc]
push edi
push dword [0x6d7815ac]
mov edi, dword [ebp + 0xd0]
push edi
mov dword [ebp - 0x64], eax
mov eax, dword [esi]
push esi
mov dword [ebp - 0x74], edi
call dword [eax + 0x190]
push dword [0x6d7815b4]
mov dword [ebp - 0x78], eax
mov eax, dword [esi]
push edi
push esi
call dword [eax + 0x17c]
push dword [0x6d7815a8]
mov ebx, eax
mov eax, dword [esi]
push edi
push esi
call dword [eax + 0x17c]
or dword [ebp - 0x68], 0xffffffff
or dword [ebp - 0x6c], 0xffffffff
mov edi, eax
test ebx, ebx
jne 0x6d775b4b
test edi, edi
jne 0x6d775b62
push str.Socket_closed
push str.java_net_SocketException
push esi
call sub.java.dll__JNU_ThrowByName_12
jmp 0x6d775f05
push dword [0x6d78117c]
mov eax, dword [esi]
push ebx
push esi
call dword [eax + 0x190]
mov dword [ebp - 0x68], eax
test edi, edi
je 0x6d775b75
push dword [0x6d78117c]
mov eax, dword [esi]
push edi
push esi
call dword [eax + 0x190]
mov dword [ebp - 0x6c], eax
xor ebx, ebx
cmp dword [ebp - 0x64], ebx
jne 0x6d775b86
push str.socket_is_null
jmp 0x6d775eff
push dword [0x6d7815b4]
mov eax, dword [esi]
push dword [ebp - 0x64]
push esi
call dword [eax + 0x17c]
push dword [0x6d7815a0]
mov dword [ebp - 0x80], eax
push dword [ebp - 0x64]
mov eax, dword [esi]
push esi
call dword [eax + 0x17c]
test eax, eax
je 0x6d775efa
cmp dword [ebp - 0x80], ebx
je 0x6d775efa
mov edi, dword [ebp - 0x68]
cmp edi, 0xffffffff
je 0x6d775cda
cmp dword [ebp - 0x6c], 0xffffffff
je 0x6d775cf0
xor ebx, ebx
inc ebx
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x60], ebx
xor eax, eax
mov edx, dword [ebp - 0x6c]
cmp dword [ebp + eax*4 - 0x5c], edx
je 0x6d775bf0
inc eax
cmp eax, ebx
jb 0x6d775be2
cmp eax, ebx
jne 0x6d775bfe
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x60], 2
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x6d775c1e
cdq
mov edi, 0x3e8
idiv edi
mov edi, dword [ebp - 0x68]
imul edx, edx, 0x3e8
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
jmp 0x6d775c20
xor ecx, ecx
push ecx
push 0
push 0
lea eax, [ebp - 0x60]
push eax
push edi
call dword [sym.imp.ws2_32.dll_select]
test eax, eax
jne 0x6d775c43
push str.Accept_timed_out
push str.java_net_SocketTimeoutException
jmp 0x6d775b40
cmp eax, ebx
jne 0x6d775c5e
lea eax, [ebp - 0x60]
push eax
push edi
call sub.ws2_32.dll___WSAFDIsSet
test eax, eax
je 0x6d775c59
mov ebx, edi
jmp 0x6d775c9a
mov ebx, dword [ebp - 0x6c]
jmp 0x6d775c96
cmp eax, 2
jne 0x6d775cd0
push dword [0x6d7815c0]
mov eax, dword [esi]
push dword [ebp - 0x74]
push esi
call dword [eax + 0x190]
cmp eax, 0xffffffff
je 0x6d775c81
mov ebx, dword [ebp - 0x6c]
cmp eax, edi
je 0x6d775c83
mov ebx, edi
mov eax, dword [esi]
push ebx
push dword [0x6d7815c0]
push dword [ebp - 0x74]
push esi
call dword [eax + 0x1b4]
cmp ebx, edi
jne 0x6d775ca3
mov dword [ebp - 0x70], 0x10
jmp 0x6d775caa
mov dword [ebp - 0x70], 0x1c
mov dword [ebp - 0x68], ebx
mov edi, ebx
xor ebx, ebx
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0xa4]
push eax
push edi
call dword [sym.imp.ws2_32.dll_accept]
mov edi, eax
cmp edi, ebx
jge 0x6d775d30
cmp edi, 0xfffffffe
jne 0x6d775d12
jmp 0x6d775d21
push str.select_failed
jmp 0x6d775b3b
mov eax, dword [ebp - 0x6c]
cmp eax, 0xffffffff
je 0x6d775cf0
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x70], 0x1c
mov edi, eax
jmp 0x6d775cf7
mov dword [ebp - 0x70], 0x10
cmp dword [ebp - 0x78], ebx
je 0x6d775cb1
push dword [ebp - 0x78]
push edi
call sym.net.dll__NET_Timeout_8
cmp eax, ebx
je 0x6d775c34
cmp eax, 0xffffffff
jne 0x6d775d1c
push str.socket_closed
jmp 0x6d775b3b
cmp eax, 0xfffffffe
jne 0x6d775cb1
push str.operation_interrupted
push str.java_io_InterruptedIOException
jmp 0x6d775b40
mov eax, dword [esi]
push edi
push dword [0x6d78117c]
push dword [ebp - 0x80]
push esi
call dword [eax + 0x1b4]
cmp word [ebp + 0xa4], 2
jne 0x6d775df7
cmp dword [0x6d781180], ebx
jne 0x6d775d86
mov eax, dword [esi]
push str.java_net_Inet4Address
push esi
call dword [eax + 0x18]
mov ebx, eax
test ebx, ebx
je 0x6d775d7d
mov eax, dword [esi]
push ebx
push esi
call dword [eax + 0x54]
push ebx
mov dword [0x6d781180], eax
mov eax, dword [esi]
push esi
call dword [eax + 0x5c]
cmp dword [0x6d781180], 0
je 0x6d775d9f
push dword [0x6d781638]
mov eax, dword [esi]
push dword [0x6d781180]
push esi
call dword [eax + 0x70]
add esp, 0xc
mov ebx, eax
jmp 0x6d775da1
xor ebx, ebx
test ebx, ebx
jne 0x6d775db0
push edi
call fcn.6d771c6b
jmp 0x6d775f05
push dword [ebp + 0xa8]
mov edi, dword [esi]
call dword [sym.imp.ws2_32.dll_ntohl]
push eax
push dword [0x6d78163c]
push ebx
push esi
call dword [edi + 0x1b4]
mov eax, dword [esi]
push 1
push dword [0x6d781640]
push ebx
push esi
call dword [eax + 0x1b4]
mov eax, dword [esi]
push ebx
push dword [0x6d7815a0]
push dword [ebp - 0x64]
push esi
call dword [eax + 0x1a0]
jmp 0x6d775e9c
cmp dword [0x6d781178], ebx
jne 0x6d775e2c
mov eax, dword [esi]
push str.java_net_Inet6Address
push esi
call dword [eax + 0x18]
mov ebx, eax
test ebx, ebx
je 0x6d775e23
mov eax, dword [esi]
push ebx
push esi
call dword [eax + 0x54]
push ebx
mov dword [0x6d781178], eax
mov eax, dword [esi]
push esi
call dword [eax + 0x5c]
cmp dword [0x6d781178], 0
je 0x6d775e45
push dword [0x6d78161c]
mov eax, dword [esi]
push dword [0x6d781178]
push esi
call dword [eax + 0x70]
add esp, 0xc
mov ebx, eax
jmp 0x6d775e47
xor ebx, ebx
test ebx, ebx
je 0x6d775da5
push dword [0x6d781624]
mov eax, dword [esi]
push ebx
push esi
call dword [eax + 0x17c]
mov ecx, dword [esi]
lea edx, [ebp + 0xac]
push edx
push 0x10
push 0
push eax
push esi
call dword [ecx + 0x340]
mov eax, dword [esi]
push 2
push dword [0x6d781640]
push ebx
push esi
call dword [eax + 0x1b4]
push dword [ebp + 0xbc]
mov eax, dword [esi]
push dword [0x6d781618]
push ebx
push esi
call dword [eax + 0x1b4]
movzx eax, word [ebp + 0xa6]
push eax
call dword [sym.imp.ws2_32.dll_ntohs]
mov ecx, dword [esi]
movzx eax, ax
push eax
push dword [0x6d7815b0]
push dword [ebp - 0x64]
push esi
call dword [ecx + 0x1b4]
push dword [0x6d7815b8]
mov eax, dword [esi]
push dword [ebp - 0x74]
push esi
call dword [eax + 0x190]
mov ecx, dword [esi]
push eax
push dword [0x6d7815b8]
push dword [ebp - 0x64]
push esi
call dword [ecx + 0x1b4]
mov eax, dword [esi]
push ebx
push dword [0x6d7815a0]
push dword [ebp - 0x64]
push esi
call dword [eax + 0x1a0]
jmp 0x6d775f05
push str.socket_address_or_fd_obj
push esi
call sub.java.dll__JNU_ThrowNullPointerException_8
mov ecx, dword [ebp + 0xc0]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.6d77b1da
add ebp, 0xc4
leave
ret 0xc