Function at 0x1801c85a0
Capabilities:
Check if file exists
Encode data using xor
Get file attributes
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x330]
sub rsp, 0x430
mov rax, qword [0x1804c8100]
xor rax, rsp
mov qword [rbp + 0x320], rax
mov qword [rbp - 0x50], r9
mov rbx, r8
mov r15d, edx
mov qword [rsp + 0x58], rcx
xor edi, edi
mov eax, edi
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x48], eax
mov r12d, edi
mov dword [rsp + 0x48], edi
mov dword [rbp - 0x40], eax
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x30], rdi
lea edx, [rdi + 1]
lea rcx, [rbp - 0x38]
call fcn.1801caec0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x28], rdi
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 7
mov qword [rbp - 8], 8
mov dword [rbp - 0x40], 0x3f800000
mov r8, rax
lea edx, [rdi + 0x10]
lea rcx, [rbp - 0x28]
call fcn.18002b900
nop
xor r13b, r13b
mov byte [rsp + 0x42], r13b
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rdi
lea rdx, [rsp + 0x60]
lea ecx, [rdi + 2]
call fcn.1801daea0
mov r14d, eax
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
cmp rdi, rsi
je 0x1801c86a3
nop dword [rax]
mov r8, qword [rdi]
add r8, 0xb0
lea rdx, [rbp + 0x128]
lea rcx, [rbp - 0x40]
call fcn.1801c6210
add rdi, 8
cmp rdi, rsi
jne 0x1801c8680
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
xor edi, edi
mov qword [rbp - 0x60], rdi
test r14d, r14d
js 0x1801c86c5
lea rdx, [rbp - 0x70]
lea ecx, [rdi + 3]
call fcn.1801daea0
mov r14d, eax
mov byte [rsp + 0x43], 1
mov rsi, 0xffffffffffffffff
test r14d, r14d
js 0x1801c8e49
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x290], xmm0
mov qword [rbp + 0x2a0], rdi
lea rcx, [rbp + 0x290]
call fcn.1801c70b0
test r15d, r15d
je 0x1801c8a05
test rbx, rbx
jne 0x1801c893c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x250], xmm0
mov qword [rbp + 0x260], rdi
movups xmmword [rbp + 0x230], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x240], xmm1
lea r8d, [rsi + 0x6a]
lea rdx, str.VUID_XrInstanceCreateInfo_enabledApiLayerNames_parameter:_enabledApiLayerCount_is_non_0_but_array_is_NULL
lea rcx, [rbp + 0x230]
call fcn.1800083d0
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x270], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x280], xmm1
lea r8d, [rsi + 0x11]
lea rdx, str.xrCreateInstance
lea rcx, [rbp + 0x270]
call fcn.1800083d0
nop
lea r8, [rbp + 0x250]
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x270]
call fcn.1801c2d80
nop
lea rcx, [rbp + 0x270]
call fcn.180013050
nop
mov r8, qword [rbp + 0x248]
cmp r8, 0xf
jbe 0x1801c87bb
mov rdx, qword [rbp + 0x230]
lea rcx, [rbp + 0x230]
call fcn.180015240
movdqa xmm0, xmmword [0x1802f5620]
movdqu xmmword [rbp + 0x240], xmm0
mov byte [rbp + 0x230], 0
lea rcx, [rbp + 0x250]
call fcn.1801b7d80
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x250], xmm0
mov qword [rbp + 0x260], rdi
movups xmmword [rbp + 0x270], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x280], xmm1
mov r8d, 0x58
lea rdx, str.VUID_xrCreateInstance_info_parameter:_something_wrong_with_XrInstanceCreateInfo_contents
lea rcx, [rbp + 0x270]
call fcn.1800083d0
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x230], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x240], xmm1
mov r8d, 0x10
lea rdx, str.xrCreateInstance
lea rcx, [rbp + 0x230]
call fcn.1800083d0
nop
lea r8, [rbp + 0x250]
lea rdx, [rbp + 0x270]
lea rcx, [rbp + 0x230]
call fcn.1801c2d80
nop
mov r8, qword [rbp + 0x248]
cmp r8, 0xf
jbe 0x1801c8886
mov rdx, qword [rbp + 0x230]
lea rcx, [rbp + 0x230]
call fcn.180015240
movdqa xmm0, xmmword [0x1802f5620]
movdqu xmmword [rbp + 0x240], xmm0
mov byte [rbp + 0x230], 0
mov r8, qword [rbp + 0x288]
cmp r8, 0xf
jbe 0x1801c88bd
mov rdx, qword [rbp + 0x270]
lea rcx, [rbp + 0x270]
call fcn.180015240
movdqa xmm0, xmmword [0x1802f5620]
movdqu xmmword [rbp + 0x280], xmm0
mov byte [rbp + 0x270], 0
lea rcx, [rbp + 0x250]
call fcn.1801b7d80
nop
mov rbx, qword [rbp + 0x290]
test rbx, rbx
je 0x1801ca64d
mov rdi, qword [rbp + 0x298]
cmp rbx, rdi
je 0x1801c891a
nop dword [rax]
xor edx, edx
mov rcx, rbx
call fcn.1801c6ff0
add rbx, 0x20
cmp rbx, rdi
jne 0x1801c8900
mov rbx, qword [rbp + 0x290]
mov r8, qword [rbp + 0x2a0]
sub r8, rbx
sar r8, 5
mov rdx, rbx
lea rcx, [rbp + 0x290]
call fcn.180043da0
jmp 0x1801ca64d
lea rdi, [rbx + r15*8]
xor r14d, r14d
cmp rbx, rdi
je 0x1801c8a08
nop dword [rax]
mov rdx, qword [rbx]
xorps xmm0, xmm0
movups xmmword [rbp + 0x270], xmm0
mov qword [rbp + 0x280], r14
mov qword [rbp + 0x288], r14
mov r8, rsi
nop
inc r8
cmp byte [rdx + r8], 0
jne 0x1801c8970
lea rcx, [rbp + 0x270]
call fcn.1800083d0
nop
mov rdx, qword [rbp + 0x298]
cmp rdx, qword [rbp + 0x2a0]
je 0x1801c89c3
movups xmm0, xmmword [rbp + 0x270]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp + 0x280]
movups xmmword [rdx + 0x10], xmm1
mov r8d, 0xf
mov byte [rbp + 0x270], 0
add qword [rbp + 0x298], 0x20
jmp 0x1801c89dd
lea r8, [rbp + 0x270]
lea rcx, [rbp + 0x290]
call fcn.180057970
mov r8, qword [rbp + 0x288]
cmp r8, 0xf
jbe 0x1801c89f6
mov rdx, qword [rbp + 0x270]
lea rcx, [rbp + 0x270]
call fcn.180015240
add rbx, 8
cmp rbx, rdi
jne 0x1801c8950
jmp 0x1801c8a08
xor r14d, r14d
mov rsi, qword [rbp + 0x290]
mov rax, qword [rbp + 0x298]
mov qword [rsp + 0x50], rax
cmp rsi, rax
je 0x1801c8e3b
mov r15, qword [rbp - 0x68]
movabs r9, 0x100000001b3
movabs rcx, 0xcbf29ce484222325
xor al, al
mov byte [rsp + 0x40], al
mov rbx, qword [rbp - 0x70]
cmp rbx, r15
je 0x1801c8c27
nop
mov byte [rsp + 0x41], 0
mov r14, qword [rsi + 0x10]
mov r8, rsi
mov r12, qword [rsi + 0x18]
cmp r12, 0xf
jbe 0x1801c8a69
mov r8, qword [rsi]
xor r13d, r13d
mov edx, r13d
test r14, r14
je 0x1801c8a94
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx + r8]
xor rcx, rax
imul rcx, r9
inc rdx
cmp rdx, r14
jb 0x1801c8a80
and rcx, qword [rbp - 0x10]
add rcx, rcx
mov r13, qword [rbp - 0x28]
mov rdi, qword [r13 + rcx*8 + 8]
cmp rdi, qword [rbp - 0x38]
je 0x1801c8aef
mov r13, qword [r13 + rcx*8]
nop
lea rdx, [rdi + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1801c8ac2
mov rdx, qword [rdx]
mov rcx, rsi
cmp r12, 0xf
jbe 0x1801c8ace
mov rcx, qword [rsi]
cmp r14, rax
jne 0x1801c8adf
mov r8, r14
call fcn.1802bc870
test eax, eax
je 0x1801c8aea
cmp rdi, r13
je 0x1801c8aef
mov rdi, qword [rdi + 8]
jmp 0x1801c8ab0
xor r14d, r14d
jmp 0x1801c8af5
xor r14d, r14d
mov edi, r14d
test rdi, rdi
je 0x1801c8b07
mov dil, 1
mov byte [rsp + 0x40], dil
jmp 0x1801c8bf1
mov rdx, qword [rbx]
add rdx, 0xb0
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1801c8b1f
mov rdx, qword [rdx]
mov r8, qword [rsi + 0x10]
mov rcx, rsi
cmp r12, 0xf
jbe 0x1801c8b2f
mov rcx, qword [rsi]
cmp r8, rax
jne 0x1801c8bec
call fcn.1802bc870
test eax, eax
jne 0x1801c8bec
mov byte [rsp + 0x40], 1
mov r8, rsi
lea rdx, [rbp + 0x128]
lea rcx, [rbp - 0x40]
call fcn.1801c6210
mov rdx, qword [rsp + 0x68]
cmp rdx, qword [rsp + 0x70]
je 0x1801c8b7a
mov rax, qword [rbx]
mov qword [rbx], r14
mov qword [rdx], rax
add qword [rsp + 0x68], 8
jmp 0x1801c8b87
mov r8, rbx
lea rcx, [rsp + 0x60]
call fcn.1801c5e00
mov rcx, rbx
mov r15, qword [rbp - 0x68]
lea rax, [rbx + 8]
cmp rax, r15
je 0x1801c8bca
nop word [rax + rax]
lea rdi, [rcx + 8]
mov rax, qword [rdi]
mov qword [rdi], r14
mov rdx, qword [rcx]
mov qword [rcx], rax
test rdx, rdx
je 0x1801c8bba
call fcn.1801c6f00
mov rcx, rdi
lea rax, [rdi + 8]
cmp rax, r15
jne 0x1801c8ba0
mov r15, qword [rbp - 0x68]
lea rcx, [r15 - 8]
mov rdx, qword [rcx]
test rdx, rdx
je 0x1801c8bdf
call fcn.1801c6f00
mov r15, qword [rbp - 0x68]
sub r15, 8
mov qword [rbp - 0x68], r15
mov byte [rsp + 0x41], 1
movzx edi, byte [rsp + 0x40]
lea rax, [rbx + 8]
cmp byte [rsp + 0x41], 0
cmovne rax, rbx
mov rbx, rax
cmp rax, r15
movabs rcx, 0xcbf29ce484222325
movabs r9, 0x100000001b3
jne 0x1801c8a50
test dil, dil
jne 0x1801c8e24
mov byte [rsp + 0x43], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x270], xmm0
mov qword [rbp + 0x280], r14
mov qword [rbp + 0x288], r14
mov r8d, 0x38
lea rdx, str.ApiLayerInterface::LoadApiLayers___failed_to_find_layer
lea rcx, [rbp + 0x270]
call fcn.1800083d0
nop
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x1801c8c6b
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
lea rcx, [rbp + 0x270]
call fcn.18002f050
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], r14
call fcn.1801b8430
xorps xmm0, xmm0
movups xmmword [rbp + 0x230], xmm0
mov qword [rbp + 0x240], 0xd
mov qword [rbp + 0x248], 0xf
movsd xmm0, qword [str.OpenXR_Loader]
movsd qword [rbp + 0x230], xmm0
mov ecx, dword [0x18034b938]
mov dword [rbp + 0x238], ecx
movzx ecx, byte [0x18034b93c]
mov byte [rbp + 0x23c], cl
mov byte [rbp + 0x23d], 0
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0x270]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x20], rcx
lea r9, [rbp + 0x230]
mov edx, 0x1000
mov r8d, 1
mov rcx, rax
call fcn.1801cfdf0
nop
mov rdx, qword [rbp + 0x248]
cmp rdx, 0xf
jbe 0x1801c8d5a
inc rdx
mov rcx, qword [rbp + 0x230]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c8d54
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801ca7e5
call fcn.180286270
nop
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x1801c8ddf
mov rdi, qword [rbp - 0x80]
cmp rbx, rdi
je 0x1801c8d87
nop dword [rax]
lea rcx, [rbx + 0x10]
call fcn.180013050
add rbx, 0x30
cmp rbx, rdi
jne 0x1801c8d70
mov rbx, qword [rsp + 0x78]
mov rcx, qword [rbp - 0x78]
sub rcx, rbx
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 4
mov rax, rbx
cmp rdx, 0x1000
jb 0x1801c8dd6
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801ca7eb
mov rcx, rbx
call fcn.180286270
nop
mov rdx, qword [rbp + 0x288]
cmp rdx, 0xf
jbe 0x1801c8e20
inc rdx
mov rcx, qword [rbp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c8e1b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801ca7f1
call fcn.180286270
mov r15, qword [rbp - 0x68]
add rsi, 0x20
cmp rsi, qword [rsp + 0x50]
jne 0x1801c8a28
mov r12d, dword [rsp + 0x48]
xor r13b, r13b
lea rcx, [rbp + 0x290]
call fcn.18002d560
xor edi, edi
mov r14, qword [rsp + 0x60]
mov qword [rbp - 0x58], r14
mov rax, qword [rsp + 0x68]
mov qword [rbp + 0x120], rax
cmp r14, rax
je 0x1801ca604
mov ebx, 0xffffffe0
mov rdx, qword [r14]
add rdx, 0x28
lea rcx, [rbp + 0x270]
call fcn.1801cafe0
lea rcx, [rbp + 0x270]
cmp qword [rbp + 0x288], 7
cmova rcx, qword [rbp + 0x270]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r15, rax
mov qword [rsp + 0x50], rax
test rax, rax
jne 0x1801c8f07
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7e
jne 0x1801c8f07
lea rcx, [rbp + 0x270]
cmp qword [rbp + 0x288], 7
cmova rcx, qword [rbp + 0x270]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1801c8f07
test al, 0x10
jne 0x1801c8f07
lea rcx, [rbp + 0x270]
cmp qword [rbp + 0x288], 7
cmova rcx, qword [rbp + 0x270]
xor edx, edx
mov r8d, 0x1100
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov r15, rax
mov qword [rsp + 0x50], rax
mov rdx, qword [rbp + 0x288]
cmp rdx, 7
jbe 0x1801c8f4d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c8f48
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801ca7f7
call fcn.180286270
mov qword [rbp + 0x280], rdi
mov qword [rbp + 0x288], 7
mov word [rbp + 0x270], di
test r15, r15
jne 0x1801c93ce
test r13b, r13b
cmove r12d, ebx
mov rdx, qword [r14]
add rdx, 0x28
lea rcx, [rbp + 0x270]
call fcn.1801ca880
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x250], xmm0
mov qword [rbp + 0x260], rdi
mov qword [rbp + 0x268], 0xf
lea ecx, [r15 + 0x40]
call fcn.180286234
mov rdi, rax
mov qword [rbp + 0x250], rax
mov qword [rbp + 0x260], 0x30
mov qword [rbp + 0x268], 0x3f
movups xmm0, xmmword [str.ApiLayerInterface::LoadApiLayers_skipping_layer]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x18034cc90]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x18034cca0]
movups xmmword [rax + 0x20], xmm0
mov byte [rax + 0x30], r15b
mov r9, qword [r14]
add r9, 0xb0
mov rbx, qword [r9 + 0x10]
cmp qword [r9 + 0x18], 0xf
jbe 0x1801c900b
mov r9, qword [r9]
cmp rbx, 0xf
ja 0x1801c9032
lea rax, [rbx + 0x30]
mov qword [rbp + 0x260], rax
lea rcx, [rdi + 0x30]
mov r8, rbx
mov rdx, r9
call fcn.1802bc970
mov byte [rbx + rdi + 0x30], 0
jmp 0x1801c9049
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp + 0x250]
call fcn.1801b73d0
mov rcx, qword [rbp + 0x260]
mov rdx, qword [rbp + 0x268]
mov rax, rdx
sub rax, rcx
cmp rax, 0x1f
jb 0x1801c909f
lea rax, [rcx + 0x1f]
mov qword [rbp + 0x260], rax
lea rbx, [rbp + 0x250]
cmp rdx, 0xf
cmova rbx, qword [rbp + 0x250]
add rbx, rcx
mov r8d, 0x1f
lea rdx, str.__failed_to_load_with_message__
mov rcx, rbx
call fcn.1802bc970
mov byte [rbx + 0x1f], 0
jmp 0x1801c90c2
mov qword [rsp + 0x20], 0x1f
lea r9, str.__failed_to_load_with_message__
xor r8d, r8d
lea edx, [r8 + 0x1f]
lea rcx, [rbp + 0x250]
call fcn.1801b73d0
mov rdi, qword [rbp + 0x280]
lea r9, [rbp + 0x270]
cmp qword [rbp + 0x288], 0xf
cmova r9, qword [rbp + 0x270]
mov rsi, qword [rbp + 0x260]
mov rcx, qword [rbp + 0x268]
mov rax, rcx
sub rax, rsi
cmp rdi, rax
ja 0x1801c9130
lea rax, [rsi + rdi]
mov qword [rbp + 0x260], rax
lea rbx, [rbp + 0x250]
cmp rcx, 0xf
cmova rbx, qword [rbp + 0x250]
lea rcx, [rbx + rsi]
mov r8, rdi
mov rdx, r9
call fcn.1802bc970
lea rax, [rbx + rdi]
mov byte [rax + rsi], 0
jmp 0x1801c9147
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp + 0x250]
call fcn.1801b73d0
mov r8d, 1
lea rdx, [0x18034ccd8]
lea rcx, [rbp + 0x250]
call fcn.18002f050
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x290], xmm0
xor edi, edi
mov qword [rbp + 0x2a0], rdi
call fcn.1801b8430
xorps xmm0, xmm0
movups xmmword [rbp + 0x230], xmm0
mov qword [rbp + 0x240], 0xd
mov qword [rbp + 0x248], 0xf
movsd xmm0, qword [str.OpenXR_Loader]
movsd qword [rbp + 0x230], xmm0
mov ecx, dword [0x18034b938]
mov dword [rbp + 0x238], ecx
movzx ecx, byte [0x18034b93c]
mov byte [rbp + 0x23c], cl
mov byte [rbp + 0x23d], dil
lea rcx, [rbp + 0x290]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0x250]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x20], rcx
lea r9, [rbp + 0x230]
mov edx, 0x100
lea r8d, [rdi + 1]
mov rcx, rax
call fcn.1801cfdf0
nop
mov rdx, qword [rbp + 0x248]
cmp rdx, 0xf
jbe 0x1801c9246
inc rdx
mov rcx, qword [rbp + 0x230]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c9240
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801ca7fd
call fcn.180286270
nop
mov r8, qword [rbp + 0x290]
test r8, r8
je 0x1801c932a
mov rsi, qword [rbp + 0x298]
cmp r8, rsi
je 0x1801c92cf
lea rbx, [r8 + 0x28]
xor r13d, r13d
nop dword [rax]
mov rdx, qword [rbx]
cmp rdx, 0xf
jbe 0x1801c92aa
mov rcx, qword [rbx - 0x18]
inc rdx
cmp rdx, 0x1000
jb 0x1801c92a5
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1801ca803
mov rcx, r8
call fcn.180286270
mov qword [rbx - 8], r13
mov qword [rbx], 0xf
mov byte [rbx - 0x18], r13b
add rbx, 0x30
lea rax, [rbx - 0x28]
cmp rax, rsi
jne 0x1801c9270
mov r8, qword [rbp + 0x290]
xor edi, edi
mov rcx, qword [rbp + 0x2a0]
sub rcx, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 4
mov rax, r8
cmp rdx, 0x1000
jb 0x1801c9321
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801ca803
mov rcx, r8
call fcn.180286270
nop
mov rdx, qword [rbp + 0x268]
cmp rdx, 0xf
jbe 0x1801c936b
inc rdx
mov rcx, qword [rbp + 0x250]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c9366
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801ca809
call fcn.180286270
mov qword [rbp + 0x260], rdi
mov qword [rbp + 0x268], 0xf
mov byte [rbp + 0x250], 0
mov rdx, qword [rbp + 0x288]
cmp rdx, 0xf
jbe 0x1801ca5e8
inc rdx
mov rcx, qword [rbp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c93c4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801ca80f
call fcn.180286270
jmp 0x1801ca5e8
mov rbx, qword [r14]
xorps xmm0, xmm0
movups xmmword [rbp + 0x2d0], xmm0
mov qword [rbp + 0x2e0], rdi
mov qword [rbp + 0x2e8], 0xf
mov ecx, 0x30
call fcn.180286234
mov qword [rbp + 0x2d0], rax
mov qword [rbp + 0x2e0], 0x22
mov qword [rbp + 0x2e8], 0x2f
movups xmm0, xmmword [str.xrNegotiateLoaderApiLayerInterface]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x18034ccf0]
movups xmmword [rax + 0x10], xmm1
movzx edx, word [0x18034cd00]
mov word [rax + 0x20], dx
mov byte [rax + 0x22], 0
lea rdx, [rbp + 0x2d0]
mov rcx, rbx
call fcn.1801dc110
mov rsi, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x2b0], xmm0
mov qword [rbp + 0x2c0], rdi
mov qword [rbp + 0x2c8], rdi
mov rdi, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x1801c9470
mov rsi, qword [rax]
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x1801ca863
mov qword [rbp + 0x2c8], 0xf
cmp rdi, 0xf
ja 0x1801c94aa
mov qword [rbp + 0x2c0], rdi
movups xmm0, xmmword [rsi]
movups xmmword [rbp + 0x2b0], xmm0
jmp 0x1801c9545
mov rbx, rdi
or rbx, 0xf
cmp rbx, rax
jbe 0x1801c94c9
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x1801c94f0
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1801c9512
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1801ca81b
mov rcx, rax
call fcn.180286234
mov rcx, rax
test rax, rax
je 0x1801ca815
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1801c9520
test rcx, rcx
je 0x1801c951e
call fcn.180286234
jmp 0x1801c9520
xor eax, eax
mov qword [rbp + 0x2b0], rax
mov qword [rbp + 0x2c0], rdi
mov qword [rbp + 0x2c8], rbx
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call fcn.1802bc970
nop
mov rdx, qword [rbp + 0x2e8]
cmp rdx, 0xf
jbe 0x1801c9586
inc rdx
mov rcx, qword [rbp + 0x2d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c9581
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801ca821
call fcn.180286270
xor edi, edi
mov qword [rbp + 0x2e0], rdi
mov qword [rbp + 0x2e8], 0xf
mov byte [rbp + 0x2d0], dil
lea rdx, [rbp + 0x2b0]
cmp qword [rbp + 0x2c8], 0xf
cmova rdx, qword [rbp + 0x2b0]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x1801c9a15
lea rax, [0x18034bbb8]
mov qword [rbp], rax
mov qword [rbp + 0x90], rdi
mov qword [rbp + 0x98], rdi
mov dword [rbp + 0xa0], edi
mov qword [rbp + 0xa8], rdi
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xb0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0xc0], xmm1
movdqa xmmword [rbp + 0xd0], xmm0
mov byte [rbp + 0xe0], dil
mov esi, dword [rsp + 0x44]
or esi, 1
mov dword [rsp + 0x48], esi
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x88], rax
mov dword [rbp + 0x84], 0x78
xor r8d, r8d
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x88]
call fcn.1800871f0
nop
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea r13, vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx], r13
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx - 4], edx
lea edx, [rdi + 2]
lea rcx, [rbp + 8]
call fcn.1801b78a0
nop
lea rdx, str.ApiLayerInterface::LoadApiLayers_skipping_layer
lea rcx, [rbp]
call fcn.1801b6e90
mov rdx, qword [r14]
add rdx, 0xb0
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1801c96a7
mov rdx, qword [rdx]
mov rcx, rax
call fcn.180058e60
lea rdx, str._because_negotiation_function
mov rcx, rax
call fcn.1801b6e90
lea rdx, [rbp + 0x2b0]
cmp qword [rbp + 0x2c8], 0xf
cmova rdx, qword [rbp + 0x2b0]
mov r8, qword [rbp + 0x2c0]
mov rcx, rax
call fcn.180058e60
mov rcx, rax
lea rdx, str._was_not_found
call fcn.1801b6e90
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x290], xmm0
mov qword [rbp + 0x2a0], rdi
movups xmmword [rbp + 0x230], xmm0
mov qword [rbp + 0x240], rdi
mov qword [rbp + 0x248], 0xf
mov byte [rbp + 0x230], 0
or esi, 8
mov dword [rsp + 0x48], esi
xor eax, eax
movups xmmword [rbp + 0x250], xmm0
mov qword [rbp + 0x260], rax
mov ecx, dword [rbp + 0x78]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x1801c9768
mov rax, qword [rbp + 0x48]
mov r8, qword [rax]
test r8, r8
je 0x1801c9768
mov rax, qword [rbp + 0x28]
mov rdx, qword [rax]
cmp r8, qword [rbp + 0x70]
cmovb r8, qword [rbp + 0x70]
sub r8, rdx
jmp 0x1801c979d
test cl, 4
jne 0x1801c978f
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax]
test rcx, rcx
je 0x1801c978f
mov rax, qword [rbp + 0x20]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x58]
movsxd r8, dword [rax]
add r8, rcx
sub r8, rdx
jmp 0x1801c979d
mov r8, qword [rbp + 0x258]
mov rdx, qword [rbp + 0x250]
test rdx, rdx
je 0x1801c97ae
lea rcx, [rbp + 0x230]
call fcn.18002f0e0
and esi, 0xfffffff7
or esi, 4
mov dword [rsp + 0x44], esi
call fcn.1801b8430
xorps xmm0, xmm0
movups xmmword [rbp + 0x250], xmm0
mov qword [rbp + 0x260], 0xd
mov qword [rbp + 0x268], 0xf
movsd xmm0, qword [str.OpenXR_Loader]
movsd qword [rbp + 0x250], xmm0
mov ecx, dword [0x18034b938]
mov dword [rbp + 0x258], ecx
movzx ecx, byte [0x18034b93c]
mov byte [rbp + 0x25c], cl
mov byte [rbp + 0x25d], 0
lea rcx, [rbp + 0x290]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0x230]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x20], rcx
lea r9, [rbp + 0x250]
mov edx, 0x1000
mov r8d, 1
mov rcx, rax
call fcn.1801cfdf0
nop
mov r8, qword [rbp + 0x268]
cmp r8, 0xf
jbe 0x1801c986b
mov rdx, qword [rbp + 0x250]
lea rcx, [rbp + 0x250]
call fcn.180015240
nop
mov rdx, qword [rbp + 0x248]
cmp rdx, 0xf
jbe 0x1801c98ac
inc rdx
mov rcx, qword [rbp + 0x230]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c98a7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801ca827
call fcn.180286270
mov qword [rbp + 0x240], rdi
mov qword [rbp + 0x248], 0xf
mov byte [rbp + 0x230], 0
mov rbx, qword [rbp + 0x290]
test rbx, rbx
je 0x1801c9956
mov rdi, qword [rbp + 0x298]
cmp rbx, rdi
je 0x1801c98fa
lea rcx, [rbx + 0x10]
call fcn.180013050
add rbx, 0x30
cmp rbx, rdi
jne 0x1801c98e1
mov rbx, qword [rbp + 0x290]
mov rcx, qword [rbp + 0x2a0]
sub rcx, rbx
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 4
mov rax, rbx
cmp rdx, 0x1000
jb 0x1801c994c
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801ca82d
mov rcx, rbx
call fcn.180286270
xor edi, edi
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov r12d, 0xffffffdc
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx], r13
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx - 4], edx
lea rcx, [rbp + 8]
call fcn.18006ba40
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx], rax
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx - 4], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x88], rax
lea rcx, [rbp + 0x88]
call fcn.180284b70
nop
mov rdx, qword [rbp + 0x2c8]
cmp rdx, 0xf
jbe 0x1801ca5e8
inc rdx
mov rcx, qword [rbp + 0x2b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c9a0b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801ca833
call fcn.180286270
jmp 0x1801ca5e8
mov dword [rbp + 0x2f8], 1
mov dword [rbp + 0x2fc], 1
mov qword [rbp + 0x300], 0x28
mov dword [rbp + 0x308], 1
mov dword [rbp + 0x30c], 1
movabs rcx, 0x1000000000000
mov qword [rbp + 0x310], rcx
movabs rcx, 0x103ff00000fff
mov qword [rbp + 0x318], rcx
mov qword [rbp + 0x100], rdi
mov qword [rbp + 0x108], rdi
mov qword [rbp + 0x110], rdi
mov qword [rbp + 0x118], rdi
mov dword [rbp + 0xf0], 2
mov dword [rbp + 0xf4], 1
mov qword [rbp + 0xf8], 0x30
mov rdx, qword [r14]
add rdx, 0xb0
cmp qword [rdx + 0x18], 0xf
jbe 0x1801c9ab9
mov rdx, qword [rdx]
lea r8, [rbp + 0xf0]
lea rcx, [rbp + 0x2f8]
call rax
mov ebx, eax
test eax, eax
js 0x1801ca29a
xorps xmm0, xmm0
cmp qword [rbp + 0x110], rdi
jne 0x1801c9c1b
movups xmmword [rbp + 0x290], xmm0
mov qword [rbp + 0x2a0], rdi
mov qword [rbp + 0x2a8], rdi
mov r8d, 0x30
lea rdx, str.ApiLayerInterface::LoadApiLayers_skipping_layer
lea rcx, [rbp + 0x290]
call fcn.1800083d0
nop
mov rdx, qword [r14]
add rdx, 0xb0
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1801c9b2a
mov rdx, qword [rdx]
lea rcx, [rbp + 0x290]
call fcn.18002f050
mov r8d, 0x38
lea rdx, str.__negotiation_did_not_return_a_valid_getInstanceProcAddr
lea rcx, [rbp + 0x290]
call fcn.18002f050
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x250], xmm0
mov qword [rbp + 0x260], rdi
call fcn.1801b8430
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x230], xmm0
mov qword [rbp + 0x240], rdi
mov qword [rbp + 0x248], rdi
mov r8d, 0xd
lea rdx, str.OpenXR_Loader
lea rcx, [rbp + 0x230]
call fcn.1800083d0
nop
lea rax, [rbp + 0x250]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x290]
mov qword [rsp + 0x28], rax
mov rdi, qword [rsp + 0x58]
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0x230]
mov edx, 0x100
mov r8d, 1
mov rcx, rbx
call fcn.1801cfdf0
nop
mov r8, qword [rbp + 0x248]
cmp r8, 0xf
jbe 0x1801c9bf9
mov rdx, qword [rbp + 0x230]
lea rcx, [rbp + 0x230]
call fcn.180015240
nop
lea rcx, [rbp + 0x250]
call fcn.1801b7d80
mov ebx, 0xffffffdf
lea rcx, [rbp + 0x290]
call fcn.180013050
jmp 0x1801ca29f
lea rax, [0x18034bbb8]
mov qword [rbp], rax
mov qword [rbp + 0x90], rdi
mov qword [rbp + 0x98], rdi
mov dword [rbp + 0xa0], edi
mov qword [rbp + 0xa8], rdi
movdqa xmmword [rbp + 0xb0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0xc0], xmm1
movdqa xmmword [rbp + 0xd0], xmm0
mov byte [rbp + 0xe0], dil
mov ebx, dword [rsp + 0x44]
or ebx, 0x40
mov dword [rsp + 0x48], ebx
lea r12, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x88], r12
mov dword [rbp + 0x84], 0x78
xor r8d, r8d
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x88]
call fcn.1800871f0
nop
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea rsi, vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx], rsi
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx - 4], edx
mov edx, 2
lea rcx, [rbp + 8]
call fcn.1801b78a0
nop
lea rdx, str.ApiLayerInterface::LoadApiLayers_succeeded_loading_layer
lea rcx, [rbp]
call fcn.1801b6e90
mov rdx, qword [r14]
add rdx, 0xb0
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1801c9cf7
mov rdx, qword [rdx]
mov rcx, rax
call fcn.180058e60
lea rdx, str._using_interface_version
mov rcx, rax
call fcn.1801b6e90
mov edx, dword [rbp + 0x100]
mov rcx, rax
call fcn.1801c6cf0
mov rcx, rax
lea rdx, str._and_OpenXR_API_version
call fcn.1801b6e90
mov rdx, qword [rbp + 0x108]
shr rdx, 0x30
mov rcx, rax
call fcn.1801b80b0
mov rcx, rax
lea rdx, [0x180322d20]
call fcn.1801b6e90
mov rdx, qword [rbp + 0x108]
shr rdx, 0x20
mov rcx, rax
call fcn.1801b80b0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x250], xmm0
mov qword [rbp + 0x260], rdi
lea rdx, [rbp + 0x270]
lea rcx, [rbp + 8]
call fcn.1801caf30
bts ebx, 8
mov dword [rsp + 0x44], ebx
call fcn.1801b8430
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x230], xmm0
mov qword [rbp + 0x240], rdi
mov qword [rbp + 0x248], rdi
mov r8d, 0xd
lea rdx, str.OpenXR_Loader
lea rcx, [rbp + 0x230]
call fcn.1800083d0
nop
lea rax, [rbp + 0x250]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x270]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x230]
mov edx, 0x10
lea r8d, [rdx - 0xf]
mov rcx, rbx
call fcn.1801cfdf0
nop
mov r8, qword [rbp + 0x248]
cmp r8, 0xf
jbe 0x1801c9e20
mov rdx, qword [rbp + 0x230]
lea rcx, [rbp + 0x230]
call fcn.180015240
nop
lea rcx, [rbp + 0x270]
call fcn.180013050
nop
mov rbx, qword [rbp + 0x250]
test rbx, rbx
je 0x1801c9ec5
mov rdi, qword [rbp + 0x258]
cmp rbx, rdi
je 0x1801c9e69
nop dword [rax]
lea rcx, [rbx + 0x10]
call fcn.180013050
add rbx, 0x30
cmp rbx, rdi
jne 0x1801c9e50
mov rbx, qword [rbp + 0x250]
mov rcx, qword [rbp + 0x260]
sub rcx, rbx
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 4
mov rax, rbx
cmp rdx, 0x1000
jb 0x1801c9ebb
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801ca839
mov rcx, rbx
call fcn.180286270
xor edi, edi
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx], rsi
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx - 4], edx
lea rcx, [rbp + 8]
call fcn.18006ba40
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx], r12
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx - 4], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x88], rax
lea rcx, [rbp + 0x88]
call fcn.180284b70
nop
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x290], xmm0
mov r12, rdi
mov qword [rbp + 0x2a0], rdi
movdqu xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], rdi
lea rdx, [rsp + 0x78]
mov rcx, qword [r14]
call fcn.1801dc1b0
mov rdi, qword [rbp - 0x80]
mov rcx, rdi
mov rbx, qword [rsp + 0x78]
sub rcx, rbx
movabs rax, 0x6bca1af286bca1b
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rsp + 0x48], rdx
je 0x1801c9fb5
movabs rax, 0x7ffffffffffffff
cmp rdx, rax
ja 0x1801ca83f
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x290]
call fcn.18005e490
mov r12, qword [rbp + 0x2a0]
mov rdi, qword [rbp - 0x80]
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rbp + 0x298]
cmp rbx, rdi
je 0x1801ca046
add rbx, 0x10
mov r15, 0xffffffffffffffff
cmp rsi, r12
je 0x1801ca011
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
xor eax, eax
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], rax
mov r8, r15
nop dword [rax + rax]
inc r8
cmp byte [rbx + r8], al
jne 0x1801c9ff0
mov rdx, rbx
mov rcx, rsi
call fcn.1800083d0
add rsi, 0x20
mov qword [rbp + 0x298], rsi
jmp 0x1801ca031
mov r8, rbx
mov rdx, rsi
lea rcx, [rbp + 0x290]
call fcn.1801c59f0
mov r12, qword [rbp + 0x2a0]
mov rsi, qword [rbp + 0x298]
add rbx, 0x98
lea rax, [rbx - 0x10]
cmp rax, rdi
jne 0x1801c9fd0
mov r15, qword [rsp + 0x50]
mov ecx, 0x58
call fcn.180286234
mov r14, rax
mov qword [rbp + 0x128], rax
mov r13, qword [rbp + 0x290]
test rax, rax
je 0x1801ca157
mov rdx, qword [rbp - 0x58]
mov rdx, qword [rdx]
add rdx, 0xb0
mov rdi, qword [rbp + 0x118]
mov rbx, qword [rbp + 0x110]
lea rax, vtable.ApiLayerInterface.0
mov qword [r14], rax
lea rcx, [r14 + 8]
call fcn.1800125e0
nop
mov qword [r14 + 0x28], r15
mov qword [r14 + 0x30], rbx
mov qword [r14 + 0x38], rdi
lea r15, [r14 + 0x40]
xor edi, edi
mov qword [r15], rdi
mov qword [r15 + 8], rdi
mov qword [r15 + 0x10], rdi
mov rbx, rsi
sub rbx, r13
sar rbx, 5
test rbx, rbx
je 0x1801ca155
movabs rax, 0x7ffffffffffffff
cmp rbx, rax
ja 0x1801ca845
mov qword [rsp + 0x50], rbx
lea rdx, [rsp + 0x50]
mov rcx, r15
call fcn.1801c5800
mov qword [r15], rax
mov qword [r15 + 8], rax
shl rbx, 5
add rbx, rax
mov qword [r15 + 0x10], rbx
mov qword [rsp + 0x50], r15
mov rbx, qword [r15]
mov rdi, r13
mov qword [rbp + 0x250], rbx
mov qword [rbp + 0x258], rbx
mov qword [rbp + 0x260], r15
cmp r13, rsi
je 0x1801ca14f
nop word [rax + rax]
mov rdx, rdi
mov rcx, rbx
call fcn.1800125e0
add rbx, 0x20
mov qword [rbp + 0x258], rbx
add rdi, 0x20
cmp rdi, rsi
jne 0x1801ca130
mov qword [r15 + 8], rbx
xor edi, edi
jmp 0x1801ca15c
xor edi, edi
mov r14d, edi
mov qword [rsp + 0x50], r14
mov rax, qword [rbp - 0x50]
mov rdx, qword [rax + 8]
cmp rdx, qword [rax + 0x10]
je 0x1801ca179
mov qword [rdx], r14
add qword [rax + 8], 8
jmp 0x1801ca186
lea r8, [rsp + 0x50]
mov rcx, rax
call fcn.1801c5bb0
mov byte [rsp + 0x42], 1
mov dword [rsp + 0x48], edi
mov r8, qword [rsp + 0x78]
test r8, r8
je 0x1801ca1fc
mov rcx, qword [rbp - 0x78]
sub rcx, r8
movabs rax, 0x6bca1af286bca1b
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x98
mov rax, r8
cmp rdx, 0x1000
jb 0x1801ca1e7
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801ca84b
mov rcx, r8
call fcn.180286270
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], rdi
test r13, r13
je 0x1801ca24b
lea r8, [rbp + 0x290]
mov rdx, rsi
mov rcx, r13
call fcn.180018100
sub r12, r13
and r12, 0xffffffffffffffe0
mov rax, r13
cmp r12, 0x1000
jb 0x1801ca23f
add r12, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801ca851
mov rdx, r12
mov rcx, r13
call fcn.180286270
nop
mov rdx, qword [rbp + 0x2c8]
cmp rdx, 0xf
jbe 0x1801ca28c
inc rdx
mov rcx, qword [rbp + 0x2b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801ca287
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801ca857
call fcn.180286270
mov r14, qword [rbp - 0x58]
mov r12d, dword [rsp + 0x48]
jmp 0x1801ca5e8
mov rdi, qword [rsp + 0x58]
test r13b, r13b
cmove r12d, ebx
lea rax, [0x18034bbb8]
mov qword [rbp + 0x140], rax
xor r13d, r13d
mov qword [rbp + 0x1d0], r13
mov qword [rbp + 0x1d8], r13
mov dword [rbp + 0x1e0], r13d
mov qword [rbp + 0x1e8], r13
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x1f0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x200], xmm1
movdqa xmmword [rbp + 0x210], xmm0
mov byte [rbp + 0x220], r13b
mov esi, dword [rsp + 0x44]
or esi, 0x10
mov dword [rsp + 0x48], esi
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x1c8], rax
mov dword [rbp + 0x1c4], 0x78
xor r8d, r8d
lea rdx, [rbp + 0x148]
lea rcx, [rbp + 0x1c8]
call fcn.1800871f0
nop
mov rax, qword [rbp + 0x140]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx + 0x140], rax
mov rax, qword [rbp + 0x140]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx + 0x13c], edx
lea edx, [r13 + 2]
lea rcx, [rbp + 0x148]
call fcn.1801b78a0
nop
lea rdx, str.ApiLayerInterface::LoadApiLayers_skipping_layer
lea rcx, [rbp + 0x140]
call fcn.1801b6e90
mov rdx, qword [r14]
add rdx, 0xb0
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1801ca3a0
mov rdx, qword [rdx]
mov rcx, rax
call fcn.180058e60
lea rdx, str._due_to_failed_negotiation_with_error
mov rcx, rax
call fcn.1801b6e90
mov edx, ebx
mov rcx, rax
call fcn.1801c6ae0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x250], xmm0
mov qword [rbp + 0x260], r13
lea rdx, [rbp + 0x290]
lea rcx, [rbp + 0x148]
call fcn.1801caf30
bts esi, 9
mov dword [rsp + 0x44], esi
call fcn.1801b8430
xorps xmm0, xmm0
movups xmmword [rbp + 0x230], xmm0
mov qword [rbp + 0x240], 0xd
mov qword [rbp + 0x248], 0xf
movsd xmm0, qword [str.OpenXR_Loader]
movsd qword [rbp + 0x230], xmm0
mov ecx, dword [0x18034b938]
mov dword [rbp + 0x238], ecx
movzx ecx, byte [0x18034b93c]
mov byte [rbp + 0x23c], cl
mov byte [rbp + 0x23d], 0
lea rcx, [rbp + 0x250]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0x290]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0x230]
mov edx, 0x100
mov r8d, 1
mov rcx, rax
call fcn.1801cfdf0
nop
mov r8, qword [rbp + 0x248]
cmp r8, 0xf
jbe 0x1801ca49c
mov rdx, qword [rbp + 0x230]
lea rcx, [rbp + 0x230]
call fcn.180015240
nop
lea rcx, [rbp + 0x290]
call fcn.180013050
nop
mov rbx, qword [rbp + 0x250]
test rbx, rbx
je 0x1801ca534
mov rdi, qword [rbp + 0x258]
cmp rbx, rdi
je 0x1801ca4da
lea rcx, [rbx + 0x10]
call fcn.180013050
add rbx, 0x30
cmp rbx, rdi
jne 0x1801ca4c1
mov rbx, qword [rbp + 0x250]
mov rcx, qword [rbp + 0x260]
sub rcx, rbx
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 4
mov rax, rbx
cmp rdx, 0x1000
jb 0x1801ca52c
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801ca85d
mov rcx, rbx
call fcn.180286270
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop
mov rax, qword [rbp + 0x140]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx + 0x140], rax
mov rax, qword [rbp + 0x140]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx + 0x13c], edx
lea rcx, [rbp + 0x148]
call fcn.18006ba40
mov rax, qword [rbp + 0x140]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x140], rax
mov rax, qword [rbp + 0x140]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx + 0x13c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x1c8], rax
lea rcx, [rbp + 0x1c8]
call fcn.180284b70
nop
mov r8, qword [rbp + 0x2c8]
cmp r8, 0xf
jbe 0x1801ca5e6
mov rdx, qword [rbp + 0x2b0]
lea rcx, [rbp + 0x2b0]
call fcn.180015240
xor edi, edi
add r14, 8
mov qword [rbp - 0x58], r14
cmp r14, qword [rbp + 0x120]
je 0x1801ca604
movzx r13d, byte [rsp + 0x42]
jmp 0x1801c8e67
cmp byte [rsp + 0x43], 0
jne 0x1801ca613
mov r12d, 0xffffffdc
jmp 0x1801ca618
test r12d, r12d
jns 0x1801ca64a
mov rsi, qword [rbp - 0x50]
mov rbx, qword [rsi]
mov rdi, qword [rsi + 8]
cmp rbx, rdi
je 0x1801ca64a
mov rcx, qword [rbx]
test rcx, rcx
je 0x1801ca63a
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
add rbx, 8
cmp rbx, rdi
jne 0x1801ca628
mov rax, qword [rsi]
mov qword [rsi + 8], rax
mov esi, r12d
mov rbx, qword [rbp - 0x70]
test rbx, rbx
je 0x1801ca6ce
mov rdi, qword [rbp - 0x68]
cmp rbx, rdi
je 0x1801ca67d
nop
mov rdx, qword [rbx]
test rdx, rdx
je 0x1801ca670
mov rcx, rbx
call fcn.1801c6f00
add rbx, 8
cmp rbx, rdi
jne 0x1801ca660
mov rbx, qword [rbp - 0x70]
mov rax, qword [rbp - 0x60]
sub rax, rbx
sar rax, 3
lea rdx, [rax*8]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1801ca6b5
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801ca869
mov rcx, rbx
call fcn.180286270
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
xor r14d, r14d
mov qword [rbp - 0x60], r14
jmp 0x1801ca6d1
xor r14d, r14d
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x1801ca752
mov rdi, qword [rsp + 0x68]
cmp rbx, rdi
je 0x1801ca6fe
mov rdx, qword [rbx]
test rdx, rdx
je 0x1801ca6f5
mov rcx, rbx
call fcn.1801c6f00
add rbx, 8
cmp rbx, rdi
jne 0x1801ca6e5
mov rax, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x60]
sub rax, rbx
sar rax, 3
lea rdx, [rax*8]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1801ca73c
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801ca86f
mov rcx, rbx
call fcn.180286270
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r14
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x1801ca798
mov rdx, qword [rbp - 0x18]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801ca787
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801ca7df
call fcn.180286270
mov qword [rbp - 0x28], r14
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x20], xmm0
mov rdx, qword [rbp - 0x38]
lea rcx, [rbp - 0x38]
call fcn.18009ad30
mov edx, 0x30
mov rcx, qword [rbp - 0x38]
call fcn.180286270
mov eax, esi
mov rcx, qword [rbp + 0x320]
xor rcx, rsp
call fcn.180286db0
mov rbx, qword [rsp + 0x478]
add rsp, 0x430
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18028ddc0
nop
call fcn.18028ddc0
nop
call fcn.18028ddc0
nop
call fcn.18028ddc0
nop
call fcn.18028ddc0
nop
call fcn.18028ddc0
nop
call fcn.18028ddc0
nop
call fcn.18028ddc0
nop
call fcn.18028ddc0
nop
call fcn.18028ddc0
int3
call fcn.180015400
nop
call fcn.18028ddc0
nop
call fcn.18028ddc0
nop
call fcn.18028ddc0
nop
call fcn.18028ddc0
nop
call fcn.18028ddc0
nop
call fcn.18002d920
nop
call fcn.18002d920
nop
call fcn.18028ddc0
nop
call fcn.18028ddc0
nop
call fcn.18028ddc0
nop
call fcn.18028ddc0
nop
call fcn.180015510
nop
call fcn.18028ddc0
nop
call fcn.18028ddc0
int3