Function at 0x51640
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 [0x00091368], rbp
call qword [sym.imp.KERNEL32.dll_GetTickCount]
xorpd xmm6, xmm6
movsd xmm7, qword [0x0006c0d8]
lea esi, [rax + 0x1f40]
nop
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
cmp eax, esi
jb 0x516e9
cmp qword [0x00091368], rbp
je 0x516e3
xor ecx, ecx
call fcn.0005b478
sub eax, dword [0x00091374]
movapd xmm1, xmm6
cmp eax, 5
jbe 0x516cb
mov ecx, dword [0x00091378]
pxor xmm1, xmm1
pxor xmm0, xmm0
cvtsi2sd xmm1, rcx
cvtsi2sd xmm0, rax
divsd xmm1, xmm0
mulsd xmm1, xmm7
mov r8d, dword [0x0009137c]
movq rdx, xmm1
lea rcx, str.collisions_min:__.4lf_Shares_total:__d_n
call fcn.0005b13c
lea esi, [rbx + 0x1f40]
lea rcx, [0x00091318]
cmp qword [0x00091368], rbp
je 0x51850
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, qword [0x00091368]
call fcn.00052800
mov rcx, qword [0x00091368]
cmp byte [rcx + 0x130], bpl
je 0x517e1
lea rcx, [0x00070a20]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [0x00070a50], ebp
lea rcx, [0x00070a20]
mov dword [0x000912e8], ebp
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, str.Connection_to_server_lost___Reconnect_in_45_seconds_n
call fcn.0005b13c
mov rdi, qword [0x00091368]
mov rbx, qword [rdi + 8]
mov rcx, qword [rbx]
call fcn.0005b8c0
mov rcx, rbx
call fcn.0005b8c0
mov rbx, qword [rdi + 0x10]
mov rcx, qword [rbx]
call fcn.0005b8c0
mov rcx, rbx
call fcn.0005b8c0
mov rcx, qword [rdi]
test rcx, rcx
je 0x51792
call qword [sym.imp.WS2_32.dll_closesocket]
mov rbx, qword [rdi + 0x20a40]
cmp byte [rbx + 0x15], bpl
jne 0x517a7
mov rcx, qword [rbx]
call fcn.0005b8c0
cmp byte [rbx + 0x14], bpl
jne 0x517b5
mov rcx, rbx
call fcn.0005b8c0
mov rcx, rdi
call fcn.0005b8c0
lea rcx, [0x00091318]
mov qword [0x00091368], rbp
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, 0xafc8
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x51680
cmp dword [rcx + 0x11c], 1
jne 0x51820
cmp byte [rcx + 0x120], 4
je 0x51820
lea rcx, str.The_miner_is_configured_to_use_a_different_algorithm._n
call fcn.0005b13c
lea rcx, str.Make_sure_you_miner_login_details_are_correct_n
call fcn.0005b13c
mov rcx, qword [0x00091368]
call fcn.00052220
mov qword [0x00091368], rbp
jmp 0x51833
mov eax, dword [0x00070a50]
cmp dword [rcx + 0x168], eax
je 0x51833
call fcn.00051410
lea rcx, [0x00091318]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x51680
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [0x00091340]
xor edx, edx
call fcn.00052080
lea rcx, [0x00091318]
mov qword [0x00091368], rax
test rax, rax
jne 0x51899
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, str.Connection_attempt_failed__retry_in_45_seconds_n
call fcn.0005b13c
mov ecx, 0xafc8
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x51680
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, str.Connected_to_server_using_x.pushthrough_xpt__protocol_n
call fcn.0005b13c
xor ecx, ecx
call fcn.0005b478
mov dword [0x00091374], eax
mov dword [0x00091378], ebp
jmp 0x51680