Function at 0x1801c4210
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 [0x1804e1080]
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.1801c6b30
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.18002b5e0
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.1801d6b80
mov r14d, eax
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
cmp rdi, rsi
je 0x1801c4313
nop dword [rax]
mov r8, qword [rdi]
add r8, 0xb0
lea rdx, [rbp + 0x128]
lea rcx, [rbp - 0x40]
call fcn.1801c1e80
add rdi, 8
cmp rdi, rsi
jne 0x1801c42f0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
xor edi, edi
mov qword [rbp - 0x60], rdi
test r14d, r14d
js 0x1801c4335
lea rdx, [rbp - 0x70]
lea ecx, [rdi + 3]
call fcn.1801d6b80
mov r14d, eax
mov byte [rsp + 0x43], 1
mov rsi, 0xffffffffffffffff
test r14d, r14d
js 0x1801c4ab9
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x290], xmm0
mov qword [rbp + 0x2a0], rdi
lea rcx, [rbp + 0x290]
call fcn.1801c2d20
test r15d, r15d
je 0x1801c4675
test rbx, rbx
jne 0x1801c45ac
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.1800080b0
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.1800080b0
nop
lea r8, [rbp + 0x250]
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x270]
call fcn.1801be9f0
nop
lea rcx, [rbp + 0x270]
call fcn.180012d30
nop
mov r8, qword [rbp + 0x248]
cmp r8, 0xf
jbe 0x1801c442b
mov rdx, qword [rbp + 0x230]
lea rcx, [rbp + 0x230]
call fcn.180014f20
movdqa xmm0, xmmword [0x180309720]
movdqu xmmword [rbp + 0x240], xmm0
mov byte [rbp + 0x230], 0
lea rcx, [rbp + 0x250]
call fcn.1801b39f0
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.1800080b0
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.1800080b0
nop
lea r8, [rbp + 0x250]
lea rdx, [rbp + 0x270]
lea rcx, [rbp + 0x230]
call fcn.1801be9f0
nop
mov r8, qword [rbp + 0x248]
cmp r8, 0xf
jbe 0x1801c44f6
mov rdx, qword [rbp + 0x230]
lea rcx, [rbp + 0x230]
call fcn.180014f20
movdqa xmm0, xmmword [0x180309720]
movdqu xmmword [rbp + 0x240], xmm0
mov byte [rbp + 0x230], 0
mov r8, qword [rbp + 0x288]
cmp r8, 0xf
jbe 0x1801c452d
mov rdx, qword [rbp + 0x270]
lea rcx, [rbp + 0x270]
call fcn.180014f20
movdqa xmm0, xmmword [0x180309720]
movdqu xmmword [rbp + 0x280], xmm0
mov byte [rbp + 0x270], 0
lea rcx, [rbp + 0x250]
call fcn.1801b39f0
nop
mov rbx, qword [rbp + 0x290]
test rbx, rbx
je 0x1801c62bd
mov rdi, qword [rbp + 0x298]
cmp rbx, rdi
je 0x1801c458a
nop dword [rax]
xor edx, edx
mov rcx, rbx
call fcn.1801c2c60
add rbx, 0x20
cmp rbx, rdi
jne 0x1801c4570
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.180043a30
jmp 0x1801c62bd
lea rdi, [rbx + r15*8]
xor r14d, r14d
cmp rbx, rdi
je 0x1801c4678
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 0x1801c45e0
lea rcx, [rbp + 0x270]
call fcn.1800080b0
nop
mov rdx, qword [rbp + 0x298]
cmp rdx, qword [rbp + 0x2a0]
je 0x1801c4633
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 0x1801c464d
lea r8, [rbp + 0x270]
lea rcx, [rbp + 0x290]
call fcn.180056a80
mov r8, qword [rbp + 0x288]
cmp r8, 0xf
jbe 0x1801c4666
mov rdx, qword [rbp + 0x270]
lea rcx, [rbp + 0x270]
call fcn.180014f20
add rbx, 8
cmp rbx, rdi
jne 0x1801c45c0
jmp 0x1801c4678
xor r14d, r14d
mov rsi, qword [rbp + 0x290]
mov rax, qword [rbp + 0x298]
mov qword [rsp + 0x50], rax
cmp rsi, rax
je 0x1801c4aab
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 0x1801c4897
nop
mov byte [rsp + 0x41], 0
mov r14, qword [rsi + 0x10]
mov r8, rsi
mov r12, qword [rsi + 0x18]
cmp r12, 0xf
jbe 0x1801c46d9
mov r8, qword [rsi]
xor r13d, r13d
mov edx, r13d
test r14, r14
je 0x1801c4704
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx + r8]
xor rcx, rax
imul rcx, r9
inc rdx
cmp rdx, r14
jb 0x1801c46f0
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 0x1801c475f
mov r13, qword [r13 + rcx*8]
nop
lea rdx, [rdi + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1801c4732
mov rdx, qword [rdx]
mov rcx, rsi
cmp r12, 0xf
jbe 0x1801c473e
mov rcx, qword [rsi]
cmp r14, rax
jne 0x1801c474f
mov r8, r14
call fcn.1802d1060
test eax, eax
je 0x1801c475a
cmp rdi, r13
je 0x1801c475f
mov rdi, qword [rdi + 8]
jmp 0x1801c4720
xor r14d, r14d
jmp 0x1801c4765
xor r14d, r14d
mov edi, r14d
test rdi, rdi
je 0x1801c4777
mov dil, 1
mov byte [rsp + 0x40], dil
jmp 0x1801c4861
mov rdx, qword [rbx]
add rdx, 0xb0
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1801c478f
mov rdx, qword [rdx]
mov r8, qword [rsi + 0x10]
mov rcx, rsi
cmp r12, 0xf
jbe 0x1801c479f
mov rcx, qword [rsi]
cmp r8, rax
jne 0x1801c485c
call fcn.1802d1060
test eax, eax
jne 0x1801c485c
mov byte [rsp + 0x40], 1
mov r8, rsi
lea rdx, [rbp + 0x128]
lea rcx, [rbp - 0x40]
call fcn.1801c1e80
mov rdx, qword [rsp + 0x68]
cmp rdx, qword [rsp + 0x70]
je 0x1801c47ea
mov rax, qword [rbx]
mov qword [rbx], r14
mov qword [rdx], rax
add qword [rsp + 0x68], 8
jmp 0x1801c47f7
mov r8, rbx
lea rcx, [rsp + 0x60]
call fcn.1801c1a70
mov rcx, rbx
mov r15, qword [rbp - 0x68]
lea rax, [rbx + 8]
cmp rax, r15
je 0x1801c483a
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 0x1801c482a
call fcn.1801c2b70
mov rcx, rdi
lea rax, [rdi + 8]
cmp rax, r15
jne 0x1801c4810
mov r15, qword [rbp - 0x68]
lea rcx, [r15 - 8]
mov rdx, qword [rcx]
test rdx, rdx
je 0x1801c484f
call fcn.1801c2b70
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 0x1801c46c0
test dil, dil
jne 0x1801c4a94
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.1800080b0
nop
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x1801c48db
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
lea rcx, [rbp + 0x270]
call fcn.18002ed30
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], r14
call fcn.1801b40a0
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 [0x18035f5d8]
mov dword [rbp + 0x238], ecx
movzx ecx, byte [0x18035f5dc]
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.1801cba60
nop
mov rdx, qword [rbp + 0x248]
cmp rdx, 0xf
jbe 0x1801c49ca
inc rdx
mov rcx, qword [rbp + 0x230]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c49c4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c6455
call fcn.18027ee90
nop
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x1801c4a4f
mov rdi, qword [rbp - 0x80]
cmp rbx, rdi
je 0x1801c49f7
nop dword [rax]
lea rcx, [rbx + 0x10]
call fcn.180012d30
add rbx, 0x30
cmp rbx, rdi
jne 0x1801c49e0
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 0x1801c4a46
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c645b
mov rcx, rbx
call fcn.18027ee90
nop
mov rdx, qword [rbp + 0x288]
cmp rdx, 0xf
jbe 0x1801c4a90
inc rdx
mov rcx, qword [rbp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c4a8b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c6461
call fcn.18027ee90
mov r15, qword [rbp - 0x68]
add rsi, 0x20
cmp rsi, qword [rsp + 0x50]
jne 0x1801c4698
mov r12d, dword [rsp + 0x48]
xor r13b, r13b
lea rcx, [rbp + 0x290]
call fcn.18002d240
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 0x1801c6274
mov ebx, 0xffffffe0
mov rdx, qword [r14]
add rdx, 0x28
lea rcx, [rbp + 0x270]
call fcn.1801c6c50
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 0x1801c4b77
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7e
jne 0x1801c4b77
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 0x1801c4b77
test al, 0x10
jne 0x1801c4b77
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 0x1801c4bbd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c4bb8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c6467
call fcn.18027ee90
mov qword [rbp + 0x280], rdi
mov qword [rbp + 0x288], 7
mov word [rbp + 0x270], di
test r15, r15
jne 0x1801c503e
test r13b, r13b
cmove r12d, ebx
mov rdx, qword [r14]
add rdx, 0x28
lea rcx, [rbp + 0x270]
call fcn.1801c64f0
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.18027ee54
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 [0x180360930]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x180360940]
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 0x1801c4c7b
mov r9, qword [r9]
cmp rbx, 0xf
ja 0x1801c4ca2
lea rax, [rbx + 0x30]
mov qword [rbp + 0x260], rax
lea rcx, [rdi + 0x30]
mov r8, rbx
mov rdx, r9
call fcn.1802d1160
mov byte [rbx + rdi + 0x30], 0
jmp 0x1801c4cb9
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp + 0x250]
call fcn.1801b3040
mov rcx, qword [rbp + 0x260]
mov rdx, qword [rbp + 0x268]
mov rax, rdx
sub rax, rcx
cmp rax, 0x1f
jb 0x1801c4d0f
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.1802d1160
mov byte [rbx + 0x1f], 0
jmp 0x1801c4d32
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.1801b3040
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 0x1801c4da0
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.1802d1160
lea rax, [rbx + rdi]
mov byte [rax + rsi], 0
jmp 0x1801c4db7
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp + 0x250]
call fcn.1801b3040
mov r8d, 1
lea rdx, [0x180360978]
lea rcx, [rbp + 0x250]
call fcn.18002ed30
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x290], xmm0
xor edi, edi
mov qword [rbp + 0x2a0], rdi
call fcn.1801b40a0
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 [0x18035f5d8]
mov dword [rbp + 0x238], ecx
movzx ecx, byte [0x18035f5dc]
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.1801cba60
nop
mov rdx, qword [rbp + 0x248]
cmp rdx, 0xf
jbe 0x1801c4eb6
inc rdx
mov rcx, qword [rbp + 0x230]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c4eb0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c646d
call fcn.18027ee90
nop
mov r8, qword [rbp + 0x290]
test r8, r8
je 0x1801c4f9a
mov rsi, qword [rbp + 0x298]
cmp r8, rsi
je 0x1801c4f3f
lea rbx, [r8 + 0x28]
xor r13d, r13d
nop dword [rax]
mov rdx, qword [rbx]
cmp rdx, 0xf
jbe 0x1801c4f1a
mov rcx, qword [rbx - 0x18]
inc rdx
cmp rdx, 0x1000
jb 0x1801c4f15
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1801c6473
mov rcx, r8
call fcn.18027ee90
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 0x1801c4ee0
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 0x1801c4f91
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c6473
mov rcx, r8
call fcn.18027ee90
nop
mov rdx, qword [rbp + 0x268]
cmp rdx, 0xf
jbe 0x1801c4fdb
inc rdx
mov rcx, qword [rbp + 0x250]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c4fd6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c6479
call fcn.18027ee90
mov qword [rbp + 0x260], rdi
mov qword [rbp + 0x268], 0xf
mov byte [rbp + 0x250], 0
mov rdx, qword [rbp + 0x288]
cmp rdx, 0xf
jbe 0x1801c6258
inc rdx
mov rcx, qword [rbp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c5034
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c647f
call fcn.18027ee90
jmp 0x1801c6258
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.18027ee54
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 [0x180360990]
movups xmmword [rax + 0x10], xmm1
movzx edx, word [0x1803609a0]
mov word [rax + 0x20], dx
mov byte [rax + 0x22], 0
lea rdx, [rbp + 0x2d0]
mov rcx, rbx
call fcn.1801d7df0
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 0x1801c50e0
mov rsi, qword [rax]
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x1801c64d3
mov qword [rbp + 0x2c8], 0xf
cmp rdi, 0xf
ja 0x1801c511a
mov qword [rbp + 0x2c0], rdi
movups xmm0, xmmword [rsi]
movups xmmword [rbp + 0x2b0], xmm0
jmp 0x1801c51b5
mov rbx, rdi
or rbx, 0xf
cmp rbx, rax
jbe 0x1801c5139
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x1801c5160
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1801c5182
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1801c648b
mov rcx, rax
call fcn.18027ee54
mov rcx, rax
test rax, rax
je 0x1801c6485
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1801c5190
test rcx, rcx
je 0x1801c518e
call fcn.18027ee54
jmp 0x1801c5190
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.1802d1160
nop
mov rdx, qword [rbp + 0x2e8]
cmp rdx, 0xf
jbe 0x1801c51f6
inc rdx
mov rcx, qword [rbp + 0x2d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c51f1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c6491
call fcn.18027ee90
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 0x1801c5685
lea rax, [0x18035f858]
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.180086300
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.1801b3510
nop
lea rdx, str.ApiLayerInterface::LoadApiLayers_skipping_layer
lea rcx, [rbp]
call fcn.1801b2b00
mov rdx, qword [r14]
add rdx, 0xb0
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1801c5317
mov rdx, qword [rdx]
mov rcx, rax
call fcn.180057f70
lea rdx, str._because_negotiation_function
mov rcx, rax
call fcn.1801b2b00
lea rdx, [rbp + 0x2b0]
cmp qword [rbp + 0x2c8], 0xf
cmova rdx, qword [rbp + 0x2b0]
mov r8, qword [rbp + 0x2c0]
mov rcx, rax
call fcn.180057f70
mov rcx, rax
lea rdx, str._was_not_found
call fcn.1801b2b00
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 0x1801c53d8
mov rax, qword [rbp + 0x48]
mov r8, qword [rax]
test r8, r8
je 0x1801c53d8
mov rax, qword [rbp + 0x28]
mov rdx, qword [rax]
cmp r8, qword [rbp + 0x70]
cmovb r8, qword [rbp + 0x70]
sub r8, rdx
jmp 0x1801c540d
test cl, 4
jne 0x1801c53ff
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax]
test rcx, rcx
je 0x1801c53ff
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 0x1801c540d
mov r8, qword [rbp + 0x258]
mov rdx, qword [rbp + 0x250]
test rdx, rdx
je 0x1801c541e
lea rcx, [rbp + 0x230]
call fcn.18002edc0
and esi, 0xfffffff7
or esi, 4
mov dword [rsp + 0x44], esi
call fcn.1801b40a0
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 [0x18035f5d8]
mov dword [rbp + 0x258], ecx
movzx ecx, byte [0x18035f5dc]
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.1801cba60
nop
mov r8, qword [rbp + 0x268]
cmp r8, 0xf
jbe 0x1801c54db
mov rdx, qword [rbp + 0x250]
lea rcx, [rbp + 0x250]
call fcn.180014f20
nop
mov rdx, qword [rbp + 0x248]
cmp rdx, 0xf
jbe 0x1801c551c
inc rdx
mov rcx, qword [rbp + 0x230]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c5517
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c6497
call fcn.18027ee90
mov qword [rbp + 0x240], rdi
mov qword [rbp + 0x248], 0xf
mov byte [rbp + 0x230], 0
mov rbx, qword [rbp + 0x290]
test rbx, rbx
je 0x1801c55c6
mov rdi, qword [rbp + 0x298]
cmp rbx, rdi
je 0x1801c556a
lea rcx, [rbx + 0x10]
call fcn.180012d30
add rbx, 0x30
cmp rbx, rdi
jne 0x1801c5551
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 0x1801c55bc
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c649d
mov rcx, rbx
call fcn.18027ee90
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.18006ab50
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.18027d790
nop
mov rdx, qword [rbp + 0x2c8]
cmp rdx, 0xf
jbe 0x1801c6258
inc rdx
mov rcx, qword [rbp + 0x2b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c567b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c64a3
call fcn.18027ee90
jmp 0x1801c6258
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 0x1801c5729
mov rdx, qword [rdx]
lea r8, [rbp + 0xf0]
lea rcx, [rbp + 0x2f8]
call rax
mov ebx, eax
test eax, eax
js 0x1801c5f0a
xorps xmm0, xmm0
cmp qword [rbp + 0x110], rdi
jne 0x1801c588b
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.1800080b0
nop
mov rdx, qword [r14]
add rdx, 0xb0
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1801c579a
mov rdx, qword [rdx]
lea rcx, [rbp + 0x290]
call fcn.18002ed30
mov r8d, 0x38
lea rdx, str.__negotiation_did_not_return_a_valid_getInstanceProcAddr
lea rcx, [rbp + 0x290]
call fcn.18002ed30
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x250], xmm0
mov qword [rbp + 0x260], rdi
call fcn.1801b40a0
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.1800080b0
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.1801cba60
nop
mov r8, qword [rbp + 0x248]
cmp r8, 0xf
jbe 0x1801c5869
mov rdx, qword [rbp + 0x230]
lea rcx, [rbp + 0x230]
call fcn.180014f20
nop
lea rcx, [rbp + 0x250]
call fcn.1801b39f0
mov ebx, 0xffffffdf
lea rcx, [rbp + 0x290]
call fcn.180012d30
jmp 0x1801c5f0f
lea rax, [0x18035f858]
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.180086300
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.1801b3510
nop
lea rdx, str.ApiLayerInterface::LoadApiLayers_succeeded_loading_layer
lea rcx, [rbp]
call fcn.1801b2b00
mov rdx, qword [r14]
add rdx, 0xb0
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1801c5967
mov rdx, qword [rdx]
mov rcx, rax
call fcn.180057f70
lea rdx, str._using_interface_version
mov rcx, rax
call fcn.1801b2b00
mov edx, dword [rbp + 0x100]
mov rcx, rax
call fcn.1801c2960
mov rcx, rax
lea rdx, str._and_OpenXR_API_version
call fcn.1801b2b00
mov rdx, qword [rbp + 0x108]
shr rdx, 0x30
mov rcx, rax
call fcn.1801b3d20
mov rcx, rax
lea rdx, [0x180336de0]
call fcn.1801b2b00
mov rdx, qword [rbp + 0x108]
shr rdx, 0x20
mov rcx, rax
call fcn.1801b3d20
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x250], xmm0
mov qword [rbp + 0x260], rdi
lea rdx, [rbp + 0x270]
lea rcx, [rbp + 8]
call fcn.1801c6ba0
bts ebx, 8
mov dword [rsp + 0x44], ebx
call fcn.1801b40a0
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.1800080b0
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.1801cba60
nop
mov r8, qword [rbp + 0x248]
cmp r8, 0xf
jbe 0x1801c5a90
mov rdx, qword [rbp + 0x230]
lea rcx, [rbp + 0x230]
call fcn.180014f20
nop
lea rcx, [rbp + 0x270]
call fcn.180012d30
nop
mov rbx, qword [rbp + 0x250]
test rbx, rbx
je 0x1801c5b35
mov rdi, qword [rbp + 0x258]
cmp rbx, rdi
je 0x1801c5ad9
nop dword [rax]
lea rcx, [rbx + 0x10]
call fcn.180012d30
add rbx, 0x30
cmp rbx, rdi
jne 0x1801c5ac0
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 0x1801c5b2b
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c64a9
mov rcx, rbx
call fcn.18027ee90
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.18006ab50
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.18027d790
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.1801d7e90
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 0x1801c5c25
movabs rax, 0x7ffffffffffffff
cmp rdx, rax
ja 0x1801c64af
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x290]
call fcn.18005d5a0
mov r12, qword [rbp + 0x2a0]
mov rdi, qword [rbp - 0x80]
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rbp + 0x298]
cmp rbx, rdi
je 0x1801c5cb6
add rbx, 0x10
mov r15, 0xffffffffffffffff
cmp rsi, r12
je 0x1801c5c81
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 0x1801c5c60
mov rdx, rbx
mov rcx, rsi
call fcn.1800080b0
add rsi, 0x20
mov qword [rbp + 0x298], rsi
jmp 0x1801c5ca1
mov r8, rbx
mov rdx, rsi
lea rcx, [rbp + 0x290]
call fcn.1801c1660
mov r12, qword [rbp + 0x2a0]
mov rsi, qword [rbp + 0x298]
add rbx, 0x98
lea rax, [rbx - 0x10]
cmp rax, rdi
jne 0x1801c5c40
mov r15, qword [rsp + 0x50]
mov ecx, 0x58
call fcn.18027ee54
mov r14, rax
mov qword [rbp + 0x128], rax
mov r13, qword [rbp + 0x290]
test rax, rax
je 0x1801c5dc7
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.1800122c0
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 0x1801c5dc5
movabs rax, 0x7ffffffffffffff
cmp rbx, rax
ja 0x1801c64b5
mov qword [rsp + 0x50], rbx
lea rdx, [rsp + 0x50]
mov rcx, r15
call fcn.1801c1470
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 0x1801c5dbf
nop word [rax + rax]
mov rdx, rdi
mov rcx, rbx
call fcn.1800122c0
add rbx, 0x20
mov qword [rbp + 0x258], rbx
add rdi, 0x20
cmp rdi, rsi
jne 0x1801c5da0
mov qword [r15 + 8], rbx
xor edi, edi
jmp 0x1801c5dcc
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 0x1801c5de9
mov qword [rdx], r14
add qword [rax + 8], 8
jmp 0x1801c5df6
lea r8, [rsp + 0x50]
mov rcx, rax
call fcn.1801c1820
mov byte [rsp + 0x42], 1
mov dword [rsp + 0x48], edi
mov r8, qword [rsp + 0x78]
test r8, r8
je 0x1801c5e6c
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 0x1801c5e57
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c64bb
mov rcx, r8
call fcn.18027ee90
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], rdi
test r13, r13
je 0x1801c5ebb
lea r8, [rbp + 0x290]
mov rdx, rsi
mov rcx, r13
call fcn.180017de0
sub r12, r13
and r12, 0xffffffffffffffe0
mov rax, r13
cmp r12, 0x1000
jb 0x1801c5eaf
add r12, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c64c1
mov rdx, r12
mov rcx, r13
call fcn.18027ee90
nop
mov rdx, qword [rbp + 0x2c8]
cmp rdx, 0xf
jbe 0x1801c5efc
inc rdx
mov rcx, qword [rbp + 0x2b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c5ef7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c64c7
call fcn.18027ee90
mov r14, qword [rbp - 0x58]
mov r12d, dword [rsp + 0x48]
jmp 0x1801c6258
mov rdi, qword [rsp + 0x58]
test r13b, r13b
cmove r12d, ebx
lea rax, [0x18035f858]
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.180086300
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.1801b3510
nop
lea rdx, str.ApiLayerInterface::LoadApiLayers_skipping_layer
lea rcx, [rbp + 0x140]
call fcn.1801b2b00
mov rdx, qword [r14]
add rdx, 0xb0
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1801c6010
mov rdx, qword [rdx]
mov rcx, rax
call fcn.180057f70
lea rdx, str._due_to_failed_negotiation_with_error
mov rcx, rax
call fcn.1801b2b00
mov edx, ebx
mov rcx, rax
call fcn.1801c2750
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x250], xmm0
mov qword [rbp + 0x260], r13
lea rdx, [rbp + 0x290]
lea rcx, [rbp + 0x148]
call fcn.1801c6ba0
bts esi, 9
mov dword [rsp + 0x44], esi
call fcn.1801b40a0
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 [0x18035f5d8]
mov dword [rbp + 0x238], ecx
movzx ecx, byte [0x18035f5dc]
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.1801cba60
nop
mov r8, qword [rbp + 0x248]
cmp r8, 0xf
jbe 0x1801c610c
mov rdx, qword [rbp + 0x230]
lea rcx, [rbp + 0x230]
call fcn.180014f20
nop
lea rcx, [rbp + 0x290]
call fcn.180012d30
nop
mov rbx, qword [rbp + 0x250]
test rbx, rbx
je 0x1801c61a4
mov rdi, qword [rbp + 0x258]
cmp rbx, rdi
je 0x1801c614a
lea rcx, [rbx + 0x10]
call fcn.180012d30
add rbx, 0x30
cmp rbx, rdi
jne 0x1801c6131
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 0x1801c619c
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c64cd
mov rcx, rbx
call fcn.18027ee90
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.18006ab50
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.18027d790
nop
mov r8, qword [rbp + 0x2c8]
cmp r8, 0xf
jbe 0x1801c6256
mov rdx, qword [rbp + 0x2b0]
lea rcx, [rbp + 0x2b0]
call fcn.180014f20
xor edi, edi
add r14, 8
mov qword [rbp - 0x58], r14
cmp r14, qword [rbp + 0x120]
je 0x1801c6274
movzx r13d, byte [rsp + 0x42]
jmp 0x1801c4ad7
cmp byte [rsp + 0x43], 0
jne 0x1801c6283
mov r12d, 0xffffffdc
jmp 0x1801c6288
test r12d, r12d
jns 0x1801c62ba
mov rsi, qword [rbp - 0x50]
mov rbx, qword [rsi]
mov rdi, qword [rsi + 8]
cmp rbx, rdi
je 0x1801c62ba
mov rcx, qword [rbx]
test rcx, rcx
je 0x1801c62aa
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
add rbx, 8
cmp rbx, rdi
jne 0x1801c6298
mov rax, qword [rsi]
mov qword [rsi + 8], rax
mov esi, r12d
mov rbx, qword [rbp - 0x70]
test rbx, rbx
je 0x1801c633e
mov rdi, qword [rbp - 0x68]
cmp rbx, rdi
je 0x1801c62ed
nop
mov rdx, qword [rbx]
test rdx, rdx
je 0x1801c62e0
mov rcx, rbx
call fcn.1801c2b70
add rbx, 8
cmp rbx, rdi
jne 0x1801c62d0
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 0x1801c6325
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c64d9
mov rcx, rbx
call fcn.18027ee90
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
xor r14d, r14d
mov qword [rbp - 0x60], r14
jmp 0x1801c6341
xor r14d, r14d
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x1801c63c2
mov rdi, qword [rsp + 0x68]
cmp rbx, rdi
je 0x1801c636e
mov rdx, qword [rbx]
test rdx, rdx
je 0x1801c6365
mov rcx, rbx
call fcn.1801c2b70
add rbx, 8
cmp rbx, rdi
jne 0x1801c6355
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 0x1801c63ac
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c64df
mov rcx, rbx
call fcn.18027ee90
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r14
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x1801c6408
mov rdx, qword [rbp - 0x18]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c63f7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c644f
call fcn.18027ee90
mov qword [rbp - 0x28], r14
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x20], xmm0
mov rdx, qword [rbp - 0x38]
lea rcx, [rbp - 0x38]
call fcn.180099e40
mov edx, 0x30
mov rcx, qword [rbp - 0x38]
call fcn.18027ee90
mov eax, esi
mov rcx, qword [rbp + 0x320]
xor rcx, rsp
call fcn.18027f9e0
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.1802a2050
nop
call fcn.1802a2050
nop
call fcn.1802a2050
nop
call fcn.1802a2050
nop
call fcn.1802a2050
nop
call fcn.1802a2050
nop
call fcn.1802a2050
nop
call fcn.1802a2050
nop
call fcn.1802a2050
nop
call fcn.1802a2050
int3
call fcn.1800150e0
nop
call fcn.1802a2050
nop
call fcn.1802a2050
nop
call fcn.1802a2050
nop
call fcn.1802a2050
nop
call fcn.1802a2050
nop
call fcn.18002d600
nop
call fcn.18002d600
nop
call fcn.1802a2050
nop
call fcn.1802a2050
nop
call fcn.1802a2050
nop
call fcn.1802a2050
nop
call fcn.1800151f0
nop
call fcn.1802a2050
nop
call fcn.1802a2050
int3