Function at 0x180004930
Capabilities:
Get socket status

Disassembly:
movsd qword [rsp + 0x10], xmm1
mov qword [rsp + 8], rcx
sub rsp, 0x718
mov rax, qword [0x1800a2228]
xor rax, rsp
mov qword [rsp + 0x700], rax
xorps xmm0, xmm0
comisd xmm0, xmmword [rsp + 0x728]
jbe 0x180004972
movsd xmm0, qword [0x180081ed0]
movsd qword [rsp + 0x70], xmm0
jmp 0x18000498e
mov rcx, qword [rsp + 0x720]
call fcn.180005140
addsd xmm0, qword [rsp + 0x728]
movsd qword [rsp + 0x70], xmm0
mov rax, qword [rsp + 0x720]
movsd xmm0, qword [rsp + 0x70]
movsd qword [rax + 0x10], xmm0
mov rax, qword [rsp + 0x720]
mov byte [rax + 0x18], 0
mov rax, qword [rsp + 0x720]
mov byte [rax + 0x19], 1
mov rax, qword [rsp + 0x720]
mov rcx, rax
call fcn.180006370
test rax, rax
jbe 0x18000502b
mov dword [rsp + 0xd0], 0
mov dword [rsp + 0x2e0], 0
mov dword [rsp + 0x4f0], 0
mov dword [rsp + 0x44], 0xffffffff
lea rcx, [rsp + 0x48]
call fcn.180005990
mov rax, qword [rsp + 0x720]
lea rdx, [rsp + 0xa0]
mov rcx, rax
call fcn.180006100
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
jmp 0x180004a31
lea rcx, [rsp + 0x48]
call fcn.180005da0
mov rax, qword [rsp + 0x720]
lea rdx, [rsp + 0xa8]
mov rcx, rax
call fcn.1800061e0
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.180005c90
movzx eax, al
test eax, eax
je 0x180004c60
lea rcx, [rsp + 0x48]
call fcn.180005cd0
mov rcx, rax
call fcn.1800062a0
mov rcx, rax
call fcn.180004470
mov dword [rsp + 0x34], eax
lea rcx, [rsp + 0x48]
call fcn.180005cd0
mov rcx, rax
call fcn.180006290
mov eax, dword [rax]
and eax, 1
test eax, eax
je 0x180004b10
mov dword [rsp + 0x38], 0
jmp 0x180004aae
mov eax, dword [rsp + 0x38]
inc eax
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xd0]
cmp dword [rsp + 0x38], eax
jae 0x180004ad2
mov eax, dword [rsp + 0x38]
movsxd rcx, dword [rsp + 0x34]
cmp qword [rsp + rax*8 + 0xd8], rcx
jne 0x180004ad0
jmp 0x180004ad2
jmp 0x180004aa4
mov eax, dword [rsp + 0xd0]
cmp dword [rsp + 0x38], eax
jne 0x180004b0a
cmp dword [rsp + 0xd0], 0x40
jae 0x180004b0a
movsxd rax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x38]
mov qword [rsp + rcx*8 + 0xd8], rax
mov eax, dword [rsp + 0xd0]
inc eax
mov dword [rsp + 0xd0], eax
xor eax, eax
test eax, eax
jne 0x180004a9a
lea rcx, [rsp + 0x48]
call fcn.180005cd0
mov rcx, rax
call fcn.180006290
mov eax, dword [rax]
and eax, 2
test eax, eax
je 0x180004ba1
mov dword [rsp + 0x3c], 0
jmp 0x180004b3f
mov eax, dword [rsp + 0x3c]
inc eax
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x2e0]
cmp dword [rsp + 0x3c], eax
jae 0x180004b63
mov eax, dword [rsp + 0x3c]
movsxd rcx, dword [rsp + 0x34]
cmp qword [rsp + rax*8 + 0x2e8], rcx
jne 0x180004b61
jmp 0x180004b63
jmp 0x180004b35
mov eax, dword [rsp + 0x2e0]
cmp dword [rsp + 0x3c], eax
jne 0x180004b9b
cmp dword [rsp + 0x2e0], 0x40
jae 0x180004b9b
movsxd rax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x3c]
mov qword [rsp + rcx*8 + 0x2e8], rax
mov eax, dword [rsp + 0x2e0]
inc eax
mov dword [rsp + 0x2e0], eax
xor eax, eax
test eax, eax
jne 0x180004b2b
lea rcx, [rsp + 0x48]
call fcn.180005cd0
mov rcx, rax
call fcn.180006290
mov eax, dword [rax]
and eax, 4
test eax, eax
je 0x180004c32
mov dword [rsp + 0x40], 0
jmp 0x180004bd0
mov eax, dword [rsp + 0x40]
inc eax
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x4f0]
cmp dword [rsp + 0x40], eax
jae 0x180004bf4
mov eax, dword [rsp + 0x40]
movsxd rcx, dword [rsp + 0x34]
cmp qword [rsp + rax*8 + 0x4f8], rcx
jne 0x180004bf2
jmp 0x180004bf4
jmp 0x180004bc6
mov eax, dword [rsp + 0x4f0]
cmp dword [rsp + 0x40], eax
jne 0x180004c2c
cmp dword [rsp + 0x4f0], 0x40
jae 0x180004c2c
movsxd rax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x40]
mov qword [rsp + rcx*8 + 0x4f8], rax
mov eax, dword [rsp + 0x4f0]
inc eax
mov dword [rsp + 0x4f0], eax
xor eax, eax
test eax, eax
jne 0x180004bbc
lea rcx, [rsp + 0x48]
call fcn.180005cd0
mov rcx, rax
call fcn.180006290
cmp dword [rax], 0
je 0x180004c5b
mov eax, dword [rsp + 0x44]
cmp dword [rsp + 0x34], eax
jle 0x180004c5b
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x44], eax
jmp 0x180004a27
xorps xmm0, xmm0
comisd xmm0, xmmword [rsp + 0x728]
jbe 0x180004ca6
mov eax, dword [rsp + 0x44]
inc eax
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x4f0]
lea r8, [rsp + 0x2e0]
lea rdx, [rsp + 0xd0]
mov ecx, eax
call qword [sym.imp.WS2_32.dll_select]
mov dword [rsp + 0x5c], eax
jmp 0x180004d34
movsd xmm0, qword [rsp + 0x728]
call fcn.18005ac48
cvttsd2si eax, xmm0
mov dword [rsp + 0x78], eax
movsd xmm0, qword [rsp + 0x728]
call fcn.18005ac48
movsd xmm1, qword [rsp + 0x728]
subsd xmm1, xmm0
movaps xmm0, xmm1
movsd xmm1, qword [0x180081f38]
mulsd xmm1, xmm0
movaps xmm0, xmm1
call fcn.18005ac48
cvttsd2si eax, xmm0
cdq
mov ecx, 0xf4240
idiv ecx
mov eax, edx
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x44]
inc eax
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x4f0]
lea r8, [rsp + 0x2e0]
lea rdx, [rsp + 0xd0]
mov ecx, eax
call qword [sym.imp.WS2_32.dll_select]
mov dword [rsp + 0x5c], eax
cmp dword [rsp + 0x5c], 0
jge 0x180004d5c
mov edx, dword [rsp + 0x5c]
lea rcx, str.Error_in_XmlRpcDispatch::work:_error_in_select___d_.
call fcn.1800077d0
mov rax, qword [rsp + 0x720]
mov byte [rax + 0x19], 0
jmp 0x180005037
mov rax, qword [rsp + 0x720]
lea rdx, [rsp + 0xb0]
mov rcx, rax
call fcn.180006100
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x720]
lea rdx, [rsp + 0xb8]
mov rcx, rax
call fcn.1800061e0
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.180005c90
movzx eax, al
test eax, eax
je 0x180004f22
xor r8d, r8d
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x48]
call fcn.180005d50
lea rcx, [rsp + 0x60]
call fcn.180005cd0
mov rcx, rax
call fcn.1800062a0
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.180004470
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x30], 0xffffffff
mov eax, dword [rsp + 0x44]
cmp dword [rsp + 0x58], eax
jg 0x180004f1d
movsxd rax, dword [rsp + 0x58]
lea rdx, [rsp + 0xd0]
mov rcx, rax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x180004e33
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov edx, 1
mov rcx, qword [rsp + 0x50]
call qword [rax + reloc.WS2_32.dll_recv]
mov ecx, dword [rsp + 0x30]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x30], eax
movsxd rax, dword [rsp + 0x58]
lea rdx, [rsp + 0x2e0]
mov rcx, rax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x180004e6d
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov edx, 2
mov rcx, qword [rsp + 0x50]
call qword [rax + reloc.WS2_32.dll_recv]
mov ecx, dword [rsp + 0x30]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x30], eax
movsxd rax, dword [rsp + 0x58]
lea rdx, [rsp + 0x4f0]
mov rcx, rax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x180004ea7
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov edx, 4
mov rcx, qword [rsp + 0x50]
call qword [rax + reloc.WS2_32.dll_recv]
mov ecx, dword [rsp + 0x30]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x180004efe
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x720]
mov r8, qword [rsp + 0x88]
lea rdx, [rsp + 0xc0]
mov rcx, rax
call fcn.180006220
mov rcx, qword [rsp + 0x50]
call fcn.180004460
movzx eax, al
test eax, eax
jne 0x180004efc
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x50]
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x180004f1d
cmp dword [rsp + 0x30], 0xffffffff
je 0x180004f1d
lea rcx, [rsp + 0x60]
call fcn.180005cd0
mov rcx, rax
call fcn.180006290
mov ecx, dword [rsp + 0x30]
mov dword [rax], ecx
jmp 0x180004d7c
mov rax, qword [rsp + 0x720]
movzx eax, byte [rax + 0x18]
test eax, eax
je 0x180004ff1
mov rax, qword [rsp + 0x720]
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.180005a20
nop
mov rax, qword [rsp + 0x720]
mov rcx, rax
call fcn.180006140
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x90]
call fcn.180006100
jmp 0x180004f7d
lea rcx, [rsp + 0x68]
call fcn.180005da0
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x90]
call fcn.1800061e0
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.180005c90
movzx eax, al
test eax, eax
je 0x180004fd8
lea rcx, [rsp + 0x68]
call fcn.180005cd0
mov rcx, rax
call fcn.1800062a0
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x80]
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x180004f73
mov rax, qword [rsp + 0x720]
mov byte [rax + 0x18], 0
lea rcx, [rsp + 0x90]
call fcn.180005c30
mov rax, qword [rsp + 0x720]
movsd xmm0, qword [rax + 0x10]
comisd xmm0, xmmword [0x180081f20]
jb 0x180005026
mov rcx, qword [rsp + 0x720]
call fcn.180005140
mov rax, qword [rsp + 0x720]
comisd xmm0, xmmword [rax + 0x10]
jbe 0x180005026
jmp 0x18000502b
jmp 0x1800049b9
mov rax, qword [rsp + 0x720]
mov byte [rax + 0x19], 0
mov rcx, qword [rsp + 0x700]
xor rcx, rsp
call fcn.1800507a0
add rsp, 0x718
ret