Function at 0x14006f610
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 [0x14031b940]
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 [0x1402d4800]
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.1400182b0
nop
call fcn.140020e90
cmp dword [rax + 8], 4
jl 0x14006f6b0
lea rcx, [rsp + 0x900]
call fcn.140016100
xor r12b, r12b
mov byte [rsp + 0x30], r12b
cmp byte [r15 + 0x48], r12b
je 0x140070cc2
lea rdx, [rsp + 0x70]
lea rcx, [0x1402d32a8]
call qword [r15 + 0x30]
mov esi, eax
test eax, eax
jne 0x1400705d3
mov edx, ebx
lea r15, [0x14031c620]
movsd xmm6, qword [0x1402d47b0]
lea rbx, vtable.srl::DeviceID.0
mov dword [rsp + 0x48], edx
test r12b, r12b
jne 0x140070cbc
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
lea r8, [rsp + 0x58]
call qword [rax + 0x38]
mov esi, eax
test eax, eax
js 0x14006fe92
lea rcx, [rsp + 0xa0]
call fcn.140026370
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.140002984
lea rax, [rsp + 0x690]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x14006f760
lea rdx, [rsp + 0x690]
lea rcx, [rsp + 0xa8]
call fcn.140002b6c
lea rcx, [rsp + 0xb8]
call fcn.140002984
lea rax, [rsp + 0x690]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x14006f7a0
lea rdx, [rsp + 0x690]
lea rcx, [rsp + 0xb8]
call fcn.140002b6c
mov edi, dword [rsp + 0x798]
mov esi, dword [rsp + 0x794]
mov r14d, dword [rsp + 0x790]
mov qword [rsp + 0x78], rbx
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140070d0d
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.140002c9c
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 0x14006f886
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 0x14006fbdc
mov rcx, qword [rsp + 0x50]
call qword [r15 + 0x38]
mov rbx, rax
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140070d18
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 0x14006f93c
movzx edx, bx
call fcn.1400108d0
jmp 0x14006f945
mov rdx, rbx
call fcn.1400131d0
nop
xor edx, edx
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x38]
call fcn.140037ab0
xor sil, sil
mov rdx, qword [rsp + 0x38]
mov rcx, rdx
movsxd rbx, dword [rdx - 0x10]
mov eax, edi
cmp eax, ebx
jge 0x14006f9bc
movsxd rdi, eax
cmp word [rcx + rdi*2], 0x5f
jne 0x14006f9af
test sil, sil
jne 0x14006f9a9
mov sil, 1
test ebx, ebx
js 0x140070d23
mov ecx, 1
sub ecx, dword [rdx - 8]
mov eax, dword [rdx - 0xc]
sub eax, ebx
or eax, ecx
jge 0x14006f9a6
mov edx, ebx
lea rcx, [rsp + 0x38]
call fcn.140002b08
mov rdx, qword [rsp + 0x38]
mov rcx, rdx
mov word [rcx + rdi*2], 0x2e
lea rax, [rdi*2 + 2]
sar rax, 1
jmp 0x14006f966
test sil, sil
je 0x14006f9df
test ebx, ebx
js 0x140070d2d
cmp ebx, dword [rdx - 0xc]
jg 0x140070d2d
mov dword [rdx - 0x10], ebx
xor r14d, r14d
mov word [rdx + rbx*2], r14w
jmp 0x14006f9e2
xor r14d, r14d
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x118]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14006fa48
cmp dword [rbx + 0x10], 0
jl 0x14006fa37
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14006fa37
call fcn.140002d2c
mov rdi, rax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14006fa29
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 0x14006fa48
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x118]
call fcn.140002b6c
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x60]
call qword [rax + 0x40]
mov rbx, rax
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140070d37
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 0x14006fa93
movzx edx, bx
call fcn.1400108d0
jmp 0x14006fa9c
mov rdx, rbx
call fcn.1400131d0
nop
xor edx, edx
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x40]
call fcn.140037ab0
xor sil, sil
mov rdx, qword [rsp + 0x40]
mov rcx, rdx
movsxd rbx, dword [rdx - 0x10]
mov eax, r14d
nop
cmp eax, ebx
jge 0x14006fb16
movsxd rdi, eax
cmp word [rcx + rdi*2], 0x5f
jne 0x14006fb09
test sil, sil
jne 0x14006fb03
mov sil, 1
test ebx, ebx
js 0x140070d42
mov ecx, 1
sub ecx, dword [rdx - 8]
mov eax, dword [rdx - 0xc]
sub eax, ebx
or eax, ecx
jge 0x14006fb00
mov edx, ebx
lea rcx, [rsp + 0x40]
call fcn.140002b08
mov rdx, qword [rsp + 0x40]
mov rcx, rdx
mov word [rcx + rdi*2], 0x2e
lea rax, [rdi*2 + 2]
sar rax, 1
jmp 0x14006fac0
test sil, sil
je 0x14006fb35
test ebx, ebx
js 0x140070d4c
cmp ebx, dword [rdx - 0xc]
jg 0x140070d4c
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 0x14006fb9f
cmp dword [rbx + 0x10], 0
jl 0x14006fb8d
mov rax, qword [rbx]
cmp qword [rdi], rax
jne 0x14006fb8d
mov rcx, rdi
call fcn.140002d2c
mov rsi, rax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14006fb7f
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 0x14006fb9f
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x128]
call fcn.140002b6c
nop
mov eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
sub eax, 1
jg 0x14006fbbb
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 0x14006fbdc
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 0x14006fc00
lea rdx, [rsp + 0xa0]
mov rcx, rax
call fcn.140028530
add qword [r13 + 8], 0x138
jmp 0x14006fc13
lea r8, [rsp + 0xa0]
mov rdx, rax
mov rcx, r13
call fcn.140028040
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 0x14006fc81
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 0x14006fcd4
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 0x14006fd08
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 0x14006fd43
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 0x14006fd77
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 0x14006fdab
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 0x14006fddf
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 0x14006fe13
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 0x14006fe47
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 0x14006fe7b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r15, [0x14031c620]
mov r14d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x48]
inc edx
jmp 0x14006f6ed
cmp esi, 0x887a0002
jne 0x14006fea8
mov r12b, 1
mov edx, dword [rsp + 0x48]
inc edx
jmp 0x14006f6ed
call fcn.140020e90
cmp dword [rax + 8], 1
jl 0x1400705c5
call fcn.140020e90
mov rdi, rax
lea rcx, [rsp + 0x290]
call fcn.140019350
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, [0x1402cdab8]
lea rcx, [rsp + 0x840]
call fcn.1400182b0
xorps xmm0, xmm0
movups xmmword [rsp + 0x7e0], xmm0
mov edx, r12d
mov qword [rsp + 0x7f0], rdx
mov r8d, 7
mov qword [rsp + 0x7f8], r8
mov word [rsp + 0x7e0], r12w
mov ebx, r12d
nop dword [rax]
cmp ebx, dword [rdi + 0x10]
jge 0x14006ffd3
cmp ebx, 0xa
jge 0x14006ffd3
mov rax, r8
sub rax, rdx
lea rcx, [rsp + 0x7e0]
cmp rax, 2
jb 0x14006ffa2
lea rax, [rdx + 2]
mov qword [rsp + 0x7f0], rax
cmp r8, 7
cmova rcx, qword [rsp + 0x7e0]
mov eax, dword [0x1402cda80]
mov dword [rcx + rdx*2], eax
mov word [rcx + rdx*2 + 4], r12w
inc ebx
mov r8, qword [rsp + 0x7f8]
mov rdx, qword [rsp + 0x7f0]
jmp 0x14006ff40
mov qword [rsp + 0x20], 2
lea r9, [0x1402cda80]
mov edx, 2
call fcn.140021e20
inc ebx
mov r8, qword [rsp + 0x7f8]
mov rdx, qword [rsp + 0x7f0]
jmp 0x14006ff40
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 + 0x820], xmm0
mov qword [rsp + 0x830], r12
mov qword [rsp + 0x838], 7
mov word [rsp + 0x820], r12w
call fcn.140231ccc
mov edx, VariantTimeToDosDateTime
lea rcx, [rsp + 0x980]
call fcn.140231e1c
lea rdx, [rsp + 0x980]
lea rcx, [rsp + 0x8a0]
call fcn.1400182b0
lea rcx, [rsp + 0x490]
call fcn.140019350
nop
cmp dword [rdi + 0x14], 0
jne 0x14007007a
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rdi + 0x14], eax
xor edx, edx
lea rcx, [rsp + 0x4a0]
call fcn.140012dc0
jmp 0x14007009c
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.140021890
lea rdx, [rsp + 0x8c0]
lea rcx, [rsp + 0x4a8]
call fcn.140019f80
or r14d, 2
mov rdx, qword [rsp + 0x838]
cmp rdx, 7
jbe 0x1400700fd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x820]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400700f8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140070d57
call fcn.140003e94
movups xmm0, xmmword [rsp + 0x8c0]
movups xmmword [rsp + 0x820], xmm0
movups xmm1, xmmword [rsp + 0x8d0]
movups xmmword [rsp + 0x830], xmm1
mov qword [rsp + 0x8d0], r12
mov qword [rsp + 0x8d8], 7
mov word [rsp + 0x8c0], r12w
lea rcx, [rsp + 0x490]
call fcn.140019240
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rsp + 0x1e0]
call fcn.1402233f8
mov rdi, rax
mov edx, 0x2040
lea rcx, [rsp + 0x1f0]
call fcn.1402233f8
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], 7
cmova rdx, qword [rsp + 0x8a0]
mov r8, qword [rsp + 0x8b0]
lea rcx, [rsp + 0x2a0]
call fcn.140016b40
lea rdx, [0x1402cd5bc]
mov rcx, rax
call fcn.140016880
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.140223420
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.14022340c
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], 7
cmova rdx, qword [rsp + 0x820]
mov r8, qword [rsp + 0x830]
mov rcx, rbx
call fcn.140016b40
mov rbx, rax
mov edx, 5
lea rcx, [rsp + 0x220]
call fcn.140223420
mov rdi, rax
lea rdx, [0x1402cd5bc]
mov rcx, rbx
call fcn.140016880
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.1402233f8
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], 7
cmova rdx, qword [rsp + 0x840]
mov r8, qword [rsp + 0x850]
mov rcx, rbx
call fcn.140016b40
lea rbx, [rsp + 0x7e0]
cmp qword [rsp + 0x7f8], 7
cmova rbx, qword [rsp + 0x7e0]
lea rdx, [0x1402cdad0]
mov rcx, rax
call fcn.140016880
mov rdx, rbx
mov rcx, rax
call fcn.140016880
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14032b0dc], eax
jg 0x140070d5d
lea rdx, [rsp + 0x8e0]
lea rcx, [rsp + 0x2a8]
call fcn.140019f80
or r14d, 1
mov dword [rsp + 0x34], r14d
mov rdx, qword [reloc.OLEAUT32.dll_VariantInit]
cmp rdx, 7
jbe 0x1400703a1
lea rdx, [rdx*2 + 2]
mov rcx, qword [0x14031c620]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14007039c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140070db8
call fcn.140003e94
movups xmm0, xmmword [rsp + 0x8e0]
movups xmmword [0x14031c620], xmm0
movups xmm1, xmmword [rsp + 0x8f0]
movups xmmword [0x14031c630], xmm1
mov qword [rsp + 0x8f0], r12
mov qword [rsp + 0x8f8], 7
mov word [rsp + 0x8e0], r12w
mov rdx, qword [rsp + 0x838]
cmp rdx, 7
jbe 0x140070424
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x820]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14007041f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140070dbe
call fcn.140003e94
mov qword [rsp + 0x830], r12
mov qword [rsp + 0x838], 7
mov word [rsp + 0x820], r12w
mov rdx, qword [rsp + 0x8b8]
cmp rdx, 7
jbe 0x140070489
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x8a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140070484
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140070dc4
call fcn.140003e94
mov qword [rsp + 0x8b0], r12
mov qword [rsp + 0x8b8], 7
mov word [rsp + 0x8a0], r12w
mov rdx, qword [rsp + 0x7f8]
cmp rdx, 7
jbe 0x1400704ee
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x7e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400704e9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140070dca
call fcn.140003e94
mov qword [rsp + 0x7f0], r12
mov qword [rsp + 0x7f8], 7
mov word [rsp + 0x7e0], r12w
mov rdx, qword [rsp + 0x858]
cmp rdx, 7
jbe 0x140070553
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x840]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14007054e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140070dd0
call fcn.140003e94
mov qword [rsp + 0x850], r12
mov qword [rsp + 0x858], 7
mov word [rsp + 0x840], r12w
lea rcx, [rsp + 0x290]
call fcn.140019240
call fcn.140020e90
mov rdx, r15
cmp qword [reloc.OLEAUT32.dll_VariantInit], 7
cmova rdx, qword [0x14031c620]
mov r8, qword [0x14031c630]
mov rcx, rax
call fcn.140016b40
lea rdx, str.Error_while_enumerating_adapters:
mov rcx, rax
call fcn.140016880
mov edx, esi
mov rcx, rax
call fcn.14003c2c0
mov rcx, rax
call fcn.140017a70
mov r12b, 1
mov edx, dword [rsp + 0x48]
inc edx
jmp 0x14006f6ed
call fcn.140020e90
cmp dword [rax + 8], 1
jl 0x140070cc2
call fcn.140020e90
mov rdi, rax
lea rcx, [rsp + 0x390]
call fcn.140019350
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, [0x1402cdab8]
lea rcx, [rsp + 0x880]
call fcn.1400182b0
xorps xmm0, xmm0
movups xmmword [rsp + 0x7c0], xmm0
mov edx, r14d
mov qword [rsp + 0x7d0], rdx
mov r8d, 7
mov qword [rsp + 0x7d8], r8
mov word [rsp + 0x7c0], r14w
mov ebx, r14d
cmp ebx, dword [rdi + 0x10]
jge 0x1400706fa
cmp ebx, 0xa
jge 0x1400706fa
mov rax, r8
sub rax, rdx
lea rcx, [rsp + 0x7c0]
cmp rax, 2
jb 0x1400706c9
lea rax, [rdx + 2]
mov qword [rsp + 0x7d0], rax
cmp r8, 7
cmova rcx, qword [rsp + 0x7c0]
mov eax, dword [0x1402cda80]
mov dword [rcx + rdx*2], eax
mov word [rcx + rdx*2 + 4], r14w
inc ebx
mov r8, qword [rsp + 0x7d8]
mov rdx, qword [rsp + 0x7d0]
jmp 0x140070667
mov qword [rsp + 0x20], 2
lea r9, [0x1402cda80]
mov edx, 2
call fcn.140021e20
inc ebx
mov r8, qword [rsp + 0x7d8]
mov rdx, qword [rsp + 0x7d0]
jmp 0x140070667
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 + 0x800], xmm0
mov qword [rsp + 0x810], r14
mov qword [rsp + 0x818], 7
mov word [rsp + 0x800], r14w
call fcn.140231ccc
mov edx, VariantTimeToDosDateTime
lea rcx, [rsp + 0x968]
call fcn.140231e1c
lea rdx, [rsp + 0x968]
lea rcx, [rsp + 0x860]
call fcn.1400182b0
lea rcx, [rsp + 0x590]
call fcn.140019350
nop
cmp dword [rdi + 0x14], 0
jne 0x1400707a1
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rdi + 0x14], eax
xor edx, edx
lea rcx, [rsp + 0x5a0]
call fcn.140012dc0
jmp 0x1400707c7
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rdi + 0x14]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
divsd xmm1, qword [0x1402d47b0]
lea rcx, [rsp + 0x5a0]
call fcn.140021890
lea rdx, [rsp + 0x928]
lea rcx, [rsp + 0x5a8]
call fcn.140019f80
mov r8, qword [rsp + 0x818]
cmp r8, 7
jbe 0x1400707ff
mov rdx, qword [rsp + 0x800]
lea rcx, [rsp + 0x800]
call fcn.140009718
movups xmm0, xmmword [rsp + 0x928]
movups xmmword [rsp + 0x800], xmm0
movups xmm1, xmmword [rsp + 0x938]
movups xmmword [rsp + 0x810], xmm1
movdqa xmm0, xmmword [0x1402d4800]
movdqu xmmword [rsp + 0x938], xmm0
mov word [rsp + 0x928], r14w
lea rcx, [rsp + 0x590]
call fcn.140019240
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rsp + 0x60]
call fcn.1402233f8
mov rdi, rax
mov edx, 0x2040
lea rcx, [rsp + 0x240]
call fcn.1402233f8
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], 7
cmova rdx, qword [rsp + 0x860]
mov r8, qword [rsp + 0x870]
lea rcx, [rsp + 0x3a0]
call fcn.140016b40
lea rdx, [0x1402cd5bc]
mov rcx, rax
call fcn.140016880
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.140223420
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.14022340c
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], 7
cmova rdx, qword [rsp + 0x800]
mov r8, qword [rsp + 0x810]
mov rcx, rbx
call fcn.140016b40
mov rbx, rax
mov edx, 5
lea rcx, [rsp + 0x270]
call fcn.140223420
mov rdi, rax
lea rdx, [0x1402cd5bc]
mov rcx, rbx
call fcn.140016880
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.1402233f8
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], 7
cmova rdx, qword [rsp + 0x880]
mov r8, qword [rsp + 0x890]
mov rcx, rbx
call fcn.140016b40
lea rbx, [rsp + 0x7c0]
cmp qword [rsp + 0x7d8], 7
cmova rbx, qword [rsp + 0x7c0]
lea rdx, [0x1402cdad0]
mov rcx, rax
call fcn.140016880
mov rdx, rbx
mov rcx, rax
call fcn.140016880
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14032b0dc], eax
jg 0x140070dd6
lea rdx, [rsp + 0x948]
lea rcx, [rsp + 0x3a8]
call fcn.140019f80
nop
mov rdx, qword [reloc.OLEAUT32.dll_VariantInit]
cmp rdx, 7
jbe 0x140070a95
lea rdx, [rdx*2 + 2]
mov rcx, qword [0x14031c620]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140070a90
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140070e31
call fcn.140003e94
movups xmm0, xmmword [rsp + 0x948]
movups xmmword [0x14031c620], xmm0
movups xmm1, xmmword [rsp + 0x958]
movups xmmword [0x14031c630], xmm1
movdqa xmm0, xmmword [0x1402d4800]
movdqu xmmword [rsp + 0x958], xmm0
mov word [rsp + 0x948], r14w
mov rdx, qword [rsp + 0x818]
cmp rdx, 7
jbe 0x140070b15
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x800]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140070b10
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140070e37
call fcn.140003e94
mov qword [rsp + 0x810], r14
mov qword [rsp + 0x818], 7
mov word [rsp + 0x800], r14w
mov rdx, qword [rsp + 0x878]
cmp rdx, 7
jbe 0x140070b7a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x860]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140070b75
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140070e3d
call fcn.140003e94
mov qword [rsp + 0x870], r14
mov qword [rsp + 0x878], 7
mov word [rsp + 0x860], r14w
mov rdx, qword [rsp + 0x7d8]
cmp rdx, 7
jbe 0x140070bdf
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x7c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140070bda
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140070e43
call fcn.140003e94
mov qword [rsp + 0x7d0], r14
mov qword [rsp + 0x7d8], 7
mov word [rsp + 0x7c0], r14w
mov rdx, qword [rsp + 0x898]
cmp rdx, 7
jbe 0x140070c44
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x880]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140070c3f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140070e49
call fcn.140003e94
mov qword [rsp + 0x890], r14
mov qword [rsp + 0x898], 7
mov word [rsp + 0x880], r14w
lea rcx, [rsp + 0x390]
call fcn.140019240
call fcn.140020e90
lea rdx, [0x14031c620]
cmp qword [reloc.OLEAUT32.dll_VariantInit], 7
cmova rdx, qword [0x14031c620]
mov r8, qword [0x14031c630]
mov rcx, rax
call fcn.140016b40
lea rdx, str.Failed_in_call_to_CreateDXGIFactory:
mov rcx, rax
call fcn.140016880
mov edx, esi
mov rcx, rax
call fcn.14003c2c0
mov rcx, rax
call fcn.140017a70
jmp 0x140070cc2
movzx r12d, byte [rsp + 0x30]
jmp 0x140070cca
lea rcx, [rsp + 0x900]
call fcn.140017b00
movzx eax, r12b
mov rcx, qword [rsp + 0x998]
xor rcx, rsp
call fcn.140220ab0
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.140002e3c
int3
mov ecx, 0x80004005
call fcn.140002e3c
nop
mov ecx, 0x80070057
call fcn.140002e3c
mov ecx, 0x80070057
call fcn.140002e3c
mov ecx, 0x80004005
call fcn.140002e3c
nop
mov ecx, 0x80070057
call fcn.140002e3c
mov ecx, 0x80070057
call fcn.140002e3c
nop
call fcn.14022a250
nop
lea rcx, [0x14032b0dc]
call fcn.140220de4
cmp dword [0x14032b0dc], 0xffffffff
jne 0x14007033d
xorps xmm0, xmm0
movups xmmword [0x14031c620], xmm0
mov qword [0x14031c630], r12
mov qword [reloc.OLEAUT32.dll_VariantInit], 7
mov word [0x14031c620], r12w
lea rcx, [0x14026f550]
call fcn.140220cf8
lea rcx, [0x14032b0dc]
call fcn.140220d78
nop
jmp 0x14007033d
call fcn.14022a250
nop
call fcn.14022a250
nop
call fcn.14022a250
nop
call fcn.14022a250
nop
call fcn.14022a250
nop
lea rcx, [0x14032b0dc]
call fcn.140220de4
cmp dword [0x14032b0dc], 0xffffffff
jne 0x140070a39
xorps xmm0, xmm0
movups xmmword [0x14031c620], xmm0
mov qword [0x14031c630], r14
mov qword [reloc.OLEAUT32.dll_VariantInit], 7
mov word [0x14031c620], r14w
lea rcx, [0x14026f550]
call fcn.140220cf8
lea rcx, [0x14032b0dc]
call fcn.140220d78
nop
jmp 0x140070a39
call fcn.14022a250
nop
call fcn.14022a250
nop
call fcn.14022a250
nop
call fcn.14022a250
nop
call fcn.14022a250
int3