Function at 0x4d8710
Capabilities:
Get socket status

Disassembly:
push rbp
sub rsp, 0x480
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x410], rcx
mov rax, qword [rbp + 0x410]
mov qword [rbp + 0x3e8], rax
call sym.pthread_self
mov rcx, rax
call sym.pthread_detach
mov rax, qword [rbp + 0x3e8]
mov edx, dword [rax]
lea rax, [rbp + 0x3d0]
mov r9d, edx
lea r8, str._d_RStratum
mov edx, 0x10
mov rcx, rax
call sym.snprintf_3
lea rax, [rbp + 0x3d0]
mov rcx, rax
call dbg.RenameThread
mov rax, qword [rbp + 0x3e8]
movzx eax, byte [rax + 0x69]
test al, al
je 0x4d879b
mov rax, qword [rbp + 0x3e8]
mov rcx, rax
call dbg.suspend_stratum
jmp 0x4d8c96
mov rax, qword [rbp + 0x3e8]
mov rcx, rax
call dbg.sock_full
xor eax, 1
test al, al
je 0x4d885a
mov rax, qword [rbp + 0x3e8]
mov rcx, rax
call dbg.cnx_needed
xor eax, 1
test al, al
je 0x4d885a
mov rax, qword [rbp + 0x3e8]
mov rcx, rax
call dbg.suspend_stratum
mov rax, qword [rbp + 0x3e8]
mov rcx, rax
call dbg.clear_stratum_shares
mov rax, qword [rbp + 0x3e8]
mov rcx, rax
call dbg.clear_pool_work
mov rax, qword [rbp + 0x3e8]
mov rcx, rax
call dbg.wait_lpcurrent
jmp 0x4d8844
mov rax, qword [rbp + 0x3e8]
movzx eax, byte [rax + 0x69]
test al, al
jne 0x4d8c92
lea rax, [0x0052c068]
mov eax, dword [rax]
cmp eax, 1
jle 0x4d883a
mov ecx, 0x7530
call dbg.cgsleep_ms
jmp 0x4d8844
mov ecx, 0xbb8
call dbg.cgsleep_ms
mov rax, qword [rbp + 0x3e8]
mov rcx, rax
call dbg.restart_stratum
xor eax, 1
test al, al
jne 0x4d880d
mov dword [rbp + 0x1b0], 0
mov dword [rbp + 0x3f4], 0
jmp 0x4d8898
mov eax, dword [rbp + 0x3f4]
mov rdx, qword [rbp + rax*8 + 0x1b8]
mov rax, qword [rbp + 0x3e8]
mov rax, qword [rax + 0x228]
cmp rdx, rax
je 0x4d88a8
add dword [rbp + 0x3f4], 1
mov eax, dword [rbp + 0x1b0]
cmp dword [rbp + 0x3f4], eax
jb 0x4d8870
jmp 0x4d88a9
nop
mov eax, dword [rbp + 0x1b0]
cmp dword [rbp + 0x3f4], eax
jne 0x4d88ed
mov eax, dword [rbp + 0x1b0]
cmp eax, 0x3f
ja 0x4d88ed
mov rax, qword [rbp + 0x3e8]
mov rdx, qword [rax + 0x228]
mov eax, dword [rbp + 0x3f4]
mov qword [rbp + rax*8 + 0x1b8], rdx
mov eax, dword [rbp + 0x1b0]
add eax, 1
mov dword [rbp + 0x1b0], eax
mov dword [rbp + 0x3c8], 0x5a
mov dword [rbp + 0x3cc], 0
mov rax, qword [rbp + 0x3e8]
mov rcx, rax
call dbg.sock_full
xor eax, 1
test al, al
je 0x4d89f6
mov rax, qword [rbp + 0x3e8]
mov rax, qword [rax + 0x228]
add eax, 1
mov ecx, eax
lea rax, [rbp + 0x1b0]
lea rdx, [rbp + 0x3c8]
mov qword [rsp + 0x20], rdx
mov r9d, 0
mov r8d, 0
mov rdx, rax
mov rax, qword [sym.imp.WSOCK32.dll_select]
call rax
mov dword [rbp + 0x3e4], eax
cmp dword [rbp + 0x3e4], 0
jg 0x4d89f6
mov rax, qword [0x005149e0]
movzx eax, byte [rax]
test al, al
je 0x4d89e9
lea rax, [0x0052c158]
movzx eax, byte [rax]
test al, al
jne 0x4d89a4
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4d89a4
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
cmp eax, 3
jle 0x4d89e9
mov rax, qword [rbp + 0x3e8]
mov ecx, dword [rax]
lea rax, [rbp - 0x50]
mov edx, dword [rbp + 0x3e4]
mov dword [rsp + 0x20], edx
mov r9d, ecx
lea r8, str.Stratum_select_failed_on_pool__d_with_value__d
mov edx, 0x200
mov rcx, rax
call sym.snprintf_3
lea rax, [rbp - 0x50]
mov r8d, 0
mov rdx, rax
mov ecx, 4
call dbg._applog
mov qword [rbp + 0x3f8], 0
jmp 0x4d8a0c
mov rax, qword [rbp + 0x3e8]
mov rcx, rax
call dbg.recv_line
mov qword [rbp + 0x3f8], rax
cmp qword [rbp + 0x3f8], 0
jne 0x4d8b40
lea rax, [0x0052c158]
movzx eax, byte [rax]
test al, al
jne 0x4d8a44
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4d8a44
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
cmp eax, 1
jle 0x4d8a7f
mov rax, qword [rbp + 0x3e8]
mov edx, dword [rax]
lea rax, [rbp - 0x50]
mov r9d, edx
lea r8, str.Stratum_connection_to_pool__d_interrupted
mov edx, 0x200
mov rcx, rax
call sym.snprintf_3
lea rax, [rbp - 0x50]
mov r8d, 0
mov rdx, rax
mov ecx, 2
call dbg._applog
mov rax, qword [rbp + 0x3e8]
mov eax, dword [rax + 0x8c]
lea edx, [rax + 1]
mov rax, qword [rbp + 0x3e8]
mov dword [rax + 0x8c], edx
lea rax, [0x0052bf40]
mov eax, dword [rax]
lea edx, [rax + 1]
lea rax, [0x0052bf40]
mov dword [rax], edx
mov rax, qword [rbp + 0x3e8]
mov rcx, rax
call dbg.supports_resume
xor eax, 1
test al, al
jne 0x4d8ad5
lea rax, [0x0052c148]
movzx eax, byte [rax]
test al, al
je 0x4d8ae4
mov rax, qword [rbp + 0x3e8]
mov rcx, rax
call dbg.clear_stratum_shares
mov rax, qword [rbp + 0x3e8]
mov rcx, rax
call dbg.clear_pool_work
call dbg.current_pool
cmp qword [rbp + 0x3e8], rax
jne 0x4d8b25
call dbg.restart_threads
jmp 0x4d8b25
mov rax, qword [rbp + 0x3e8]
movzx eax, byte [rax + 0x69]
test al, al
jne 0x4d8c95
mov ecx, 0x7530
call dbg.cgsleep_ms
mov rax, qword [rbp + 0x3e8]
mov rcx, rax
call dbg.restart_stratum
xor eax, 1
test al, al
jne 0x4d8b08
jmp 0x4d8c8d
mov rax, qword [rbp + 0x3e8]
mov rcx, rax
call dbg.stratum_resumed
mov rdx, qword [rbp + 0x3f8]
mov rax, qword [rbp + 0x3e8]
mov rcx, rax
call dbg.parse_method
xor eax, 1
test al, al
je 0x4d8bf9
mov rdx, qword [rbp + 0x3f8]
mov rax, qword [rbp + 0x3e8]
mov rcx, rax
call dbg.parse_stratum_response
xor eax, 1
test al, al
je 0x4d8bf9
lea rax, [0x0052c158]
movzx eax, byte [rax]
test al, al
jne 0x4d8bbb
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4d8bbb
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
cmp eax, 2
jle 0x4d8c7d
mov rdx, qword [rbp + 0x3f8]
lea rax, [rbp - 0x50]
mov r9, rdx
lea r8, str.Unknown_stratum_msg:__s
mov edx, 0x200
mov rcx, rax
call sym.snprintf_3
lea rax, [rbp - 0x50]
mov r8d, 0
mov rdx, rax
mov ecx, 3
call dbg._applog
jmp 0x4d8c7d
mov rax, qword [rbp + 0x3e8]
movzx eax, byte [rax + 0x298]
test al, al
je 0x4d8c7e
call dbg.make_work
mov qword [rbp + 0x3c0], rax
mov rax, qword [rbp + 0x3e8]
mov byte [rax + 0x298], 0
mov rdx, qword [rbp + 0x3c0]
mov rax, qword [rbp + 0x3e8]
mov rcx, rax
call dbg.gen_stratum_work
mov rax, qword [rbp + 0x3c0]
mov byte [rax + 0x288], 1
mov rax, qword [rbp + 0x3c0]
mov rcx, rax
call dbg.test_work_current
lea rax, [rbp + 0x3c0]
mov r9d, 0x1b69
lea r8, str.stratum_rthread
lea rdx, str..._.._cgminer_4.9.1_cgminer.c
mov rcx, rax
call dbg._free_work
jmp 0x4d8c7e
nop
mov rax, qword [rbp + 0x3f8]
mov rcx, rax
call sym.free
jmp 0x4d8778
nop
jmp 0x4d8c96
nop
mov eax, 0
add rsp, 0x480
pop rbp
ret