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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x21d0
call fcn.1400b2f70
sub rsp, rax
mov qword [rsp + 0xc0], 0xfffffffffffffffe
mov qword [rsp + 0x2220], rbx
mov rax, qword [0x14010bfc0]
xor rax, rsp
mov qword [rsp + 0x21c0], rax
mov rdi, rdx
mov qword [rsp + 0x78], rdx
mov rsi, rcx
mov qword [rsp + 0x70], rcx
mov ecx, 8
call fcn.140061238
xor r13d, r13d
cmp rax, r13
je 0x140052937
lea rcx, [rsp + 0x38]
mov qword [rax], rcx
jmp 0x14005293a
mov rax, r13
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x38]
call fcn.140005ed4
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], r13
lea rcx, [rsp + 0xe8]
call fcn.14004d830
nop
cmp qword [rax + 0x20], 0x10
jb 0x14005296e
mov r8, qword [rax + 8]
jmp 0x140052972
lea r8, [rax + 8]
mov r15d, 1
mov dword [rsp + 0x28], r15d
mov word [rsp + 0x20], r13w
lea r9, [rsp + 0x38]
lea rdx, str.Models
mov rcx, rdi
call fcn.14005afc4
nop
cmp qword [rsp + 0x108], 0x10
jb 0x1400529b0
mov rcx, qword [rsp + 0xf0]
call fcn.14006127c
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsp + 0x30], eax
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rbx]
mov rcx, qword [rsp + 0x38]
mov r12, rcx
cmp r12, r13
je 0x1400529d4
cmp r12, rcx
je 0x1400529d9
call fcn.14009861c
cmp rbp, rbx
je 0x140052da9
cmp r12, r13
jne 0x1400529f1
call fcn.14009861c
mov r11, r13
jmp 0x1400529f5
mov r11, qword [r12]
cmp rbp, qword [r11 + 0x28]
jne 0x140052a00
call fcn.14009861c
cmp qword [rbp + 0x30], 0x10
jb 0x140052a0d
mov r8, qword [rbp + 0x18]
jmp 0x140052a11
lea r8, [rbp + 0x18]
lea rdx, [0x1400cef10]
lea rcx, [0x14010f570]
call fcn.14004b9f0
mov ecx, 0x1e0
call fcn.140061238
mov qword [rsp + 0xc8], rax
cmp rax, r13
je 0x140052a48
mov rcx, rax
call fcn.140060320
mov rbx, rax
jmp 0x140052a4b
mov rbx, r13
mov eax, r13d
cmp rbx, r13
setne al
cmp eax, r13d
je 0x140052d64
cmp r12, r13
jne 0x140052a6c
call fcn.14009861c
mov r11, r13
jmp 0x140052a70
mov r11, qword [r12]
cmp rbp, qword [r11 + 0x28]
jne 0x140052a7b
call fcn.14009861c
cmp qword [rbp + 0x30], 0x10
jb 0x140052a88
mov rdx, qword [rbp + 0x18]
jmp 0x140052a8c
lea rdx, [rbp + 0x18]
mov r8, rdi
mov rcx, rbx
call fcn.140060630
mov ecx, r13d
cmp eax, r13d
setne cl
cmp ecx, r13d
je 0x140052d1f
cmp qword [rbx + 0xc8], 0x10
jb 0x140052abc
mov rdi, qword [rbx + 0xb0]
jmp 0x140052ac3
lea rdi, [rbx + 0xb0]
mov qword [rsp + 0x108], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x100], r13
mov byte [rsp + 0xf0], r13b
mov rcx, rdi
call fcn.1400980d0
mov r8, rax
mov rdx, rdi
lea rcx, [rsp + 0xe8]
call fcn.14000352c
nop
lea r14, [rsi + 0x1f0]
lea r8, [rsp + 0xe8]
lea rdx, [rsp + 0x80]
mov rcx, r14
call fcn.140050008
mov r13, qword [r14 + 0x30]
mov rsi, qword [rsp + 0x80]
test rsi, rsi
je 0x140052b30
cmp rsi, qword [r14]
je 0x140052b35
call fcn.14009861c
mov rdi, qword [rsp + 0x88]
cmp rdi, r13
je 0x140052bca
lea r8, [rsp + 0xf0]
cmp qword [rsp + 0x108], 0x10
cmovae r8, qword [rsp + 0xf0]
lea rdx, str.WARNING:_Found_multiple_instances_of_device_model___s__n
lea rcx, [0x14010f570]
call fcn.14004b7ec
xor r13d, r13d
cmp rsi, r13
jne 0x140052b85
call fcn.14009861c
mov r11, r13
jmp 0x140052b88
mov r11, qword [rsi]
cmp rdi, qword [r11 + 0x30]
jne 0x140052b93
call fcn.14009861c
mov rcx, qword [rdi + 0x40]
cmp rcx, r13
je 0x140052ba4
mov rax, qword [rcx]
mov edx, r15d
call qword [rax]
cmp rsi, r13
jne 0x140052bb3
call fcn.14009861c
mov r11, r13
jmp 0x140052bb6
mov r11, qword [rsi]
cmp rdi, qword [r11 + 0x30]
jne 0x140052bc1
call fcn.14009861c
mov qword [rdi + 0x40], rbx
jmp 0x140052c90
xor r13d, r13d
cmp qword [rsp + 0x100], r13
jbe 0x140052ce3
mov qword [rsp + 0xb0], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0xa8], r13
mov byte [rsp + 0x98], r13b
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0x90]
call fcn.140002458
mov qword [rsp + 0xb8], rbx
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0xd0]
mov rcx, r14
call fcn.140050ccc
nop
cmp qword [rsp + 0xb0], 0x10
jb 0x140052c4c
mov rcx, qword [rsp + 0x98]
call fcn.14006127c
mov rdi, qword [rsp + 0x70]
mov rsi, qword [rdi + 0x258]
lea r9, [rsp + 0xe8]
mov r8, qword [rsi + 8]
mov rdx, rsi
lea rcx, [rdi + 0x230]
call fcn.14000739c
mov rbx, rax
mov rdx, r15
lea rcx, [rdi + 0x230]
call fcn.1400064b0
mov qword [rsi + 8], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], rbx
cmp qword [rsp + 0x108], 0x10
jb 0x140052ca8
mov rcx, qword [rsp + 0xf0]
call fcn.14006127c
cmp r12, r13
jne 0x140052cb7
call fcn.14009861c
mov r11, r13
jmp 0x140052cbb
mov r11, qword [r12]
cmp rbp, qword [r11 + 0x28]
jne 0x140052cc6
call fcn.14009861c
mov rbp, qword [rbp]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x70]
jmp 0x1400529ca
cmp qword [rsp + 0x108], 0x10
jb 0x140052cfb
mov rcx, qword [rsp + 0xf0]
call fcn.14006127c
mov qword [rsp + 0x108], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x100], r13
mov byte [rsp + 0xf0], r13b
mov r15d, r13d
jmp 0x140052e46
lea r8, str.Failed_to_Init_CDeviceModel
lea rdx, str._s_failed_n
lea rcx, [0x14010f570]
call fcn.14004b7ec
nop
lea rcx, [rsp + 0x38]
call fcn.140007328
mov rcx, qword [rsp + 0x60]
call fcn.14006127c
mov qword [rsp + 0x60], r13
mov rcx, qword [rsp + 0x38]
call fcn.14006127c
xor eax, eax
jmp 0x140052e6c
lea r8, str.No_memory_for_CDeviceModel
lea rdx, str._s_failed_n
lea rcx, [0x14010f570]
call fcn.14004b7ec
nop
lea rcx, [rsp + 0x38]
call fcn.140007328
mov rcx, qword [rsp + 0x60]
call fcn.14006127c
mov qword [rsp + 0x60], r13
mov rcx, qword [rsp + 0x38]
call fcn.14006127c
xor eax, eax
jmp 0x140052e6c
mov dword [rsp + 0x110], DllRegisterServer
lea rcx, [rsp + 0x110]
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
mov byte [rsp + 0x1b0], r13b
xor edx, edx
mov r8d, 0x2000
lea rcx, [rsp + 0x1b1]
call fcn.1400988d0
mov r9d, dword [rsp + 0x120]
lea r8, str.INFList._d
mov edx, 0x2001
lea rcx, [rsp + 0x1b0]
call fcn.14009841c
lea r9, [rsi + 0x268]
lea r8, [rsp + 0x1b0]
mov rdx, rdi
mov rcx, rsi
call fcn.140051804
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
mov r9, qword [rsi + 0x260]
lea r8, str.Loaded__d_models_in__d_ms
mov edx, r15d
lea rcx, [0x14010f570]
call fcn.140001000
nop
lea rcx, [rsp + 0x38]
call fcn.140007328
mov rcx, qword [rsp + 0x60]
call fcn.14006127c
mov qword [rsp + 0x60], r13
mov rcx, qword [rsp + 0x38]
call fcn.14006127c
mov eax, r15d
mov rcx, qword [rsp + 0x21c0]
xor rcx, rsp
call fcn.140061100
mov rbx, qword [rsp + 0x2220]
add rsp, 0x21d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret