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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1c0
mov rax, qword [0x18003c048]
xor rax, rsp
mov qword [rsp + 0x1b0], rax
mov r14b, r8b
mov dword [rsp + 0x40], edx
mov r15d, edx
mov qword [rsp + 0x50], rcx
mov r12, rcx
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r9d, dword [0x18003dda8]
lea rcx, [rsp + 0x60]
mov esi, eax
mov dword [rsp + 0x64], 0x11
mov rax, qword [0x18003def0]
mov dword [rsp + 0x60], r9d
call qword [0x18002b3c8]
mov edx, 0xc0000000
lea r10, str.RevertTopology
mov ecx, eax
lea rdi, str.ChangeTopology
and ecx, edx
cmp ecx, edx
jne 0x180007a07
mov r9d, eax
lea r8, str.NV3DDevApiRSChangeTopoTRWork
lea rdx, str.ResolutionSet:__s:_kernel_poll_display_children_failed__error:__x_n
xor ecx, ecx
call fcn.18000a000
mov ecx, 0xfa
jmp 0x180007a34
mov r9d, dword [0x18003dd60]
test r9d, r9d
je 0x180007a3a
test r14b, r14b
lea rdx, str._s:_Sleeping__u_ms_after_hotplug._n
mov r8, rdi
mov ecx, 0xa
cmovne r8, r10
call fcn.18000a000
mov ecx, dword [0x18003dd60]
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, str.ChangeTopology:_TR_change_resolution_using_CCD._n
mov ecx, 6
call fcn.18000a000
mov eax, dword [0x18003dd5c]
mov ebp, 1
mov ebx, dword [0x18003dd6c]
mov r13d, dword [0x18003dd70]
mov dword [rsp + 0x58], eax
mov eax, dword [0x18003dd78]
mov dword [rsp + 0x5c], eax
mov eax, dword [0x18003dd64]
mov dword [rsp + 0x4c], ebx
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x44], ebp
cmp eax, ebp
jb 0x180007da2
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, esi
cmp eax, dword [rsp + 0x58]
ja 0x180007d76
mov edx, r15d
mov rcx, r12
call fcn.180007294
test al, al
je 0x180007d60
call qword [sym.imp.KERNEL32.dll_GetTickCount]
test r14b, r14b
mov r15, rdi
mov r12d, eax
lea rax, str.RevertTopology
cmovne r15, rax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r8, r15
lea rdx, str._s:_SDC_complete___u_ms_._n
sub eax, esi
mov ecx, 0xa
mov r9d, eax
call fcn.18000a000
test ebx, ebx
je 0x180007ba5
xor ebp, ebp
test ebx, ebx
je 0x180007b5d
lea rcx, [rsp + 0x70]
xor ebx, ebx
call fcn.18000a6a0
test al, al
je 0x180007b5d
mov eax, dword [rsp + 0x88]
test eax, eax
je 0x180007b31
lea rcx, [rsp + 0x8c]
mov edx, eax
cmp byte [rcx], 0
lea eax, [rbx + 1]
lea rcx, [rcx + 0x24]
cmove eax, ebx
mov ebx, eax
sub rdx, 1
jne 0x180007b1c
cmp ebx, dword [rsp + 0x40]
je 0x180007ba1
mov ecx, 1
call fcn.1800078b0
mov ebx, dword [rsp + 0x4c]
lea eax, [rbx - 1]
cmp ebp, eax
je 0x180007b57
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebp
cmp ebp, ebx
jb 0x180007af7
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebp, dword [rsp + 0x44]
lea rcx, [0x18002c371]
sub eax, r12d
lea r9, str.__reapplying
cmp ebp, dword [rsp + 0x48]
lea rdx, str._s:_Num_monitors_mismatch_s___u:__u_ms_._n
mov dword [rsp + 0x28], eax
mov r8, r15
cmove r9, rcx
mov dword [rsp + 0x20], ebp
mov ecx, 6
call fcn.18000a000
jmp 0x180007cfb
mov ebp, dword [rsp + 0x44]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r8, r15
lea rdx, str._s:_Num_monitors_match___u_ms_._n
sub eax, r12d
mov ecx, 0xa
mov r9d, eax
call fcn.18000a000
test r13d, r13d
je 0x180007c36
xor ebx, ebx
test r13d, r13d
je 0x180007cab
mov edx, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
call fcn.180005dec
test al, al
je 0x180007c10
test r14b, r14b
je 0x180007bf5
cmp byte [0x18003dd7d], 0
jmp 0x180007bfc
cmp byte [0x18003dd7c], 0
je 0x180007c36
mov edx, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
call fcn.180005c78
test al, al
jne 0x180007c36
mov ecx, 1
call fcn.1800078b0
lea eax, [r13 - 1]
cmp ebx, eax
je 0x180007c2d
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
cmp ebx, r13d
jae 0x180007cab
jmp 0x180007bd5
test r14b, r14b
jne 0x180007d42
mov ebx, dword [rsp + 0x5c]
test ebx, ebx
je 0x180007d42
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r8, r15
lea rdx, str._s:_Found_active_modes__polling_for_stability___u_ms_._n
sub eax, r12d
mov ecx, 2
mov r9d, eax
call fcn.18000a000
mov edx, dword [rsp + 0x40]
xor r9d, r9d
mov rcx, qword [rsp + 0x50]
mov r8d, ebx
call fcn.1800062c0
test al, al
jne 0x180007d1e
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
sub ebx, r12d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r8d, ebx
lea rcx, str.ChangeTopology:_Topology_altered___u_ms__u_ms_._n
sub eax, esi
mov edx, eax
call fcn.1800099e0
mov r13d, dword [0x18003dd74]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
sub ebx, r12d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea rcx, [0x18002c371]
mov dword [rsp + 0x30], ebx
sub eax, esi
lea r9, str.__reapplying
cmp ebp, dword [rsp + 0x48]
lea rdx, str._s:_Failed_to_confirm_topology_s___u:__u_ms__u_ms_._n
mov dword [rsp + 0x28], eax
mov r8, r15
cmove r9, rcx
mov dword [rsp + 0x20], ebp
mov ecx, 2
call fcn.18000a000
inc ebp
mov dword [rsp + 0x44], ebp
cmp ebp, dword [rsp + 0x48]
ja 0x180007da2
mov ebx, dword [rsp + 0x4c]
mov r15d, dword [rsp + 0x40]
mov r12, qword [rsp + 0x50]
jmp 0x180007a8b
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
sub ebx, r12d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r8d, ebx
lea rcx, str.ChangeTopology:_Topology_stable___u_ms__u_ms_._n
sub eax, esi
mov edx, eax
call fcn.1800099e0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rdx, r15
lea rcx, str._s:_Success___u_ms_._n
sub eax, esi
mov r8d, eax
call fcn.1800099e0
mov al, 1
jmp 0x180007dcc
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea rcx, str._s:_Failed_to_set_topology_using_CCD___u_ms_._n
lea rbx, str.RevertTopology
jmp 0x180007db6
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r8, rdi
lea rbx, str.RevertTopology
sub eax, esi
lea rdx, str._s:_Timed_out___u_ms_._n
test r14b, r14b
mov r9d, eax
cmovne r8, rbx
xor ecx, ecx
call fcn.18000a000
jmp 0x180007da9
lea rbx, str.RevertTopology
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea rcx, str._s:_Failed_to_confirm_topology___u_ms_._n
sub eax, esi
test r14b, r14b
mov r8d, eax
cmovne rdi, rbx
mov rdx, rdi
call fcn.1800099e0
xor al, al
mov rcx, qword [rsp + 0x1b0]
xor rcx, rsp
call fcn.18000bdb0
mov rbx, qword [rsp + 0x218]
add rsp, 0x1c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret