Function at 0x14007d470
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1a740]
mov eax, 0x1a840
call fcn.14014ffe0
sub rsp, rax
movaps xmmword [rsp + 0x1a830], xmm6
mov rax, qword [0x14022b800]
xor rax, rsp
mov qword [rbp + 0x1a720], rax
mov r14, r9
mov edi, edx
mov r12, rcx
mov qword [rsp + 0x48], rcx
mov qword [rbp + 0x190], r8
mov rbx, qword [rcx + 0x48]
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
test rbx, rbx
je 0x14007d51b
mov qword [rsp + 0x50], rbx
mov eax, 1
lock xadd dword [rbx], eax
inc eax
cmp eax, 1
jle 0x14007d509
mov rax, qword gs:[0x30]
mov ecx, dword [rax + 0x48]
cmp dword [rbx + 4], ecx
je 0x14007d518
mov edx, 0xffffffff
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rax, qword gs:[0x30]
mov ecx, dword [rax + 0x48]
mov dword [rbx + 4], ecx
inc dword [rbx + 8]
mov r8d, dword [r12 + 0xc8]
lea rdx, [0x1401df140]
mov ecx, 6
call fcn.140083970
inc dword [r12 + 0xc8]
xor r15d, r15d
cmp dword [r12 + 0xc8], 1
jne 0x14007e915
lea rcx, [rbp + 0xc28]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0xc30]
call fcn.140152140
lea r8, str.OpenCL_Init
mov edx, 0x400
lea rcx, [rbp + 0xc30]
call fcn.140155cf8
mov dword [rbp + 0xc20], 6
mov byte [rbp + 0x1430], r15b
xorps xmm6, xmm6
movsd qword [rbp + 0x1438], xmm6
mov byte [rbp + 0x1440], r15b
mov dword [r12 + 0x50], edi
mov dword [rbp + 0x1a0], r15d
lea r13, [r12 + 0x90]
mov rdx, r13
call fcn.14007fc30
mov edi, eax
test eax, eax
je 0x14007d68f
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x220]
call fcn.140152140
lea rcx, [rbp + 0x220]
call fcn.14006dfd0
nop
mov ecx, edi
call fcn.14000c8c0
mov rbx, rax
lea rdx, str.Findm_platformID___failed
lea rcx, [rbp + 0x230]
call fcn.140053240
mov rcx, rax
lea rdx, str._Error:
call fcn.140053240
mov rcx, rax
mov rdx, rbx
call fcn.140053240
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0x238]
call fcn.140051c70
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x40], rax
lea r9, [rbp + 0xe0]
cmp qword [rbp + 0xf8], 8
cmovae r9, qword [rbp + 0xe0]
mov qword [rsp + 0x20], r15
lea edx, [r15 + 2]
lea r8d, [r15 + 6]
call fcn.140083ad0
nop
lea rcx, [rbp + 0xe0]
call fcn.140004ff0
nop
lea rcx, [rbp + 0x220]
call fcn.1400678c0
jmp 0x14007e577
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1a8], xmm1
mov rsi, r15
mov qword [rbp + 0x1b8], r15
test r14, r14
je 0x14007d8ee
lea rdx, str.clGetDeviceIDsFromD3D11KHR
mov rcx, qword [r13]
call qword [sym.imp.OpenCL.dll_clGetExtensionFunctionAddressForPlatform]
test rax, rax
jne 0x14007d76a
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x320]
call fcn.140152140
lea rcx, [rbp + 0x320]
call fcn.14006dfd0
nop
lea rdx, str.Cannot_resolve_ClGetDeviceIDsFromD3D11KHR_function
lea rcx, [rbp + 0x330]
call fcn.140053240
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0x338]
call fcn.140051c70
lea rax, [rbp + 0x100]
mov qword [rsp + 0x40], rax
lea r9, [rbp + 0x100]
cmp qword [rbp + 0x118], 8
cmovae r9, qword [rbp + 0x100]
mov qword [rsp + 0x20], r15
mov edx, 2
lea r8d, [rdx + 4]
call fcn.140083ad0
nop
lea rcx, [rbp + 0x100]
call fcn.140004ff0
nop
lea rcx, [rbp + 0x320]
call fcn.1400678c0
mov r13, qword [rbp + 0x1a8]
jmp 0x14007e530
mov qword [rbp + 0x180], r15
mov qword [rsp + 0x30], r15
lea rcx, [rbp + 0x180]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 1
mov r9d, 0x401b
mov r8, r14
lea edx, [r9 - 2]
mov rcx, qword [r13]
call rax
mov dword [rbp + 0x1a0], eax
test eax, eax
je 0x14007d86b
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x420]
call fcn.140152140
lea rcx, [rbp + 0x420]
call fcn.14006dfd0
nop
lea rdx, str.pClGetDeviceIDsFromD3D11KHR___failed
lea rcx, [rbp + 0x430]
call fcn.140053240
mov rcx, rax
lea rdx, str._OpenCL_Error:
call fcn.140053240
mov rcx, rax
mov edx, dword [rbp + 0x1a0]
call fcn.1400508a0
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x438]
call fcn.140051c70
lea rax, [rbp + 0x120]
mov qword [rsp + 0x40], rax
lea r9, [rbp + 0x120]
cmp qword [rbp + 0x138], 8
cmovae r9, qword [rbp + 0x120]
mov qword [rsp + 0x20], r15
mov edx, 2
lea r8d, [rdx + 4]
call fcn.140083ad0
nop
lea rcx, [rbp + 0x120]
call fcn.140004ff0
nop
lea rcx, [rbp + 0x420]
call fcn.1400678c0
mov r13, qword [rbp + 0x1a8]
jmp 0x14007e530
mov rax, qword [rbp + 0x180]
mov qword [r12 + 0x88], rax
lea rcx, [r12 + 0x70]
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14007d893
mov qword [rdx], rax
add qword [rcx + 8], 8
jmp 0x14007d89f
lea r8, [rbp + 0x180]
call fcn.1400817d0
mov qword [rsp + 0x60], 0x401d
lea r8, [rsp + 0x60]
xor edx, edx
lea rcx, [rbp + 0x1a8]
call fcn.14006f540
mov qword [rbp - 0x70], r14
mov rbx, qword [rbp + 0x1b0]
mov rsi, qword [rbp + 0x1b8]
cmp rbx, rsi
je 0x14007d8e5
mov qword [rbx], r14
add rbx, 8
mov qword [rbp + 0x1b0], rbx
jmp 0x14007db5d
lea r8, [rbp - 0x70]
jmp 0x14007db40
cmp qword [rbp + 0x190], 0
je 0x14007db56
lea rdx, str.clGetDeviceIDsFromDX9MediaAdapterKHR
mov rcx, qword [r13]
call qword [sym.imp.OpenCL.dll_clGetExtensionFunctionAddressForPlatform]
test rax, rax
jne 0x14007d9b9
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x520]
call fcn.140152140
lea rcx, [rbp + 0x520]
call fcn.14006dfd0
nop
lea rdx, str.Cannot_resolve_clGetDeviceIDsFromDX9MediaAdapterKHR_function
lea rcx, [rbp + 0x530]
call fcn.140053240
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x538]
call fcn.140051c70
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x40], rax
lea r9, [rbp + 0xc0]
cmp qword [rbp + 0xd8], 8
cmovae r9, qword [rbp + 0xc0]
mov qword [rsp + 0x20], r15
mov edx, 2
lea r8d, [rdx + 4]
call fcn.140083ad0
nop
lea rcx, [rbp + 0xc0]
call fcn.140004ff0
nop
lea rcx, [rbp + 0x520]
call fcn.1400678c0
mov r13, qword [rbp + 0x1a8]
jmp 0x14007e530
mov dword [rbp + 0x1d8], 0x2021
mov qword [rbp + 0x188], r15
mov qword [rsp + 0x38], r15
lea rcx, [rbp + 0x188]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0x2023
lea r9, [rbp + 0x190]
lea r8, [rbp + 0x1d8]
mov edx, 1
mov rcx, qword [r13]
call rax
mov dword [rbp + 0x1a0], eax
test eax, eax
je 0x14007dac0
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x620]
call fcn.140152140
lea rcx, [rbp + 0x620]
call fcn.14006dfd0
nop
lea rdx, str.pclGetDeviceIDsFromDX9MediaAdapterKHR___failed
lea rcx, [rbp + 0x630]
call fcn.140053240
mov rcx, rax
lea rdx, str._OpenCL_Error:
call fcn.140053240
mov rcx, rax
mov edx, dword [rbp + 0x1a0]
call fcn.1400508a0
lea rdx, [rbp]
lea rcx, [rbp + 0x638]
call fcn.140051c70
lea rax, [rbp]
mov qword [rsp + 0x40], rax
lea r9, [rbp]
cmp qword [rbp + 0x18], 8
cmovae r9, qword [rbp]
mov qword [rsp + 0x20], r15
mov edx, 2
lea r8d, [rdx + 4]
call fcn.140083ad0
nop
lea rcx, [rbp]
call fcn.140004ff0
nop
lea rcx, [rbp + 0x620]
call fcn.1400678c0
mov r13, qword [rbp + 0x1a8]
jmp 0x14007e530
mov rax, qword [rbp + 0x188]
mov qword [r12 + 0x88], rax
lea rcx, [r12 + 0x70]
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14007dae8
mov qword [rdx], rax
add qword [rcx + 8], 8
jmp 0x14007daf4
lea r8, [rbp + 0x188]
call fcn.1400817d0
mov qword [rbp - 0x68], 0x2026
lea r8, [rbp - 0x68]
xor edx, edx
lea rcx, [rbp + 0x1a8]
call fcn.14006f540
mov rax, qword [rbp + 0x190]
mov qword [rbp - 0x60], rax
mov rbx, qword [rbp + 0x1b0]
mov rsi, qword [rbp + 0x1b8]
cmp rbx, rsi
je 0x14007db3c
mov qword [rbx], rax
add rbx, 8
mov qword [rbp + 0x1b0], rbx
jmp 0x14007db5d
lea r8, [rbp - 0x60]
mov rdx, rbx
lea rcx, [rbp + 0x1a8]
call fcn.14006f540
mov rsi, qword [rbp + 0x1b8]
mov rbx, qword [rbp + 0x1b0]
mov r15, qword [rbp + 0x1a7a0]
test r15, r15
je 0x14007e06c
mov qword [r12 + 0xb8], r15
lea rdx, str.clGetGLContextInfoKHR
mov rcx, qword [r13]
call qword [sym.imp.OpenCL.dll_clGetExtensionFunctionAddressForPlatform]
mov r12, rax
test rax, rax
jne 0x14007dc27
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x720]
call fcn.140152140
lea rcx, [rbp + 0x720]
call fcn.14006dfd0
nop
lea rdx, str.Cannot_resolve_clGetGLContextInfoKHR_function
lea rcx, [rbp + 0x730]
call fcn.140053240
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x738]
call fcn.140051c70
lea rax, [rbp + 0x20]
mov qword [rsp + 0x40], rax
lea r9, [rbp + 0x20]
cmp qword [rbp + 0x38], 8
cmovae r9, qword [rbp + 0x20]
xor r15d, r15d
mov qword [rsp + 0x20], r15
lea edx, [r12 + 2]
lea r8d, [r12 + 6]
call fcn.140083ad0
nop
lea rcx, [rbp + 0x20]
call fcn.140004ff0
nop
lea rcx, [rbp + 0x720]
call fcn.1400678c0
mov r13, qword [rbp + 0x1a8]
jmp 0x14007e530
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1c0], xmm1
xor r14d, r14d
mov qword [rbp + 0x1d0], r14
mov qword [rbp - 0x58], 0x1084
lea r8, [rbp - 0x58]
xor edx, edx
lea rcx, [rbp + 0x1c0]
call fcn.14006f540
mov rax, qword [r13]
mov qword [rbp - 0x50], rax
mov rdx, qword [rbp + 0x1c8]
mov rdi, qword [rbp + 0x1d0]
cmp rdx, rdi
je 0x14007dc81
mov qword [rdx], rax
add rdx, 8
mov qword [rbp + 0x1c8], rdx
jmp 0x14007dc9f
lea r8, [rbp - 0x50]
lea rcx, [rbp + 0x1c0]
call fcn.14006f540
mov rdi, qword [rbp + 0x1d0]
mov rdx, qword [rbp + 0x1c8]
mov qword [rbp - 0x48], 0x2008
cmp rdx, rdi
je 0x14007dcc0
mov qword [rdx], 0x2008
add rdx, 8
mov qword [rbp + 0x1c8], rdx
jmp 0x14007dcde
lea r8, [rbp - 0x48]
lea rcx, [rbp + 0x1c0]
call fcn.14006f540
mov rdi, qword [rbp + 0x1d0]
mov rdx, qword [rbp + 0x1c8]
mov rax, qword [r15 + 0x40]
mov qword [rbp - 0x78], rax
cmp rdx, rdi
je 0x14007dcfb
mov qword [rdx], rax
add rdx, 8
mov qword [rbp + 0x1c8], rdx
jmp 0x14007dd19
lea r8, [rbp - 0x78]
lea rcx, [rbp + 0x1c0]
call fcn.14006f540
mov rdi, qword [rbp + 0x1d0]
mov rdx, qword [rbp + 0x1c8]
mov qword [rbp - 0x40], 0x200b
cmp rdx, rdi
je 0x14007dd3a
mov qword [rdx], 0x200b
add rdx, 8
mov qword [rbp + 0x1c8], rdx
jmp 0x14007dd58
lea r8, [rbp - 0x40]
lea rcx, [rbp + 0x1c0]
call fcn.14006f540
mov rdi, qword [rbp + 0x1d0]
mov rdx, qword [rbp + 0x1c8]
mov rax, qword [r15 + 0x38]
mov qword [rbp - 0x38], rax
cmp rdx, rdi
je 0x14007dd75
mov qword [rdx], rax
add rdx, 8
mov qword [rbp + 0x1c8], rdx
jmp 0x14007dd93
lea r8, [rbp - 0x38]
lea rcx, [rbp + 0x1c0]
call fcn.14006f540
mov rdi, qword [rbp + 0x1d0]
mov rdx, qword [rbp + 0x1c8]
mov qword [rbp - 0x30], r14
cmp rdx, rdi
je 0x14007ddac
mov qword [rdx], r14
add rdx, 8
mov qword [rbp + 0x1c8], rdx
jmp 0x14007ddc3
lea r8, [rbp - 0x30]
lea rcx, [rbp + 0x1c0]
call fcn.14006f540
mov rdi, qword [rbp + 0x1d0]
mov qword [rbp + 0x198], r14
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x198]
mov edx, 0x2006
mov r8d, 8
mov r14, qword [rbp + 0x1c0]
mov rcx, r14
call r12
mov dword [rbp + 0x1a0], eax
test eax, eax
je 0x14007def2
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x820]
call fcn.140152140
lea rcx, [rbp + 0x820]
call fcn.14006dfd0
nop
lea rdx, str.clGetGLContextInfoKHR___failed
lea rcx, [rbp + 0x830]
call fcn.140053240
mov rcx, rax
lea rdx, str._OpenCL_Error:
call fcn.140053240
mov rcx, rax
mov edx, dword [rbp + 0x1a0]
call fcn.1400508a0
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x838]
call fcn.140051c70
lea rax, [rbp + 0x40]
mov qword [rsp + 0x40], rax
lea r9, [rbp + 0x40]
cmp qword [rbp + 0x58], 8
cmovae r9, qword [rbp + 0x40]
xor r15d, r15d
mov qword [rsp + 0x20], r15
lea edx, [r15 + 2]
lea r8d, [r15 + 6]
call fcn.140083ad0
nop
lea rcx, [rbp + 0x40]
call fcn.140004ff0
nop
lea rcx, [rbp + 0x820]
call fcn.1400678c0
nop
test r14, r14
je 0x14007e288
sub rdi, r14
sar rdi, 3
lea rdx, [rdi*8]
mov rax, r14
cmp rdx, 0x1000
jb 0x14007dede
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007e993
mov rcx, r14
call fcn.14014f59c
mov r13, qword [rbp + 0x1a8]
jmp 0x14007e530
mov rax, qword [rbp + 0x198]
mov r12, qword [rsp + 0x48]
mov qword [r12 + 0x88], rax
lea rcx, [r12 + 0x70]
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14007df1f
mov qword [rdx], rax
add qword [rcx + 8], 8
jmp 0x14007df2b
lea r8, [rbp + 0x198]
call fcn.1400817d0
mov qword [rbp - 0x28], 0x2008
cmp rbx, rsi
je 0x14007df4c
mov qword [rbx], 0x2008
add rbx, 8
mov qword [rbp + 0x1b0], rbx
jmp 0x14007df6d
lea r8, [rbp - 0x28]
mov rdx, rbx
lea rcx, [rbp + 0x1a8]
call fcn.14006f540
mov rsi, qword [rbp + 0x1b8]
mov rbx, qword [rbp + 0x1b0]
mov rax, qword [r15 + 0x40]
mov qword [rbp - 0x20], rax
cmp rbx, rsi
je 0x14007df8a
mov qword [rbx], rax
add rbx, 8
mov qword [rbp + 0x1b0], rbx
jmp 0x14007dfab
lea r8, [rbp - 0x20]
mov rdx, rbx
lea rcx, [rbp + 0x1a8]
call fcn.14006f540
mov rsi, qword [rbp + 0x1b8]
mov rbx, qword [rbp + 0x1b0]
mov qword [rbp - 0x18], 0x200b
cmp rbx, rsi
je 0x14007dfcc
mov qword [rbx], 0x200b
add rbx, 8
mov qword [rbp + 0x1b0], rbx
jmp 0x14007dfed
lea r8, [rbp - 0x18]
mov rdx, rbx
lea rcx, [rbp + 0x1a8]
call fcn.14006f540
mov rsi, qword [rbp + 0x1b8]
mov rbx, qword [rbp + 0x1b0]
mov rax, qword [r15 + 0x38]
mov qword [rbp - 0x10], rax
cmp rbx, rsi
je 0x14007e00a
mov qword [rbx], rax
add rbx, 8
mov qword [rbp + 0x1b0], rbx
jmp 0x14007e02b
lea r8, [rbp - 0x10]
mov rdx, rbx
lea rcx, [rbp + 0x1a8]
call fcn.14006f540
mov rsi, qword [rbp + 0x1b8]
mov rbx, qword [rbp + 0x1b0]
test r14, r14
je 0x14007e06c
sub rdi, r14
sar rdi, 3
lea rdx, [rdi*8]
mov rax, r14
cmp rdx, 0x1000
jb 0x14007e064
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007e993
mov rcx, r14
call fcn.14014f59c
mov qword [rbp - 8], 0x1085
cmp rbx, rsi
je 0x14007e08d
mov qword [rbx], 0x1085
add rbx, 8
mov qword [rbp + 0x1b0], rbx
jmp 0x14007e0ae
lea r8, [rbp - 8]
mov rdx, rbx
lea rcx, [rbp + 0x1a8]
call fcn.14006f540
mov rsi, qword [rbp + 0x1b8]
mov rbx, qword [rbp + 0x1b0]
mov qword [rsp + 0x68], 1
cmp rbx, rsi
je 0x14007e0d0
mov qword [rbx], 1
add rbx, 8
mov qword [rbp + 0x1b0], rbx
jmp 0x14007e0f2
lea r8, [rsp + 0x68]
mov rdx, rbx
lea rcx, [rbp + 0x1a8]
call fcn.14006f540
mov rsi, qword [rbp + 0x1b8]
mov rbx, qword [rbp + 0x1b0]
mov qword [rsp + 0x70], 0x1084
cmp rbx, rsi
je 0x14007e114
mov qword [rbx], 0x1084
add rbx, 8
mov qword [rbp + 0x1b0], rbx
jmp 0x14007e136
lea r8, [rsp + 0x70]
mov rdx, rbx
lea rcx, [rbp + 0x1a8]
call fcn.14006f540
mov rsi, qword [rbp + 0x1b8]
mov rbx, qword [rbp + 0x1b0]
mov rax, qword [r13]
mov qword [rsp + 0x78], rax
cmp rbx, rsi
je 0x14007e154
mov qword [rbx], rax
add rbx, 8
mov qword [rbp + 0x1b0], rbx
jmp 0x14007e176
lea r8, [rsp + 0x78]
mov rdx, rbx
lea rcx, [rbp + 0x1a8]
call fcn.14006f540
mov rsi, qword [rbp + 0x1b8]
mov rbx, qword [rbp + 0x1b0]
xor r15d, r15d
mov qword [rbp - 0x80], r15
cmp rbx, rsi
je 0x14007e192
mov qword [rbx], r15
add rbx, 8
mov qword [rbp + 0x1b0], rbx
jmp 0x14007e1ac
lea r8, [rbp - 0x80]
mov rdx, rbx
lea rcx, [rbp + 0x1a8]
call fcn.14006f540
mov rsi, qword [rbp + 0x1b8]
lea rdi, [r12 + 0x88]
cmp qword [rdi], r15
jne 0x14007e2b8
mov qword [rsp + 0x20], r15
mov r9, rdi
mov edx, 4
lea r8d, [rdx - 3]
mov rcx, qword [r13]
call qword [sym.imp.OpenCL.dll_clGetDeviceIDs]
mov dword [rbp + 0x1a0], eax
test eax, eax
je 0x14007e294
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x920]
call fcn.140152140
lea rcx, [rbp + 0x920]
call fcn.14006dfd0
nop
lea rdx, str.clGetDeviceIDs___failed
lea rcx, [rbp + 0x930]
call fcn.140053240
mov rcx, rax
lea rdx, str._OpenCL_Error:
call fcn.140053240
mov rcx, rax
mov edx, dword [rbp + 0x1a0]
call fcn.1400508a0
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x938]
call fcn.140051c70
lea rax, [rbp + 0x60]
mov qword [rsp + 0x40], rax
lea r9, [rbp + 0x60]
cmp qword [rbp + 0x78], 8
cmovae r9, qword [rbp + 0x60]
mov qword [rsp + 0x20], r15
mov edx, 2
lea r8d, [rdx + 4]
call fcn.140083ad0
nop
lea rcx, [rbp + 0x60]
call fcn.140004ff0
nop
lea rcx, [rbp + 0x920]
call fcn.1400678c0
mov r13, qword [rbp + 0x1a8]
jmp 0x14007e530
lea rcx, [r12 + 0x70]
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14007e2b0
mov rax, qword [rdi]
mov qword [rdx], rax
add qword [rcx + 8], 8
jmp 0x14007e2b8
mov r8, rdi
call fcn.1400817d0
xor edx, edx
mov r8d, 0x400
lea rcx, [rbp + 0x1c80]
call fcn.140152140
mov qword [rsp + 0x20], r15
lea r9, [rbp + 0x1c80]
mov edx, 0x102f
mov r8d, 0x400
mov rcx, qword [rdi]
call qword [sym.imp.OpenCL.dll_clGetDeviceInfo]
mov qword [r12 + 0xc0], r15
lea r9, [r12 + 0xc4]
lea r8, [r12 + 0xc0]
lea rdx, str.OpenCL__d._d__s
lea rcx, [rbp + 0x1c80]
call fcn.14007cdc0
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0xa20]
call fcn.140152140
lea rcx, [rbp + 0xa20]
call fcn.14006dfd0
nop
lea rdx, str.OpenCL_version:
lea rcx, [rbp + 0xa30]
call fcn.1400534c0
mov rcx, rax
mov edx, dword [r12 + 0xc0]
call fcn.1400508a0
mov rcx, rax
lea rdx, [0x1401d6d88]
call fcn.1400534c0
mov rcx, rax
mov edx, dword [r12 + 0xc4]
call fcn.1400508a0
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0xa38]
call fcn.140051c70
lea rax, [rbp + 0x80]
mov qword [rsp + 0x40], rax
lea r9, [rbp + 0x80]
cmp qword [rbp + 0x98], 8
cmovae r9, qword [rbp + 0x80]
mov qword [rsp + 0x20], r15
xor edx, edx
lea r8d, [rdx + 6]
call fcn.140083ad0
nop
lea rcx, [rbp + 0x80]
call fcn.140004ff0
nop
lea rcx, [rbp + 0xa20]
call fcn.1400678c0
lea rcx, [rbp + 0x1458]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x1460]
call fcn.140152140
lea r8, str.OpenCL_clCreateContext
mov edx, 0x400
lea rcx, [rbp + 0x1460]
call fcn.140155cf8
mov dword [rbp + 0x1450], 6
mov byte [rbp + 0x1c60], 0
movsd qword [rbp + 0x1c68], xmm6
mov byte [rbp + 0x1c70], 0
lea rax, [rbp + 0x1a0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
xor r9d, r9d
mov r8, rdi
lea edx, [r9 + 1]
mov r13, qword [rbp + 0x1a8]
mov rcx, r13
call qword [sym.imp.OpenCL.dll_clCreateContext]
mov qword [r12 + 0x68], rax
lea rcx, [rbp + 0x1450]
call fcn.140083fb0
xor edx, edx
cmp dword [rbp + 0x1a0], edx
je 0x14007e588
mov r8d, 0xf8
lea rcx, [rbp + 0xb20]
call fcn.140152140
lea rcx, [rbp + 0xb20]
call fcn.14006dfd0
nop
lea rdx, str.clCreateContext___failed
lea rcx, [rbp + 0xb30]
call fcn.140053240
mov rcx, rax
lea rdx, str._OpenCL_Error:
call fcn.140053240
mov rcx, rax
mov edx, dword [rbp + 0x1a0]
call fcn.1400508a0
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0xb38]
call fcn.140051c70
lea rax, [rbp + 0xa0]
mov qword [rsp + 0x40], rax
lea r9, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 8
cmovae r9, qword [rbp + 0xa0]
mov qword [rsp + 0x20], r15
mov edx, 2
lea r8d, [rdx + 4]
call fcn.140083ad0
nop
lea rcx, [rbp + 0xa0]
call fcn.140004ff0
nop
lea rcx, [rbp + 0xb20]
call fcn.1400678c0
nop
mov edi, 1
test r13, r13
je 0x14007e577
sub rsi, r13
sar rsi, 3
lea rdx, [rsi*8]
mov rax, r13
cmp rdx, 0x1000
jb 0x14007e56e
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007e98d
mov rcx, r13
call fcn.14014f59c
nop
lea rcx, [rbp + 0xc20]
call fcn.140083fb0
jmp 0x14007e918
mov r8d, 0x186a0
lea rcx, [rbp + 0x2080]
call fcn.140152140
lea r14, [rbp + 0x2080]
lea rbx, str.LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq_r_nKioqKioqKioqKioqKioqKioqKioqKioNCkNvcHlyaWdodCAyMDE5IEFkdmFuY2Vk_r_nIE1pY3JvIERldmljZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCg0KUmVk_r_naXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg_r_nd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92_r_naWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0Og0KDQpS_r_nZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi_r_nb3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu_r_nZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuDQpSZWRpc3RyaWJ1dGlvbnMgaW4g_r_nYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu_r_nb3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n_r_nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yDQpvdGhlciBt_r_nYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLg0KDQpUSElT_r_nIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB_r_nTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ_r_nRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI_r_nRSBJTVBMSUVEDQpXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU_r_nTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO_r_nIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJV_r_nVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQ0KRElSRUNULCBJTkRJUkVDVCwgSU5DSURF_r_nTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH_r_nRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP_r_nRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTDQpPRiBVU0UsIERB_r_nVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF_r_nUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS_r_nIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ_r_nTkcNCk5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg_r_nT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE_r_nIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCioqKioqKioqKioq_r_nKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq_r_nKioqKioqKioqLw0KDQovL2lmIHByaW1hcnkgaXMgQkdSQSwgdGhlbiB3ZSBuZWVk_r_nIHRvIHN3YXAgQiBhbmQgUiBjaGFubmVscyBpbiBzb21lIG9mIHRoZSBvcGVyYXRp_r_nb25zDQojaWZkZWYgRFZSX0JHUkFfVkVSDQojZGVmaW5lIFJCX1NXQVAgLnp5eHcN_r_nCiNlbHNlDQojZGVmaW5lIFJCX1NXQVANCiNlbmRpZg0KDQpfX2NvbnN0YW50IHNh_r_nbXBsZXJfdCB1bm5vcm1hbGl6ZWRTYW1wbGVyID0gQ0xLX05PUk1BTElaRURfQ09P_r_nUkRTX0ZBTFNFIHwgQ0xLX0FERFJFU1NfQ0xBTVBfVE9fRURHRSB8IENMS19GSUxU_r_nRVJfTkVBUkVTVDsNCl9fY29uc3RhbnQgc2FtcGxlcl90IHVubm9ybWFsaXplZExp_r_nbmVhclNhbXBsZXIgPSBDTEtfTk9STUFMSVpFRF9DT09SRFNfRkFMU0UgfCBDTEtf_r_nQUREUkVTU19DTEFNUF9UT19FREdFIHwgQ0xLX0ZJTFRFUl9MSU5FQVI7DQpfX2Nv_r_nbnN0YW50IHNhbXBsZXJfdCBub3JtYWxpemVkTGluZWFyU2FtcGxlciA9IENMS19O_r_nT1JNQUxJWkVEX0NPT1JEU19UUlVFIHwgQ0xLX0FERFJFU1NfQ0xBTVBfVE9fRURH_r_nRSB8IENMS19GSUxURVJfTElORUFSOw0KDQpmbG9hdDQgUkdCMllVVihmbG9hdDQg_r_nUkdCQSkNCnsNCiAgICBmbG9hdDQgWVVWOw0KDQogICAgWVVWLnggPSAoMC4xODMg_r_nKiBSR0JBLngpICsgKDAuNjE0ICogUkdCQS55KSArICgwLjA2MiAqIFJHQkEueikg_r_nKyAwLjA2MjsNCiAgICBZVVYueSA9IC0oMC4xMDEgKiBSR0JBLngpIC0gKDAuMzM4_r_nICogUkdCQS55KSArICgwLjQzOSAqIFJHQkEueikgKyAwLjU7DQogICAgWVVWLnog_r_nPSAoMC40MzkgKiBSR0JBLngpIC0gKDAuMzk5ICogUkdCQS55KSAtICgwLjA0MCAq_r_nIFJHQkEueikgKyAwLjU7DQogICAgDQogICAgcmV0dXJuIFlVVjsNCn0NCg0KLy8g_r_nYSBzaW1wbGUgaW1hZ2UgY29weSBjb21wdXRlIGtlcm5lbA0KX19rZXJuZWwgdm9p_r_nZCBjb3B5SW1hZ2UoDQogICAgX19yZWFkX29ubHkgaW1hZ2UyZF90IGltYWdlSW4s_r_nDQogICAgX193cml0ZV9vbmx5IGltYWdlMmRfdCBpbWFnZU91dCwNCiAgICBpbnQg_r_nc3JjWCwgaW50IHNyY1ksDQogICAgaW50IGRlc3RYLCBpbnQgZGVzdFkpDQp7DQog_r_nICAgaW50IHggPSBnZXRfZ2xvYmFsX2lkKDApOw0KICAgIGludCB5ID0gZ2V0X2ds_r_nb2JhbF9pZCgxKTsNCg0KICAgIGZsb2F0NCBwaXhlbDsNCiAgICBpbnQyIGNvb3Jk_r_nU3JjID0gKGludDIpKHggKyBzcmNYLCB5ICsgc3JjWSk7DQogICAgcGl4ZWwgPSBy_r_nZWFkX2ltYWdlZihpbWFnZUluLCB1bm5vcm1hbGl6ZWRTYW1wbGVyLCBjb29yZFNy_r_nYylSQl9TV0FQOw0KDQogICAgaW50MiBjb29yZERlc3QgPSAoaW50MikoeCArIGRl_r_nc3RYLCB5ICsgZGVzdFkpOw0KICAgIHdyaXRlX2ltYWdlZihpbWFnZU91dCwgY29v_r_ncmREZXN0LCBwaXhlbCk7DQp9DQoNCi8vIHJldHVybnMgY29vcmRpbmF0ZXNJbg0K_r_naW50MiByZWFkX292ZXJsYXlfaW1hZ2UoDQogICAgaW50NCBvdmVybGF5WFlXSCwg_r_nICAgICAvLyB4LCB5
mov qword [rbp + 0x200], r15
movdqa xmm0, xmmword [0x1401f9dd0]
movdqu xmmword [rbp + 0x210], xmm0
mov r8d, 6
lea rdx, str.__t_n_v_f_r
lea rcx, [rbp + 0x200]
call fcn.140005060
mov edi, r15d
mov r9d, r15d
mov r11, qword [rbp + 0x210]
lea rcx, [0x1401f8070]
cmp edi, 0x186a0
jg 0x14007e70d
mov r10, r15
nop dword [rax + rax]
movzx edx, byte [rbx]
lea r8, [rbp + 0x200]
cmp qword [rbp + 0x218], 8
cmovae r8, qword [rbp + 0x200]
test r11, r11
je 0x14007e63f
mov rcx, r11
mov rax, r8
cmp word [rax], dx
je 0x14007e6dd
add rax, 2
sub rcx, 1
jne 0x14007e625
lea rcx, [0x1401f8070]
cmp r9d, 0x465e
jge 0x14007e710
movzx eax, byte [rdx + rcx]
mov byte [rsp + r10 + 0x48], al
inc rbx
inc r9d
inc r10
cmp r10, 4
jl 0x14007e600
movzx ecx, byte [rsp + 0x49]
movzx r8d, cl
shr r8b, 4
and r8b, 3
movzx eax, byte [rsp + 0x48]
shl al, 2
or r8b, al
movzx edx, byte [rsp + 0x4a]
movzx r10d, dl
shr r10b, 2
and r10b, 0xf
shl cl, 4
or r10b, cl
movzx r15d, byte [rsp + 0x4b]
movzx ecx, r15b
and cl, 0x3f
movzx eax, dl
shl al, 6
or cl, al
mov byte [r14], r8b
inc edi
cmp dl, 0x63
je 0x14007e708
mov byte [r14 + 1], r10b
inc edi
cmp r15b, 0x63
je 0x14007e708
mov byte [r14 + 2], cl
add r14, 3
inc edi
cmp r9d, 0x465e
jge 0x14007e708
xor r15d, r15d
jmp 0x14007e5e5
sub rax, r8
sar rax, 1
cmp rax, 0xffffffffffffffff
je 0x14007e638
inc r9d
cmp r9d, 0x465e
jge 0x14007e710
inc rbx
lea rcx, [0x1401f8070]
jmp 0x14007e600
xor r15d, r15d
jmp 0x14007e710
mov edi, r15d
lea rcx, [rbp + 0x200]
call fcn.140004ff0
movsxd rbx, edi
mov qword [rbp + 0x1e0], r15
movdqa xmm0, xmmword [0x1401f9de0]
movdqu xmmword [rbp + 0x1f0], xmm0
mov byte [rbp + 0x1e0], 0
cmp dword [r12 + 0xc0], 2
jl 0x14007e761
mov r8d, 0x26
lea rdx, str.__cl_stdCL2.0__D_DVR_READ_WRITE_IMAGE
lea rcx, [rbp + 0x1e0]
call fcn.140051d70
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp + 0x140]
call fcn.140050bf0
mov r9, rax
mov r8, rbx
lea rdx, [rbp + 0x2080]
mov rcx, r12
call fcn.140080230
mov qword [r12 + 0xa8], rax
mov r8d, 0x10
lea rdx, str.__D_DVR_BGRA_VER
lea rcx, [rbp + 0x1e0]
call fcn.140051d70
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp + 0x160]
call fcn.140050bf0
mov r9, rax
mov r8, rbx
lea rdx, [rbp + 0x2080]
mov rcx, r12
call fcn.140080230
mov qword [r12 + 0xb0], rax
lea rdx, str.clGetPlaneFromImageAMD
mov rcx, qword [r12 + 0x90]
call qword [sym.imp.OpenCL.dll_clGetExtensionFunctionAddressForPlatform]
mov qword [r12 + 0x38], rax
lea rdx, str.clConvertImageAMD
mov rcx, qword [r12 + 0x90]
call qword [sym.imp.OpenCL.dll_clGetExtensionFunctionAddressForPlatform]
mov qword [r12 + 0x40], rax
lea rdx, str.clCreateFromD3D11Texture2DKHR
mov rcx, qword [r12 + 0x90]
call qword [sym.imp.OpenCL.dll_clGetExtensionFunctionAddressForPlatform]
mov qword [r12 + 8], rax
lea rdx, str.clEnqueueAcquireD3D11ObjectsKHR
mov rcx, qword [r12 + 0x90]
call qword [sym.imp.OpenCL.dll_clGetExtensionFunctionAddressForPlatform]
mov qword [r12 + 0x10], rax
lea rdx, str.clEnqueueReleaseD3D11ObjectsKHR
mov rcx, qword [r12 + 0x90]
call qword [sym.imp.OpenCL.dll_clGetExtensionFunctionAddressForPlatform]
mov qword [r12 + 0x18], rax
lea rdx, str.clCreateFromDX9MediaSurfaceKHR
mov rcx, qword [r12 + 0x90]
call qword [sym.imp.OpenCL.dll_clGetExtensionFunctionAddressForPlatform]
mov qword [r12 + 0x20], rax
lea rdx, str.clEnqueueAcquireDX9MediaSurfacesKHR
mov rcx, qword [r12 + 0x90]
call qword [sym.imp.OpenCL.dll_clGetExtensionFunctionAddressForPlatform]
mov qword [r12 + 0x28], rax
lea rdx, str.clEnqueueReleaseDX9MediaSurfacesKHR
mov rcx, qword [r12 + 0x90]
call qword [sym.imp.OpenCL.dll_clGetExtensionFunctionAddressForPlatform]
mov qword [r12 + 0x30], rax
mov rcx, r12
call fcn.14007ed60
mov qword [r12 + 0xd0], r15
lea rcx, [rbp + 0x1e0]
call fcn.140005190
nop
test r13, r13
je 0x14007e909
sub rsi, r13
sar rsi, 3
lea rdx, [rsi*8]
mov rax, r13
cmp rdx, 0x1000
jb 0x14007e900
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007e98d
mov rcx, r13
call fcn.14014f59c
nop
lea rcx, [rbp + 0xc20]
call fcn.140083fb0
mov edi, r15d
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x14007e959
add dword [rax + 8], 0xffffffff
mov r8d, dword [rax + 8]
jne 0x14007e930
mov dword [rax + 4], r15d
mov ecx, 0xffffffff
lock xadd dword [rax], ecx
cmp ecx, 1
je 0x14007e959
test r8d, r8d
jne 0x14007e959
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
mov eax, edi
mov rcx, qword [rbp + 0x1a720]
xor rcx, rsp
call fcn.14014f2f0
mov rbx, qword [rsp + 0x1a888]
movaps xmm6, xmmword [rsp + 0x1a830]
add rsp, 0x1a840
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14015673c
nop
call fcn.14015673c
int3