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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x78]
sub rsp, 0x150
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
mov rax, qword [0x1402f9040]
xor rax, rsp
mov qword [rbp - 0x18], rax
mov qword [rsp + 0x20], rcx
xor r15d, r15d
mov dword [rsp + 0x40], r15d
call fcn.140146640
mov rsi, qword [0x140302380]
movsd xmm0, qword [rsi + 8]
movsd qword [rsp + 0x30], xmm0
mov edx, dword [rsi + 0x10]
mov dword [rsp + 0x38], edx
mov edi, r15d
mov r14, qword [rax + 8]
mov rbx, qword [rax]
cmp rbx, r14
je 0x140035b0a
movss xmm9, dword [rsp + 0x38]
movss xmm10, dword [rsp + 0x30]
movss xmm8, dword [0x1402c81d0]
movss xmm7, dword [0x1402c8110]
movss xmm11, dword [0x1402c8278]
cmp byte [rbx + 0xa7], r15b
je 0x140035af5
mov eax, dword [rsi + 0x1c]
cmp dword [rbx + 0x1c], eax
je 0x140035af5
movss xmm6, dword [rbx + 0xd4]
comiss xmm6, xmm8
jbe 0x140035aa8
movaps xmm6, xmm7
addss xmm6, xmm11
movsd xmm0, qword [rbx + 8]
movaps xmm1, xmm10
movsd qword [rsp + 0x50], xmm0
subss xmm1, xmm0
movaps xmm2, xmm9
subss xmm2, dword [rbx + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140035ae6
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140035aee
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm6, xmm0
jb 0x140035af5
inc edi
add rbx, 0x5f0
cmp rbx, r14
jne 0x140035a86
cmp edi, 1
jge 0x1400360cb
call fcn.140146640
mov rdi, qword [rsp + 0x20]
mov rcx, qword [rdi + 0x38]
movd xmm6, dword [rcx + 0x2b0]
cvtdq2ps xmm6, xmm6
mov rcx, qword [0x140302380]
movsd xmm0, qword [rcx + 8]
movsd qword [rsp + 0x30], xmm0
mov ecx, dword [rcx + 0x10]
mov dword [rsp + 0x38], ecx
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x30], xmm1
mov qword [rbp - 0x20], r15
mov dword [rsp + 0x40], 1
mov r14, qword [rax + 8]
mov rbx, qword [rax]
mov rsi, qword [rbp - 0x28]
cmp rbx, r14
je 0x140035bf4
mulss xmm6, xmm6
lea rdi, [rbx + 8]
movss xmm7, dword [rsp + 0x38]
movss xmm8, dword [rsp + 0x30]
nop dword [rax]
movsd xmm0, qword [rdi]
movaps xmm2, xmm8
movsd qword [rsp + 0x50], xmm0
subss xmm2, xmm0
movaps xmm1, xmm7
subss xmm1, dword [rdi + 8]
mulss xmm1, xmm1
mulss xmm2, xmm2
addss xmm1, xmm2
comiss xmm6, xmm1
jbe 0x140035bdc
mov qword [rsp + 0x48], rbx
cmp rsi, qword [rbp - 0x20]
je 0x140035bc7
mov qword [rsi], rbx
mov rsi, qword [rbp - 0x28]
add rsi, 8
mov qword [rbp - 0x28], rsi
jmp 0x140035bdc
lea r8, [rsp + 0x48]
mov rdx, rsi
lea rcx, [rbp - 0x30]
call fcn.1401383d0
mov rsi, qword [rbp - 0x28]
add rbx, 0x5f0
add rdi, 0x5f0
cmp rbx, r14
jne 0x140035b80
mov rdi, qword [rsp + 0x20]
mov r14, qword [rbp - 0x30]
cmp r14, rsi
je 0x1400360c2
movss xmm9, dword [0x1402c80c8]
movss xmm8, dword [0x1402c82f4]
xorps xmm7, xmm7
movss xmm10, dword [0x1402c8300]
movss xmm11, dword [0x1402c80d0]
nop dword [rax + rax]
mov rcx, qword [r14]
mov rdx, qword [0x140302380]
mov eax, dword [rdx + 0x1c]
cmp dword [rcx + 0x1c], eax
je 0x1400360b5
cmp dword [rdx + 0x388], 0
jbe 0x140035c5c
cmp dword [rdx + 0x384], 0
je 0x1400360b5
movss xmm0, dword [0x1403021a4]
comiss xmm0, dword [rdx + 0x390]
jb 0x1400360b5
mov eax, dword [rdx + 0x380]
test eax, eax
je 0x1400360b5
dec eax
movss xmm1, dword [rdx + rax*4 + 0x3b8]
mov rdx, qword [0x140302380]
movss xmm0, dword [rdx + 0x30]
comiss xmm0, xmm1
jb 0x1400360b5
comiss xmm9, xmm0
ja 0x1400360b5
cmp byte [rcx + 0x90], 0
je 0x1400360b5
movss xmm1, dword [rdi + 0x5c]
addss xmm1, xmm8
movss xmm0, dword [0x140302194]
comiss xmm0, xmm1
jbe 0x1400360b5
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rcx, qword [r14]
sub eax, dword [rcx + 0x8c]
cmp eax, 0x3e8
jb 0x1400360b5
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rcx, qword [r14]
sub eax, dword [rcx + 0x8c]
cmp eax, 0x493e0
jae 0x1400360b5
mov r8, qword [0x140302380]
cmp dword [r8 + 0x388], 0
jbe 0x140035d24
cmp dword [r8 + 0x384], 0
je 0x1400360b5
movss xmm0, dword [0x1403021a4]
comiss xmm0, dword [r8 + 0x390]
jb 0x1400360b5
mov eax, dword [r8 + 0x380]
test eax, eax
je 0x1400360b5
dec eax
mov rdx, qword [0x140302380]
movss xmm0, dword [rdx + 0x30]
comiss xmm0, dword [r8 + rax*4 + 0x3b8]
jb 0x1400360b5
cmp dword [rdx + 0x384], 0
jbe 0x1400360b5
mov rcx, qword [0x1403027b8]
test rcx, rcx
jne 0x140035da0
mov ecx, 0x36e490
call fcn.14022f7fc
mov qword [rsp + 0x48], rax
mov rcx, rax
call fcn.1401debe0
mov rcx, rax
mov qword [0x1403027b8], rax
mov rax, qword [r14]
movsd xmm0, qword [rax + 8]
movsd qword [rbp - 0x80], xmm0
mov eax, dword [rax + 0x10]
mov dword [rbp - 0x78], eax
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x60]
call fcn.1401de270
movss xmm2, dword [rax]
movss xmm1, dword [rax + 4]
comiss xmm2, xmm7
jbe 0x140035f2c
addss xmm2, xmm7
movd xmm0, dword [0x1403021a0]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x140035f2c
comiss xmm1, xmm7
jbe 0x140035f2c
addss xmm1, xmm7
movd xmm0, dword [0x14030219c]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x140035f2c
call fcn.140146b10
mov r12, rax
mov rcx, qword [r14]
movsd xmm6, qword [rcx + 8]
mov r13d, dword [rcx + 0x10]
mov rcx, qword [0x1403022c0]
cmp byte [rcx + 0x6c], 0
jne 0x1400360b5
mov r15, qword [0x140302380]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 0
mov rdx, qword [0x140305598]
sub rdx, qword [0x140305590]
je 0x140035e92
lea rcx, [rsp + 0x60]
call fcn.140012ed0
mov rdi, qword [rsp + 0x60]
mov rdx, qword [0x140305590]
mov rbx, qword [0x140305598]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
lea rax, [rdi + rbx]
mov qword [rsp + 0x68], rax
mov rdi, qword [rsp + 0x20]
lea rdx, [rsp + 0x60]
lea rcx, [r15 + 0x170]
call fcn.140062670
test al, al
jne 0x1400360b5
mov rax, qword [0x1403022e0]
cmp dword [rax + 0x15c], 1
je 0x1400360b5
mov rax, qword [0x1403027b8]
test rax, rax
jne 0x140035ee9
mov ecx, 0x36e490
call fcn.14022f7fc
mov qword [rbp - 0x50], rax
mov rcx, rax
call fcn.1401debe0
nop
mov qword [0x1403027b8], rax
movsd qword [rbp - 0x70], xmm6
mov dword [rbp - 0x68], r13d
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x48]
mov rcx, rax
call fcn.1401de270
mov r8, qword [rax]
mov edx, 2
mov rcx, r12
call fcn.14006eb00
test al, al
je 0x1400360b5
movss xmm0, dword [0x140302194]
movss dword [rdi + 0x5c], xmm0
jmp 0x1400360b5
call fcn.140146b10
mov r12, rax
mov rbx, qword [0x1403027b8]
test rbx, rbx
jne 0x140035f60
mov ecx, 0x36e490
call fcn.14022f7fc
mov qword [rbp - 0x40], rax
mov rcx, rax
call fcn.1401debe0
mov rbx, rax
mov qword [0x1403027b8], rax
mov rcx, qword [r14]
movsd xmm0, qword [rcx + 8]
movsd qword [rsp + 0x50], xmm0
mov r13d, dword [rcx + 0x10]
movss xmm1, dword [rbx + 0xc4]
addss xmm1, xmm8
movss xmm0, dword [0x140302194]
comiss xmm0, xmm1
jbe 0x140035fed
call fcn.1401474e0
mov r8, qword [0x140302968]
add r8, 0x68
lea rdx, [rbp - 0x38]
mov rcx, rax
call fcn.140149f20
movsd xmm0, qword [rax]
movsd qword [rbx + 0x36e450], xmm0
call fcn.1401474e0
mov r8, qword [0x140302968]
add r8, 0x60
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.140149f20
movsd xmm0, qword [rax]
movsd qword [rbx + 0x36e458], xmm0
movss xmm1, dword [0x140302194]
movss dword [rbx + 0xc4], xmm1
movd xmm1, r13d
divss xmm1, xmm10
movss xmm2, dword [rsp + 0x50]
divss xmm2, xmm10
mulss xmm2, dword [rbx + 0x36e450]
addss xmm2, dword [rbx + 0x36e458]
movss xmm0, dword [rbx + 0x36e454]
movaps xmm3, xmm0
addss xmm3, dword [rbx + 0x36e45c]
mulss xmm0, xmm1
subss xmm3, xmm0
movss xmm0, dword [r12]
addss xmm0, xmm11
comiss xmm0, dword [0x140302194]
ja 0x1400360b0
mov rax, qword [0x140302380]
cmp byte [rax + 0xa7], 0
je 0x1400360b0
cmp byte [0x140302199], 0
jne 0x1400360b0
cmp byte [0x140302198], 0
jne 0x1400360b0
mov edx, 2
call fcn.14006e850
mov ebx, eax
test eax, eax
je 0x1400360b0
unpcklps xmm2, xmm3
movq rdx, xmm2
call fcn.14006dc70
movzx edx, bx
mov rcx, r12
call fcn.14006ea00
movzx edx, bx
mov rcx, r12
call fcn.14006ea80
movss xmm0, dword [0x140302194]
movss dword [r12], xmm0
mov rdi, qword [rsp + 0x20]
movss dword [rdi + 0x5c], xmm0
jmp 0x1400360b5
mov rdi, qword [rsp + 0x20]
add r14, 8
cmp r14, rsi
jne 0x140035c30
lea rcx, [rbp - 0x30]
call fcn.14002a9c0
mov rcx, qword [rbp - 0x18]
xor rcx, rsp
call fcn.14022f560
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret