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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xcd0]
sub rsp, 0xdd0
mov rax, qword [0x14031a940]
xor rax, rsp
mov qword [rbp + 0xcc8], rax
mov edi, r9d
mov dword [rsp + 0x40], r9d
mov r13d, r8d
mov rsi, rdx
mov rax, qword [rbp + 0xd30]
mov qword [rsp + 0x30], rax
xor r14d, r14d
mov byte [rbp + 0x743], r14b
movzx ecx, byte [rdx + 8]
shl cx, 8
movzx eax, byte [rdx + 9]
or cx, ax
movzx eax, cl
and al, 0x1f
add al, 0x40
mov byte [rbp + 0x742], al
movzx eax, cx
shr ax, 5
and al, 0x1f
add al, 0x40
mov byte [rbp + 0x741], al
shr cx, 0xa
and cl, 0x1f
add cl, 0x40
mov byte [rbp + 0x740], cl
call fcn.140021130
cmp dword [rax + 8], 3
jl 0x140038684
call fcn.140021130
mov rcx, rax
lea edx, [r14 + 3]
call fcn.140021430
mov rbx, rax
call fcn.140021130
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x140038652
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rax
call fcn.140016d70
lea rdx, str.Manufacturer_ID:
mov rcx, rax
call fcn.1400153f0
mov rcx, rax
lea rdx, [rbp + 0x740]
call fcn.1400153f0
mov rcx, rax
call fcn.140017c90
movzx ebx, byte [rsi + 0xb]
shl bx, 8
movzx eax, byte [rsi + 0xa]
or bx, ax
lea rcx, [rbp + 0x240]
call fcn.14003c160
nop
mov rax, qword [rbp + 0x240]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x268], 4
mov rax, qword [rbp + 0x240]
movsxd rcx, dword [rax + 4]
mov byte [rbp + rcx + 0x298], 0x30
mov rax, qword [rbp + 0x250]
movsxd rcx, dword [rax + 4]
mov eax, dword [rbp + rcx + 0x268]
and eax, 0xfffff9ff
bts eax, 0xb
mov dword [rbp + rcx + 0x268], eax
mov rax, qword [rbp + 0x250]
movsxd rcx, dword [rax + 4]
or dword [rbp + rcx + 0x268], 4
movzx edx, bx
lea rcx, [rbp + 0x250]
call fcn.14003c510
movzx ebx, byte [rsi + 0xb]
shl ebx, 8
movzx eax, byte [rsi + 0xa]
or ebx, eax
shl ebx, 8
movzx eax, byte [rsi + 9]
or ebx, eax
shl ebx, 8
movzx eax, byte [rsi + 8]
or ebx, eax
lea rcx, [rbp + 0x140]
call fcn.14003c160
nop
mov rax, qword [rbp + 0x140]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x168], 8
mov rax, qword [rbp + 0x140]
movsxd rcx, dword [rax + 4]
mov byte [rbp + rcx + 0x198], 0x30
mov rax, qword [rbp + 0x150]
movsxd rcx, dword [rax + 4]
mov eax, dword [rbp + rcx + 0x168]
and eax, 0xfffff9ff
bts eax, 0xb
mov dword [rbp + rcx + 0x168], eax
mov rax, qword [rbp + 0x150]
movsxd rcx, dword [rax + 4]
or dword [rbp + rcx + 0x168], 4
mov edx, ebx
lea rcx, [rbp + 0x150]
call fcn.14003c310
lea rdx, [rbp + 0x908]
lea rcx, [rbp + 0x140]
call fcn.14003c080
nop
cmp qword [rax + 0x18], 0x10
jb 0x1400387c5
mov rax, qword [rax]
lea rcx, [rbp + 0xa68]
mov qword [rbp + 0xa60], rcx
mov r8d, 3
mov rdx, rax
lea rcx, [rbp + 0xa60]
call fcn.140014320
nop
mov rdx, qword [rbp + 0xa60]
lea rcx, [rbp + 0x8c8]
call fcn.1400095cc
nop
lea rax, [rbp + 0xa68]
mov rcx, qword [rbp + 0xa60]
cmp rcx, rax
je 0x140038816
call fcn.14022f508
nop
mov r8, qword [rbp + 0x920]
cmp r8, 0x10
jb 0x140038839
inc r8
mov rdx, qword [rbp + 0x908]
lea rcx, [rbp + 0x908]
call fcn.14000696c
movdqa xmm0, xmmword [0x1402d3630]
movdqu xmmword [rbp + 0x918], xmm0
mov byte [rbp + 0x908], 0
lea rbx, vtable.srl::Name.0
mov qword [rsp + 0x48], rbx
call fcn.1400102e4
mov rcx, rax
test rax, rax
je 0x140039ffc
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rdx, [rbp + 0x8c8]
mov r15, 0xffffffffffffffff
cmp qword [rbp + 0x8e0], 8
jb 0x1400388ac
mov rdx, qword [rbp + 0x8c8]
test rdx, rdx
jne 0x1400388ac
lea rcx, [rsp + 0x50]
call fcn.140002944
jmp 0x1400388c6
mov r8, r15
nop
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400388b0
lea rcx, [rsp + 0x50]
call fcn.140002b2c
nop
mov edx, 0x116ee
lea rcx, [rbp + 0xa28]
call fcn.140022830
nop
mov r9d, edi
lea r8, [rsp + 0x48]
mov rdx, rax
call fcn.140050f90
nop
lea rcx, [rbp + 0xa28]
call fcn.1400229c0
nop
mov qword [rsp + 0x48], rbx
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003891a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140021130
cmp dword [rax + 8], 3
jl 0x1400389b2
call fcn.140021130
mov rcx, rax
mov edx, 3
call fcn.140021430
mov rbx, rax
call fcn.140021130
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x140038950
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rax
call fcn.140016d70
lea rdx, str.Monitor_ID:
mov rcx, rax
call fcn.1400153f0
lea rdx, [rbp + 0x8c8]
cmp qword [rbp + 0x8e0], 8
cmovae rdx, qword [rbp + 0x8c8]
mov r8, qword [rbp + 0x8d8]
mov rcx, rax
call fcn.140016d70
lea rdx, str._At_Index:
mov rcx, rax
call fcn.1400153f0
mov rcx, rax
mov edx, edi
call fcn.140019750
mov rcx, rax
call fcn.140017c90
xorps xmm0, xmm0
movups xmmword [rbp + 0x828], xmm0
mov qword [rbp + 0x838], r14
mov qword [rbp + 0x840], SafeArrayGetDim
mov byte [rbp + 0x828], 0
movups xmmword [rbp + 0x808], xmm0
mov qword [rbp + 0x818], r14
mov qword [rbp + 0x820], SafeArrayGetDim
mov byte [rbp + 0x808], 0
movups xmmword [rbp + 0x7c8], xmm0
mov qword [rbp + 0x7d8], r14
mov qword [rbp + 0x7e0], SafeArrayGetDim
mov byte [rbp + 0x7c8], 0
mov r14d, 0x36
mov r12d, r14d
nop
movzx edi, byte [rsi + r14 + 3]
call fcn.140021130
cmp dword [rax + 8], 3
jl 0x140038a85
call fcn.140021130
mov rcx, rax
mov edx, 3
call fcn.140021430
mov rbx, rax
call fcn.140021130
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x140038a58
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rax
call fcn.140016d70
lea rdx, str.EDID_Type:
mov rcx, rax
call fcn.1400153f0
mov rcx, rax
mov edx, edi
call fcn.140013030
mov rcx, rax
call fcn.140017c90
cmp byte [rsi + r14], 0
jne 0x140038d01
cmp byte [rsi + r14 + 1], 0
jne 0x140038d01
cmp byte [rsi + r14 + 2], 0
jne 0x140038d01
lea eax, [rdi + 4]
test al, 0xfc
jne 0x140038d01
cmp dil, 0xfd
je 0x140038d01
movsxd rcx, r12d
add rcx, rsi
movzx eax, byte [rcx + 5]
mov byte [rbp + 0xc80], al
movzx eax, byte [rcx + 6]
mov byte [rbp + 0xc81], al
movzx eax, byte [rcx + 7]
mov byte [rbp + 0xc82], al
movzx eax, byte [rcx + 8]
mov byte [rbp + 0xc83], al
movzx eax, byte [rcx + 9]
mov byte [rbp + 0xc84], al
movzx eax, byte [rcx + 0xa]
mov byte [rbp + 0xc85], al
movzx eax, byte [rcx + 0xb]
mov byte [rbp + 0xc86], al
movzx eax, byte [rcx + 0xc]
mov byte [rbp + 0xc87], al
movzx eax, byte [rcx + 0xd]
mov byte [rbp + 0xc88], al
movzx eax, byte [rcx + 0xe]
mov byte [rbp + 0xc89], al
movzx eax, byte [rcx + 0xf]
mov byte [rbp + 0xc8a], al
movzx eax, byte [rcx + 0x10]
mov byte [rbp + 0xc8b], al
movzx eax, byte [rcx + 0x11]
mov byte [rbp + 0xc8c], al
mov byte [rbp + 0xc8d], 0
call fcn.140021130
cmp dword [rax + 8], 3
jl 0x140038bb0
call fcn.140021130
mov rcx, rax
mov edx, 3
call fcn.140021430
mov rbx, rax
call fcn.140021130
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x140038b7e
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rax
call fcn.140016d70
lea rdx, str.EDID_data:
mov rcx, rax
call fcn.1400153f0
mov rcx, rax
lea rdx, [rbp + 0xc80]
call fcn.1400153f0
mov rcx, rax
call fcn.140017c90
mov eax, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
nop word [rax + rax]
movzx ecx, byte [rbp + rax + 0xc80]
cmp cl, 0xa
je 0x140038bd2
cmp cl, 0x20
jne 0x140038bea
cmp rax, 0x13
jae 0x14003a012
mov byte [rbp + rax + 0xc80], 0
sub rax, 1
jns 0x140038bc0
mov ecx, edi
sub ecx, 0xfc
je 0x140038c9a
sub ecx, 2
je 0x140038c50
cmp ecx, 1
jne 0x140038d01
lea rax, [rbp + 0xc80]
mov rdi, r15
inc rdi
cmp byte [rax + rdi], 0
jne 0x140038c10
mov rax, qword [rbp + 0x820]
cmp rdi, rax
ja 0x140038c44
lea rbx, [rbp + 0x808]
cmp rax, 0x10
cmovae rbx, qword [rbp + 0x808]
mov qword [rbp + 0x818], rdi
jmp 0x140038cd3
lea rcx, [rbp + 0x808]
jmp 0x140038cf2
lea rax, [rbp + 0xc80]
mov rdi, r15
nop word [rax + rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x140038c60
mov rax, qword [rbp + 0x840]
cmp rdi, rax
ja 0x140038c91
lea rbx, [rbp + 0x828]
cmp rax, 0x10
cmovae rbx, qword [rbp + 0x828]
mov qword [rbp + 0x838], rdi
jmp 0x140038cd3
lea rcx, [rbp + 0x828]
jmp 0x140038cf2
lea rax, [rbp + 0xc80]
mov rdi, r15
inc rdi
cmp byte [rax + rdi], 0
jne 0x140038ca4
mov rax, qword [rbp + 0x7e0]
cmp rdi, rax
ja 0x140038ceb
lea rbx, [rbp + 0x7c8]
cmp rax, 0x10
cmovae rbx, qword [rbp + 0x7c8]
mov qword [rbp + 0x7d8], rdi
mov r8, rdi
lea rdx, [rbp + 0xc80]
mov rcx, rbx
call fcn.140225630
mov byte [rbx + rdi], 0
jmp 0x140038d01
lea rcx, [rbp + 0x7c8]
lea r9, [rbp + 0xc80]
mov rdx, rdi
call fcn.14003ef10
add r12d, 0x12
add r14, 0x12
cmp r14, 0x7e
jl 0x140038a20
lea rdx, [rbp + 0x7c8]
cmp qword [rbp + 0x7e0], 0x10
cmovae rdx, qword [rbp + 0x7c8]
lea rax, [rbp + 0xb78]
mov qword [rbp + 0xb70], rax
mov r8d, 3
lea rcx, [rbp + 0xb70]
call fcn.140014320
nop
mov rdx, qword [rbp + 0xb70]
lea rcx, [rbp + 0x7e8]
call fcn.1400095cc
nop
lea rax, [rbp + 0xb78]
mov rcx, qword [rbp + 0xb70]
cmp rcx, rax
je 0x140038d77
call fcn.14022f508
cmp qword [rbp + 0x7f8], 0
jne 0x140038d92
mov rdx, qword [rsp + 0x30]
lea rcx, [rbp + 0x7e8]
call fcn.14001b2a0
lea rbx, vtable.srl::Name.0
mov qword [rsp + 0x58], rbx
call fcn.1400102e4
mov rcx, rax
test rax, rax
je 0x14003a007
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea rdx, [rbp + 0x7e8]
cmp qword [rbp + 0x800], 8
jb 0x140038de7
mov rdx, qword [rbp + 0x7e8]
test rdx, rdx
jne 0x140038de7
lea rcx, [rsp + 0x60]
call fcn.140002944
jmp 0x140038e06
mov r8, r15
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x140038df0
lea rcx, [rsp + 0x60]
call fcn.140002b2c
nop
mov edx, 0x116ed
lea rcx, [rbp + 0x9f8]
call fcn.140022830
nop
mov r14d, dword [rsp + 0x40]
mov r9d, r14d
lea r8, [rsp + 0x58]
mov rdx, rax
call fcn.140050f90
nop
lea rax, vtable.srl::GroupID.0
mov qword [rbp + 0x9f8], rax
lea rcx, [rbp + 0xa00]
call fcn.140009940
nop
mov qword [rsp + 0x58], rbx
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140038e6d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [rsp + 0x70]
call fcn.140019550
nop
xor r12d, r12d
mov ebx, r12d
lea edi, [r12 + 0x30]
test r13d, r13d
je 0x140038f04
test ebx, ebx
je 0x140038e95
lea rcx, [rbp - 0x80]
call fcn.14003e920
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
mov eax, dword [rbp + rcx - 0x68]
and eax, 0xfffff9ff
bts eax, 0xb
mov dword [rbp + rcx - 0x68], eax
mov edx, 2
lea rcx, [rbp + 0x80]
call fcn.1402237e0
mov rcx, qword [rbp - 0x80]
movsxd rdx, dword [rcx + 4]
lea rcx, [rbp - 0x80]
add rcx, rdx
mov rdx, qword [rax + 8]
call qword [rax]
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
mov word [rbp + rcx - 0x28], di
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
or dword [rbp + rcx - 0x68], 4
movzx edx, byte [rsi]
lea rcx, [rbp - 0x80]
call fcn.140013030
inc ebx
inc rsi
cmp ebx, r13d
jb 0x140038e88
call fcn.140021130
lea rsi, [0x14031b5e0]
cmp dword [rax + 8], 3
jl 0x14003958e
call fcn.140021130
mov rdi, rax
lea rcx, [rbp + 0x340]
call fcn.140019550
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x868], xmm0
mov qword [rbp + 0x878], r12
mov qword [rbp + 0x880], 7
mov word [rbp + 0x868], r12w
lea rdx, str.TRACE
lea rcx, [rbp + 0x868]
call fcn.1400184d0
xorps xmm0, xmm0
movups xmmword [rbp + 0x748], xmm0
mov rdx, r12
mov qword [rbp + 0x758], rdx
mov r8d, 7
mov qword [rbp + 0x760], r8
mov word [rbp + 0x748], r12w
mov ebx, r12d
cmp dword [rdi + 0x10], ebx
jle 0x140039008
cmp ebx, 0xa
jge 0x140039008
mov rax, r8
sub rax, rdx
lea rcx, [rbp + 0x748]
cmp rax, 2
jb 0x140038fd7
lea rax, [rdx + 2]
mov qword [rbp + 0x758], rax
cmp r8, 8
cmovae rcx, qword [rbp + 0x748]
mov eax, dword [0x1402cca20]
mov dword [rcx + rdx*2], eax
mov word [rcx + rdx*2 + 4], r12w
jmp 0x140038ff1
mov qword [rsp + 0x20], 2
lea r9, [0x1402cca20]
mov edx, 2
call fcn.140022120
inc ebx
cmp ebx, dword [rdi + 0x10]
jge 0x140039008
mov r8, qword [rbp + 0x760]
mov rdx, qword [rbp + 0x758]
jmp 0x140038f97
xorps xmm0, xmm0
movups xmmword [rbp + 0x848], xmm0
mov qword [rbp + 0x858], r12
mov qword [rbp + 0x860], 7
mov word [rbp + 0x848], r12w
movups xmmword [rbp + 0x788], xmm0
mov qword [rbp + 0x798], r12
mov qword [rbp + 0x7a0], 7
mov word [rbp + 0x788], r12w
call fcn.140231aac
mov edx, VariantTimeToDosDateTime
lea rcx, [rbp + 0xc98]
call fcn.140231bfc
lea rdx, [rbp + 0xc98]
lea rcx, [rbp + 0x848]
call fcn.1400184d0
lea rcx, [rbp + 0x540]
call fcn.140019550
nop
cmp dword [rdi + 0x14], 0
jne 0x1400390a2
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rdi + 0x14], eax
xor edx, edx
lea rcx, [rbp + 0x550]
call fcn.140013030
jmp 0x1400390c7
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rdi + 0x14]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
divsd xmm1, qword [0x1402d35d0]
lea rcx, [rbp + 0x550]
call fcn.140021b10
lea rdx, [rbp + 0x978]
lea rcx, [rbp + 0x558]
call fcn.14001a150
nop
mov rdx, qword [rbp + 0x7a0]
cmp rdx, 8
jb 0x140039121
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x788]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003911c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a018
call fcn.1400041d4
movups xmm0, xmmword [rbp + 0x978]
movups xmmword [rbp + 0x788], xmm0
movups xmm1, xmmword [rbp + 0x988]
movups xmmword [rbp + 0x798], xmm1
lea rcx, [rbp + 0x540]
call fcn.140019440
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rbp + 0x70]
call fcn.1402237b8
mov rbx, rax
mov edx, 0x2040
lea rcx, [rbp + 0xa0]
call fcn.1402237b8
mov rcx, qword [rbp + 0x350]
movsxd rdx, dword [rcx + 4]
lea rcx, [rbp + 0x350]
add rcx, rdx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rbp + 0x848]
cmp qword [rbp + 0x860], 8
cmovae rdx, qword [rbp + 0x848]
mov r8, qword [rbp + 0x858]
lea rcx, [rbp + 0x350]
call fcn.140016d70
lea rdx, [0x1402cc558]
mov rcx, rax
call fcn.140016ab0
mov rdi, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov edx, dword [rbx + 8]
call qword [rbx]
mov edx, 6
lea rcx, [rbp + 0xb0]
call fcn.1402237e0
mov rcx, qword [rdi]
movsxd rcx, dword [rcx + 4]
add rcx, rdi
mov rdx, qword [rax + 8]
call qword [rax]
mov rax, qword [rdi]
movsxd rcx, dword [rax + 4]
mov r13d, 0x30
mov word [rcx + rdi + 0x58], r13w
lea edx, [r13 - 0x2d]
lea rcx, [rbp + 0xc0]
call fcn.1402237cc
mov rcx, qword [rdi]
movsxd rcx, dword [rcx + 4]
add rcx, rdi
mov rdx, qword [rax + 8]
call qword [rax]
lea rdx, [rbp + 0x788]
cmp qword [rbp + 0x7a0], 8
cmovae rdx, qword [rbp + 0x788]
mov r8, qword [rbp + 0x798]
mov rcx, rdi
call fcn.140016d70
mov rbx, rax
lea edx, [r13 - 0x2b]
lea rcx, [rbp + 0xd0]
call fcn.1402237e0
mov rdi, rax
lea rdx, [0x1402cc558]
mov rcx, rbx
call fcn.140016ab0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov rdx, qword [rdi + 8]
call qword [rdi]
mov rcx, qword [rbx]
movsxd rdx, dword [rcx + 4]
mov word [rdx + rbx + 0x58], 0x20
lea edx, [r13 + 0x10]
lea rcx, [rbp + 0xe0]
call fcn.1402237b8
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rbp + 0x868]
cmp qword [rbp + 0x880], 8
cmovae rdx, qword [rbp + 0x868]
mov r8, qword [rbp + 0x878]
mov rcx, rbx
call fcn.140016d70
lea rbx, [rbp + 0x748]
cmp qword [rbp + 0x760], 8
cmovae rbx, qword [rbp + 0x748]
lea rdx, [0x1402cca70]
mov rcx, rax
call fcn.140016ab0
mov rcx, rax
mov rdx, rbx
call fcn.140016ab0
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14032a0a4], eax
jg 0x14003a01e
lea rdx, [rbp + 0x998]
lea rcx, [rbp + 0x358]
call fcn.14001a150
nop
mov rdx, qword [reloc.OLEAUT32.dll_VariantInit]
cmp rdx, 8
jb 0x140039380
lea rdx, [rdx*2 + 2]
mov rcx, qword [0x14031b5e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003937b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a076
call fcn.1400041d4
movups xmm0, xmmword [rbp + 0x998]
movups xmmword [0x14031b5e0], xmm0
movups xmm1, xmmword [rbp + 0x9a8]
movups xmmword [0x14031b5f0], xmm1
mov rdx, qword [rbp + 0x7a0]
cmp rdx, 8
jb 0x1400393e2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x788]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400393dd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a07c
call fcn.1400041d4
mov qword [rbp + 0x798], r12
mov qword [rbp + 0x7a0], 7
mov word [rbp + 0x788], r12w
mov rdx, qword [rbp + 0x860]
cmp rdx, 8
jb 0x140039442
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x848]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003943d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a082
call fcn.1400041d4
mov qword [rbp + 0x858], r12
mov qword [rbp + 0x860], 7
mov word [rbp + 0x848], r12w
mov rdx, qword [rbp + 0x760]
cmp rdx, 8
jb 0x1400394a2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x748]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003949d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a088
call fcn.1400041d4
mov qword [rbp + 0x758], r12
mov qword [rbp + 0x760], 7
mov word [rbp + 0x748], r12w
mov rdx, qword [rbp + 0x880]
cmp rdx, 8
jb 0x140039502
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x868]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400394fd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a08e
call fcn.1400041d4
mov qword [rbp + 0x878], r12
mov qword [rbp + 0x880], 7
mov word [rbp + 0x868], r12w
lea rcx, [rbp + 0x340]
call fcn.140019440
call fcn.140021130
mov rdx, rsi
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
cmovae rdx, qword [0x14031b5e0]
mov r8, qword [0x14031b5f0]
mov rcx, rax
call fcn.140016d70
lea rdx, str.Monitor_Name:
mov rcx, rax
call fcn.1400153f0
lea rdx, [rbp + 0x7e8]
cmp qword [rbp + 0x800], 8
cmovae rdx, qword [rbp + 0x7e8]
mov r8, qword [rbp + 0x7f8]
mov rcx, rax
call fcn.140016d70
mov rcx, rax
call fcn.140017c90
jmp 0x140039594
mov r13d, 0x30
call fcn.140021130
cmp dword [rax + 8], 5
jl 0x140039c5a
lea rdx, [rbp + 0x8e8]
lea rcx, [rbp - 0x78]
call fcn.14001a150
nop
call fcn.140021130
mov rdi, rax
lea rcx, [rbp + 0x440]
call fcn.140019550
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x8a8], xmm0
mov qword [rbp + 0x8b8], r12
mov qword [rbp + 0x8c0], 7
mov word [rbp + 0x8a8], r12w
lea rdx, str.DUMP
lea rcx, [rbp + 0x8a8]
call fcn.1400184d0
xorps xmm0, xmm0
movups xmmword [rbp + 0x768], xmm0
mov rdx, r12
mov qword [rbp + 0x778], rdx
mov r8d, 7
mov qword [rbp + 0x780], r8
mov word [rbp + 0x768], r12w
mov ebx, r12d
cmp dword [rdi + 0x10], ebx
jle 0x1400396a2
cmp ebx, 0xa
jge 0x1400396a2
mov rax, r8
sub rax, rdx
lea rcx, [rbp + 0x768]
cmp rax, 2
jb 0x140039671
lea rax, [rdx + 2]
mov qword [rbp + 0x778], rax
cmp r8, 8
cmovae rcx, qword [rbp + 0x768]
mov eax, dword [0x1402cca20]
mov dword [rcx + rdx*2], eax
mov word [rcx + rdx*2 + 4], r12w
jmp 0x14003968b
mov qword [rsp + 0x20], 2
lea r9, [0x1402cca20]
mov edx, 2
call fcn.140022120
inc ebx
cmp ebx, dword [rdi + 0x10]
jge 0x1400396a2
mov r8, qword [rbp + 0x780]
mov rdx, qword [rbp + 0x778]
jmp 0x140039631
xorps xmm0, xmm0
movups xmmword [rbp + 0x888], xmm0
mov qword [rbp + 0x898], r12
mov qword [rbp + 0x8a0], 7
mov word [rbp + 0x888], r12w
movups xmmword [rbp + 0x7a8], xmm0
mov qword [rbp + 0x7b8], r12
mov qword [rbp + 0x7c0], 7
mov word [rbp + 0x7a8], r12w
call fcn.140231aac
mov edx, VariantTimeToDosDateTime
lea rcx, [rbp + 0xcb0]
call fcn.140231bfc
lea rdx, [rbp + 0xcb0]
lea rcx, [rbp + 0x888]
call fcn.1400184d0
lea rcx, [rbp + 0x640]
call fcn.140019550
nop
cmp dword [rdi + 0x14], 0
jne 0x14003973c
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rdi + 0x14], eax
xor edx, edx
lea rcx, [rbp + 0x650]
call fcn.140013030
jmp 0x140039761
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rdi + 0x14]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
divsd xmm1, qword [0x1402d35d0]
lea rcx, [rbp + 0x650]
call fcn.140021b10
lea rdx, [rbp + 0x9b8]
lea rcx, [rbp + 0x658]
call fcn.14001a150
nop
mov rdx, qword [rbp + 0x7c0]
cmp rdx, 8
jb 0x1400397bb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x7a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400397b6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a094
call fcn.1400041d4
movups xmm0, xmmword [rbp + 0x9b8]
movups xmmword [rbp + 0x7a8], xmm0
movups xmm1, xmmword [rbp + 0x9c8]
movups xmmword [rbp + 0x7b8], xmm1
lea rcx, [rbp + 0x640]
call fcn.140019440
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rbp + 0x90]
call fcn.1402237b8
mov rbx, rax
mov edx, 0x2040
lea rcx, [rbp + 0xf0]
call fcn.1402237b8
mov rcx, qword [rbp + 0x450]
movsxd rdx, dword [rcx + 4]
lea rcx, [rbp + 0x450]
add rcx, rdx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rbp + 0x888]
cmp qword [rbp + 0x8a0], 8
cmovae rdx, qword [rbp + 0x888]
mov r8, qword [rbp + 0x898]
lea rcx, [rbp + 0x450]
call fcn.140016d70
lea rdx, [0x1402cc558]
mov rcx, rax
call fcn.140016ab0
mov rdi, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov edx, dword [rbx + 8]
call qword [rbx]
mov edx, 6
lea rcx, [rbp + 0x100]
call fcn.1402237e0
mov rcx, qword [rdi]
movsxd rcx, dword [rcx + 4]
add rcx, rdi
mov rdx, qword [rax + 8]
call qword [rax]
mov rax, qword [rdi]
movsxd rcx, dword [rax + 4]
mov word [rcx + rdi + 0x58], r13w
mov edx, 3
lea rcx, [rbp + 0x110]
call fcn.1402237cc
mov rcx, qword [rdi]
movsxd rcx, dword [rcx + 4]
add rcx, rdi
mov rdx, qword [rax + 8]
call qword [rax]
lea rdx, [rbp + 0x7a8]
cmp qword [rbp + 0x7c0], 8
cmovae rdx, qword [rbp + 0x7a8]
mov r8, qword [rbp + 0x7b8]
mov rcx, rdi
call fcn.140016d70
mov rbx, rax
mov edx, 5
lea rcx, [rbp + 0x120]
call fcn.1402237e0
mov rdi, rax
lea rdx, [0x1402cc558]
mov rcx, rbx
call fcn.140016ab0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov rdx, qword [rdi + 8]
call qword [rdi]
mov rcx, qword [rbx]
movsxd r8, dword [rcx + 4]
mov word [r8 + rbx + 0x58], 0x20
mov edx, 0x40
lea rcx, [rbp + 0x130]
call fcn.1402237b8
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rbp + 0x8a8]
cmp qword [rbp + 0x8c0], 8
cmovae rdx, qword [rbp + 0x8a8]
mov r8, qword [rbp + 0x8b8]
mov rcx, rbx
call fcn.140016d70
lea rbx, [rbp + 0x768]
cmp qword [rbp + 0x780], 8
cmovae rbx, qword [rbp + 0x768]
lea rdx, [0x1402cca70]
mov rcx, rax
call fcn.140016ab0
mov rcx, rax
mov rdx, rbx
call fcn.140016ab0
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14032a0a4], eax
jg 0x14003a09a
lea rdx, [rbp + 0x9d8]
lea rcx, [rbp + 0x458]
call fcn.14001a150
nop
mov rdx, qword [reloc.OLEAUT32.dll_VariantInit]
cmp rdx, 8
jb 0x140039a1b
lea rdx, [rdx*2 + 2]
mov rcx, qword [0x14031b5e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039a16
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a0f2
call fcn.1400041d4
movups xmm0, xmmword [rbp + 0x9d8]
movups xmmword [0x14031b5e0], xmm0
movups xmm1, xmmword [rbp + 0x9e8]
movups xmmword [0x14031b5f0], xmm1
mov rdx, qword [rbp + 0x7c0]
cmp rdx, 8
jb 0x140039a7d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x7a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039a78
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a0f8
call fcn.1400041d4
mov qword [rbp + 0x7b8], r12
mov qword [rbp + 0x7c0], 7
mov word [rbp + 0x7a8], r12w
mov rdx, qword [rbp + 0x8a0]
cmp rdx, 8
jb 0x140039add
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x888]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039ad8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a0fe
call fcn.1400041d4
mov qword [rbp + 0x898], r12
mov qword [rbp + 0x8a0], 7
mov word [rbp + 0x888], r12w
mov rdx, qword [rbp + 0x780]
cmp rdx, 8
jb 0x140039b3d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x768]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039b38
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a104
call fcn.1400041d4
mov qword [rbp + 0x778], r12
mov qword [rbp + 0x780], 7
mov word [rbp + 0x768], r12w
mov rdx, qword [rbp + 0x8c0]
cmp rdx, 8
jb 0x140039b9d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x8a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039b98
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a10a
call fcn.1400041d4
mov qword [rbp + 0x8b8], r12
mov qword [rbp + 0x8c0], 7
mov word [rbp + 0x8a8], r12w
lea rcx, [rbp + 0x440]
call fcn.140019440
call fcn.140021130
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
cmovae rsi, qword [0x14031b5e0]
mov r8, qword [0x14031b5f0]
mov rdx, rsi
mov rcx, rax
call fcn.140016d70
lea rdx, str.Monitor_EDID:
mov rcx, rax
call fcn.1400153f0
mov rcx, rax
lea rdx, [0x1402cec98]
call fcn.1400153f0
lea rdx, [rbp + 0x8e8]
cmp qword [rbp + 0x900], 8
cmovae rdx, qword [rbp + 0x8e8]
mov r8, qword [rbp + 0x8f8]
mov rcx, rax
call fcn.140016d70
mov rcx, rax
call fcn.140017c90
nop
mov r8, qword [rbp + 0x900]
cmp r8, 8
jb 0x140039c5a
inc r8
mov rdx, qword [rbp + 0x8e8]
lea rcx, [rbp + 0x8e8]
call fcn.1400099e8
lea rdx, [rbp + 0x928]
lea rcx, [rbp - 0x78]
call fcn.14001a150
nop
lea rbx, vtable.srl::Name.0
mov qword [rsp + 0x30], rbx
call fcn.1400102e4
mov rcx, rax
test rax, rax
je 0x14003a110
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
lea rdx, [rbp + 0x928]
cmp qword [rbp + 0x940], 8
jb 0x140039cc0
mov rdx, qword [rbp + 0x928]
test rdx, rdx
jne 0x140039cc0
lea rcx, [rsp + 0x38]
call fcn.140002944
jmp 0x140039cd9
mov r8, r15
inc r8
cmp word [rdx + r8*2], 0
jne 0x140039cc3
lea rcx, [rsp + 0x38]
call fcn.140002b2c
nop
mov edx, 0x11701
lea rcx, [rbp + 0x948]
call fcn.140022830
nop
mov r9d, r14d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.140050f90
nop
lea rax, vtable.srl::GroupID.0
mov qword [rbp + 0x948], rax
mov rdx, qword [rbp + 0x968]
cmp rdx, 8
jb 0x140039d50
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x950]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039d4b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a11b
call fcn.1400041d4
movdqa xmm0, xmmword [0x1402d3620]
movdqu xmmword [rbp + 0x960], xmm0
mov word [rbp + 0x950], r12w
mov qword [rsp + 0x30], rbx
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r15d
sub r15d, 1
jg 0x140039d8b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, vtable.srl::Value.0
mov qword [rsp + 0x30], rax
mov rdx, qword [rbp + 0x940]
cmp rdx, 8
jb 0x140039dde
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x928]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039dd8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a121
call fcn.1400041d4
nop
lea rcx, [rsp + 0x70]
call fcn.140019440
nop
mov rdx, qword [rbp + 0x800]
cmp rdx, 8
jb 0x140039e2f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x7e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039e2a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a127
call fcn.1400041d4
mov qword [rbp + 0x7f8], r12
mov qword [rbp + 0x800], 7
mov word [rbp + 0x7e8], r12w
mov rdx, qword [rbp + 0x7e0]
cmp rdx, 0x10
jb 0x140039e8a
inc rdx
mov rcx, qword [rbp + 0x7c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039e85
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a12d
call fcn.1400041d4
mov qword [rbp + 0x7d8], r12
mov qword [rbp + 0x7e0], SafeArrayGetDim
mov byte [rbp + 0x7c8], 0
mov rdx, qword [rbp + 0x820]
cmp rdx, 0x10
jb 0x140039ee4
inc rdx
mov rcx, qword [rbp + 0x808]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039edf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a133
call fcn.1400041d4
mov qword [rbp + 0x818], r12
mov qword [rbp + 0x820], SafeArrayGetDim
mov byte [rbp + 0x808], 0
mov rdx, qword [rbp + 0x840]
cmp rdx, 0x10
jb 0x140039f3e
inc rdx
mov rcx, qword [rbp + 0x828]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039f39
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a139
call fcn.1400041d4
mov qword [rbp + 0x838], r12
mov qword [rbp + 0x840], SafeArrayGetDim
mov byte [rbp + 0x828], 0
mov rdx, qword [rbp + 0x8e0]
cmp rdx, 8
jb 0x140039f99
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x8c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039f94
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039ff6
call fcn.1400041d4
mov qword [rbp + 0x8d8], r12
mov qword [rbp + 0x8e0], 7
mov word [rbp + 0x8c8], r12w
lea rcx, [rbp + 0x140]
call fcn.14003a140
nop
lea rcx, [rbp + 0x240]
call fcn.14003a140
mov rcx, qword [rbp + 0xcc8]
xor rcx, rsp
call fcn.140220e50
mov rbx, qword [rsp + 0xe10]
add rsp, 0xdd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14022a144
nop
mov ecx, 0x80004005
call fcn.140002dfc
nop
mov ecx, 0x80004005
call fcn.140002dfc
nop
call fcn.140221314
nop
call fcn.14022a144
nop
lea rcx, [0x14032a0a4]
call fcn.140221194
cmp dword [0x14032a0a4], 0xffffffff
jne 0x140039326
xorps xmm0, xmm0
movups xmmword [0x14031b5e0], xmm0
movdqa xmm1, xmmword [0x1402d3620]
movdqu xmmword [0x14031b5f0], xmm1
mov word [0x14031b5e0], r12w
lea rcx, [0x14026f080]
call fcn.1402210a8
lea rcx, [0x14032a0a4]
call fcn.140221128
jmp 0x140039326
call fcn.14022a144
nop
call fcn.14022a144
nop
call fcn.14022a144
nop
call fcn.14022a144
nop
call fcn.14022a144
nop
call fcn.14022a144
nop
lea rcx, [0x14032a0a4]
call fcn.140221194
cmp dword [0x14032a0a4], 0xffffffff
jne 0x1400399c1
xorps xmm0, xmm0
movups xmmword [0x14031b5e0], xmm0
movdqa xmm1, xmmword [0x1402d3620]
movdqu xmmword [0x14031b5f0], xmm1
mov word [0x14031b5e0], r12w
lea rcx, [0x14026f080]
call fcn.1402210a8
lea rcx, [0x14032a0a4]
call fcn.140221128
jmp 0x1400399c1
call fcn.14022a144
nop
call fcn.14022a144
nop
call fcn.14022a144
nop
call fcn.14022a144
nop
call fcn.14022a144
nop
mov ecx, 0x80004005
call fcn.140002dfc
nop
call fcn.14022a144
nop
call fcn.14022a144
nop
call fcn.14022a144
nop
call fcn.14022a144
nop
call fcn.14022a144
nop
call fcn.14022a144
int3