Function at 0x2e3d6ec90
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc0
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0xb0], xmm7
mov rbx, qword [0x2e3f0a900]
mov rcx, qword [rbx]
call fcn.2e3d5b610
cmp byte [0x2e3f3f3c0], 0
mov rsi, qword [0x2e3f09580]
je 0x2e3d6ed28
mov eax, dword [0x2e3f3f320]
lea edx, [rax + 1]
imul eax, edx, 0xcccccccd
mov dword [0x2e3f3f320], edx
add eax, 0x19999998
ror eax, 1
cmp eax, 0x19999998
jbe 0x2e3d6f090
movsxd rax, edx
imul rax, rax, 0xffffffff88888889
shr rax, 0x20
add eax, edx
sar edx, 0x1f
sar eax, 3
sub eax, edx
mov edx, eax
shr edx, 0x1f
add eax, edx
and eax, 1
sub eax, edx
cmp eax, 1
je 0x2e3d6f1c0
mov rcx, qword [rbx]
call fcn.2e3d5b610
mov rdi, qword [rsi]
test rdi, rdi
je 0x2e3d6f150
mov rbx, qword [0x2e3f0b050]
mov r12d, dword [rbx]
test r12d, r12d
je 0x2e3d6f078
mov ebp, dword [rdi + 0x208]
test ebp, ebp
je 0x2e3d6f170
mov rcx, rdi
call qword [rdi + 0x258]
mov edi, dword [rbx]
test edi, edi
je 0x2e3d6ee60
mov r11d, dword [rbx + 0x1670]
test r11d, r11d
jne 0x2e3d6ee48
call qword [rbx + 0x24a8]
mov eax, eax
sub rax, qword [rbx + 0x1668]
pxor xmm0, xmm0
cvtsi2sd xmm0, rax
jns 0x2e3d6edab
mov rdx, rax
and eax, 1
pxor xmm0, xmm0
shr rdx, 1
or rdx, rax
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
mov rax, qword [rbx + 0x1678]
pxor xmm1, xmm1
cvtsi2sd xmm1, rax
test rax, rax
jns 0x2e3d6edd9
mov rdx, rax
and eax, 1
pxor xmm1, xmm1
shr rdx, 1
or rdx, rax
cvtsi2sd xmm1, rdx
addsd xmm1, xmm1
divsd xmm0, xmm1
movapd xmm1, xmm0
subsd xmm1, qword [rsi + 0x888]
unpcklpd xmm0, xmm0
movsd xmm2, qword [rsi + 0x890]
movsd xmm7, qword [rsi + 0x8a8]
movaps xmmword [rsi + 0x880], xmm0
addsd xmm2, xmm1
comisd xmm7, xmm2
unpcklpd xmm1, xmm2
movups xmmword [rsi + 0x898], xmm1
ja 0x2e3d6ee78
call fcn.2e3d75cf0
add dword [rsi + 0x8b0], 1
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
add rsp, 0xc0
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
lea rcx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x68]
jmp 0x2e3d6ed80
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
pxor xmm0, xmm0
jmp 0x2e3d6eddd
mov r10d, dword [rbx]
subsd xmm7, xmm2
test r10d, r10d
je 0x2e3d6f190
mov r9d, dword [rbx + 0x1670]
test r9d, r9d
jne 0x2e3d6f120
call qword [rbx + 0x24a8]
mov eax, eax
sub rax, qword [rbx + 0x1668]
pxor xmm6, xmm6
cvtsi2sd xmm6, rax
jns 0x2e3d6eecb
mov rdx, rax
and eax, 1
pxor xmm6, xmm6
shr rdx, 1
or rdx, rax
cvtsi2sd xmm6, rdx
addsd xmm6, xmm6
mov rax, qword [rbx + 0x1678]
pxor xmm0, xmm0
cvtsi2sd xmm0, rax
test rax, rax
jns 0x2e3d6eef9
mov rdx, rax
and eax, 1
pxor xmm0, xmm0
shr rdx, 1
or rdx, rax
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
divsd xmm6, xmm0
addsd xmm6, xmm7
mulsd xmm7, qword [0x2e3ef11d8]
lea rbp, [rsp + 0x68]
cvttsd2si rcx, xmm7
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
jmp 0x2e3d6efa1
mov ecx, dword [rbx + 0x1670]
test ecx, ecx
jne 0x2e3d6f138
call qword [rbx + 0x24a8]
mov eax, eax
sub rax, qword [rbx + 0x1668]
pxor xmm0, xmm0
cvtsi2sd xmm0, rax
jns 0x2e3d6ef69
mov rdx, rax
and eax, 1
pxor xmm0, xmm0
shr rdx, 1
or rdx, rax
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
mov rax, qword [rbx + 0x1678]
pxor xmm1, xmm1
cvtsi2sd xmm1, rax
test rax, rax
jns 0x2e3d6ef97
mov rdx, rax
and eax, 1
pxor xmm1, xmm1
shr rdx, 1
or rdx, rax
cvtsi2sd xmm1, rdx
addsd xmm1, xmm1
divsd xmm0, xmm1
comisd xmm6, xmm0
jbe 0x2e3d6efc3
mov r8d, dword [rbx]
test r8d, r8d
jne 0x2e3d6ef28
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
pxor xmm0, xmm0
comisd xmm6, xmm0
ja 0x2e3d6efa1
mov edx, dword [rbx]
test edx, edx
je 0x2e3d6f1a8
mov eax, dword [rbx + 0x1670]
test eax, eax
jne 0x2e3d6f2c0
call qword [rbx + 0x24a8]
mov eax, eax
sub rax, qword [rbx + 0x1668]
pxor xmm1, xmm1
cvtsi2sd xmm1, rax
jns 0x2e3d6f00e
mov rdx, rax
and eax, 1
pxor xmm1, xmm1
shr rdx, 1
or rdx, rax
cvtsi2sd xmm1, rdx
addsd xmm1, xmm1
mov rax, qword [rbx + 0x1678]
pxor xmm0, xmm0
cvtsi2sd xmm0, rax
test rax, rax
jns 0x2e3d6f03c
mov rdx, rax
and eax, 1
pxor xmm0, xmm0
shr rdx, 1
or rdx, rax
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
divsd xmm1, xmm0
movapd xmm0, xmm1
movsd xmm2, qword [rsi + 0x888]
unpcklpd xmm0, xmm0
movaps xmmword [rsi + 0x880], xmm0
movsd xmm0, qword [rsi + 0x8a0]
subsd xmm0, xmm2
addsd xmm0, xmm1
movsd qword [rsi + 0x8a0], xmm0
jmp 0x2e3d6ee19
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
jmp 0x2e3d6ed5e
call fcn.2e3d6da70
mov edx, dword [rsi + 0x40]
pxor xmm0, xmm0
movd xmm6, eax
shr rax, 0x20
cvtsi2ss xmm0, rdx
movd xmm4, eax
mov eax, dword [rsi + 0x3c]
mulss xmm0, xmm4
cvttss2si edx, xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm6
cvttss2si ecx, xmm0
call fcn.2e3d58ec0
pxor xmm0, xmm0
mov r9d, 0x10
mov r8d, 0xa
mov r12, rax
mov eax, dword [rsi + 0x3c]
lea rcx, [0x2e3f3f340]
mov rdx, r12
cvtsi2ss xmm0, rax
mulss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 2
mov dword [rsp + 0x20], eax
call fcn.2e3d63610
mov rcx, r12
call sub.msvcrt.dll_free
mov edx, dword [0x2e3f3f320]
jmp 0x2e3d6ecf3
lea rcx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x68]
jmp 0x2e3d6eea0
mov rcx, rbp
call rdi
mov rax, qword [rsp + 0x68]
jmp 0x2e3d6ef3e
mov r8d, 0x282
lea rdx, [0x2e3ef0af8]
lea rcx, [0x2e3eefec4]
call qword [sym.imp.msvcrt.dll__wassert]
jmp 0x2e3d6ed34
lea rdx, [0x2e3ef0c18]
mov ecx, 0x1000a
call fcn.2e3c320f0
jmp 0x2e3d6ed5e
xor edx, edx
mov ecx, 0x10001
movapd xmm6, xmm7
call fcn.2e3c320f0
jmp 0x2e3d6ef01
xor edx, edx
mov ecx, 0x10001
call fcn.2e3c320f0
pxor xmm1, xmm1
jmp 0x2e3d6f040
mov eax, dword [rsi + 0x30]
pxor xmm5, xmm5
mov dword [rsp + 0x28], 0xff3721be
pxor xmm2, xmm2
mov dword [rsp + 0x20], 0x24
movss xmm3, dword [0x2e3ef11cc]
sub eax, 0x14
movss xmm1, dword [0x2e3ef11d0]
cvtsi2ss xmm5, eax
movd ecx, xmm5
shl rcx, 0x20
or rcx, 0x41f00000
call fcn.2e3c4b1d0
mov rax, qword [0x2e3f0b1c0]
mov edx, dword [rsi + 0x30]
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x2e3d6ed20
sub edx, 0x19
pxor xmm3, xmm3
movdqa xmm0, xmmword [rax]
mov r10, qword [rax + 0x10]
cvtsi2ss xmm3, edx
mov r11, qword [rax + 0x18]
mov rdx, qword [rax + 0x28]
lea rcx, [rsp + 0x30]
mov rax, qword [rax + 0x20]
mov dword [rsp + 0x28], 0xff3729e6
mov dword [rsp + 0x20], 0x3f800000
mov qword [rsp + 0x98], rdx
movd r8d, xmm3
movss xmm3, dword [0x2e3ef11d0]
mov qword [rsp + 0x58], rdx
lea rdx, str.GIF_RECORDING
shl r8, 0x20
mov qword [rsp + 0x80], r10
or r8, 0x42480000
mov qword [rsp + 0x88], r11
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x50], rax
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x30], xmm0
call fcn.2e3c90da0
jmp 0x2e3d6ed20
lea rcx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x68]
jmp 0x2e3d6efe3