Function at 0x151640
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
xor ebp, ebp
movaps xmmword [rsp + 0x30], xmm6
movaps xmmword [rsp + 0x20], xmm7
mov qword [0x00191368], rbp
call qword [sym.imp.KERNEL32.dll_GetTickCount]
xorpd xmm6, xmm6
movsd xmm7, qword [0x0016c0d8]
lea esi, [rax + 0x1f40]
nop
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
cmp eax, esi
jb 0x1516e9
cmp qword [0x00191368], rbp
je 0x1516e3
xor ecx, ecx
call fcn.0015b478
sub eax, dword [0x00191374]
movapd xmm1, xmm6
cmp eax, 5
jbe 0x1516cb
mov ecx, dword [0x00191378]
pxor xmm1, xmm1
pxor xmm0, xmm0
cvtsi2sd xmm1, rcx
cvtsi2sd xmm0, rax
divsd xmm1, xmm0
mulsd xmm1, xmm7
mov r8d, dword [0x0019137c]
movq rdx, xmm1
lea rcx, str.collisions_min:__.4lf_Shares_total:__d_n
call fcn.0015b13c
lea esi, [rbx + 0x1f40]
lea rcx, [0x00191318]
cmp qword [0x00191368], rbp
je 0x151850
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, qword [0x00191368]
call fcn.00152800
mov rcx, qword [0x00191368]
cmp byte [rcx + 0x130], bpl
je 0x1517e1
lea rcx, [0x00170a20]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [0x00170a50], ebp
lea rcx, [0x00170a20]
mov dword [0x001912e8], ebp
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, str.Connection_to_server_lost___Reconnect_in_45_seconds_n
call fcn.0015b13c
mov rdi, qword [0x00191368]
mov rbx, qword [rdi + 8]
mov rcx, qword [rbx]
call fcn.0015b8c0
mov rcx, rbx
call fcn.0015b8c0
mov rbx, qword [rdi + 0x10]
mov rcx, qword [rbx]
call fcn.0015b8c0
mov rcx, rbx
call fcn.0015b8c0
mov rcx, qword [rdi]
test rcx, rcx
je 0x151792
call qword [sym.imp.WS2_32.dll_closesocket]
mov rbx, qword [rdi + 0x20a40]
cmp byte [rbx + 0x15], bpl
jne 0x1517a7
mov rcx, qword [rbx]
call fcn.0015b8c0
cmp byte [rbx + 0x14], bpl
jne 0x1517b5
mov rcx, rbx
call fcn.0015b8c0
mov rcx, rdi
call fcn.0015b8c0
lea rcx, [0x00191318]
mov qword [0x00191368], rbp
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, 0xafc8
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x151680
cmp dword [rcx + 0x11c], 1
jne 0x151820
cmp byte [rcx + 0x120], 4
je 0x151820
lea rcx, str.The_miner_is_configured_to_use_a_different_algorithm._n
call fcn.0015b13c
lea rcx, str.Make_sure_you_miner_login_details_are_correct_n
call fcn.0015b13c
mov rcx, qword [0x00191368]
call fcn.00152220
mov qword [0x00191368], rbp
jmp 0x151833
mov eax, dword [0x00170a50]
cmp dword [rcx + 0x168], eax
je 0x151833
call fcn.00151410
lea rcx, [0x00191318]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x151680
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [0x00191340]
xor edx, edx
call fcn.00152080
lea rcx, [0x00191318]
mov qword [0x00191368], rax
test rax, rax
jne 0x151899
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, str.Connection_attempt_failed__retry_in_45_seconds_n
call fcn.0015b13c
mov ecx, 0xafc8
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x151680
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, str.Connected_to_server_using_x.pushthrough_xpt__protocol_n
call fcn.0015b13c
xor ecx, ecx
call fcn.0015b478
mov dword [0x00191374], eax
mov dword [0x00191378], ebp
jmp 0x151680