Function at 0x14006f1b0
Capabilities:
Check for time delay via gettickcount
Check os version

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x9b0
movaps xmmword [rsp + 0x9a0], xmm6
mov rax, qword [0x14031a940]
xor rax, rsp
mov qword [rsp + 0x998], rax
mov r13, rdx
mov r15, rcx
mov qword [rsp + 0x60], rcx
xor ebx, ebx
mov r14d, ebx
mov dword [rsp + 0x34], ebx
xorps xmm0, xmm0
movups xmmword [rsp + 0x908], xmm0
movdqa xmm1, xmmword [0x1402d3570]
movdqu xmmword [rsp + 0x918], xmm1
mov word [rsp + 0x908], bx
mov byte [rsp + 0x900], bl
lea rdx, str.srl::DirectX_10::GetGpuInfo
lea rcx, [rsp + 0x908]
call fcn.140018440
nop
call fcn.1400210a0
cmp dword [rax + 8], 4
jl 0x14006f250
lea rcx, [rsp + 0x900]
call fcn.1400162a0
xor r12b, r12b
mov byte [rsp + 0x30], r12b
cmp byte [r15 + 0x48], r12b
je 0x140070888
lea rdx, [rsp + 0x70]
lea rcx, [0x1402d2018]
call qword [r15 + 0x30]
mov esi, eax
test eax, eax
jne 0x140070173
mov edx, ebx
lea r15, [0x14031b5e0]
movsd xmm6, qword [0x1402d3520]
lea rbx, vtable.srl::DeviceID.0
mov dword [rsp + 0x48], edx
test r12b, r12b
jne 0x140070882
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
lea r8, [rsp + 0x58]
call qword [rax + 0x38]
mov esi, eax
test eax, eax
js 0x14006fa32
lea rcx, [rsp + 0xa0]
call fcn.140026580
nop
mov byte [rsp + 0x30], 1
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
lea rdx, [rsp + 0x690]
call qword [rax + 0x40]
lea rcx, [rsp + 0xa8]
call fcn.1400028b4
lea rax, [rsp + 0x690]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x14006f300
lea rdx, [rsp + 0x690]
lea rcx, [rsp + 0xa8]
call fcn.140002a9c
lea rcx, [rsp + 0xb8]
call fcn.1400028b4
lea rax, [rsp + 0x690]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x14006f340
lea rdx, [rsp + 0x690]
lea rcx, [rsp + 0xb8]
call fcn.140002a9c
mov edi, dword [rsp + 0x798]
mov esi, dword [rsp + 0x794]
mov r14d, dword [rsp + 0x790]
mov qword [rsp + 0x78], rbx
call fcn.140010254
mov rcx, rax
test rax, rax
je 0x1400708d3
mov rax, qword [rax]
call qword [rax + 0x18]
mov rbx, rax
add rax, 0x18
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x88], r14d
mov dword [rsp + 0x8c], esi
movzx r15d, di
mov dword [rsp + 0x90], r15d
shr edi, 0x10
mov dword [rsp + 0x94], edi
xor eax, eax
mov dword [rsp + 0x98], eax
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x168]
call fcn.140002bcc
mov dword [rsp + 0x170], r14d
mov dword [rsp + 0x174], esi
mov dword [rsp + 0x178], r15d
mov dword [rsp + 0x17c], edi
xor edi, edi
mov dword [rsp + 0x180], edi
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x14006f426
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0x7a8]
mov rdx, qword [rsp + 0x7a0]
lea rax, [rcx + rdx]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x7b0]
mov qword [rsp + 0x148], rax
add rcx, rax
add rcx, rdx
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x50], rdi
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x1d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
call qword [r15 + 0x28]
test eax, eax
js 0x14006f77c
mov rcx, qword [rsp + 0x50]
call qword [r15 + 0x38]
mov rbx, rax
call fcn.140010254
mov rcx, rax
test rax, rax
je 0x1400708de
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
lea rax, [rbx - 1]
lea rcx, [rsp + 0x38]
cmp rax, 0xfffe
ja 0x14006f4dc
movzx edx, bx
call fcn.140010ab0
jmp 0x14006f4e5
mov rdx, rbx
call fcn.1400133b0
nop
xor edx, edx
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x38]
call fcn.140037ed0
xor sil, sil
mov rdx, qword [rsp + 0x38]
mov rcx, rdx
movsxd rbx, dword [rdx - 0x10]
mov eax, edi
cmp eax, ebx
jge 0x14006f55c
movsxd rdi, eax
cmp word [rcx + rdi*2], 0x5f
jne 0x14006f54f
test sil, sil
jne 0x14006f549
mov sil, 1
test ebx, ebx
js 0x1400708e9
mov ecx, 1
sub ecx, dword [rdx - 8]
mov eax, dword [rdx - 0xc]
sub eax, ebx
or eax, ecx
jge 0x14006f546
mov edx, ebx
lea rcx, [rsp + 0x38]
call fcn.140002a38
mov rdx, qword [rsp + 0x38]
mov rcx, rdx
mov word [rcx + rdi*2], 0x2e
lea rax, [rdi*2 + 2]
sar rax, 1
jmp 0x14006f506
test sil, sil
je 0x14006f57f
test ebx, ebx
js 0x1400708f3
cmp ebx, dword [rdx - 0xc]
jg 0x1400708f3
mov dword [rdx - 0x10], ebx
xor r14d, r14d
mov word [rdx + rbx*2], r14w
jmp 0x14006f582
xor r14d, r14d
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x118]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14006f5e8
cmp dword [rbx + 0x10], 0
jl 0x14006f5d7
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14006f5d7
call fcn.140002c5c
mov rdi, rax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14006f5c9
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x118], rax
jmp 0x14006f5e8
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x118]
call fcn.140002a9c
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x60]
call qword [rax + 0x40]
mov rbx, rax
call fcn.140010254
mov rcx, rax
test rax, rax
je 0x1400708fd
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea rax, [rbx - 1]
lea rcx, [rsp + 0x40]
cmp rax, 0xfffe
ja 0x14006f633
movzx edx, bx
call fcn.140010ab0
jmp 0x14006f63c
mov rdx, rbx
call fcn.1400133b0
nop
xor edx, edx
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x40]
call fcn.140037ed0
xor sil, sil
mov rdx, qword [rsp + 0x40]
mov rcx, rdx
movsxd rbx, dword [rdx - 0x10]
mov eax, r14d
nop
cmp eax, ebx
jge 0x14006f6b6
movsxd rdi, eax
cmp word [rcx + rdi*2], 0x5f
jne 0x14006f6a9
test sil, sil
jne 0x14006f6a3
mov sil, 1
test ebx, ebx
js 0x140070908
mov ecx, 1
sub ecx, dword [rdx - 8]
mov eax, dword [rdx - 0xc]
sub eax, ebx
or eax, ecx
jge 0x14006f6a0
mov edx, ebx
lea rcx, [rsp + 0x40]
call fcn.140002a38
mov rdx, qword [rsp + 0x40]
mov rcx, rdx
mov word [rcx + rdi*2], 0x2e
lea rax, [rdi*2 + 2]
sar rax, 1
jmp 0x14006f660
test sil, sil
je 0x14006f6d5
test ebx, ebx
js 0x140070912
cmp ebx, dword [rdx - 0xc]
jg 0x140070912
mov dword [rdx - 0x10], ebx
xor ecx, ecx
mov word [rdx + rbx*2], cx
lea rdi, [rdx - 0x18]
mov rbx, qword [rsp + 0x128]
add rbx, 0xffffffffffffffe8
cmp rdi, rbx
je 0x14006f73f
cmp dword [rbx + 0x10], 0
jl 0x14006f72d
mov rax, qword [rbx]
cmp qword [rdi], rax
jne 0x14006f72d
mov rcx, rdi
call fcn.140002c5c
mov rsi, rax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14006f71f
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rsi + 0x18]
mov qword [rsp + 0x128], rax
jmp 0x14006f73f
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x128]
call fcn.140002a9c
nop
mov eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
sub eax, 1
jg 0x14006f75b
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14006f77c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r13 + 8]
cmp rax, qword [r13 + 0x10]
je 0x14006f7a0
lea rdx, [rsp + 0xa0]
mov rcx, rax
call fcn.140028740
add qword [r13 + 8], 0x138
jmp 0x14006f7b3
lea r8, [rsp + 0xa0]
mov rdx, rax
mov rcx, r13
call fcn.140028250
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rbx, vtable.srl::Value.0
mov qword [rsp + 0x1c8], rbx
mov qword [rsp + 0x1b8], rbx
mov qword [rsp + 0x1a8], rbx
mov qword [rsp + 0x198], rbx
mov qword [rsp + 0x188], rbx
lea rax, vtable.srl::DeviceID.0
mov qword [rsp + 0x160], rax
mov rdx, qword [rsp + 0x168]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14006f821
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x160], rbx
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x130], rbx
lea rsi, vtable.srl::Version.0
mov qword [rsp + 0x120], rsi
mov rdx, qword [rsp + 0x128]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14006f874
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x120], rbx
mov qword [rsp + 0x110], rsi
mov rdx, qword [rsp + 0x118]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14006f8a8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x110], rbx
lea rdi, vtable.srl::Name.0
mov qword [rsp + 0x100], rdi
mov rdx, qword [rsp + 0x108]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14006f8e3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0xf0], rsi
mov rdx, qword [rsp + 0xf8]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14006f917
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0xe0], rsi
mov rdx, qword [rsp + 0xe8]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14006f94b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0xe0], rbx
mov qword [rsp + 0xd0], rdi
mov rdx, qword [rsp + 0xd8]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14006f97f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0xc0], rdi
mov rdx, qword [rsp + 0xc8]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14006f9b3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xb0], rdi
mov rdx, qword [rsp + 0xb8]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14006f9e7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xa0], rdi
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14006fa1b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r15, [0x14031b5e0]
mov r14d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x48]
inc edx
jmp 0x14006f28d
cmp esi, 0x887a0002
jne 0x14006fa48
mov r12b, 1
mov edx, dword [rsp + 0x48]
inc edx
jmp 0x14006f28d
call fcn.1400210a0
cmp dword [rax + 8], 1
jl 0x140070165
call fcn.1400210a0
mov rdi, rax
lea rcx, [rsp + 0x290]
call fcn.1400194c0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x840], xmm0
xor r12d, r12d
mov qword [rsp + 0x850], r12
mov qword [rsp + 0x858], 7
mov word [rsp + 0x840], r12w
lea rdx, [0x1402cca68]
lea rcx, [rsp + 0x840]
call fcn.140018440
xorps xmm0, xmm0
movups xmmword [rsp + 0x7c0], xmm0
mov edx, r12d
mov qword [rsp + 0x7d0], rdx
mov r8d, 7
mov qword [rsp + 0x7d8], r8
mov word [rsp + 0x7c0], r12w
mov ebx, r12d
nop dword [rax]
cmp ebx, dword [rdi + 0x10]
jge 0x14006fb73
cmp ebx, 0xa
jge 0x14006fb73
mov rax, r8
sub rax, rdx
lea rcx, [rsp + 0x7c0]
cmp rax, 2
jb 0x14006fb42
lea rax, [rdx + 2]
mov qword [rsp + 0x7d0], rax
cmp r8, 8
cmovae rcx, qword [rsp + 0x7c0]
mov eax, dword [0x1402cca30]
mov dword [rcx + rdx*2], eax
mov word [rcx + rdx*2 + 4], r12w
inc ebx
mov r8, qword [rsp + 0x7d8]
mov rdx, qword [rsp + 0x7d0]
jmp 0x14006fae0
mov qword [rsp + 0x20], 2
lea r9, [0x1402cca30]
mov edx, 2
call fcn.140022090
inc ebx
mov r8, qword [rsp + 0x7d8]
mov rdx, qword [rsp + 0x7d0]
jmp 0x14006fae0
xorps xmm0, xmm0
movups xmmword [rsp + 0x8a0], xmm0
mov qword [rsp + 0x8b0], r12
mov qword [rsp + 0x8b8], 7
mov word [rsp + 0x8a0], r12w
movups xmmword [rsp + 0x800], xmm0
mov qword [rsp + 0x810], r12
mov qword [rsp + 0x818], 7
mov word [rsp + 0x800], r12w
call fcn.140230f0c
mov edx, VariantTimeToDosDateTime
lea rcx, [rsp + 0x980]
call fcn.14023105c
lea rdx, [rsp + 0x980]
lea rcx, [rsp + 0x8a0]
call fcn.140018440
lea rcx, [rsp + 0x490]
call fcn.1400194c0
nop
cmp dword [rdi + 0x14], 0
jne 0x14006fc1a
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rdi + 0x14], eax
xor edx, edx
lea rcx, [rsp + 0x4a0]
call fcn.140012fa0
jmp 0x14006fc3c
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rdi + 0x14]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
divsd xmm1, xmm6
lea rcx, [rsp + 0x4a0]
call fcn.140021a80
lea rdx, [rsp + 0x8c0]
lea rcx, [rsp + 0x4a8]
call fcn.14001a0c0
or r14d, 2
mov rdx, qword [rsp + 0x818]
cmp rdx, 8
jb 0x14006fc9d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x800]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006fc98
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007091d
call fcn.140004144
movups xmm0, xmmword [rsp + 0x8c0]
movups xmmword [rsp + 0x800], xmm0
movups xmm1, xmmword [rsp + 0x8d0]
movups xmmword [rsp + 0x810], xmm1
mov qword [rsp + 0x8d0], r12
mov qword [rsp + 0x8d8], 7
mov word [rsp + 0x8c0], r12w
lea rcx, [rsp + 0x490]
call fcn.1400193b0
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rsp + 0x1e0]
call fcn.140222c18
mov rdi, rax
mov edx, 0x2040
lea rcx, [rsp + 0x1f0]
call fcn.140222c18
mov rcx, qword [rsp + 0x2a0]
movsxd rdx, dword [rcx + 4]
lea rcx, [rsp + 0x2a0]
add rcx, rdx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rsp + 0x8a0]
cmp qword [rsp + 0x8b8], 8
cmovae rdx, qword [rsp + 0x8a0]
mov r8, qword [rsp + 0x8b0]
lea rcx, [rsp + 0x2a0]
call fcn.140016ce0
lea rdx, [0x1402cc568]
mov rcx, rax
call fcn.140016a20
mov rbx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov edx, dword [rdi + 8]
call qword [rdi]
mov edx, 6
lea rcx, [rsp + 0x200]
call fcn.140222c40
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call qword [rax]
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
mov word [rcx + rbx + 0x58], 0x30
mov edx, 3
lea rcx, [rsp + 0x210]
call fcn.140222c2c
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call qword [rax]
lea rdx, [rsp + 0x800]
cmp qword [rsp + 0x818], 8
cmovae rdx, qword [rsp + 0x800]
mov r8, qword [rsp + 0x810]
mov rcx, rbx
call fcn.140016ce0
mov rbx, rax
mov edx, 5
lea rcx, [rsp + 0x220]
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 rax, qword [rbx]
movsxd rcx, dword [rax + 4]
mov word [rcx + rbx + 0x58], 0x20
mov edx, 0x40
lea rcx, [rsp + 0x230]
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, [rsp + 0x840]
cmp qword [rsp + 0x858], 8
cmovae rdx, qword [rsp + 0x840]
mov r8, qword [rsp + 0x850]
mov rcx, rbx
call fcn.140016ce0
lea rbx, [rsp + 0x7c0]
cmp qword [rsp + 0x7d8], 8
cmovae rbx, qword [rsp + 0x7c0]
lea rdx, [0x1402cca80]
mov rcx, rax
call fcn.140016a20
mov rdx, rbx
mov rcx, rax
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 0x140070923
lea rdx, [rsp + 0x8e0]
lea rcx, [rsp + 0x2a8]
call fcn.14001a0c0
or r14d, 1
mov dword [rsp + 0x34], r14d
mov rdx, qword [reloc.OLEAUT32.dll_VariantInit]
cmp rdx, 8
jb 0x14006ff41
lea rdx, [rdx*2 + 2]
mov rcx, qword [0x14031b5e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006ff3c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007097e
call fcn.140004144
movups xmm0, xmmword [rsp + 0x8e0]
movups xmmword [0x14031b5e0], xmm0
movups xmm1, xmmword [rsp + 0x8f0]
movups xmmword [0x14031b5f0], xmm1
mov qword [rsp + 0x8f0], r12
mov qword [rsp + 0x8f8], 7
mov word [rsp + 0x8e0], r12w
mov rdx, qword [rsp + 0x818]
cmp rdx, 8
jb 0x14006ffc4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x800]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006ffbf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140070984
call fcn.140004144
mov qword [rsp + 0x810], r12
mov qword [rsp + 0x818], 7
mov word [rsp + 0x800], r12w
mov rdx, qword [rsp + 0x8b8]
cmp rdx, 8
jb 0x140070029
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x8a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140070024
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007098a
call fcn.140004144
mov qword [rsp + 0x8b0], r12
mov qword [rsp + 0x8b8], 7
mov word [rsp + 0x8a0], r12w
mov rdx, qword [rsp + 0x7d8]
cmp rdx, 8
jb 0x14007008e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x7c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140070089
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140070990
call fcn.140004144
mov qword [rsp + 0x7d0], r12
mov qword [rsp + 0x7d8], 7
mov word [rsp + 0x7c0], r12w
mov rdx, qword [rsp + 0x858]
cmp rdx, 8
jb 0x1400700f3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x840]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400700ee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140070996
call fcn.140004144
mov qword [rsp + 0x850], r12
mov qword [rsp + 0x858], 7
mov word [rsp + 0x840], r12w
lea rcx, [rsp + 0x290]
call fcn.1400193b0
call fcn.1400210a0
mov rdx, r15
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
cmovae rdx, qword [0x14031b5e0]
mov r8, qword [0x14031b5f0]
mov rcx, rax
call fcn.140016ce0
lea rdx, str.Error_while_enumerating_adapters:
mov rcx, rax
call fcn.140016a20
mov edx, esi
mov rcx, rax
call fcn.14003c6b0
mov rcx, rax
call fcn.140017c00
mov r12b, 1
mov edx, dword [rsp + 0x48]
inc edx
jmp 0x14006f28d
call fcn.1400210a0
cmp dword [rax + 8], 1
jl 0x140070888
call fcn.1400210a0
mov rdi, rax
lea rcx, [rsp + 0x390]
call fcn.1400194c0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x880], xmm0
xor r14d, r14d
mov qword [rsp + 0x890], r14
mov qword [rsp + 0x898], 7
mov word [rsp + 0x880], r14w
lea rdx, [0x1402cca68]
lea rcx, [rsp + 0x880]
call fcn.140018440
xorps xmm0, xmm0
movups xmmword [rsp + 0x7e0], xmm0
mov edx, r14d
mov qword [rsp + 0x7f0], rdx
mov r8d, 7
mov qword [rsp + 0x7f8], r8
mov word [rsp + 0x7e0], r14w
mov ebx, r14d
cmp ebx, dword [rdi + 0x10]
jge 0x14007029a
cmp ebx, 0xa
jge 0x14007029a
mov rax, r8
sub rax, rdx
lea rcx, [rsp + 0x7e0]
cmp rax, 2
jb 0x140070269
lea rax, [rdx + 2]
mov qword [rsp + 0x7f0], rax
cmp r8, 8
cmovae rcx, qword [rsp + 0x7e0]
mov eax, dword [0x1402cca30]
mov dword [rcx + rdx*2], eax
mov word [rcx + rdx*2 + 4], r14w
inc ebx
mov r8, qword [rsp + 0x7f8]
mov rdx, qword [rsp + 0x7f0]
jmp 0x140070207
mov qword [rsp + 0x20], 2
lea r9, [0x1402cca30]
mov edx, 2
call fcn.140022090
inc ebx
mov r8, qword [rsp + 0x7f8]
mov rdx, qword [rsp + 0x7f0]
jmp 0x140070207
xorps xmm0, xmm0
movups xmmword [rsp + 0x860], xmm0
mov qword [rsp + 0x870], r14
mov qword [rsp + 0x878], 7
mov word [rsp + 0x860], r14w
movups xmmword [rsp + 0x820], xmm0
mov qword [rsp + 0x830], r14
mov qword [rsp + 0x838], 7
mov word [rsp + 0x820], r14w
call fcn.140230f0c
mov edx, VariantTimeToDosDateTime
lea rcx, [rsp + 0x968]
call fcn.14023105c
lea rdx, [rsp + 0x968]
lea rcx, [rsp + 0x860]
call fcn.140018440
lea rcx, [rsp + 0x590]
call fcn.1400194c0
nop
cmp dword [rdi + 0x14], 0
jne 0x140070341
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rdi + 0x14], eax
xor edx, edx
lea rcx, [rsp + 0x5a0]
call fcn.140012fa0
jmp 0x140070367
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rdi + 0x14]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
divsd xmm1, qword [0x1402d3520]
lea rcx, [rsp + 0x5a0]
call fcn.140021a80
lea rdx, [rsp + 0x928]
lea rcx, [rsp + 0x5a8]
call fcn.14001a0c0
nop
mov rdx, qword [rsp + 0x838]
cmp rdx, 8
jb 0x1400703c5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x820]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400703c0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007099c
call fcn.140004144
movups xmm0, xmmword [rsp + 0x928]
movups xmmword [rsp + 0x820], xmm0
movups xmm1, xmmword [rsp + 0x938]
movups xmmword [rsp + 0x830], xmm1
movdqa xmm0, xmmword [0x1402d3570]
movdqu xmmword [rsp + 0x938], xmm0
mov word [rsp + 0x928], r14w
lea rcx, [rsp + 0x590]
call fcn.1400193b0
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rsp + 0x60]
call fcn.140222c18
mov rdi, rax
mov edx, 0x2040
lea rcx, [rsp + 0x240]
call fcn.140222c18
mov rcx, qword [rsp + 0x3a0]
movsxd rdx, dword [rcx + 4]
lea rcx, [rsp + 0x3a0]
add rcx, rdx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rsp + 0x860]
cmp qword [rsp + 0x878], 8
cmovae rdx, qword [rsp + 0x860]
mov r8, qword [rsp + 0x870]
lea rcx, [rsp + 0x3a0]
call fcn.140016ce0
lea rdx, [0x1402cc568]
mov rcx, rax
call fcn.140016a20
mov rbx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov edx, dword [rdi + 8]
call qword [rdi]
mov edx, 6
lea rcx, [rsp + 0x250]
call fcn.140222c40
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call qword [rax]
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
mov word [rcx + rbx + 0x58], 0x30
mov edx, 3
lea rcx, [rsp + 0x260]
call fcn.140222c2c
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call qword [rax]
lea rdx, [rsp + 0x820]
cmp qword [rsp + 0x838], 8
cmovae rdx, qword [rsp + 0x820]
mov r8, qword [rsp + 0x830]
mov rcx, rbx
call fcn.140016ce0
mov rbx, rax
mov edx, 5
lea rcx, [rsp + 0x270]
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 rax, qword [rbx]
movsxd rcx, dword [rax + 4]
mov word [rcx + rbx + 0x58], 0x20
mov edx, 0x40
lea rcx, [rsp + 0x280]
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, [rsp + 0x880]
cmp qword [rsp + 0x898], 8
cmovae rdx, qword [rsp + 0x880]
mov r8, qword [rsp + 0x890]
mov rcx, rbx
call fcn.140016ce0
lea rbx, [rsp + 0x7e0]
cmp qword [rsp + 0x7f8], 8
cmovae rbx, qword [rsp + 0x7e0]
lea rdx, [0x1402cca80]
mov rcx, rax
call fcn.140016a20
mov rdx, rbx
mov rcx, rax
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 0x1400709a2
lea rdx, [rsp + 0x948]
lea rcx, [rsp + 0x3a8]
call fcn.14001a0c0
nop
mov rdx, qword [reloc.OLEAUT32.dll_VariantInit]
cmp rdx, 8
jb 0x14007065b
lea rdx, [rdx*2 + 2]
mov rcx, qword [0x14031b5e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140070656
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400709fd
call fcn.140004144
movups xmm0, xmmword [rsp + 0x948]
movups xmmword [0x14031b5e0], xmm0
movups xmm1, xmmword [rsp + 0x958]
movups xmmword [0x14031b5f0], xmm1
movdqa xmm0, xmmword [0x1402d3570]
movdqu xmmword [rsp + 0x958], xmm0
mov word [rsp + 0x948], r14w
mov rdx, qword [rsp + 0x838]
cmp rdx, 8
jb 0x1400706db
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x820]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400706d6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140070a03
call fcn.140004144
mov qword [rsp + 0x830], r14
mov qword [rsp + 0x838], 7
mov word [rsp + 0x820], r14w
mov rdx, qword [rsp + 0x878]
cmp rdx, 8
jb 0x140070740
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x860]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14007073b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140070a09
call fcn.140004144
mov qword [rsp + 0x870], r14
mov qword [rsp + 0x878], 7
mov word [rsp + 0x860], r14w
mov rdx, qword [rsp + 0x7f8]
cmp rdx, 8
jb 0x1400707a5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x7e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400707a0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140070a0f
call fcn.140004144
mov qword [rsp + 0x7f0], r14
mov qword [rsp + 0x7f8], 7
mov word [rsp + 0x7e0], r14w
mov rdx, qword [rsp + 0x898]
cmp rdx, 8
jb 0x14007080a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x880]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140070805
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140070a15
call fcn.140004144
mov qword [rsp + 0x890], r14
mov qword [rsp + 0x898], 7
mov word [rsp + 0x880], r14w
lea rcx, [rsp + 0x390]
call fcn.1400193b0
call fcn.1400210a0
lea rdx, [0x14031b5e0]
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
cmovae rdx, qword [0x14031b5e0]
mov r8, qword [0x14031b5f0]
mov rcx, rax
call fcn.140016ce0
lea rdx, str.Failed_in_call_to_CreateDXGIFactory:
mov rcx, rax
call fcn.140016a20
mov edx, esi
mov rcx, rax
call fcn.14003c6b0
mov rcx, rax
call fcn.140017c00
jmp 0x140070888
movzx r12d, byte [rsp + 0x30]
jmp 0x140070890
lea rcx, [rsp + 0x900]
call fcn.140017c90
movzx eax, r12b
mov rcx, qword [rsp + 0x998]
xor rcx, rsp
call fcn.1402202b0
lea r11, [rsp + 0x9b0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov ecx, 0x80004005
call fcn.140002d6c
int3
mov ecx, 0x80004005
call fcn.140002d6c
nop
mov ecx, 0x80070057
call fcn.140002d6c
mov ecx, 0x80070057
call fcn.140002d6c
mov ecx, 0x80004005
call fcn.140002d6c
nop
mov ecx, 0x80070057
call fcn.140002d6c
mov ecx, 0x80070057
call fcn.140002d6c
nop
call fcn.1402295a4
nop
lea rcx, [0x14032a09c]
call fcn.1402205f4
cmp dword [0x14032a09c], 0xffffffff
jne 0x14006fedd
xorps xmm0, xmm0
movups xmmword [0x14031b5e0], xmm0
mov qword [0x14031b5f0], r12
mov qword [reloc.OLEAUT32.dll_VariantInit], 7
mov word [0x14031b5e0], r12w
lea rcx, [0x14026e440]
call fcn.140220508
lea rcx, [0x14032a09c]
call fcn.140220588
nop
jmp 0x14006fedd
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 0x1400705ff
xorps xmm0, xmm0
movups xmmword [0x14031b5e0], xmm0
mov qword [0x14031b5f0], r14
mov qword [reloc.OLEAUT32.dll_VariantInit], 7
mov word [0x14031b5e0], r14w
lea rcx, [0x14026e440]
call fcn.140220508
lea rcx, [0x14032a09c]
call fcn.140220588
nop
jmp 0x1400705ff
call fcn.1402295a4
nop
call fcn.1402295a4
nop
call fcn.1402295a4
nop
call fcn.1402295a4
nop
call fcn.1402295a4
int3