Function at 0x6d665ab9
Capabilities:
Get socket status

Disassembly:
push ebp
lea ebp, [esp - 0xc4]
sub esp, 0x144
mov eax, dword [0x6d671098]
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 [0x6d6715ac]
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 [0x6d6715b4]
mov dword [ebp - 0x78], eax
mov eax, dword [esi]
push edi
push esi
call dword [eax + 0x17c]
push dword [0x6d6715a8]
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 0x6d665b4b
test edi, edi
jne 0x6d665b62
push str.Socket_closed
push str.java_net_SocketException
push esi
call sub.java.dll__JNU_ThrowByName_12
jmp 0x6d665f05
push dword [0x6d67117c]
mov eax, dword [esi]
push ebx
push esi
call dword [eax + 0x190]
mov dword [ebp - 0x68], eax
test edi, edi
je 0x6d665b75
push dword [0x6d67117c]
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 0x6d665b86
push str.socket_is_null
jmp 0x6d665eff
push dword [0x6d6715b4]
mov eax, dword [esi]
push dword [ebp - 0x64]
push esi
call dword [eax + 0x17c]
push dword [0x6d6715a0]
mov dword [ebp - 0x80], eax
push dword [ebp - 0x64]
mov eax, dword [esi]
push esi
call dword [eax + 0x17c]
test eax, eax
je 0x6d665efa
cmp dword [ebp - 0x80], ebx
je 0x6d665efa
mov edi, dword [ebp - 0x68]
cmp edi, 0xffffffff
je 0x6d665cda
cmp dword [ebp - 0x6c], 0xffffffff
je 0x6d665cf0
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 0x6d665bf0
inc eax
cmp eax, ebx
jb 0x6d665be2
cmp eax, ebx
jne 0x6d665bfe
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x60], 2
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x6d665c1e
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 0x6d665c20
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 0x6d665c43
push str.Accept_timed_out
push str.java_net_SocketTimeoutException
jmp 0x6d665b40
cmp eax, ebx
jne 0x6d665c5e
lea eax, [ebp - 0x60]
push eax
push edi
call sub.ws2_32.dll___WSAFDIsSet
test eax, eax
je 0x6d665c59
mov ebx, edi
jmp 0x6d665c9a
mov ebx, dword [ebp - 0x6c]
jmp 0x6d665c96
cmp eax, 2
jne 0x6d665cd0
push dword [0x6d6715c0]
mov eax, dword [esi]
push dword [ebp - 0x74]
push esi
call dword [eax + 0x190]
cmp eax, 0xffffffff
je 0x6d665c81
mov ebx, dword [ebp - 0x6c]
cmp eax, edi
je 0x6d665c83
mov ebx, edi
mov eax, dword [esi]
push ebx
push dword [0x6d6715c0]
push dword [ebp - 0x74]
push esi
call dword [eax + 0x1b4]
cmp ebx, edi
jne 0x6d665ca3
mov dword [ebp - 0x70], 0x10
jmp 0x6d665caa
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 0x6d665d30
cmp edi, 0xfffffffe
jne 0x6d665d12
jmp 0x6d665d21
push str.select_failed
jmp 0x6d665b3b
mov eax, dword [ebp - 0x6c]
cmp eax, 0xffffffff
je 0x6d665cf0
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x70], 0x1c
mov edi, eax
jmp 0x6d665cf7
mov dword [ebp - 0x70], 0x10
cmp dword [ebp - 0x78], ebx
je 0x6d665cb1
push dword [ebp - 0x78]
push edi
call sym.net.dll__NET_Timeout_8
cmp eax, ebx
je 0x6d665c34
cmp eax, 0xffffffff
jne 0x6d665d1c
push str.socket_closed
jmp 0x6d665b3b
cmp eax, 0xfffffffe
jne 0x6d665cb1
push str.operation_interrupted
push str.java_io_InterruptedIOException
jmp 0x6d665b40
mov eax, dword [esi]
push edi
push dword [0x6d67117c]
push dword [ebp - 0x80]
push esi
call dword [eax + 0x1b4]
cmp word [ebp + 0xa4], 2
jne 0x6d665df7
cmp dword [0x6d671180], ebx
jne 0x6d665d86
mov eax, dword [esi]
push str.java_net_Inet4Address
push esi
call dword [eax + 0x18]
mov ebx, eax
test ebx, ebx
je 0x6d665d7d
mov eax, dword [esi]
push ebx
push esi
call dword [eax + 0x54]
push ebx
mov dword [0x6d671180], eax
mov eax, dword [esi]
push esi
call dword [eax + 0x5c]
cmp dword [0x6d671180], 0
je 0x6d665d9f
push dword [0x6d671638]
mov eax, dword [esi]
push dword [0x6d671180]
push esi
call dword [eax + 0x70]
add esp, 0xc
mov ebx, eax
jmp 0x6d665da1
xor ebx, ebx
test ebx, ebx
jne 0x6d665db0
push edi
call sym.net.dll__NET_SockaddrToInetAddress_12
jmp 0x6d665f05
push dword [ebp + 0xa8]
mov edi, dword [esi]
call dword [sym.imp.ws2_32.dll_ntohl]
push eax
push dword [0x6d67163c]
push ebx
push esi
call dword [edi + 0x1b4]
mov eax, dword [esi]
push 1
push dword [0x6d671640]
push ebx
push esi
call dword [eax + 0x1b4]
mov eax, dword [esi]
push ebx
push dword [0x6d6715a0]
push dword [ebp - 0x64]
push esi
call dword [eax + 0x1a0]
jmp 0x6d665e9c
cmp dword [0x6d671178], ebx
jne 0x6d665e2c
mov eax, dword [esi]
push str.java_net_Inet6Address
push esi
call dword [eax + 0x18]
mov ebx, eax
test ebx, ebx
je 0x6d665e23
mov eax, dword [esi]
push ebx
push esi
call dword [eax + 0x54]
push ebx
mov dword [0x6d671178], eax
mov eax, dword [esi]
push esi
call dword [eax + 0x5c]
cmp dword [0x6d671178], 0
je 0x6d665e45
push dword [0x6d67161c]
mov eax, dword [esi]
push dword [0x6d671178]
push esi
call dword [eax + 0x70]
add esp, 0xc
mov ebx, eax
jmp 0x6d665e47
xor ebx, ebx
test ebx, ebx
je 0x6d665da5
push dword [0x6d671624]
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 [0x6d671640]
push ebx
push esi
call dword [eax + 0x1b4]
push dword [ebp + 0xbc]
mov eax, dword [esi]
push dword [0x6d671618]
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 [0x6d6715b0]
push dword [ebp - 0x64]
push esi
call dword [ecx + 0x1b4]
push dword [0x6d6715b8]
mov eax, dword [esi]
push dword [ebp - 0x74]
push esi
call dword [eax + 0x190]
mov ecx, dword [esi]
push eax
push dword [0x6d6715b8]
push dword [ebp - 0x64]
push esi
call dword [ecx + 0x1b4]
mov eax, dword [esi]
push ebx
push dword [0x6d6715a0]
push dword [ebp - 0x64]
push esi
call dword [eax + 0x1a0]
jmp 0x6d665f05
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.6d66b1da
add ebp, 0xc4
leave
ret 0xc