Function at 0x1400514b4
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 - 0x58]
sub rsp, 0x158
mov rbx, r8
mov r14, rdx
lea rax, section..data
mov r13d, dword [rbp + 0xe0]
mov rcx, qword [section..data]
cmp rcx, rax
je 0x140051551
test byte [rcx + 0x1c], 1
je 0x140051551
mov r12d, dword [rbp + 0xe8]
cmp byte [rcx + 0x19], 5
jb 0x140051558
mov rax, qword [rbp + 0xf8]
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
mov r8, qword [rbp + 0xd0]
mov qword [rsp + 0x40], r8
mov eax, dword [rbp + 0xd8]
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.140063508
jmp 0x140051558
mov r12d, dword [rbp + 0xe8]
xor edi, edi
xor esi, esi
mov dword [rsp + 0x5c], esi
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 0x140051d8e
call qword [sym.imp.KERNEL32.dll_GetTickCount]
nop dword [rax + rax]
sub eax, esi
cmp eax, 0x3a98
ja 0x140051d34
and qword [rsp + 0x68], 0
mov rcx, qword [rbx + 0x10]
mov rbx, qword [rbx]
mov qword [rbp - 0x80], rbx
sub rcx, 0x18
call fcn.1400055c8
lea rsi, [rax + 0x18]
mov qword [rsp + 0x70], rsi
and qword [rsp + 0x50], 0
xor ebx, ebx
cmp qword [r14 + 0x60], rbx
jbe 0x140051618
cmp rbx, qword [r14 + 0x60]
jae 0x140051ea0
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 0x140051850
inc rbx
cmp rbx, qword [r14 + 0x60]
jb 0x1400515f0
and qword [rsp + 0x50], 0
lea r8, [rsp + 0x68]
mov rdx, rsi
mov rcx, qword [rbp + 0xa0]
call fcn.1400717a0
mov edi, eax
test eax, eax
js 0x1400519b8
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 + 0xf8]
mov r8, qword [rax]
mov rax, qword [rbp + 0xf0]
mov rdx, qword [rax]
lea rcx, [rbp - 0x28]
call fcn.14005a114
mov edi, eax
test eax, eax
js 0x1400519a8
mov rax, qword [0x1400cce40]
movabs r10, 0xb1a8ae8f5a5da170
lea rcx, [0x1400cce40]
mov rax, qword [rax + 0x18]
call qword [case.0x140071786.0]
add rax, 0x18
mov qword [rsp + 0x60], rax
mov rax, qword [0x1400cce40]
movabs r10, 0xb1a8ae8f5a5da170
lea rcx, [0x1400cce40]
mov rax, qword [rax + 0x18]
call qword [case.0x140071786.0]
add rax, 0x18
mov qword [rsp + 0x78], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0xd8]
mov dword [rsp + 0x30], eax
mov rax, qword [rbp + 0xd0]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0xc8]
mov dword [rsp + 0x20], eax
mov r9, qword [rbp + 0xc0]
mov r8, qword [rbp + 0xb8]
mov rdi, qword [rsp + 0x68]
mov rdx, rdi
lea rcx, [rbp + 0x18]
call fcn.1400758e0
nop
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x18]
call fcn.140075960
test eax, eax
jns 0x1400518cd
xor edi, edi
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x140051758
mov rax, qword [rcx]
movabs r10, 0xbaac1f10365eb170
mov rax, qword [rax + 0x10]
call qword [case.0x140071786.0]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x14005178c
mov rcx, qword [rdx]
mov rax, qword [rcx]
movabs r10, 0xee98078a7ad38370
mov rax, qword [rax + 8]
call qword [case.0x140071786.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 0x1400517bd
mov rcx, qword [rdx]
mov rax, qword [rcx]
movabs r10, 0xee98078a7ad38370
mov rax, qword [rax + 8]
call qword [case.0x140071786.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 0x1400517f0
mov rax, qword [rcx]
movabs r10, 0xbaac1f10365eb170
mov rax, qword [rax + 0x10]
call qword [case.0x140071786.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 0x140051821
mov rcx, qword [rdx]
mov rax, qword [rcx]
movabs r10, 0xee98078a7ad38370
mov rax, qword [rax + 8]
call qword [case.0x140071786.0]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140051843
mov rax, qword [rcx]
movabs r10, 0xbaac1f10365eb170
mov rax, qword [rax + 0x10]
call qword [case.0x140071786.0]
nop
mov rbx, qword [rbp - 0x80]
mov esi, dword [rsp + 0x58]
jmp 0x140051593
mov rcx, qword [section..data]
lea rax, section..data
cmp rcx, rax
je 0x140051887
test byte [rcx + 0x1c], 2
je 0x140051887
cmp byte [rcx + 0x19], 5
jb 0x140051887
mov edx, reloc.WSOCK32.dll_WSAGetLastError
mov r9, rsi
lea r8, [0x1400b6fc0]
mov rcx, qword [rcx + 0x10]
call fcn.1400062dc
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
nop dword [rax + rax]
mov qword [r14 + 0x50], rax
cmp rbx, qword [r14 + 0x80]
jae 0x140051ea0
mov rcx, qword [r14 + 0x78]
mov rcx, qword [rcx + rbx*8]
mov qword [rsp + 0x50], rcx
mov rax, qword [rcx]
movabs r10, 0xfd41b67356dad870
mov rax, qword [rax + 8]
call qword [case.0x140071786.0]
jmp 0x1400519b8
mov rax, qword [rdi]
movabs r10, 0x941c8e1238502a70
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x28], rcx
mov byte [rsp + 0x20], 1
xor r9d, r9d
mov rbx, qword [rsp + 0x78]
mov r8, rbx
mov rdx, qword [rsp + 0x60]
mov rcx, rdi
mov rax, qword [rax + 0x80]
call qword [case.0x140071786.0]
test eax, eax
js 0x140051a2a
mov r8, qword [rsp + 0x50]
mov rdx, rsi
mov rcx, r14
call fcn.14005f25c
mov edi, eax
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x140051944
mov rax, qword [rcx]
movabs r10, 0xbaac1f10365eb170
mov rax, qword [rax + 0x10]
call qword [case.0x140071786.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 0x140051973
mov rcx, qword [rdx]
mov rax, qword [rcx]
movabs r10, 0xee98078a7ad38370
mov rax, qword [rax + 8]
call qword [case.0x140071786.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 0x1400519a3
mov rcx, qword [rdx]
mov rax, qword [rcx]
movabs r10, 0xee98078a7ad38370
mov rax, qword [rax + 8]
call qword [case.0x140071786.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 0x140051d2a
lea rax, [0x1400aed80]
mov qword [rbp], rax
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 8], rax
and dword [rbp + 0x10], 0
lea rdx, [rbp]
mov rcx, qword [rsp + 0x50]
call fcn.1400704a4
mov edi, eax
test eax, eax
js 0x140051d2a
mov rcx, qword [rsp + 0x50]
mov rbx, qword [rcx + 0x48]
add rbx, qword [rcx + 0x28]
add r15d, ebx
mov dword [rbp + 0xb0], r15d
cmp dword [rbp + 0xd8], 0
jne 0x140051c86
mov eax, r13d
cmp rax, rbx
jbe 0x140051b37
sub r13d, ebx
jmp 0x140051c07
mov dword [rsp + 0x5c], eax
xor edi, edi
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x140051a51
mov rax, qword [rcx]
movabs r10, 0xbaac1f10365eb170
mov rax, qword [rax + 0x10]
call qword [case.0x140071786.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 0x140051a80
mov rcx, qword [rdx]
mov rax, qword [rcx]
movabs r10, 0xee98078a7ad38370
mov rax, qword [rax + 8]
call qword [case.0x140071786.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 0x140051ab1
mov rcx, qword [rdx]
mov rax, qword [rcx]
movabs r10, 0xee98078a7ad38370
mov rax, qword [rax + 8]
call qword [case.0x140071786.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 0x140051ae4
mov rax, qword [rcx]
movabs r10, 0xbaac1f10365eb170
mov rax, qword [rax + 0x10]
call qword [case.0x140071786.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 0x140051b15
mov rcx, qword [rdx]
mov rax, qword [rcx]
movabs r10, 0xee98078a7ad38370
mov rax, qword [rax + 8]
call qword [case.0x140071786.0]
nop
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
movabs r10, 0xbaac1f10365eb170
mov rax, qword [rax + 0x10]
call qword [case.0x140071786.0]
nop
jmp 0x140051843
xor r15d, r15d
test rbx, rbx
je 0x140051c00
test r12d, r12d
je 0x140051bf9
test r13d, r13d
je 0x140051b59
dec r13d
jmp 0x140051bea
xor r14d, r14d
mov qword [rbp - 0x48], r14
mov dword [rbp - 0x40], r15d
test rcx, rcx
jne 0x140051b6e
xor r12d, r12d
jmp 0x140051b8f
mov r14, rcx
mov rax, qword [rcx]
movabs r10, 0xfd41b67356dad870
mov rax, qword [rax + 8]
call qword [case.0x140071786.0]
mov qword [rbp - 0x48], r14
mov r12, r14
xor r9d, r9d
mov r8, qword [rbp - 0x70]
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x78]
call fcn.14005a644
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140051bb1
mov qword [rcx], rax
jmp 0x140051bb5
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
dec dword [rbp + 0xe8]
test r12, r12
je 0x140051bde
mov rax, qword [r14]
movabs r10, 0xbaac1f10365eb170
mov rcx, r14
mov rax, qword [rax + 0x10]
call qword [case.0x140071786.0]
mov r12d, dword [rbp + 0xe8]
mov rcx, qword [rsp + 0x50]
inc r15d
mov eax, r15d
cmp rax, rbx
jb 0x140051b43
mov r14, qword [rbp + 0xa8]
mov r15d, dword [rbp + 0xb0]
test rcx, rcx
je 0x140051c24
mov rax, qword [rcx]
movabs r10, 0xbaac1f10365eb170
mov rax, qword [rax + 0x10]
call qword [case.0x140071786.0]
nop
lea rdx, [rsi - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140051c50
mov rcx, qword [rdx]
mov rax, qword [rcx]
movabs r10, 0xee98078a7ad38370
mov rax, qword [rax + 8]
call qword [case.0x140071786.0]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140051c72
mov rax, qword [rcx]
movabs r10, 0xbaac1f10365eb170
mov rax, qword [rax + 0x10]
call qword [case.0x140071786.0]
nop
test edi, edi
js 0x140051d8e
mov r12d, dword [rbp + 0xe8]
jmp 0x140051843
xor r15d, r15d
test rbx, rbx
je 0x140051c00
xor r14d, r14d
mov qword [rbp - 0x38], r14
mov dword [rbp - 0x30], r15d
test rcx, rcx
jne 0x140051ca7
xor r12d, r12d
jmp 0x140051cc8
mov r14, rcx
mov rax, qword [rcx]
movabs r10, 0xfd41b67356dad870
mov rax, qword [rax + 8]
call qword [case.0x140071786.0]
mov qword [rbp - 0x38], r14
mov r12, r14
xor r9d, r9d
mov r8, qword [rbp - 0x70]
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x78]
call fcn.14005a644
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140051cea
mov qword [rcx], rax
jmp 0x140051cee
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
test r12, r12
je 0x140051d11
mov rax, qword [r14]
movabs r10, 0xbaac1f10365eb170
mov rcx, r14
mov rax, qword [rax + 0x10]
call qword [case.0x140071786.0]
inc r15d
mov eax, r15d
mov rcx, qword [rsp + 0x50]
cmp rax, rbx
jb 0x140051c92
jmp 0x140051bf9
mov rcx, qword [rsp + 0x50]
jmp 0x140051c07
mov rcx, qword [section..data]
lea rax, section..data
cmp rcx, rax
je 0x140051d89
test byte [rcx + 0x1c], 2
je 0x140051d89
cmp byte [rcx + 0x19], 5
jb 0x140051d89
call qword [sym.imp.KERNEL32.dll_GetTickCount]
nop dword [rax + rax]
mov rcx, qword [section..data]
mov edx, VarDecRound
mov dword [rsp + 0x20], eax
mov r9d, esi
lea r8, [0x1400b6fc0]
mov rcx, qword [rcx + 0x10]
call fcn.1400191d0
mov rcx, qword [section..data]
xor r15d, r15d
jmp 0x140051d9e
mov rcx, qword [section..data]
test r15d, r15d
jne 0x140051e23
mov esi, dword [rsp + 0x5c]
test esi, esi
jns 0x140051e23
mov edi, esi
mov rbx, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
lea rax, section..data
cmp rcx, rax
je 0x140051e03
test byte [rcx + 0x1c], 1
je 0x140051e03
mov edx, edi
sar edx, 0x1f
and edx, 0xfffffffd
add edx, 5
movzx eax, byte [rcx + 0x19]
cmp eax, edx
jl 0x140051e03
mov edx, VarDecRound
mov rax, qword [rbx]
mov qword [rsp + 0x28], rax
mov eax, dword [r8]
mov dword [rsp + 0x20], eax
mov r9d, edi
lea r8, [0x1400b6fc0]
mov rcx, qword [rcx + 0x10]
call fcn.1400634a8
nop
lea rcx, [rbp - 0x78]
call fcn.14005c87c
mov eax, edi
add rsp, 0x158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test edi, edi
js 0x140051da8
mov eax, dword [rbp + 0xd8]
test eax, eax
je 0x140051e62
lea r9, [rbp - 0x78]
mov r8, qword [rbp + 0xd0]
mov edx, eax
mov rcx, qword [rbp + 0xf8]
call fcn.14005ed74
mov edi, eax
test eax, eax
js 0x140051e94
lea r8, [rbp - 0x78]
mov edx, dword [rbp + 0xe8]
mov ecx, r13d
call fcn.14005c2b8
mov rbx, qword [rbp + 0x108]
mov r8, rbx
mov rdx, qword [rbp + 0xf8]
lea rcx, [rbp - 0x78]
call fcn.140050cf4
mov edi, eax
mov r8, qword [rbp + 0x100]
mov dword [r8], r15d
mov rcx, qword [section..data]
jmp 0x140051db6
mov rcx, qword [section..data]
jmp 0x140051da8
mov ecx, 0x80070057
call fcn.1400055a0
int3