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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x68]
sub rsp, 0x168
mov qword [rbp + 0x18], 0xfffffffffffffffe
mov rbx, r8
mov r14, rdx
lea rax, [0x1400d0018]
mov r13d, dword [rbp + 0xf0]
mov rcx, qword [0x1400d0018]
cmp rcx, rax
je 0x140057715
test byte [rcx + 0x1c], 1
je 0x140057715
mov r12d, dword [rbp + 0xf8]
cmp byte [rcx + 0x19], 5
jb 0x14005771c
mov rax, qword [rbp + 0x108]
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
mov r8, qword [rbp + 0xe0]
mov qword [rsp + 0x40], r8
mov eax, dword [rbp + 0xe8]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r9
mov r9d, dword [rbx + 0x10]
mov rcx, qword [rcx + 0x10]
call fcn.14004a2e4
jmp 0x14005771c
mov r12d, dword [rbp + 0xf8]
xor edi, edi
xor eax, eax
mov dword [rsp + 0x5c], eax
xor r15d, r15d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
nop dword [rax + rax]
mov esi, eax
mov dword [rsp + 0x58], eax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x78], xmm0
and qword [rbp - 0x68], rdi
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x60], xmm1
mov dword [rbp - 0x50], 0xa
mov rbx, qword [rbx]
test rbx, rbx
je 0x140057e45
call qword [sym.imp.KERNEL32.dll_GetTickCount]
nop dword [rax + rax]
sub eax, esi
cmp eax, 0x3a98
ja 0x140057deb
and qword [rsp + 0x68], 0
mov rcx, qword [rbx + 0x10]
mov rbx, qword [rbx]
mov qword [rsp + 0x78], rbx
sub rcx, 0x18
call fcn.140004bf0
lea rsi, [rax + 0x18]
mov qword [rsp + 0x70], rsi
and qword [rsp + 0x50], 0
xor ebx, ebx
cmp qword [r14 + 0x60], rbx
jbe 0x1400577dd
cmp rbx, qword [r14 + 0x60]
jae 0x140057f32
mov rax, qword [r14 + 0x58]
mov rdx, rsi
mov rcx, qword [rax + rbx*8]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
nop dword [rax + rax]
test eax, eax
je 0x1400579c6
inc rbx
cmp rbx, qword [r14 + 0x60]
jb 0x1400577b5
and qword [rsp + 0x50], 0
lea r8, [rsp + 0x68]
mov rdx, rsi
mov rcx, qword [rbp + 0xb0]
call fcn.1400694e4
mov edi, eax
test eax, eax
js 0x140057afb
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x28], xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov rax, qword [rbp + 0x108]
mov r8, qword [rax]
mov rax, qword [rbp + 0x100]
mov rdx, qword [rax]
lea rcx, [rbp - 0x28]
call fcn.140051008
mov edi, eax
test eax, eax
js 0x140057aeb
mov rax, qword [0x1400d2e50]
lea rcx, [0x1400d2e50]
mov rax, qword [rax + 0x18]
call qword [case.0x1400688bc.0]
add rax, 0x18
mov qword [rsp + 0x60], rax
mov rax, qword [0x1400d2e50]
lea rcx, [0x1400d2e50]
mov rax, qword [rax + 0x18]
call qword [case.0x1400688bc.0]
add rax, 0x18
mov qword [rbp - 0x80], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0xe8]
mov dword [rsp + 0x30], eax
mov rax, qword [rbp + 0xe0]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0xd8]
mov dword [rsp + 0x20], eax
mov r9, qword [rbp + 0xd0]
mov r8, qword [rbp + 0xc8]
mov rdi, qword [rsp + 0x68]
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140070184
nop
lea r8, [rbp - 0x80]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x20]
call fcn.1400701f8
test eax, eax
jns 0x140057a39
xor edi, edi
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x1400578fd
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400688bc.0]
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x140057926
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400688bc.0]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14005794d
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400688bc.0]
nop
mov rcx, qword [rbp - 8]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140057976
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400688bc.0]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14005799d
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400688bc.0]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
mov rbx, qword [rsp + 0x78]
mov esi, dword [rsp + 0x58]
je 0x140057757
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400688bc.0]
jmp 0x140057757
mov rcx, qword [0x1400d0018]
lea rax, [0x1400d0018]
cmp rcx, rax
je 0x1400579fd
test byte [rcx + 0x1c], 2
je 0x1400579fd
cmp byte [rcx + 0x19], 5
jb 0x1400579fd
mov edx, reloc.WSOCK32.dll_WSAGetLastError
mov r9, rsi
lea r8, [0x1400b4070]
mov rcx, qword [rcx + 0x10]
call fcn.14000351c
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
nop dword [rax + rax]
mov qword [r14 + 0x50], rax
cmp rbx, qword [r14 + 0x80]
jae 0x140057f32
mov rcx, qword [r14 + 0x78]
mov rcx, qword [rcx + rbx*8]
mov qword [rsp + 0x50], rcx
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400688bc.0]
jmp 0x140057afb
mov rax, qword [rdi]
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x28], rcx
mov byte [rsp + 0x20], 1
xor r9d, r9d
mov rbx, qword [rbp - 0x80]
mov r8, rbx
mov rdx, qword [rsp + 0x60]
mov rcx, rdi
mov rax, qword [rax + 0x80]
call qword [case.0x1400688bc.0]
test eax, eax
js 0x140057b6d
mov r8, qword [rsp + 0x50]
mov rdx, rsi
mov rcx, r14
call fcn.1400518d4
mov edi, eax
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x140057a9b
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400688bc.0]
nop
lea rdx, [rbx - 0x18]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x140057ac0
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400688bc.0]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x140057ae6
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400688bc.0]
mov rsi, qword [rsp + 0x70]
mov rcx, qword [rbp - 8]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
test edi, edi
js 0x140057de1
lea rax, [0x1400ab7b8]
mov qword [rbp], rax
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 8], rax
and dword [rbp + 0x10], 0
lea rdx, [rbp]
mov rcx, qword [rsp + 0x50]
call fcn.14006890c
mov edi, eax
test eax, eax
js 0x140057de1
mov rcx, qword [rsp + 0x50]
mov r14, qword [rcx + 0x48]
add r14, qword [rcx + 0x28]
add r15d, r14d
mov dword [rbp + 0xc0], r15d
cmp dword [rbp + 0xe8], 0
jne 0x140057d5c
mov eax, r13d
cmp rax, r14
jbe 0x140057c46
sub r13d, r14d
jmp 0x140057cf5
mov dword [rsp + 0x5c], eax
xor edi, edi
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x140057b8a
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400688bc.0]
nop
lea rdx, [rbx - 0x18]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x140057baf
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400688bc.0]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x140057bd6
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400688bc.0]
nop
mov rcx, qword [rbp - 8]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140057bff
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400688bc.0]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x140057c26
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400688bc.0]
nop
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400688bc.0]
mov rbx, qword [rsp + 0x78]
mov esi, dword [rsp + 0x58]
jmp 0x140057757
xor r15d, r15d
test r14, r14
je 0x140057cee
test r12d, r12d
je 0x140057cee
test r13d, r13d
je 0x140057c65
dec r13d
jmp 0x140057cdf
xor ebx, ebx
mov qword [rbp - 0x48], rbx
mov dword [rbp - 0x40], r15d
xor r12d, r12d
test rcx, rcx
je 0x140057c8e
mov rbx, rcx
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400688bc.0]
mov qword [rbp - 0x48], rbx
mov r12, rbx
xor r9d, r9d
mov r8, qword [rbp - 0x70]
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x78]
call fcn.14005e710
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140057cb0
mov qword [rcx], rax
jmp 0x140057cb4
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
dec dword [rbp + 0xf8]
test r12, r12
je 0x140057cd3
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [case.0x1400688bc.0]
mov r12d, dword [rbp + 0xf8]
mov rcx, qword [rsp + 0x50]
inc r15d
mov eax, r15d
cmp rax, r14
jb 0x140057c52
mov r15d, dword [rbp + 0xc0]
mov r14, qword [rbp + 0xb8]
test rcx, rcx
je 0x140057d0f
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400688bc.0]
nop
lea rdx, [rsi - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140057d31
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400688bc.0]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140057d48
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400688bc.0]
test edi, edi
js 0x140057e45
mov r12d, dword [rbp + 0xf8]
jmp 0x140057c38
xor r15d, r15d
test r14, r14
je 0x140057cee
xor ebx, ebx
mov qword [rbp - 0x38], rbx
mov dword [rbp - 0x30], r15d
xor r12d, r12d
test rcx, rcx
je 0x140057d8d
mov rbx, rcx
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400688bc.0]
mov qword [rbp - 0x38], rbx
mov r12, rbx
xor r9d, r9d
mov r8, qword [rbp - 0x70]
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x78]
call fcn.14005e710
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140057daf
mov qword [rcx], rax
jmp 0x140057db3
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
test r12, r12
je 0x140057dcc
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [case.0x1400688bc.0]
inc r15d
mov eax, r15d
mov rcx, qword [rsp + 0x50]
cmp rax, r14
jb 0x140057d64
jmp 0x140057cee
mov rcx, qword [rsp + 0x50]
jmp 0x140057cfc
mov rcx, qword [0x1400d0018]
lea rax, [0x1400d0018]
cmp rcx, rax
je 0x140057e40
test byte [rcx + 0x1c], 2
je 0x140057e40
cmp byte [rcx + 0x19], 5
jb 0x140057e40
call qword [sym.imp.KERNEL32.dll_GetTickCount]
nop dword [rax + rax]
mov edx, VarDecRound
mov dword [rsp + 0x20], eax
mov r9d, esi
lea r8, [0x1400b4070]
mov rcx, qword [0x1400d0018]
mov rcx, qword [rcx + 0x10]
call fcn.1400054e0
mov rcx, qword [0x1400d0018]
xor r15d, r15d
jmp 0x140057e51
mov rcx, qword [0x1400d0018]
test r15d, r15d
jne 0x140057e5a
mov esi, dword [rsp + 0x5c]
test esi, esi
cmovs edi, esi
mov rbx, qword [rbp + 0x118]
mov rsi, qword [rbp + 0x110]
test edi, edi
js 0x140057ec6
mov eax, dword [rbp + 0xe8]
test eax, eax
je 0x140057ea7
lea r9, [rbp - 0x78]
mov r8, qword [rbp + 0xe0]
mov edx, eax
mov rcx, qword [rbp + 0x108]
call fcn.140057f44
mov edi, eax
test eax, eax
js 0x140057ebf
lea r8, [rbp - 0x78]
mov edx, dword [rbp + 0xf8]
mov ecx, r13d
call fcn.1400583e4
mov r8, rbx
mov rdx, qword [rbp + 0x108]
lea rcx, [rbp - 0x78]
call fcn.14004f834
mov edi, eax
mov dword [rsi], r15d
mov rcx, qword [0x1400d0018]
lea rax, [0x1400d0018]
cmp rcx, rax
je 0x140057f12
test byte [rcx + 0x1c], 1
je 0x140057f12
mov edx, edi
sar edx, 0x1f
and edx, 0xfffffffd
add edx, 5
movzx eax, byte [rcx + 0x19]
cmp eax, edx
jl 0x140057f12
mov edx, VarDecRound
mov rax, qword [rbx]
mov qword [rsp + 0x28], rax
mov eax, dword [rsi]
mov dword [rsp + 0x20], eax
mov r9d, edi
lea r8, [0x1400b4070]
mov rcx, qword [rcx + 0x10]
call fcn.14000ad4c
nop
lea rcx, [rbp - 0x78]
call fcn.140015ee4
mov eax, edi
add rsp, 0x168
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80070057
call fcn.140005068
int3