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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax]
mov eax, dword [rcx + rax]
cmp dword [0x140117224], eax
jg 0x14002dfd0
mov rax, qword [0x140116b20]
xor esi, esi
mov rdx, qword [0x140116b18]
mov edi, esi
sub rax, rdx
mov dword [rbp + 0x90], esi
sar rax, 5
test rax, rax
je 0x14002dfb8
mov qword [rsp + 0x168], rbx
mov qword [rsp + 0x160], r12
mov r12d, esi
mov qword [rsp + 0x158], r13
mov r13d, esi
mov qword [rsp + 0x150], r14
mov r14d, esi
mov qword [rsp + 0x148], r15
mov r15d, esi
vmovaps xmmword [rsp + 0x130], xmm6
vmovaps xmmword [rsp + 0x120], xmm7
vmovss xmm7, dword [0x140086f30]
vmovaps xmmword [rsp + 0x100], xmm9
vmovaps xmmword [rsp + 0xf0], xmm10
vmovss xmm10, dword [0x14008702c]
vmovaps xmmword [rsp + 0xe0], xmm11
vmovss xmm11, dword [0x140086dec]
vmovaps xmmword [rsp + 0xd0], xmm12
vmovss xmm12, dword [0x140086efc]
vmovaps xmmword [rsp + 0xc0], xmm13
vmovss xmm13, dword [0x140086f18]
vmovaps xmmword [rsp + 0xb0], xmm14
vmovss xmm14, dword [0x140086da4]
vmovaps xmmword [rsp + 0xa0], xmm15
vmovss xmm15, dword [0x140086f78]
vmovaps xmmword [rsp + 0x110], xmm8
mov qword [rsp + 0x50], rsi
vxorps xmm9, xmm9, xmm9
nop dword [rax]
mov rax, qword [0x140116768]
vmovss xmm6, dword [rax + 0x18]
mov rax, qword [0x140116ab8]
cmp dword [r12 + rax], 1
jbe 0x14002d75e
cmp qword [rdx + r13 + 0x18], 0xf
lea rax, [rdx + r13]
jbe 0x14002d6ed
mov rax, qword [rax]
mov rcx, qword [0x140116768]
test rax, rax
jne 0x14002d70c
vmovss xmm1, dword [0x140087058]
vmovaps xmm0, xmm9
vsubss xmm1, xmm1, xmm0
jmp 0x14002d763
vmovss xmm2, dword [rcx + 0x3d38]
mov rcx, qword [rcx + 0x3d30]
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
vmovss dword [rsp + 0x20], xmm10
vzeroupper
call fcn.140059610
vaddss xmm1, xmm11, dword [rsp + 0x60]
vcvttss2si eax, xmm1
vmovss xmm1, dword [0x140087058]
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vmovss dword [rsp + 0x60], xmm0
vsubss xmm1, xmm1, xmm0
jmp 0x14002d763
vmovaps xmm1, xmm9
mov rax, qword [0x140116ae8]
vmovss xmm2, dword [r15 + rax]
vsubss xmm0, xmm1, xmm2
vmulss xmm1, xmm0, xmm6
vfmadd231ss xmm2, xmm1, dword [0x140086ef0]
vmovss dword [r15 + rax], xmm2
mov rax, qword [0x140116ae8]
test edi, edi
je 0x14002d79b
vaddss xmm1, xmm15, dword [r15 + rax - 4]
jmp 0x14002d7a0
vmovaps xmm1, xmm13
vmovss dword [r15 + rax + 4], xmm1
vzeroupper
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x140117220]
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, rax
mov rax, qword [0x140116b00]
vcomiss xmm0, dword [r12 + rax]
jbe 0x14002d800
mov rax, qword [0x140116ab8]
mov ecx, dword [r12 + rax]
test ecx, ecx
jne 0x14002d7e7
mov dword [r12 + rax], 1
jmp 0x14002d7f4
cmp ecx, 1
jne 0x14002d7f4
mov dword [r12 + rax], 2
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x140117220], eax
mov rdx, qword [0x140116ab8]
cmp dword [r12 + rdx], 2
jne 0x14002da2b
mov rcx, qword [0x140116b18]
mov rbx, qword [0x140116ae8]
add rcx, r13
cmp qword [rcx + 0x18], 0xf
jbe 0x14002d82d
mov rcx, qword [rcx]
mov rax, qword [0x140116768]
test rcx, rcx
jne 0x14002d840
vmovaps xmm0, xmm9
jmp 0x14002d888
vmovss xmm2, dword [rax + 0x3d38]
mov qword [rsp + 0x30], rsi
lea rdx, [rsp + 0x68]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 0x3d30]
vmovss dword [rsp + 0x20], xmm10
call fcn.140059610
vaddss xmm1, xmm11, dword [rsp + 0x68]
mov rdx, qword [0x140116ab8]
vcvttss2si eax, xmm1
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vmovss dword [rsp + 0x68], xmm0
vmovss xmm1, dword [0x140087054]
vsubss xmm0, xmm1, xmm0
vcomiss xmm0, dword [r15 + rbx]
jbe 0x14002da2b
mov r8, qword [0x140116ac0]
movsxd rbx, edi
lea rcx, [rdx + rbx*4]
lea rdx, [rcx + 4]
sub r8, rdx
call sub.VCRUNTIME140.dll_memmove
mov rax, qword [0x140116ae8]
mov r8, qword [0x140116af0]
sub qword [0x140116ac0], 4
lea rcx, [rax + rbx*8]
lea rdx, [rcx + 8]
sub r8, rdx
call sub.VCRUNTIME140.dll_memmove
mov r8, qword [0x140116aa8]
mov rcx, rbx
sub qword [0x140116af0], 8
shl rcx, 4
add rcx, qword [0x140116aa0]
lea rdx, [rcx + 0x10]
sub r8, rdx
call sub.VCRUNTIME140.dll_memmove
sub qword [0x140116aa8], 0x10
mov r14, qword [0x140116b20]
shl rbx, 5
add rbx, qword [0x140116b18]
lea rax, [rbx + 0x20]
cmp rax, r14
je 0x14002d9c0
add rbx, 0x30
nop dword [rax]
nop dword [rax + rax]
lea rsi, [rbx - 0x10]
lea rdi, [rbx - 0x30]
cmp rdi, rsi
je 0x14002d9a4
mov rdx, qword [rbx - 0x18]
cmp rdx, 0xf
jbe 0x14002d98a
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x14002d982
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14002dfc6
mov rcx, r8
vzeroupper
call fcn.1400783d0
vmovups ymm0, ymmword [rsi]
vmovups ymmword [rdi], ymm0
mov qword [rbx], 0
mov qword [rbx + 8], 0xf
mov byte [rsi], 0
add rbx, 0x20
lea rax, [rbx - 0x10]
cmp rax, r14
jne 0x14002d940
mov r14, qword [0x140116b20]
xor esi, esi
mov edi, dword [rbp + 0x90]
mov rdx, qword [r14 - 8]
cmp rdx, 0xf
jbe 0x14002d9fe
mov rcx, qword [r14 - 0x20]
inc rdx
cmp rdx, 0x1000
jb 0x14002d9f6
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14002dfc6
mov rcx, r8
vzeroupper
call fcn.1400783d0
mov qword [r14 - 0x10], rsi
mov qword [r14 - 8], 0xf
mov byte [r14 - 0x20], 0
mov rcx, qword [0x140116b20]
mov r14, qword [rsp + 0x50]
sub rcx, 0x20
mov qword [0x140116b20], rcx
jmp 0x14002df1c
mov rax, qword [0x140116768]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4b18]
mov rcx, qword [rcx]
call fcn.140034b10
vmovups xmm0, xmmword [0x140087210]
lea rcx, [rsp + 0x50]
mov rbx, rax
vmovups xmmword [rsp + 0x50], xmm0
call fcn.140030e90
mov rdx, qword [0x140116b18]
mov edi, eax
add rdx, r13
cmp qword [rdx + 0x18], 0xf
jbe 0x14002da7b
mov rdx, qword [rdx]
mov rcx, qword [0x140116768]
vmovss xmm5, dword [rcx + 0x3d38]
test rdx, rdx
jne 0x14002da96
vmovaps xmm1, xmm9
jmp 0x14002dae1
mov rcx, qword [rcx + 0x3d30]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rdx
lea rdx, [rbp + 0x98]
vmovaps xmm2, xmm5
vmovss dword [rsp + 0x20], xmm10
call fcn.140059610
vaddss xmm1, xmm11, dword [rbp + 0x98]
vmovss xmm5, dword [rbp + 0x9c]
vcvttss2si eax, xmm1
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
vmovss dword [rbp + 0x98], xmm1
mov rax, qword [0x140116ae8]
lea r8, [rsp + 0x70]
mov dword [rsp + 0x28], esi
lea rdx, [rsp + 0x78]
mov r9d, edi
mov rcx, rbx
vmovss dword [rsp + 0x20], xmm9
vmovss xmm3, dword [r15 + rax]
vaddss xmm0, xmm3, dword [0x140086f80]
vmovss xmm4, dword [r15 + rax + 4]
vaddss xmm2, xmm4, dword [0x140086f3c]
vaddss xmm1, xmm0, xmm1
vmovss dword [rsp + 0x70], xmm1
vaddss xmm1, xmm3, xmm13
vaddss xmm0, xmm2, xmm5
vmovss dword [rsp + 0x78], xmm1
vmovss dword [rsp + 0x74], xmm0
vmovss dword [rsp + 0x7c], xmm4
call fcn.140054c60
mov rax, qword [0x140116768]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4b18]
mov rcx, qword [rcx]
call fcn.140034b10
vmovups xmm0, xmmword [0x140087210]
lea rcx, [rsp + 0x50]
mov rbx, rax
vmovups xmmword [rsp + 0x50], xmm0
call fcn.140030e90
mov rdx, qword [0x140116b18]
mov edi, eax
add rdx, r13
cmp qword [rdx + 0x18], 0xf
jbe 0x14002db99
mov rdx, qword [rdx]
mov rcx, qword [0x140116768]
vmovss xmm5, dword [rcx + 0x3d38]
test rdx, rdx
jne 0x14002dbb4
vmovaps xmm1, xmm9
jmp 0x14002dbff
mov rcx, qword [rcx + 0x3d30]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rdx
lea rdx, [rbp + 0xa0]
vmovaps xmm2, xmm5
vmovss dword [rsp + 0x20], xmm10
call fcn.140059610
vaddss xmm1, xmm11, dword [rbp + 0xa0]
vmovss xmm5, dword [rbp + 0xa4]
vcvttss2si eax, xmm1
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
vmovss dword [rbp + 0xa0], xmm1
mov rax, qword [0x140116ae8]
lea r8, [rbp - 0x80]
mov dword [rsp + 0x28], esi
lea rdx, [rbp - 0x78]
mov r9d, edi
mov rcx, rbx
vmovss dword [rsp + 0x20], xmm9
vmovss xmm3, dword [r15 + rax]
vmovss xmm4, dword [r15 + rax + 4]
vaddss xmm0, xmm3, dword [0x140086f7c]
vaddss xmm1, xmm0, xmm1
vaddss xmm2, xmm7, xmm4
vaddss xmm0, xmm2, xmm5
vmovss dword [rbp - 0x7c], xmm0
vaddss xmm0, xmm4, dword [0x140086ec8]
vmovss dword [rbp - 0x80], xmm1
vaddss xmm1, xmm3, xmm7
vmovss dword [rbp - 0x74], xmm0
vmovss dword [rbp - 0x78], xmm1
call fcn.140054c60
mov rax, qword [0x140117098]
lea r8, str.Background
mov rbx, qword [0x140116b18]
xor edx, edx
vmovups xmm8, xmmword [0x1400872f0]
add rbx, r13
mov rdi, qword [rax]
mov rax, qword [0x140116ae8]
vmovss xmm0, dword [r15 + rax]
vmovss xmm1, dword [r15 + rax + 4]
mov rax, qword [0x140116768]
vaddss xmm6, xmm0, dword [0x140086f68]
vaddss xmm7, xmm1, dword [0x140086f08]
mov rcx, qword [rax + 0x4b18]
mov rcx, qword [rcx]
call fcn.140034b10
cmp qword [rbx + 0x18], 0xf
mov r8, rax
jbe 0x14002dcd0
mov rbx, qword [rbx]
lea rcx, [rsp + 0x50]
vmovups xmmword [rsp + 0x50], xmm8
call fcn.140030e90
mov ecx, eax
vmovss dword [rbp - 0x70], xmm6
vmovss dword [rbp - 0x6c], xmm7
test eax, 0xff000000
je 0x14002dd64
mov rdx, 0xffffffffffffffff
nop word [rax + rax]
inc rdx
cmp byte [rbx + rdx], 0
jne 0x14002dd00
add rdx, rbx
cmp rbx, rdx
je 0x14002dd64
test rdi, rdi
jne 0x14002dd1e
mov rax, qword [r8 + 0x38]
mov rdi, qword [rax + 8]
vmovups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], 0
lea rax, [rsp + 0x50]
vmovss dword [rsp + 0x40], xmm9
mov qword [rsp + 0x38], rdx
lea r9, [rbp - 0x70]
mov qword [rsp + 0x30], rbx
mov rdx, r8
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov rcx, rdi
vmovaps xmm2, xmm12
vmovups xmmword [rsp + 0x50], xmm0
call fcn.140059850
mov rax, qword [0x140117098]
mov rdx, qword [0x140116ad0]
cmp qword [rdx + r13 + 0x18], 0xf
lea rcx, [rdx + r13]
mov rsi, qword [rax + 0x10]
mov rax, qword [0x140116aa0]
vmovups xmm8, xmmword [r14 + rax]
jbe 0x14002dd92
mov rcx, qword [rcx]
mov rax, qword [0x140116ae8]
mov rdi, qword [0x140116768]
vmovss xmm6, dword [r15 + rax]
vmovss xmm7, dword [r15 + rax + 4]
vmovss xmm1, dword [rdi + 0x3d38]
test rcx, rcx
jne 0x14002ddc1
vmovaps xmm0, xmm9
jmp 0x14002de17
mov qword [rsp + 0x30], 0
lea rdx, [rbp + 0xa8]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rdi + 0x3d30]
vmovaps xmm2, xmm1
vmovss dword [rsp + 0x20], xmm10
call fcn.140059610
vaddss xmm1, xmm11, dword [rbp + 0xa8]
mov rdx, qword [0x140116ad0]
vcvttss2si eax, xmm1
vmovss xmm1, dword [rbp + 0xac]
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vmovss dword [rbp + 0xa8], xmm0
mov rax, qword [rdi + 0x4b18]
lea rbx, [rdx + r13]
vaddss xmm6, xmm6, dword [0x140086f58]
vaddss xmm7, xmm7, dword [0x140086f24]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
vfnmadd231ss xmm6, xmm0, xmm14
vfnmadd231ss xmm7, xmm1, xmm14
call fcn.140034b10
cmp qword [rbx + 0x18], 0xf
mov r8, rax
jbe 0x14002de5a
mov rbx, qword [rbx]
lea rcx, [rsp + 0x50]
vmovups xmmword [rsp + 0x50], xmm8
call fcn.140030e90
mov ecx, eax
vmovss dword [rbp - 0x68], xmm6
vmovss dword [rbp - 0x64], xmm7
test eax, 0xff000000
je 0x14002dee8
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [rbx + rdx], 0
jne 0x14002de84
add rdx, rbx
cmp rbx, rdx
je 0x14002dee8
test rsi, rsi
jne 0x14002dea2
mov rax, qword [r8 + 0x38]
mov rsi, qword [rax + 8]
vmovups xmm0, xmmword [r8 + 0x88]
mov byte [rsp + 0x48], 0
lea rax, [rsp + 0x50]
vmovss dword [rsp + 0x40], xmm9
mov qword [rsp + 0x38], rdx
lea r9, [rbp - 0x68]
mov qword [rsp + 0x30], rbx
mov rdx, r8
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov rcx, rsi
vmovaps xmm2, xmm12
vmovups xmmword [rsp + 0x50], xmm0
call fcn.140059850
mov edi, dword [rbp + 0x90]
add r14, 0x10
mov rcx, qword [0x140116b20]
inc edi
vmovss xmm7, dword [0x140086f30]
add r12, 4
mov dword [rbp + 0x90], edi
add r15, 8
mov qword [rsp + 0x50], r14
add r13, 0x20
xor esi, esi
mov rdx, qword [0x140116b18]
sub rcx, rdx
movsxd rax, edi
sar rcx, 5
cmp rax, rcx
jb 0x14002d6c0
vmovaps xmm8, xmmword [rsp + 0x110]
vmovaps xmm13, xmmword [rsp + 0xc0]
vmovaps xmm12, xmmword [rsp + 0xd0]
vmovaps xmm11, xmmword [rsp + 0xe0]
vmovaps xmm10, xmmword [rsp + 0xf0]
vmovaps xmm9, xmmword [rsp + 0x100]
vmovaps xmm14, xmmword [rsp + 0xb0]
vmovaps xmm7, xmmword [rsp + 0x120]
vmovaps xmm6, xmmword [rsp + 0x130]
mov r15, qword [rsp + 0x148]
mov r14, qword [rsp + 0x150]
mov r13, qword [rsp + 0x158]
mov r12, qword [rsp + 0x160]
mov rbx, qword [rsp + 0x168]
vmovaps xmm15, xmmword [rsp + 0xa0]
vzeroupper
add rsp, 0x170
pop rdi
pop rsi
pop rbp
ret
vzeroupper
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea rcx, [0x140117224]
call fcn.1400786fc
cmp dword [0x140117224], 0xffffffff
jne 0x14002d5c4
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea rcx, [0x140117224]
mov dword [0x140117220], eax
call fcn.140078690
jmp 0x14002d5c4