Function at 0x41a8d0
Capabilities:
Get socket status

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xc7c
mov ebp, dword [esp + 0xc90]
lea ebx, [esp + 0x60]
call sym._pthread_self
mov dword [esp], eax
call dbg.pthread_detach
mov eax, dword [ebp]
mov dword [esp + 8], str._d_RStratum
mov dword [esp + 4], 0x10
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call sym._snprintf
mov dword [esp], ebx
call sym._RenameThread
lea eax, [ebp + 0x1a8]
mov dword [esp + 0x2c], eax
lea eax, [ebp + 0x1ac]
mov dword [esp + 0x30], eax
cmp byte [ebp + 0x14d], 0
mov dword [esp], ebp
jne 0x41aa11
call sym._sock_full
test al, al
je 0x41aa23
mov eax, dword [ebp + 0x2bc]
mov dword [esp], ebp
mov dword [esp + 0x16c], 1
mov dword [esp + 0x58], 0x5a
mov dword [esp + 0x5c], 0
mov dword [esp + 0x170], eax
call sym._sock_full
test al, al
jne 0x41a9be
lea eax, [esp + 0x58]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], eax
lea eax, [esp + 0x16c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x2bc]
add eax, 1
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_select]
sub esp, 0x14
test eax, eax
jle 0x41aa90
mov dword [esp], ebp
call sym._recv_line
test eax, eax
mov esi, eax
je 0x41ab00
mov dword [esp], ebp
call sym._stratum_resumed
mov dword [esp + 4], esi
mov dword [esp], ebp
call sym._parse_method
test al, al
je 0x41ac30
cmp byte [ebp + 0x300], 0
jne 0x41af81
mov dword [esp], esi
call sym._free
cmp byte [ebp + 0x14d], 0
mov dword [esp], ebp
je 0x41a93d
call sym._suspend_stratum
add esp, 0xc7c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, ebp
call sym._cnx_needed
test al, al
jne 0x41a94a
mov dword [esp], ebp
call sym._suspend_stratum
mov dword [esp], ebp
call sym._clear_stratum_shares
mov dword [esp], ebp
call sym._clear_pool_work
mov eax, ebp
call sym._wait_lpcurrent
jmp 0x41aa5f
mov dword [esp], 0x1388
call sym._cgsleep_ms
mov dword [esp], ebp
call sym._restart_stratum
test al, al
jne 0x41a94a
mov dword [esp], ebp
call sym._pool_died
cmp byte [ebp + 0x14d], 0
je 0x41aa53
add esp, 0xc7c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
cmp byte [0x732fa1], 0
je 0x41ab00
cmp byte [0x745ef7], 0
jne 0x41aab8
cmp byte [0x732fa0], 0
jne 0x41aab8
cmp dword [0x5bc2e0], 3
jle 0x41afd0
mov dword [esp + 0x10], eax
mov eax, dword [ebp]
lea edi, [esp + 0x270]
mov dword [esp + 8], str.Stratum_select_failed_on_pool__d_with_value__d
mov dword [esp + 4], 0xa00
mov dword [esp], edi
mov dword [esp + 0xc], eax
call sym._snprintf
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], 4
call sym.__applog
lea esi, [esi]
cmp byte [0x745ef7], 0
jne 0x41ab16
cmp byte [0x732fa0], 0
je 0x41afd0
mov eax, dword [ebp]
lea edi, [esp + 0x270]
mov dword [esp + 8], str.Stratum_connection_to_pool__d_interrupted
mov dword [esp + 4], 0xa00
mov dword [esp], edi
mov dword [esp + 0xc], eax
call sym._snprintf
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], 2
call sym.__applog
add dword [ebp + 0x164], 1
mov eax, dword [esp + 0x2c]
add dword [0x744e68], 1
mov dword [esp], eax
call dbg.pthread_mutex_lock
test eax, eax
jne 0x41b350
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call dbg.pthread_rwlock_rdlock
test eax, eax
jne 0x41b381
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call dbg.pthread_mutex_unlock
test eax, eax
jne 0x41b3b2
mov eax, dword [esp + 0x30]
mov ebx, dword [ebp + 0x2ec]
mov dword [esp], eax
call dbg.pthread_rwlock_unlock
test eax, eax
jne 0x41b3e3
call dword [0x5bb9e0]
test ebx, ebx
je 0x41abcb
cmp byte [0x7455b4], 0
je 0x41abd3
mov dword [esp], ebp
call sym._clear_stratum_shares
mov dword [esp], ebp
call sym._clear_pool_work
call sym._current_pool
cmp ebp, eax
je 0x41b440
mov dword [esp], ebp
call sym._restart_stratum
test al, al
jne 0x41a92d
mov dword [esp], ebp
call sym._pool_died
cmp byte [ebp + 0x14d], 0
jne 0x41aa16
mov dword [esp], 0x1388
call sym._cgsleep_ms
mov dword [esp], ebp
call sym._restart_stratum
test al, al
jne 0x41a92d
jmp 0x41abf8
lea eax, [esp + 0x70]
mov dword [esp + 4], 0
mov dword [esp], esi
mov dword [esp + 8], eax
call sym._json_loads
test eax, eax
mov dword [esp + 0x34], eax
je 0x41afe2
mov edi, dword [esp + 0x34]
mov dword [esp + 4], 0x5c3293
mov dword [esp], edi
call sym._json_object_get
mov dword [esp + 4], 0x5c329a
mov dword [esp], edi
mov dword [esp + 0x44], eax
call sym._json_object_get
mov dword [esp + 4], 0x5c41b5
mov dword [esp], edi
mov dword [esp + 0x38], eax
call sym._json_object_get
test eax, eax
je 0x41b140
cmp dword [eax], 7
je 0x41b140
mov dword [esp], eax
call sym._json_integer_value
mov dword [esp], 0x7329f4
mov dword [esp + 0x54], eax
call dbg.pthread_mutex_lock
test eax, eax
jne 0x41b484
movzx eax, byte [esp + 0x57]
movzx edx, byte [esp + 0x54]
mov ecx, 0x9f49bac6
mov ebx, 0xfeedbef3
shl eax, 0x18
lea edx, [edx + eax + 0x112410d]
movzx eax, byte [esp + 0x56]
shl eax, 0x10
add edx, eax
movzx eax, byte [esp + 0x55]
shl eax, 8
add eax, edx
xor eax, 0x7f76d
mov edx, eax
sub ecx, eax
sub ebx, eax
shl edx, 8
xor ecx, edx
mov edx, ecx
sub ebx, ecx
sub eax, ecx
shr edx, 0xd
xor ebx, edx
mov edx, ebx
sub eax, ebx
sub ecx, ebx
shr edx, 0xc
xor eax, edx
mov edx, eax
sub ecx, eax
sub ebx, eax
shl edx, 0x10
xor ecx, edx
mov edx, ecx
sub ebx, ecx
sub eax, ecx
shr edx, 5
xor ebx, edx
mov edx, ebx
sub eax, ebx
sub ecx, ebx
shr edx, 3
xor eax, edx
mov edx, eax
sub ecx, eax
shl edx, 0xa
xor ecx, edx
sub ebx, eax
sub ebx, ecx
shr ecx, 0xf
mov edx, ecx
mov ecx, dword [0x732910]
xor edx, ebx
test ecx, ecx
je 0x41b0b4
mov edi, dword [ecx]
mov eax, dword [edi]
mov ebx, eax
mov dword [esp + 0x4c], eax
mov eax, dword [edi + 4]
sub eax, 1
and eax, edx
lea eax, [eax + eax*2]
mov ebx, dword [ebx + eax*4]
test ebx, ebx
je 0x41b0b4
mov dword [esp + 0x40], esi
sub ebx, dword [edi + 0x14]
mov esi, edx
mov dword [esp + 0x48], ecx
jmp 0x41ad9e
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x41b0b0
sub ebx, dword [edi + 0x14]
test ebx, ebx
je 0x41b0b0
cmp esi, dword [ebx + 0x1c]
jne 0x41ad90
cmp dword [ebx + 0x18], 4
jne 0x41ad90
lea eax, [esp + 0x54]
mov dword [esp + 8], 4
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x14]
mov dword [esp], eax
call sym._memcmp
test eax, eax
jne 0x41ad90
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x48]
test eax, eax
je 0x41b44a
cmp dword [edi + 0x10], ebx
je 0x41b45a
mov edx, dword [edi + 0x14]
mov edi, dword [ebx + 8]
mov dword [eax + edx + 8], edi
mov eax, dword [ebx + 8]
test eax, eax
je 0x41ae09
mov edx, dword [ecx]
mov edi, dword [ebx + 4]
mov edx, dword [edx + 0x14]
mov dword [eax + edx + 4], edi
mov edx, dword [ecx]
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
and eax, dword [ebx + 0x1c]
lea eax, [eax + eax*2]
lea eax, [edx + eax*4]
sub dword [eax + 4], 1
cmp ebx, dword [eax]
je 0x41b47a
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x41ae35
mov edx, dword [ebx + 0x10]
mov dword [eax + 0x10], edx
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x41ae42
mov edx, dword [ebx + 0xc]
mov dword [eax + 0xc], edx
mov eax, dword [ecx]
sub dword [eax + 0xc], 1
sub dword [ebp + 0x320], 1
mov dword [esp], 0x7329f4
call dbg.pthread_mutex_unlock
test eax, eax
jne 0x41b0c8
call dword [0x5bb9e0]
mov eax, dword [ebx + 0x24]
mov dword [esp], 0
mov dword [esp + 0x40], eax
call dword [sym.imp.msvcrt.dll_time]
sub eax, dword [ebx + 0x30]
test eax, eax
jg 0x41ae94
cmp byte [0x732fa1], 0
lea edi, [esp + 0x270]
je 0x41aef5
cmp byte [0x745ef7], 0
jne 0x41aeaa
cmp byte [0x732fa0], 0
je 0x41b414
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x40]
lea edi, [esp + 0x270]
mov eax, dword [eax + 0x16c]
mov eax, dword [eax]
mov dword [esp + 8], str.Pool__d_stratum_share_result_lag_time__d_seconds
mov dword [esp + 4], 0xa00
mov dword [esp], edi
mov dword [esp + 0xc], eax
call sym._snprintf
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], 3
call sym.__applog
mov eax, dword [esp + 0x40]
mov edx, edi
call sym._show_hash
mov eax, dword [esp + 0x40]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], 0x5c1082
mov dword [esp], eax
mov dword [esp + 8], 0
mov eax, edi
call sym._share_result
lea eax, [ebx + 0x24]
mov dword [esp + 0xc], 0x1d17
mov dword [esp + 8], str.parse_stratum_response
mov dword [esp + 4], str.cgminer.c
mov dword [esp], eax
call sym.__free_work
mov dword [esp], ebx
call sym._free
mov eax, dword [edi + 4]
cmp eax, 0xffffffff
je 0x41a9ec
mov ecx, dword [esp + 0x34]
sub eax, 1
test eax, eax
mov dword [ecx + 4], eax
jne 0x41a9ec
mov ebx, 1
jmp 0x41b1a9
call sym._make_work
mov edx, eax
mov dword [esp + 0x270], eax
mov eax, ebp
call sym._gen_stratum_work
mov eax, dword [esp + 0x270]
lea edi, [esp + 0x270]
call sym._test_work_current
mov dword [esp + 0xc], 0x1df6
mov dword [esp + 8], str.stratum_rthread
mov dword [esp + 4], str.cgminer.c
mov dword [esp], edi
call sym.__free_work
jmp 0x41a9f9
cmp dword [0x5bc2e0], 1
jg 0x41ab16
jmp 0x41ab54
cmp byte [0x745ef7], 0
jne 0x41affd
cmp byte [0x732fa0], 0
jne 0x41affd
cmp dword [0x5bc2e0], 2
jle 0x41b052
lea eax, [esp + 0xcc]
lea edi, [esp + 0x270]
mov dword [esp + 8], 0x5c419a
mov dword [esp + 4], 0xa00
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x70]
mov dword [esp], edi
mov dword [esp + 0xc], eax
call sym._snprintf
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], 3
call sym.__applog
movzx eax, byte [0x745ef7]
test al, al
jne 0x41b068
cmp byte [0x732fa0], 0
jne 0x41b068
cmp dword [0x5bc2e0], 2
jle 0x41a9f9
lea edi, [esp + 0x270]
mov dword [esp + 0xc], esi
mov dword [esp + 8], str.Unknown_stratum_msg:__s
mov dword [esp + 4], 0xa00
mov dword [esp], edi
call sym._snprintf
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], 3
call sym.__applog
jmp 0x41a9f9
mov esi, dword [esp + 0x40]
mov dword [esp], 0x7329f4
call dbg.pthread_mutex_unlock
test eax, eax
je 0x41b1d0
call dword [sym.imp.msvcrt.dll__errno]
mov dword [esp + 0x18], 0x1cf2
mov dword [esp + 0x14], str.parse_stratum_response
mov dword [esp + 0x10], str.cgminer.c
mov eax, dword [eax]
mov dword [esp + 8], 0x5c1ac8
mov dword [esp + 0xc], eax
lea ebx, [esp + 0x270]
mov dword [esp + 4], 0xa00
mov dword [esp], ebx
call sym._snprintf
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
mov dword [esp], 0
call sym.__applog
mov dword [esp + 4], 1
mov dword [esp], 1
call sym.___quit
mov esi, esi
lea edi, [edi]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x41b42d
mov dword [esp + 4], 3
mov dword [esp], eax
call sym._json_dumps
mov ebx, eax
cmp byte [0x745ef7], 0
jne 0x41b310
cmp byte [0x732fa0], 0
jne 0x41b310
cmp dword [0x5bc2e0], 2
jg 0x41b310
mov dword [esp], ebx
call sym._free
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x41b1c0
mov ecx, dword [esp + 0x34]
sub eax, 1
xor ebx, ebx
test eax, eax
mov dword [ecx + 4], eax
jne 0x41b1c0
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call sym._json_delete
test bl, bl
jne 0x41a9ec
lea esi, [esi]
movzx eax, byte [0x745ef7]
jmp 0x41b04e
call dword [0x5bb9e0]
mov eax, dword [esp + 0x44]
test eax, eax
je 0x41b18d
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call dbg.pthread_mutex_lock
test eax, eax
jne 0x41b575
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call dbg.pthread_rwlock_rdlock
test eax, eax
jne 0x41b59b
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call dbg.pthread_mutex_unlock
test eax, eax
jne 0x41b588
mov eax, dword [esp + 0x30]
fld qword [ebp + 0x740]
fstp qword [esp + 0x38]
mov dword [esp], eax
call dbg.pthread_rwlock_unlock
test eax, eax
jne 0x41b5b6
call dword [0x5bb9e0]
mov eax, dword [esp + 0x44]
cmp dword [eax], 5
je 0x41b4b5
cmp byte [0x745ef7], 0
jne 0x41b266
cmp byte [0x732fa0], 0
jne 0x41b266
cmp dword [0x5bc2e0], 1
jle 0x41b2a4
mov eax, dword [ebp]
lea edi, [esp + 0x270]
mov dword [esp + 8], str.Rejected_untracked_stratum_share_from_pool__d
mov dword [esp + 4], 0xa00
mov dword [esp], edi
mov dword [esp + 0xc], eax
call sym._snprintf
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], 2
call sym.__applog
mov dword [esp], 0x745508
call dbg.pthread_mutex_lock
test eax, eax
jne 0x41b5e7
fld qword [esp + 0x38]
add dword [0x744e70], 1
adc dword [0x744e74], 0
fld qword [0x745ee8]
add dword [ebp + 0x10], 1
adc dword [ebp + 0x14], 0
fadd st(1)
fstp qword [0x745ee8]
fld qword [ebp + 0x50]
faddp st(1)
fstp qword [ebp + 0x50]
mov dword [esp], 0x745508
call dbg.pthread_mutex_unlock
test eax, eax
jne 0x41b5fa
call dword [0x5bb9e0]
jmp 0x41b18d
lea edi, [esp + 0x270]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], str.JSON_RPC_non_method_decode_failed:__s
mov dword [esp + 4], 0xa00
mov dword [esp], edi
call sym._snprintf
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], 3
call sym.__applog
jmp 0x41b185
call dword [sym.imp.msvcrt.dll__errno]
mov dword [esp + 0x18], 0x1d91
mov dword [esp + 0x14], str.supports_resume
mov dword [esp + 0x10], str.cgminer.c
mov eax, dword [eax]
mov dword [esp + 8], 0x5c1a98
mov dword [esp + 0xc], eax
jmp 0x41b0f4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [esp + 0x18], 0x1d91
mov dword [esp + 0x14], str.supports_resume
mov dword [esp + 0x10], str.cgminer.c
mov eax, dword [eax]
mov dword [esp + 8], 0x5c1b48
mov dword [esp + 0xc], eax
jmp 0x41b0f4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [esp + 0x18], 0x1d91
mov dword [esp + 0x14], str.supports_resume
mov dword [esp + 0x10], str.cgminer.c
mov eax, dword [eax]
mov dword [esp + 8], 0x5c1ac8
mov dword [esp + 0xc], eax
jmp 0x41b0f4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [esp + 0x18], 0x1d93
mov dword [esp + 0x14], str.supports_resume
mov dword [esp + 0x10], str.cgminer.c
mov eax, dword [eax]
mov dword [esp + 8], 0x5c1afc
mov dword [esp + 0xc], eax
jmp 0x41b0f4
cmp dword [0x5bc2e0], 2
lea edi, [esp + 0x270]
jg 0x41aeaa
jmp 0x41aef5
mov dword [esp], 0x5c41b8
call sym._strdup
mov ebx, eax
jmp 0x41b15e
call sym._restart_threads
jmp 0x41abe8
mov edx, dword [ebx + 8]
test edx, edx
je 0x41b60d
cmp ebx, dword [edi + 0x10]
jne 0x41b46b
add eax, dword [edi + 0x14]
mov dword [edi + 0x10], eax
mov eax, dword [ebx + 4]
test eax, eax
jne 0x41b649
mov eax, dword [ebx + 8]
mov dword [0x732910], eax
mov ecx, eax
jmp 0x41adf9
mov edx, dword [ebx + 0x10]
mov dword [eax], edx
jmp 0x41ae28
call dword [sym.imp.msvcrt.dll__errno]
mov dword [esp + 0x18], 0x1cec
mov dword [esp + 0x14], str.parse_stratum_response
mov dword [esp + 0x10], str.cgminer.c
mov eax, dword [eax]
mov dword [esp + 8], 0x5c1a98
mov dword [esp + 0xc], eax
jmp 0x41b0f4
cmp byte [0x745ef7], 0
jne 0x41b4d0
cmp byte [0x732fa0], 0
jne 0x41b4d0
cmp dword [0x5bc2e0], 1
jle 0x41b50e
mov eax, dword [ebp]
lea edi, [esp + 0x270]
mov dword [esp + 8], str.Accepted_untracked_stratum_share_from_pool__d
mov dword [esp + 4], 0xa00
mov dword [esp], edi
mov dword [esp + 0xc], eax
call sym._snprintf
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], 2
call sym.__applog
mov dword [esp], 0x745508
call dbg.pthread_mutex_lock
test eax, eax
jne 0x41b63a
fld qword [esp + 0x38]
add dword [0x745198], 1
adc dword [0x74519c], 0
fld qword [0x7452d0]
add dword [ebp + 8], 1
adc dword [ebp + 0xc], 0
fadd st(1)
fstp qword [0x7452d0]
fld qword [ebp + 0x48]
faddp st(1)
fstp qword [ebp + 0x48]
mov dword [esp], 0x745508
call dbg.pthread_mutex_unlock
test eax, eax
je 0x41b2fc
mov edx, 0x1d09
mov eax, str.parse_stratum_response
call sym.__mutex_unlock_noyield.part.49.constprop.78
call dword [sym.imp.msvcrt.dll__errno]
mov dword [esp + 0x18], 0x1cfb
jmp 0x41b492
call dword [sym.imp.msvcrt.dll__errno]
mov dword [esp + 0x18], 0x1cfb
jmp 0x41b0d6
call dword [sym.imp.msvcrt.dll__errno]
mov dword [esp + 0x18], 0x1cfb
mov dword [esp + 0x14], str.parse_stratum_response
jmp 0x41b397
call dword [sym.imp.msvcrt.dll__errno]
mov dword [esp + 0x18], 0x1cfd
mov dword [esp + 0x14], str.parse_stratum_response
mov dword [esp + 0x10], str.cgminer.c
mov eax, dword [eax]
mov dword [esp + 8], 0x5c1afc
mov dword [esp + 0xc], eax
jmp 0x41b0f4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [esp + 0x18], 0x1d0d
jmp 0x41b492
call dword [sym.imp.msvcrt.dll__errno]
mov dword [esp + 0x18], 0x1d12
jmp 0x41b0d6
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x40], ecx
mov dword [esp], eax
call sym._free
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx]
mov dword [esp], eax
call sym._free
mov dword [0x732910], 0
jmp 0x41ae48
mov edx, 0x1d04
mov eax, str.parse_stratum_response
call sym.__mutex_lock.part.48.constprop.76
mov edi, dword [ecx]
jmp 0x41adec