Function at 0x140057490
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, [0x1400cf018]
mov r13d, dword [rbp + 0xf0]
mov rcx, qword [0x1400cf018]
cmp rcx, rax
je 0x140057535
test byte [rcx + 0x1c], 1
je 0x140057535
mov r12d, dword [rbp + 0xf8]
cmp byte [rcx + 0x19], 5
jb 0x14005753c
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.14004a0d4
jmp 0x14005753c
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 0x140057c65
call qword [sym.imp.KERNEL32.dll_GetTickCount]
nop dword [rax + rax]
sub eax, esi
cmp eax, 0x3a98
ja 0x140057c0b
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 0x1400575fd
cmp rbx, qword [r14 + 0x60]
jae 0x140057d52
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 0x1400577e6
inc rbx
cmp rbx, qword [r14 + 0x60]
jb 0x1400575d5
and qword [rsp + 0x50], 0
lea r8, [rsp + 0x68]
mov rdx, rsi
mov rcx, qword [rbp + 0xb0]
call fcn.140069134
mov edi, eax
test eax, eax
js 0x14005791b
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.140050df8
mov edi, eax
test eax, eax
js 0x14005790b
mov rax, qword [0x1400d1e50]
lea rcx, [0x1400d1e50]
mov rax, qword [rax + 0x18]
call qword [str._E_n_]
add rax, 0x18
mov qword [rsp + 0x60], rax
mov rax, qword [0x1400d1e50]
lea rcx, [0x1400d1e50]
mov rax, qword [rax + 0x18]
call qword [str._E_n_]
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.14006fd90
nop
lea r8, [rbp - 0x80]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x20]
call fcn.14006fe04
test eax, eax
jns 0x140057859
xor edi, edi
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x14005771d
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [str._E_n_]
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 0x140057746
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [str._E_n_]
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 0x14005776d
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [str._E_n_]
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 0x140057796
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [str._E_n_]
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 0x1400577bd
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [str._E_n_]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
mov rbx, qword [rsp + 0x78]
mov esi, dword [rsp + 0x58]
je 0x140057577
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [str._E_n_]
jmp 0x140057577
mov rcx, qword [0x1400cf018]
lea rax, [0x1400cf018]
cmp rcx, rax
je 0x14005781d
test byte [rcx + 0x1c], 2
je 0x14005781d
cmp byte [rcx + 0x19], 5
jb 0x14005781d
mov edx, reloc.WSOCK32.dll_WSAGetLastError
mov r9, rsi
lea r8, [0x1400b2f80]
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 0x140057d52
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 [str._E_n_]
jmp 0x14005791b
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 [str._E_n_]
test eax, eax
js 0x14005798d
mov r8, qword [rsp + 0x50]
mov rdx, rsi
mov rcx, r14
call fcn.1400516c4
mov edi, eax
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x1400578bb
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [str._E_n_]
nop
lea rdx, [rbx - 0x18]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x1400578e0
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [str._E_n_]
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 0x140057906
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [str._E_n_]
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 0x140057c01
lea rax, [0x1400aa7b8]
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.14006855c
mov edi, eax
test eax, eax
js 0x140057c01
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 0x140057b7c
mov eax, r13d
cmp rax, r14
jbe 0x140057a66
sub r13d, r14d
jmp 0x140057b15
mov dword [rsp + 0x5c], eax
xor edi, edi
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x1400579aa
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [str._E_n_]
nop
lea rdx, [rbx - 0x18]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x1400579cf
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [str._E_n_]
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 0x1400579f6
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [str._E_n_]
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 0x140057a1f
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [str._E_n_]
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 0x140057a46
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [str._E_n_]
nop
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [str._E_n_]
mov rbx, qword [rsp + 0x78]
mov esi, dword [rsp + 0x58]
jmp 0x140057577
xor r15d, r15d
test r14, r14
je 0x140057b0e
test r12d, r12d
je 0x140057b0e
test r13d, r13d
je 0x140057a85
dec r13d
jmp 0x140057aff
xor ebx, ebx
mov qword [rbp - 0x48], rbx
mov dword [rbp - 0x40], r15d
xor r12d, r12d
test rcx, rcx
je 0x140057aae
mov rbx, rcx
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [str._E_n_]
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.14005e384
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140057ad0
mov qword [rcx], rax
jmp 0x140057ad4
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
dec dword [rbp + 0xf8]
test r12, r12
je 0x140057af3
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [str._E_n_]
mov r12d, dword [rbp + 0xf8]
mov rcx, qword [rsp + 0x50]
inc r15d
mov eax, r15d
cmp rax, r14
jb 0x140057a72
mov r15d, dword [rbp + 0xc0]
mov r14, qword [rbp + 0xb8]
test rcx, rcx
je 0x140057b2f
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [str._E_n_]
nop
lea rdx, [rsi - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140057b51
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [str._E_n_]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140057b68
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [str._E_n_]
test edi, edi
js 0x140057c65
mov r12d, dword [rbp + 0xf8]
jmp 0x140057a58
xor r15d, r15d
test r14, r14
je 0x140057b0e
xor ebx, ebx
mov qword [rbp - 0x38], rbx
mov dword [rbp - 0x30], r15d
xor r12d, r12d
test rcx, rcx
je 0x140057bad
mov rbx, rcx
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [str._E_n_]
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.14005e384
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140057bcf
mov qword [rcx], rax
jmp 0x140057bd3
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
test r12, r12
je 0x140057bec
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [str._E_n_]
inc r15d
mov eax, r15d
mov rcx, qword [rsp + 0x50]
cmp rax, r14
jb 0x140057b84
jmp 0x140057b0e
mov rcx, qword [rsp + 0x50]
jmp 0x140057b1c
mov rcx, qword [0x1400cf018]
lea rax, [0x1400cf018]
cmp rcx, rax
je 0x140057c60
test byte [rcx + 0x1c], 2
je 0x140057c60
cmp byte [rcx + 0x19], 5
jb 0x140057c60
call qword [sym.imp.KERNEL32.dll_GetTickCount]
nop dword [rax + rax]
mov edx, VarDecRound
mov dword [rsp + 0x20], eax
mov r9d, esi
lea r8, [0x1400b2f80]
mov rcx, qword [0x1400cf018]
mov rcx, qword [rcx + 0x10]
call fcn.1400054e0
mov rcx, qword [0x1400cf018]
xor r15d, r15d
jmp 0x140057c71
mov rcx, qword [0x1400cf018]
test r15d, r15d
jne 0x140057c7a
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 0x140057ce6
mov eax, dword [rbp + 0xe8]
test eax, eax
je 0x140057cc7
lea r9, [rbp - 0x78]
mov r8, qword [rbp + 0xe0]
mov edx, eax
mov rcx, qword [rbp + 0x108]
call fcn.140057d64
mov edi, eax
test eax, eax
js 0x140057cdf
lea r8, [rbp - 0x78]
mov edx, dword [rbp + 0xf8]
mov ecx, r13d
call fcn.140058204
mov r8, rbx
mov rdx, qword [rbp + 0x108]
lea rcx, [rbp - 0x78]
call fcn.14004f624
mov edi, eax
mov dword [rsi], r15d
mov rcx, qword [0x1400cf018]
lea rax, [0x1400cf018]
cmp rcx, rax
je 0x140057d32
test byte [rcx + 0x1c], 1
je 0x140057d32
mov edx, edi
sar edx, 0x1f
and edx, 0xfffffffd
add edx, 5
movzx eax, byte [rcx + 0x19]
cmp eax, edx
jl 0x140057d32
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, [0x1400b2f80]
mov rcx, qword [rcx + 0x10]
call fcn.14000ad4c
nop
lea rcx, [rbp - 0x78]
call fcn.140015e2c
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