Function at 0x140038500
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.1400210a0
cmp dword [rax + 8], 3
jl 0x1400385f4
call fcn.1400210a0
mov rcx, rax
lea edx, [r14 + 3]
call fcn.1400213a0
mov rbx, rax
call fcn.1400210a0
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1400385c2
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rax
call fcn.140016ce0
lea rdx, str.Manufacturer_ID:
mov rcx, rax
call fcn.140015360
mov rcx, rax
lea rdx, [rbp + 0x740]
call fcn.140015360
mov rcx, rax
call fcn.140017c00
movzx ebx, byte [rsi + 0xb]
shl bx, 8
movzx eax, byte [rsi + 0xa]
or bx, ax
lea rcx, [rbp + 0x240]
call fcn.14003c0d0
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.14003c480
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.14003c0d0
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.14003c280
lea rdx, [rbp + 0x908]
lea rcx, [rbp + 0x140]
call fcn.14003bff0
nop
cmp qword [rax + 0x18], 0x10
jb 0x140038735
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.140014290
nop
mov rdx, qword [rbp + 0xa60]
lea rcx, [rbp + 0x8c8]
call fcn.14000953c
nop
lea rax, [rbp + 0xa68]
mov rcx, qword [rbp + 0xa60]
cmp rcx, rax
je 0x140038786
call fcn.14022e968
nop
mov r8, qword [rbp + 0x920]
cmp r8, 0x10
jb 0x1400387a9
inc r8
mov rdx, qword [rbp + 0x908]
lea rcx, [rbp + 0x908]
call fcn.1400068dc
movdqa xmm0, xmmword [0x1402d3580]
movdqu xmmword [rbp + 0x918], xmm0
mov byte [rbp + 0x908], 0
lea rbx, vtable.srl::Name.0
mov qword [rsp + 0x48], rbx
call fcn.140010254
mov rcx, rax
test rax, rax
je 0x140039f6c
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 0x14003881c
mov rdx, qword [rbp + 0x8c8]
test rdx, rdx
jne 0x14003881c
lea rcx, [rsp + 0x50]
call fcn.1400028b4
jmp 0x140038836
mov r8, r15
nop
inc r8
cmp word [rdx + r8*2], 0
jne 0x140038820
lea rcx, [rsp + 0x50]
call fcn.140002a9c
nop
mov edx, 0x116ee
lea rcx, [rbp + 0xa28]
call fcn.1400227a0
nop
mov r9d, edi
lea r8, [rsp + 0x48]
mov rdx, rax
call fcn.1400503f0
nop
lea rcx, [rbp + 0xa28]
call fcn.140022930
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 0x14003888a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.1400210a0
cmp dword [rax + 8], 3
jl 0x140038922
call fcn.1400210a0
mov rcx, rax
mov edx, 3
call fcn.1400213a0
mov rbx, rax
call fcn.1400210a0
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1400388c0
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rax
call fcn.140016ce0
lea rdx, str.Monitor_ID:
mov rcx, rax
call fcn.140015360
lea rdx, [rbp + 0x8c8]
cmp qword [rbp + 0x8e0], 8
cmovae rdx, qword [rbp + 0x8c8]
mov r8, qword [rbp + 0x8d8]
mov rcx, rax
call fcn.140016ce0
lea rdx, str._At_Index:
mov rcx, rax
call fcn.140015360
mov rcx, rax
mov edx, edi
call fcn.1400196c0
mov rcx, rax
call fcn.140017c00
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.1400210a0
cmp dword [rax + 8], 3
jl 0x1400389f5
call fcn.1400210a0
mov rcx, rax
mov edx, 3
call fcn.1400213a0
mov rbx, rax
call fcn.1400210a0
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1400389c8
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rax
call fcn.140016ce0
lea rdx, str.EDID_Type:
mov rcx, rax
call fcn.140015360
mov rcx, rax
mov edx, edi
call fcn.140012fa0
mov rcx, rax
call fcn.140017c00
cmp byte [rsi + r14], 0
jne 0x140038c71
cmp byte [rsi + r14 + 1], 0
jne 0x140038c71
cmp byte [rsi + r14 + 2], 0
jne 0x140038c71
lea eax, [rdi + 4]
test al, 0xfc
jne 0x140038c71
cmp dil, 0xfd
je 0x140038c71
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.1400210a0
cmp dword [rax + 8], 3
jl 0x140038b20
call fcn.1400210a0
mov rcx, rax
mov edx, 3
call fcn.1400213a0
mov rbx, rax
call fcn.1400210a0
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x140038aee
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rax
call fcn.140016ce0
lea rdx, str.EDID_data:
mov rcx, rax
call fcn.140015360
mov rcx, rax
lea rdx, [rbp + 0xc80]
call fcn.140015360
mov rcx, rax
call fcn.140017c00
mov eax, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
nop word [rax + rax]
movzx ecx, byte [rbp + rax + 0xc80]
cmp cl, 0xa
je 0x140038b42
cmp cl, 0x20
jne 0x140038b5a
cmp rax, 0x13
jae 0x140039f82
mov byte [rbp + rax + 0xc80], 0
sub rax, 1
jns 0x140038b30
mov ecx, edi
sub ecx, 0xfc
je 0x140038c0a
sub ecx, 2
je 0x140038bc0
cmp ecx, 1
jne 0x140038c71
lea rax, [rbp + 0xc80]
mov rdi, r15
inc rdi
cmp byte [rax + rdi], 0
jne 0x140038b80
mov rax, qword [rbp + 0x820]
cmp rdi, rax
ja 0x140038bb4
lea rbx, [rbp + 0x808]
cmp rax, 0x10
cmovae rbx, qword [rbp + 0x808]
mov qword [rbp + 0x818], rdi
jmp 0x140038c43
lea rcx, [rbp + 0x808]
jmp 0x140038c62
lea rax, [rbp + 0xc80]
mov rdi, r15
nop word [rax + rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x140038bd0
mov rax, qword [rbp + 0x840]
cmp rdi, rax
ja 0x140038c01
lea rbx, [rbp + 0x828]
cmp rax, 0x10
cmovae rbx, qword [rbp + 0x828]
mov qword [rbp + 0x838], rdi
jmp 0x140038c43
lea rcx, [rbp + 0x828]
jmp 0x140038c62
lea rax, [rbp + 0xc80]
mov rdi, r15
inc rdi
cmp byte [rax + rdi], 0
jne 0x140038c14
mov rax, qword [rbp + 0x7e0]
cmp rdi, rax
ja 0x140038c5b
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.140224a90
mov byte [rbx + rdi], 0
jmp 0x140038c71
lea rcx, [rbp + 0x7c8]
lea r9, [rbp + 0xc80]
mov rdx, rdi
call fcn.14003ee80
add r12d, 0x12
add r14, 0x12
cmp r14, 0x7e
jl 0x140038990
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.140014290
nop
mov rdx, qword [rbp + 0xb70]
lea rcx, [rbp + 0x7e8]
call fcn.14000953c
nop
lea rax, [rbp + 0xb78]
mov rcx, qword [rbp + 0xb70]
cmp rcx, rax
je 0x140038ce7
call fcn.14022e968
cmp qword [rbp + 0x7f8], 0
jne 0x140038d02
mov rdx, qword [rsp + 0x30]
lea rcx, [rbp + 0x7e8]
call fcn.14001b210
lea rbx, vtable.srl::Name.0
mov qword [rsp + 0x58], rbx
call fcn.140010254
mov rcx, rax
test rax, rax
je 0x140039f77
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 0x140038d57
mov rdx, qword [rbp + 0x7e8]
test rdx, rdx
jne 0x140038d57
lea rcx, [rsp + 0x60]
call fcn.1400028b4
jmp 0x140038d76
mov r8, r15
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x140038d60
lea rcx, [rsp + 0x60]
call fcn.140002a9c
nop
mov edx, 0x116ed
lea rcx, [rbp + 0x9f8]
call fcn.1400227a0
nop
mov r14d, dword [rsp + 0x40]
mov r9d, r14d
lea r8, [rsp + 0x58]
mov rdx, rax
call fcn.1400503f0
nop
lea rax, vtable.srl::GroupID.0
mov qword [rbp + 0x9f8], rax
lea rcx, [rbp + 0xa00]
call fcn.1400098b0
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 0x140038ddd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [rsp + 0x70]
call fcn.1400194c0
nop
xor r12d, r12d
mov ebx, r12d
lea edi, [r12 + 0x30]
test r13d, r13d
je 0x140038e74
test ebx, ebx
je 0x140038e05
lea rcx, [rbp - 0x80]
call fcn.14003e890
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.140222c40
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.140012fa0
inc ebx
inc rsi
cmp ebx, r13d
jb 0x140038df8
call fcn.1400210a0
lea rsi, [0x14031b5e0]
cmp dword [rax + 8], 3
jl 0x1400394fe
call fcn.1400210a0
mov rdi, rax
lea rcx, [rbp + 0x340]
call fcn.1400194c0
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.140018440
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 0x140038f78
cmp ebx, 0xa
jge 0x140038f78
mov rax, r8
sub rax, rdx
lea rcx, [rbp + 0x748]
cmp rax, 2
jb 0x140038f47
lea rax, [rdx + 2]
mov qword [rbp + 0x758], rax
cmp r8, 8
cmovae rcx, qword [rbp + 0x748]
mov eax, dword [0x1402cca30]
mov dword [rcx + rdx*2], eax
mov word [rcx + rdx*2 + 4], r12w
jmp 0x140038f61
mov qword [rsp + 0x20], 2
lea r9, [0x1402cca30]
mov edx, 2
call fcn.140022090
inc ebx
cmp ebx, dword [rdi + 0x10]
jge 0x140038f78
mov r8, qword [rbp + 0x760]
mov rdx, qword [rbp + 0x758]
jmp 0x140038f07
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.140230f0c
mov edx, VariantTimeToDosDateTime
lea rcx, [rbp + 0xc98]
call fcn.14023105c
lea rdx, [rbp + 0xc98]
lea rcx, [rbp + 0x848]
call fcn.140018440
lea rcx, [rbp + 0x540]
call fcn.1400194c0
nop
cmp dword [rdi + 0x14], 0
jne 0x140039012
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rdi + 0x14], eax
xor edx, edx
lea rcx, [rbp + 0x550]
call fcn.140012fa0
jmp 0x140039037
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rdi + 0x14]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
divsd xmm1, qword [0x1402d3520]
lea rcx, [rbp + 0x550]
call fcn.140021a80
lea rdx, [rbp + 0x978]
lea rcx, [rbp + 0x558]
call fcn.14001a0c0
nop
mov rdx, qword [rbp + 0x7a0]
cmp rdx, 8
jb 0x140039091
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x788]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003908c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039f88
call fcn.140004144
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.1400193b0
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rbp + 0x70]
call fcn.140222c18
mov rbx, rax
mov edx, 0x2040
lea rcx, [rbp + 0xa0]
call fcn.140222c18
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.140016ce0
lea rdx, [0x1402cc568]
mov rcx, rax
call fcn.140016a20
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.140222c40
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.140222c2c
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.140016ce0
mov rbx, rax
lea edx, [r13 - 0x2b]
lea rcx, [rbp + 0xd0]
call fcn.140222c40
mov rdi, rax
lea rdx, [0x1402cc568]
mov rcx, rbx
call fcn.140016a20
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.140222c18
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.140016ce0
lea rbx, [rbp + 0x748]
cmp qword [rbp + 0x760], 8
cmovae rbx, qword [rbp + 0x748]
lea rdx, [0x1402cca80]
mov rcx, rax
call fcn.140016a20
mov rcx, rax
mov rdx, rbx
call fcn.140016a20
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14032a09c], eax
jg 0x140039f8e
lea rdx, [rbp + 0x998]
lea rcx, [rbp + 0x358]
call fcn.14001a0c0
nop
mov rdx, qword [reloc.OLEAUT32.dll_VariantInit]
cmp rdx, 8
jb 0x1400392f0
lea rdx, [rdx*2 + 2]
mov rcx, qword [0x14031b5e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400392eb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039fe6
call fcn.140004144
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 0x140039352
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x788]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003934d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039fec
call fcn.140004144
mov qword [rbp + 0x798], r12
mov qword [rbp + 0x7a0], 7
mov word [rbp + 0x788], r12w
mov rdx, qword [rbp + 0x860]
cmp rdx, 8
jb 0x1400393b2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x848]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400393ad
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039ff2
call fcn.140004144
mov qword [rbp + 0x858], r12
mov qword [rbp + 0x860], 7
mov word [rbp + 0x848], r12w
mov rdx, qword [rbp + 0x760]
cmp rdx, 8
jb 0x140039412
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x748]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003940d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039ff8
call fcn.140004144
mov qword [rbp + 0x758], r12
mov qword [rbp + 0x760], 7
mov word [rbp + 0x748], r12w
mov rdx, qword [rbp + 0x880]
cmp rdx, 8
jb 0x140039472
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x868]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003946d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039ffe
call fcn.140004144
mov qword [rbp + 0x878], r12
mov qword [rbp + 0x880], 7
mov word [rbp + 0x868], r12w
lea rcx, [rbp + 0x340]
call fcn.1400193b0
call fcn.1400210a0
mov rdx, rsi
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
cmovae rdx, qword [0x14031b5e0]
mov r8, qword [0x14031b5f0]
mov rcx, rax
call fcn.140016ce0
lea rdx, str.Monitor_Name:
mov rcx, rax
call fcn.140015360
lea rdx, [rbp + 0x7e8]
cmp qword [rbp + 0x800], 8
cmovae rdx, qword [rbp + 0x7e8]
mov r8, qword [rbp + 0x7f8]
mov rcx, rax
call fcn.140016ce0
mov rcx, rax
call fcn.140017c00
jmp 0x140039504
mov r13d, 0x30
call fcn.1400210a0
cmp dword [rax + 8], 5
jl 0x140039bca
lea rdx, [rbp + 0x8e8]
lea rcx, [rbp - 0x78]
call fcn.14001a0c0
nop
call fcn.1400210a0
mov rdi, rax
lea rcx, [rbp + 0x440]
call fcn.1400194c0
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.140018440
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 0x140039612
cmp ebx, 0xa
jge 0x140039612
mov rax, r8
sub rax, rdx
lea rcx, [rbp + 0x768]
cmp rax, 2
jb 0x1400395e1
lea rax, [rdx + 2]
mov qword [rbp + 0x778], rax
cmp r8, 8
cmovae rcx, qword [rbp + 0x768]
mov eax, dword [0x1402cca30]
mov dword [rcx + rdx*2], eax
mov word [rcx + rdx*2 + 4], r12w
jmp 0x1400395fb
mov qword [rsp + 0x20], 2
lea r9, [0x1402cca30]
mov edx, 2
call fcn.140022090
inc ebx
cmp ebx, dword [rdi + 0x10]
jge 0x140039612
mov r8, qword [rbp + 0x780]
mov rdx, qword [rbp + 0x778]
jmp 0x1400395a1
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.140230f0c
mov edx, VariantTimeToDosDateTime
lea rcx, [rbp + 0xcb0]
call fcn.14023105c
lea rdx, [rbp + 0xcb0]
lea rcx, [rbp + 0x888]
call fcn.140018440
lea rcx, [rbp + 0x640]
call fcn.1400194c0
nop
cmp dword [rdi + 0x14], 0
jne 0x1400396ac
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rdi + 0x14], eax
xor edx, edx
lea rcx, [rbp + 0x650]
call fcn.140012fa0
jmp 0x1400396d1
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rdi + 0x14]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
divsd xmm1, qword [0x1402d3520]
lea rcx, [rbp + 0x650]
call fcn.140021a80
lea rdx, [rbp + 0x9b8]
lea rcx, [rbp + 0x658]
call fcn.14001a0c0
nop
mov rdx, qword [rbp + 0x7c0]
cmp rdx, 8
jb 0x14003972b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x7a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039726
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a004
call fcn.140004144
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.1400193b0
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rbp + 0x90]
call fcn.140222c18
mov rbx, rax
mov edx, 0x2040
lea rcx, [rbp + 0xf0]
call fcn.140222c18
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.140016ce0
lea rdx, [0x1402cc568]
mov rcx, rax
call fcn.140016a20
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.140222c40
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.140222c2c
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.140016ce0
mov rbx, rax
mov edx, 5
lea rcx, [rbp + 0x120]
call fcn.140222c40
mov rdi, rax
lea rdx, [0x1402cc568]
mov rcx, rbx
call fcn.140016a20
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.140222c18
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.140016ce0
lea rbx, [rbp + 0x768]
cmp qword [rbp + 0x780], 8
cmovae rbx, qword [rbp + 0x768]
lea rdx, [0x1402cca80]
mov rcx, rax
call fcn.140016a20
mov rcx, rax
mov rdx, rbx
call fcn.140016a20
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14032a09c], eax
jg 0x14003a00a
lea rdx, [rbp + 0x9d8]
lea rcx, [rbp + 0x458]
call fcn.14001a0c0
nop
mov rdx, qword [reloc.OLEAUT32.dll_VariantInit]
cmp rdx, 8
jb 0x14003998b
lea rdx, [rdx*2 + 2]
mov rcx, qword [0x14031b5e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039986
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a062
call fcn.140004144
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 0x1400399ed
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x7a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400399e8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a068
call fcn.140004144
mov qword [rbp + 0x7b8], r12
mov qword [rbp + 0x7c0], 7
mov word [rbp + 0x7a8], r12w
mov rdx, qword [rbp + 0x8a0]
cmp rdx, 8
jb 0x140039a4d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x888]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039a48
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a06e
call fcn.140004144
mov qword [rbp + 0x898], r12
mov qword [rbp + 0x8a0], 7
mov word [rbp + 0x888], r12w
mov rdx, qword [rbp + 0x780]
cmp rdx, 8
jb 0x140039aad
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x768]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039aa8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a074
call fcn.140004144
mov qword [rbp + 0x778], r12
mov qword [rbp + 0x780], 7
mov word [rbp + 0x768], r12w
mov rdx, qword [rbp + 0x8c0]
cmp rdx, 8
jb 0x140039b0d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x8a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039b08
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a07a
call fcn.140004144
mov qword [rbp + 0x8b8], r12
mov qword [rbp + 0x8c0], 7
mov word [rbp + 0x8a8], r12w
lea rcx, [rbp + 0x440]
call fcn.1400193b0
call fcn.1400210a0
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
cmovae rsi, qword [0x14031b5e0]
mov r8, qword [0x14031b5f0]
mov rdx, rsi
mov rcx, rax
call fcn.140016ce0
lea rdx, str.Monitor_EDID:
mov rcx, rax
call fcn.140015360
mov rcx, rax
lea rdx, [0x1402ceca8]
call fcn.140015360
lea rdx, [rbp + 0x8e8]
cmp qword [rbp + 0x900], 8
cmovae rdx, qword [rbp + 0x8e8]
mov r8, qword [rbp + 0x8f8]
mov rcx, rax
call fcn.140016ce0
mov rcx, rax
call fcn.140017c00
nop
mov r8, qword [rbp + 0x900]
cmp r8, 8
jb 0x140039bca
inc r8
mov rdx, qword [rbp + 0x8e8]
lea rcx, [rbp + 0x8e8]
call fcn.140009958
lea rdx, [rbp + 0x928]
lea rcx, [rbp - 0x78]
call fcn.14001a0c0
nop
lea rbx, vtable.srl::Name.0
mov qword [rsp + 0x30], rbx
call fcn.140010254
mov rcx, rax
test rax, rax
je 0x14003a080
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 0x140039c30
mov rdx, qword [rbp + 0x928]
test rdx, rdx
jne 0x140039c30
lea rcx, [rsp + 0x38]
call fcn.1400028b4
jmp 0x140039c49
mov r8, r15
inc r8
cmp word [rdx + r8*2], 0
jne 0x140039c33
lea rcx, [rsp + 0x38]
call fcn.140002a9c
nop
mov edx, 0x11701
lea rcx, [rbp + 0x948]
call fcn.1400227a0
nop
mov r9d, r14d
lea r8, [rsp + 0x30]
mov rdx, rax
call fcn.1400503f0
nop
lea rax, vtable.srl::GroupID.0
mov qword [rbp + 0x948], rax
mov rdx, qword [rbp + 0x968]
cmp rdx, 8
jb 0x140039cc0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x950]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039cbb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a08b
call fcn.140004144
movdqa xmm0, xmmword [0x1402d3570]
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 0x140039cfb
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 0x140039d4e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x928]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039d48
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a091
call fcn.140004144
nop
lea rcx, [rsp + 0x70]
call fcn.1400193b0
nop
mov rdx, qword [rbp + 0x800]
cmp rdx, 8
jb 0x140039d9f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x7e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039d9a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a097
call fcn.140004144
mov qword [rbp + 0x7f8], r12
mov qword [rbp + 0x800], 7
mov word [rbp + 0x7e8], r12w
mov rdx, qword [rbp + 0x7e0]
cmp rdx, 0x10
jb 0x140039dfa
inc rdx
mov rcx, qword [rbp + 0x7c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039df5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a09d
call fcn.140004144
mov qword [rbp + 0x7d8], r12
mov qword [rbp + 0x7e0], SafeArrayGetDim
mov byte [rbp + 0x7c8], 0
mov rdx, qword [rbp + 0x820]
cmp rdx, 0x10
jb 0x140039e54
inc rdx
mov rcx, qword [rbp + 0x808]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039e4f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a0a3
call fcn.140004144
mov qword [rbp + 0x818], r12
mov qword [rbp + 0x820], SafeArrayGetDim
mov byte [rbp + 0x808], 0
mov rdx, qword [rbp + 0x840]
cmp rdx, 0x10
jb 0x140039eae
inc rdx
mov rcx, qword [rbp + 0x828]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039ea9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a0a9
call fcn.140004144
mov qword [rbp + 0x838], r12
mov qword [rbp + 0x840], SafeArrayGetDim
mov byte [rbp + 0x828], 0
mov rdx, qword [rbp + 0x8e0]
cmp rdx, 8
jb 0x140039f09
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x8c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039f04
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039f66
call fcn.140004144
mov qword [rbp + 0x8d8], r12
mov qword [rbp + 0x8e0], 7
mov word [rbp + 0x8c8], r12w
lea rcx, [rbp + 0x140]
call fcn.14003a0b0
nop
lea rcx, [rbp + 0x240]
call fcn.14003a0b0
mov rcx, qword [rbp + 0xcc8]
xor rcx, rsp
call fcn.1402202b0
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.1402295a4
nop
mov ecx, 0x80004005
call fcn.140002d6c
nop
mov ecx, 0x80004005
call fcn.140002d6c
nop
call fcn.140220774
nop
call fcn.1402295a4
nop
lea rcx, [0x14032a09c]
call fcn.1402205f4
cmp dword [0x14032a09c], 0xffffffff
jne 0x140039296
xorps xmm0, xmm0
movups xmmword [0x14031b5e0], xmm0
movdqa xmm1, xmmword [0x1402d3570]
movdqu xmmword [0x14031b5f0], xmm1
mov word [0x14031b5e0], r12w
lea rcx, [0x14026e440]
call fcn.140220508
lea rcx, [0x14032a09c]
call fcn.140220588
jmp 0x140039296
call fcn.1402295a4
nop
call fcn.1402295a4
nop
call fcn.1402295a4
nop
call fcn.1402295a4
nop
call fcn.1402295a4
nop
call fcn.1402295a4
nop
lea rcx, [0x14032a09c]
call fcn.1402205f4
cmp dword [0x14032a09c], 0xffffffff
jne 0x140039931
xorps xmm0, xmm0
movups xmmword [0x14031b5e0], xmm0
movdqa xmm1, xmmword [0x1402d3570]
movdqu xmmword [0x14031b5f0], xmm1
mov word [0x14031b5e0], r12w
lea rcx, [0x14026e440]
call fcn.140220508
lea rcx, [0x14032a09c]
call fcn.140220588
jmp 0x140039931
call fcn.1402295a4
nop
call fcn.1402295a4
nop
call fcn.1402295a4
nop
call fcn.1402295a4
nop
call fcn.1402295a4
nop
mov ecx, 0x80004005
call fcn.140002d6c
nop
call fcn.1402295a4
nop
call fcn.1402295a4
nop
call fcn.1402295a4
nop
call fcn.1402295a4
nop
call fcn.1402295a4
nop
call fcn.1402295a4
int3