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

Disassembly:
push rbp
push rbx
push r14
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x1400b8080]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rax, qword [rcx]
mov rbx, rdx
mov r14, rcx
call qword [rax + pe_nt_image_headers64]
test al, al
jne 0x140056038
mov eax, dword [rbx]
sub eax, 0xe
cmp eax, 0xa
ja 0x140056038
mov rcx, qword [r14 + 0x38]
mov rdx, rbx
test rcx, rcx
je 0x1400561a4
mov rax, qword [rcx]
call qword [rax + 0x1a0]
jmp 0x140056487
movsxd rcx, dword [rbx]
cmp ecx, 0x20
ja 0x1400560e6
movabs rdx, 0x100040001
bt rdx, rcx
jae 0x1400560e6
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x110]
test al, al
je 0x140056487
mov qword [rsp + 0xb0], rsi
lea rdx, [rbp - 0x28]
mov esi, dword [rbx + 0x14]
mov rcx, r14
mov qword [rsp + 0xb8], rdi
mov edi, dword [rbx + 0x18]
call fcn.14002d700
lea rdx, [rbp - 0x20]
mov rcx, r14
mov rbx, qword [rax]
call fcn.140056d70
lea ecx, [rbx + rsi]
mov rdx, rbx
shr rdx, 0x20
add edx, edi
shl rdx, 0x20
or rdx, rcx
lea rcx, [rbp - 0x20]
call qword [sym.imp.USER32.dll_PtInRect]
mov rdi, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xb0]
cmp eax, 1
jne 0x140056487
mov rax, qword [r14]
mov dl, 1
mov rcx, r14
call qword [rax + 0x160]
jmp 0x140056487
cmp ecx, 0x13
je 0x1400562e9
cmp ecx, 0x22
je 0x1400562e9
cmp ecx, 1
je 0x140056487
cmp ecx, 0x18
jne 0x140056197
cmp dword [rbx + 0x20], 0
mov rcx, r14
mov rax, qword [r14]
movd xmm0, dword [r14 + 0x458]
movsd xmm1, qword [r14 + 0x378]
cvtdq2pd xmm0, xmm0
mov rdx, qword [rax + 0x58]
jle 0x140056188
addsd xmm0, xmm1
movsd qword [r14 + 0x378], xmm0
call rdx
mov rax, qword [r14 + 0x30]
xor ebx, ebx
mov word [rbp - 0x44], bx
mov dword [rbp - 0x30], ebx
mov qword [rbp - 0x58], r14
mov rcx, qword [rax + 0x148]
mov qword [rbp - 0x4c], rcx
mov dword [rbp - 0x60], 0x33
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea rdx, [rbp - 0x60]
mov qword [rbp - 0x40], rbx
mov dword [rbp - 0x50], eax
mov rcx, r14
mov rax, qword [r14]
mov qword [rbp - 0x38], rbx
call qword [rax + 0x1a0]
jmp 0x140056487
subsd xmm1, xmm0
movsd qword [r14 + 0x378], xmm1
jmp 0x14005613d
cmp ecx, 0xe
je 0x1400561b1
cmp ecx, 0x21
je 0x1400561b1
mov rdx, rbx
mov rcx, r14
call fcn.140038260
jmp 0x140056487
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x158]
test al, al
je 0x140056487
cmp byte [r14 + 0x368], 0
je 0x140056254
mov r11d, dword [r14 + 0x45c]
mov eax, r11d
mov r8d, dword [r14 + 0x60]
cdq
sub eax, edx
mov ecx, r8d
mov edx, dword [rbx + 0x14]
sar eax, 1
sub ecx, eax
mov r9d, eax
cmp edx, ecx
jl 0x140056207
movd xmm2, dword [r14 + 0x36c]
cvtdq2pd xmm2, xmm2
jmp 0x1400562d7
mov r10d, dword [r14 + 0x370]
mov ecx, dword [r14 + 0x58]
add eax, ecx
movd xmm2, r10d
cvtdq2pd xmm2, xmm2
cmp edx, eax
jle 0x1400562d7
mov eax, dword [r14 + 0x36c]
sub edx, r9d
sub edx, ecx
sub eax, r10d
imul edx, eax
sub r8d, ecx
sub r8d, r11d
movd xmm0, r8d
cvtdq2pd xmm0, xmm0
movd xmm1, edx
cvtdq2pd xmm1, xmm1
divsd xmm1, xmm0
jmp 0x1400562d3
mov r11d, dword [r14 + 0x460]
mov eax, r11d
mov r9d, dword [r14 + 0x64]
cdq
mov r8d, dword [rbx + 0x18]
sub eax, edx
sar eax, 1
mov ecx, r9d
sub ecx, eax
cmp r8d, ecx
jl 0x140056284
movd xmm2, dword [r14 + 0x370]
cvtdq2pd xmm2, xmm2
jmp 0x1400562d7
mov r10d, dword [r14 + 0x5c]
add eax, r10d
mov edx, dword [r14 + 0x36c]
cmp r8d, eax
jg 0x1400562a1
movd xmm2, edx
cvtdq2pd xmm2, xmm2
jmp 0x1400562d7
mov eax, dword [r14 + 0x370]
sub ecx, r8d
sub edx, eax
sub r9d, r10d
imul edx, ecx
sub r9d, r11d
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movd xmm2, edx
movd xmm0, r9d
cvtdq2pd xmm2, xmm2
cvtdq2pd xmm0, xmm0
divsd xmm2, xmm0
addsd xmm2, xmm1
mov eax, 0x378
mov rcx, r14
movsd qword [rcx + rax], xmm2
jmp 0x14005647e
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x158]
test al, al
je 0x140056307
mov rax, qword [r14]
xor edx, edx
mov rcx, r14
call qword [rax + 0x160]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x110]
test al, al
je 0x140056487
cmp byte [r14 + 0x368], 0
je 0x1400563aa
mov r11d, dword [r14 + 0x45c]
mov eax, r11d
mov r8d, dword [r14 + 0x60]
cdq
sub eax, edx
mov ecx, r8d
mov edx, dword [rbx + 0x14]
sar eax, 1
sub ecx, eax
mov r9d, eax
cmp edx, ecx
jl 0x14005635d
movd xmm2, dword [r14 + 0x36c]
cvtdq2pd xmm2, xmm2
jmp 0x14005642d
mov r10d, dword [r14 + 0x370]
mov ecx, dword [r14 + 0x58]
add eax, ecx
movd xmm2, r10d
cvtdq2pd xmm2, xmm2
cmp edx, eax
jle 0x14005642d
mov eax, dword [r14 + 0x36c]
sub edx, r9d
sub edx, ecx
sub eax, r10d
imul edx, eax
sub r8d, ecx
sub r8d, r11d
movd xmm0, r8d
cvtdq2pd xmm0, xmm0
movd xmm1, edx
cvtdq2pd xmm1, xmm1
divsd xmm1, xmm0
jmp 0x140056429
mov r11d, dword [r14 + 0x460]
mov eax, r11d
mov r9d, dword [r14 + 0x64]
cdq
mov r8d, dword [rbx + 0x18]
sub eax, edx
sar eax, 1
mov ecx, r9d
sub ecx, eax
cmp r8d, ecx
jl 0x1400563da
movd xmm2, dword [r14 + 0x370]
cvtdq2pd xmm2, xmm2
jmp 0x14005642d
mov r10d, dword [r14 + 0x5c]
add eax, r10d
mov edx, dword [r14 + 0x36c]
cmp r8d, eax
jg 0x1400563f7
movd xmm2, edx
cvtdq2pd xmm2, xmm2
jmp 0x14005642d
mov eax, dword [r14 + 0x370]
sub ecx, r8d
sub edx, eax
sub r9d, r10d
imul edx, ecx
sub r9d, r11d
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movd xmm2, edx
movd xmm0, r9d
cvtdq2pd xmm2, xmm2
cvtdq2pd xmm0, xmm0
divsd xmm2, xmm0
addsd xmm2, xmm1
mov eax, 0x378
mov rcx, r14
xor ebx, ebx
movsd qword [rcx + rax], xmm2
mov rax, qword [r14 + 0x30]
mov word [rbp - 0x44], bx
mov dword [rbp - 0x30], ebx
mov qword [rbp - 0x58], r14
mov rcx, qword [rax + 0x148]
mov qword [rbp - 0x4c], rcx
mov dword [rbp - 0x60], 0x33
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea rdx, [rbp - 0x60]
mov qword [rbp - 0x40], rbx
mov dword [rbp - 0x50], eax
mov rcx, r14
mov rax, qword [r14]
mov qword [rbp - 0x38], rbx
call qword [rax + 0x1a0]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x58]
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140061510
add rsp, 0x80
pop r14
pop rbx
pop rbp
ret