Function at 0x1400cb450
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xbe0]
sub rsp, 0xce0
mov rax, qword [0x14022b800]
xor rax, rsp
mov qword [rbp + 0xbd0], rax
mov qword [rbp - 0x80], r8
mov r14, rdx
mov qword [rsp + 0x58], rdx
mov r13, rcx
mov qword [rbp + 0x1c0], rdx
xor r15d, r15d
mov dword [rsp + 0x30], r15d
mov rbx, qword [rcx + 0x28]
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
test rbx, rbx
je 0x1400cb4fc
mov qword [rsp + 0x40], rbx
mov eax, 1
lock xadd dword [rbx], eax
inc eax
cmp eax, 1
jle 0x1400cb4e5
mov rax, qword gs:[0x30]
mov ecx, dword [rax + 0x48]
cmp dword [rbx + 4], ecx
je 0x1400cb4f4
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 r15d, dword [rsp + 0x30]
lea rcx, [rbp + 0x3a8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x3b0]
call fcn.140152140
lea r8, str.StartDesktopPipeline
mov edx, 0x400
lea rcx, [rbp + 0x3b0]
call fcn.140155cf8
mov dword [rbp + 0x3a0], 7
mov byte [rbp + 0xbb0], 1
xorps xmm0, xmm0
movsd qword [rbp + 0xbb8], xmm0
mov byte [rbp + 0xbc0], 0
lea r8, [rbp + 0x3b0]
lea rdx, str._s_start
mov ecx, 7
call fcn.140083970
nop
call fcn.1400616f0
mov rcx, rax
mov r9, r13
mov edx, 7
lea r8d, [rdx + 0x77]
call fcn.1400572d0
call fcn.1400616f0
mov rcx, rax
mov r9, r13
mov edx, 7
mov r8d, 0x8082
call fcn.1400572d0
call fcn.1400616f0
mov rcx, rax
mov r9, r13
mov edx, 7
mov r8d, 0x80a1
call fcn.1400572d0
call fcn.1400616f0
mov rcx, rax
mov r9, r13
mov edx, 7
mov r8d, 0x810a
call fcn.1400572d0
call fcn.140062580
mov r12, rax
mov rbx, qword [rax + 0xc0]
xor edi, edi
test rbx, rbx
je 0x1400cb63b
mov rdi, rbx
mov ecx, 1
lock xadd dword [rbx], ecx
inc ecx
cmp ecx, 1
jle 0x1400cb624
mov rcx, qword gs:[0x30]
mov eax, dword [rcx + 0x48]
cmp dword [rbx + 4], eax
je 0x1400cb633
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 r15d, dword [rsp + 0x30]
mov rsi, qword [r12 + 8]
mov rbx, qword [rsi]
cmp rbx, rsi
je 0x1400cb664
nop dword [rax + rax]
mov rcx, qword [rbx + 0x18]
call fcn.14010e350
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
jne 0x1400cb650
mov rsi, qword [r12 + 0x48]
mov rbx, qword [rsi]
cmp rbx, rsi
je 0x1400cb685
mov rcx, qword [rbx + 0x18]
call fcn.14010e6d0
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
jne 0x1400cb671
mov rsi, qword [r12 + 0x88]
mov rbx, qword [rsi]
cmp rbx, rsi
je 0x1400cb6a9
mov rcx, qword [rbx + 0x18]
call fcn.14010e350
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
jne 0x1400cb695
mov r12d, 0xffffffff
test rdi, rdi
je 0x1400cb6e9
add dword [rdi + 8], 0xffffffff
mov ecx, dword [rdi + 8]
jne 0x1400cb6c4
mov dword [rdi + 4], 0
mov eax, r12d
lock xadd dword [rdi], eax
cmp eax, 1
je 0x1400cb6e4
test ecx, ecx
jne 0x1400cb6e4
xor r8d, r8d
lea edx, [rcx + 1]
mov rcx, qword [rdi + 0x10]
call qword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
mov r15d, dword [rsp + 0x30]
mov r8, r14
lea rdx, [rbp - 0x20]
lea rcx, [r13 + 0xa0]
call fcn.14002bcd0
lea rcx, [rbp - 0x20]
call fcn.14000fbc0
mov dword [r13 + 0x368], r12d
mov dword [r13 + 0x3d0], 8
lea rcx, [r13 + 0x370]
xor r8d, r8d
lea rdx, [0x1401c16d8]
call fcn.140005060
lea rcx, [r13 + 0x390]
xor r8d, r8d
lea rdx, [0x1401c16d8]
call fcn.140005060
mov rcx, r13
call fcn.1400cfce0
mov r9d, dword [r13 + 0xa0]
mov rax, qword [r13 + 0x148]
movzx r8d, r9b
movabs rcx, 0xcbf29ce484222325
xor r8, rcx
movabs r10, 0x100000001b3
imul r8, r10
mov ecx, r9d
shr ecx, 8
movzx edx, cl
xor r8, rdx
imul r8, r10
mov ecx, r9d
shr ecx, 0x10
movzx edx, cl
xor r8, rdx
imul r8, r10
mov ecx, r9d
shr rcx, 0x18
xor r8, rcx
imul r8, r10
mov rdx, qword [r13 + 0x170]
and rdx, r8
add rdx, rdx
mov r8, qword [r13 + 0x158]
mov rcx, qword [r8 + rdx*8 + 8]
cmp rcx, rax
je 0x1400cb7ef
mov rdx, qword [r8 + rdx*8]
cmp r9d, dword [rcx + 0x10]
je 0x1400cb7df
nop
cmp rcx, rdx
je 0x1400cb7ef
mov rcx, qword [rcx + 8]
cmp r9d, dword [rcx + 0x10]
jne 0x1400cb7d0
test rcx, rcx
cmove rcx, rax
cmp rcx, rax
jne 0x1400cb8cb
lea rdx, [r13 + 0xd8]
lea rcx, [rbp - 0x78]
call fcn.140006b00
mov r15d, 0x10
mov dword [rsp + 0x30], r15d
lea r8, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r8, qword [rbp - 0x78]
lea rdx, str.Pipeline_is_not_preloaded_on_desktop.__s
lea ecx, [r15 - 9]
call fcn.140083970
nop
lea rcx, [rbp - 0x78]
call fcn.140004ff0
mov rdx, r14
lea rcx, [rbp + 0x80]
call fcn.14000fad0
mov rdx, rax
mov rcx, r13
call fcn.1400c9d40
test eax, eax
je 0x1400cb8cb
call fcn.1400616f0
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8080
mov rcx, qword [rax + 0x50]
call qword [sym.imp.USER32.dll_PostMessageW]
nop
lea rcx, [rbp + 0x3a0]
call fcn.140083fb0
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400cb8bb
add dword [rcx + 8], 0xffffffff
mov r8d, dword [rcx + 8]
jne 0x1400cb893
mov dword [rcx + 4], 0
mov eax, r12d
lock xadd dword [rcx], eax
cmp eax, 1
je 0x1400cb8bb
test r8d, r8d
jne 0x1400cb8bb
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
nop
mov rcx, r14
call fcn.14000fbc0
mov eax, r12d
jmp 0x1400cbc06
mov eax, dword [r13 + 0xa0]
mov dword [rsp + 0x50], eax
lea rcx, [r13 + 0x140]
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x38]
call fcn.1400d1400
mov rdx, qword [rax]
add rdx, 0x18
lea rcx, [rbp + 0x1d0]
call fcn.14003b680
nop
mov r8, r14
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x218]
call fcn.14002bcd0
lea rcx, [rbp + 0x120]
call fcn.14000fbc0
lea rdx, [r14 + 0x38]
lea rcx, [rbp - 0x58]
call fcn.140006b00
or r15d, 0x20
mov dword [rsp + 0x30], r15d
lea rdx, [rbp - 0x58]
mov rcx, qword [rbp + 0x200]
call fcn.14007afc0
mov ebx, eax
test eax, eax
je 0x1400cb9a3
lea rdx, str.Failed_to_init_DX12_device
mov ecx, 7
call fcn.1400838f0
mov rcx, qword [rbp + 0x200]
call fcn.14007be50
nop
lea rcx, [rbp + 0x218]
call fcn.14000fbc0
nop
mov rcx, qword [rbp + 0x1d8]
test rcx, rcx
je 0x1400cb98b
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp + 0x1d0]
test rcx, rcx
je 0x1400cb99e
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x1400cbbaf
cmp qword [rbp + 0x210], 0
je 0x1400cbb36
mov rdi, qword [rbp + 0x1f0]
test rdi, rdi
je 0x1400cb9e9
mov rdi, qword [rdi + 8]
mov qword [rsp + 0x68], rdi
test rdi, rdi
je 0x1400cb9d4
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x38], rax
or r15d, 1
mov r14, qword [rsp + 0x60]
jmp 0x1400cba04
xor r14d, r14d
mov qword [rsp + 0x60], r14
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
or r15d, 2
mov rdi, qword [rsp + 0x68]
mov dword [rsp + 0x30], r15d
mov rbx, qword [rbp + 0x1e8]
test rbx, rbx
je 0x1400cba3b
mov rbx, qword [rbx + 0x10]
mov qword [rsp + 0x78], rbx
test rbx, rbx
je 0x1400cba2d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
or r15d, 4
mov r8, rbx
mov rsi, qword [rsp + 0x70]
jmp 0x1400cba4e
xor esi, esi
mov qword [rsp + 0x70], rsi
or r15d, 8
xor r8d, r8d
mov rbx, qword [rsp + 0x78]
mov dword [rsp + 0x30], r15d
mov rax, qword [rbp + 0x208]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x38]
mov r9, qword [r9]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax]
mov rcx, qword [rbp + 0x210]
call fcn.14007d470
mov dword [rsp + 0x38], eax
test r15b, 8
je 0x1400cba9c
and r15d, 0xfffffff7
mov dword [rsp + 0x30], r15d
test rsi, rsi
je 0x1400cba9c
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x10]
nop
test r15b, 4
je 0x1400cbaba
and r15d, 0xfffffffb
mov dword [rsp + 0x30], r15d
test rbx, rbx
je 0x1400cbaba
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
test r15b, 2
je 0x1400cbad8
and r15d, 0xfffffffd
mov dword [rsp + 0x30], r15d
test r14, r14
je 0x1400cbad8
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
nop
test r15b, 1
je 0x1400cbaec
test rdi, rdi
je 0x1400cbaec
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
cmp dword [rsp + 0x38], 0
je 0x1400cbb31
lea rdx, str.Failed_to_init_OpenCL_device
mov ecx, 7
call fcn.1400838f0
mov rcx, qword [rbp + 0x210]
call fcn.14007e9a0
mov rcx, qword [rbp + 0x210]
test rcx, rcx
je 0x1400cbb26
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rbp + 0x210], 0
mov r14, qword [rsp + 0x58]
lea rdx, [rbp + 0x1d0]
call fcn.1400d09a0
lea rdx, [rbp + 0x1d0]
lea rcx, [r13 + 0x180]
call fcn.1400caad0
mov rcx, qword [r13 + 0x38]
mov rax, qword [rcx]
lea rdx, [r13 + 0x180]
call qword [rax + 0x48]
mov ebx, eax
test eax, eax
je 0x1400cbb7c
mov rcx, qword [r13 + 0x38]
mov edx, dword [rcx + 0xd0]
mov rax, qword [rbp - 0x80]
mov dword [rax], edx
lea rcx, [rbp + 0x218]
call fcn.14000fbc0
nop
mov rcx, qword [rbp + 0x1d8]
test rcx, rcx
je 0x1400cbb9c
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp + 0x1d0]
test rcx, rcx
je 0x1400cbbaf
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rbp + 0x3a0]
call fcn.140083fb0
nop
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x1400cbbfc
add dword [rax + 8], 0xffffffff
mov ecx, dword [rax + 8]
jne 0x1400cbbd6
mov dword [rax + 4], 0
lock xadd dword [rax], r12d
cmp r12d, 1
je 0x1400cbbfc
test ecx, ecx
jne 0x1400cbbfc
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
nop
mov rcx, r14
call fcn.14000fbc0
mov eax, ebx
mov rcx, qword [rbp + 0xbd0]
xor rcx, rsp
call fcn.14014f2f0
mov rbx, qword [rsp + 0xd38]
add rsp, 0xce0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret