Function at 0x1801c26c0
Capabilities:
Check if file exists
Encode data using base64
Get file attributes

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x130]
sub rsp, 0x230
mov rax, qword [0x1804c4e78]
xor rax, rsp
mov qword [rbp + 0x120], rax
mov rbx, rdx
mov r12, rcx
xor esi, esi
mov rdx, qword [rdx]
add rdx, 0x28
lea rcx, [rbp - 0x18]
call fcn.1801b9ba0
lea rcx, [rbp - 0x18]
cmp qword [rbp], 8
cmovae rcx, qword [rbp - 0x18]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r13, rax
test rax, rax
jne 0x1801c276b
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7e
jne 0x1801c276b
lea rcx, [rbp - 0x18]
cmp qword [rbp], 8
cmovae rcx, qword [rbp - 0x18]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1801c276b
test al, 0x10
jne 0x1801c276b
lea rcx, [rbp - 0x18]
cmp qword [rbp], 8
cmovae rcx, qword [rbp - 0x18]
xor edx, edx
mov r8d, 0x1100
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov r13, rax
mov rdx, qword [rbp]
cmp rdx, 8
jb 0x1801c27ab
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c27a6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c3b01
call fcn.18026a1a0
movdqa xmm0, xmmword [0x1802f2710]
movdqu xmmword [rbp - 8], xmm0
mov word [rbp - 0x18], si
mov rdi, qword [rbx]
test r13, r13
jne 0x1801c2b44
lea rdx, [rdi + 0x28]
lea rcx, [rbp - 0x18]
call fcn.1801c22c0
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], 0xf
lea edx, [r13 + 0x40]
lea rcx, [rbp - 0x78]
call fcn.180015660
mov rcx, rax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x68], 0x35
mov qword [rbp - 0x60], 0x3f
movups xmm0, xmmword [str.RuntimeInterface::LoadRuntime_skipping_manifest_file]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x180348410]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x180348420]
movups xmmword [rax + 0x20], xmm0
mov eax, dword [0x180348430]
mov dword [rcx + 0x30], eax
movzx eax, byte [0x180348434]
mov byte [rcx + 0x34], al
mov byte [rcx + 0x35], r13b
mov r9, qword [rbx]
mov rdi, qword [r9 + 0x10]
cmp qword [r9 + 0x18], 0x10
jb 0x1801c2855
mov r9, qword [r9]
mov r14, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
sub rax, r14
cmp rdi, rax
ja 0x1801c2897
lea rax, [r14 + rdi]
mov qword [rbp - 0x68], rax
lea rbx, [rbp - 0x78]
cmp rcx, 0x10
cmovae rbx, qword [rbp - 0x78]
lea rcx, [rbx + r14]
mov r8, rdi
mov rdx, r9
call fcn.180287a80
lea rax, [rdi + rbx]
mov byte [rax + r14], 0
jmp 0x1801c28ab
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x78]
call fcn.1801a4c90
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x60]
mov rax, rdx
sub rax, rcx
cmp rax, 0x1f
jb 0x1801c28f2
lea rax, [rcx + 0x1f]
mov qword [rbp - 0x68], rax
lea rbx, [rbp - 0x78]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x78]
add rbx, rcx
mov r8d, 0x1f
lea rdx, str.__failed_to_load_with_message__
mov rcx, rbx
call fcn.180287a80
mov byte [rbx + 0x1f], 0
jmp 0x1801c2912
mov qword [rsp + 0x20], 0x1f
lea r9, str.__failed_to_load_with_message__
xor r8d, r8d
lea edx, [r8 + 0x1f]
lea rcx, [rbp - 0x78]
call fcn.1801a4c90
mov rdi, qword [rbp - 8]
lea r9, [rbp - 0x18]
cmp qword [rbp], 0x10
cmovae r9, qword [rbp - 0x18]
mov r14, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
sub rax, r14
cmp rdi, rax
ja 0x1801c2966
lea rax, [rdi + r14]
mov qword [rbp - 0x68], rax
lea rbx, [rbp - 0x78]
cmp rcx, 0x10
cmovae rbx, qword [rbp - 0x78]
lea rcx, [rbx + r14]
mov r8, rdi
mov rdx, r9
call fcn.180287a80
lea rax, [rbx + rdi]
mov byte [rax + r14], 0
jmp 0x1801c297a
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x78]
call fcn.1801a4c90
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x60]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x1801c29ab
lea rax, [rcx + 1]
mov qword [rbp - 0x68], rax
lea rax, [rbp - 0x78]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x78]
mov word [rax + rcx], 0x22
jmp 0x1801c29cb
mov qword [rsp + 0x20], 1
lea r9, [0x180347f28]
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x78]
call fcn.1801a4c90
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], rsi
lea r8, [rbp - 0x58]
lea rdx, [rbp - 0x78]
mov rcx, r12
call fcn.1801b1510
nop
mov r8, qword [rbp - 0x58]
test r8, r8
je 0x1801c2ab4
mov r14, qword [rbp - 0x50]
cmp r8, r14
je 0x1801c2a5c
lea rbx, [r8 + 0x28]
mov rdx, qword [rbx]
cmp rdx, 0x10
jb 0x1801c2a3c
mov rcx, qword [rbx - 0x18]
inc rdx
cmp rdx, 0x1000
jb 0x1801c2a37
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1801c3b07
mov rcx, r8
call fcn.18026a1a0
mov qword [rbx - 8], rsi
mov qword [rbx], 0xf
mov byte [rbx - 0x18], 0
add rbx, 0x30
lea rax, [rbx - 0x28]
cmp rax, r14
jne 0x1801c2a02
mov r8, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x48]
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 0x1801c2aab
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c3b07
mov rcx, r8
call fcn.18026a1a0
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x1801c2aef
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c2aea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c3b0d
call fcn.18026a1a0
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], 0xf
mov byte [rbp - 0x78], 0
mov rdx, qword [rbp]
cmp rdx, 0x10
jb 0x1801c2b3a
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c2b35
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c3b13
call fcn.18026a1a0
mov eax, 0xffffffe0
jmp 0x1801c3ac5
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], rsi
mov qword [rbp + 0x20], 0xf
mov edx, 0x30
lea rcx, [rbp + 8]
call fcn.180015660
mov rdx, rax
mov qword [rbp + 8], rax
mov qword [rbp + 0x18], 0x21
mov qword [rbp + 0x20], 0x2f
movups xmm0, xmmword [str.xrNegotiateLoaderRuntimeInterface]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x180348448]
movups xmmword [rax + 0x10], xmm1
movzx eax, byte [0x180348458]
mov byte [rdx + 0x20], al
mov byte [rdx + 0x21], sil
lea rdx, [rbp + 8]
mov rcx, rdi
call fcn.1801cb100
mov rdx, rax
lea rcx, [rbp + 0x58]
call fcn.180012830
nop
mov rdx, qword [rbp + 0x20]
cmp rdx, 0x10
jb 0x1801c2bf3
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c2bee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c3b19
call fcn.18026a1a0
mov qword [rbp + 0x18], rsi
mov qword [rbp + 0x20], 0xf
mov byte [rbp + 8], 0
lea rdx, [rbp + 0x58]
cmp qword [rbp + 0x70], 0x10
cmovae rdx, qword [rbp + 0x58]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [rbp + 0x30], 1
mov dword [rbp + 0x34], 1
mov qword [rbp + 0x38], 0x28
mov dword [rbp + 0x40], 1
mov dword [rbp + 0x44], 1
movabs rcx, 0x1000000000000
mov qword [rbp + 0x48], rcx
movabs rcx, 0x103ff00000fff
mov qword [rbp + 0x50], rcx
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x50], 3
mov dword [rsp + 0x54], 1
mov qword [rsp + 0x58], 0x28
mov r14d, 0xfffffffe
test rax, rax
je 0x1801c3773
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x30]
call rax
mov r14d, eax
test eax, eax
js 0x1801c3773
mov rcx, qword [rsp + 0x68]
shr rcx, 0x30
xorps xmm0, xmm0
cmp qword [rsp + 0x70], 0
jne 0x1801c2dca
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x40], 0xf
mov edx, 0x40
lea rcx, [rbp - 0x58]
call fcn.180015660
mov rcx, rax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x48], 0x35
mov qword [rbp - 0x40], 0x3f
movups xmm0, xmmword [str.RuntimeInterface::LoadRuntime_skipping_manifest_file]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x180348410]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x180348420]
movups xmmword [rax + 0x20], xmm0
mov eax, dword [0x180348430]
mov dword [rcx + 0x30], eax
movzx eax, byte [0x180348434]
mov byte [rcx + 0x34], al
mov byte [rcx + 0x35], 0
mov rdx, qword [rbx]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1801c2d3c
mov rdx, qword [rdx]
lea rcx, [rbp - 0x58]
call fcn.180021700
mov r8d, 0x3d
lea rdx, str.__negotiation_succeeded_but_returned_NULL_getInstanceProcAddr
lea rcx, [rbp - 0x58]
call fcn.180021700
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], rsi
lea r8, [rbp - 0x78]
lea rdx, [rbp - 0x58]
mov rcx, r12
call fcn.1801b1510
nop
lea rcx, [rbp - 0x78]
call fcn.1801a54b0
mov r14d, 0xffffffdf
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x1801c3773
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c376e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c3af5
jmp 0x1801c376e
cmp dword [rsp + 0x60], 1
jne 0x1801c3670
cmp ecx, 1
jne 0x1801c3565
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x20], 0xf
lea edx, [rcx + 0x5f]
lea rcx, [rbp - 0x38]
call fcn.180015660
mov rcx, rax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x28], 0x51
mov qword [rbp - 0x20], 0x5f
movaps xmm0, xmmword [str.RuntimeInterface::LoadRuntime_succeeded_loading_runtime_defined_in_manifest_file]
movups xmmword [rax], xmm0
movaps xmm1, xmmword [0x180348560]
movups xmmword [rax + 0x10], xmm1
movaps xmm0, xmmword [0x180348570]
movups xmmword [rax + 0x20], xmm0
movaps xmm1, xmmword [0x180348580]
movups xmmword [rax + 0x30], xmm1
movaps xmm0, xmmword [0x180348590]
movups xmmword [rax + 0x40], xmm0
movzx eax, byte [0x1803485a0]
mov byte [rcx + 0x50], al
mov byte [rcx + 0x51], 0
mov rdx, qword [rbx]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1801c2e66
mov rdx, qword [rdx]
lea rcx, [rbp - 0x38]
call fcn.180021700
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
mov rax, rdx
sub rax, rcx
cmp rax, 0x19
jb 0x1801c2eb6
lea rax, [rcx + 0x19]
mov qword [rbp - 0x28], rax
lea rbx, [rbp - 0x38]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x38]
add rbx, rcx
mov r8d, 0x19
lea rdx, str._using_interface_version
mov rcx, rbx
call fcn.180287a80
mov byte [rbx + 0x19], 0
jmp 0x1801c2ed6
mov qword [rsp + 0x20], 0x19
lea r9, str._using_interface_version
xor r8d, r8d
lea edx, [r8 + 0x19]
lea rcx, [rbp - 0x38]
call fcn.1801a4c90
lea r10, [rbp - 0x43]
mov r8d, dword [rsp + 0x60]
nop
dec r10
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r10], r8b
mov r8d, edx
test edx, edx
jne 0x1801c2ee0
lea r9, [rsp + 0x30]
lea r8, [rbp - 0x43]
mov rdx, r10
lea rcx, [rbp - 0x18]
call fcn.180034280
nop
lea rdx, [rbp - 0x18]
cmp qword [rbp], 0x10
cmovae rdx, qword [rbp - 0x18]
mov r8, qword [rbp - 8]
lea rcx, [rbp - 0x38]
call fcn.180021700
nop
lea rcx, [rbp - 0x18]
call fcn.180013250
mov r8d, 0x18
lea rdx, str._and_OpenXR_API_version
lea rcx, [rbp - 0x38]
call fcn.180021700
mov rdx, qword [rsp + 0x68]
shr rdx, 0x30
lea rcx, [rbp - 0x18]
call fcn.180036d40
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1801c2f7c
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp - 0x38]
call fcn.180021700
nop
lea rcx, [rbp - 0x18]
call fcn.180013250
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x1801c2fc3
lea rax, [rcx + 1]
mov qword [rbp - 0x28], rax
lea rax, [rbp - 0x38]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x38]
mov word [rax + rcx], 0x2e
jmp 0x1801c2fe3
mov qword [rsp + 0x20], 1
lea r9, [0x18031b020]
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x38]
call fcn.1801a4c90
mov rax, qword [rsp + 0x68]
shr rax, 0x20
movzx edx, ax
lea rcx, [rbp - 0x18]
call fcn.180036d40
mov r9, rax
mov rdi, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1801c3009
mov r9, qword [rax]
mov r14, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
sub rax, r14
cmp rdi, rax
ja 0x1801c304b
lea rax, [r14 + rdi]
mov qword [rbp - 0x28], rax
lea rbx, [rbp - 0x38]
cmp rcx, 0x10
cmovae rbx, qword [rbp - 0x38]
lea rcx, [rbx + r14]
mov r8, rdi
mov rdx, r9
call fcn.180287a80
lea rax, [rdi + rbx]
mov byte [rax + r14], 0
jmp 0x1801c3060
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x38]
call fcn.1801a4c90
nop
mov rdx, qword [rbp]
cmp rdx, 0x10
jb 0x1801c309b
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c3096
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c3b1f
call fcn.18026a1a0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], rsi
lea r8, [rbp - 0x58]
lea rdx, [rbp - 0x38]
mov rcx, r12
call fcn.1801c24a0
nop
mov r8, qword [rbp - 0x58]
test r8, r8
je 0x1801c3183
mov r14, qword [rbp - 0x50]
cmp r8, r14
je 0x1801c312c
lea rbx, [r8 + 0x28]
mov rdx, qword [rbx]
cmp rdx, 0x10
jb 0x1801c310c
mov rcx, qword [rbx - 0x18]
inc rdx
cmp rdx, 0x1000
jb 0x1801c3107
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1801c3b25
mov rcx, r8
call fcn.18026a1a0
mov qword [rbx - 8], rsi
mov qword [rbx], 0xf
mov byte [rbx - 0x18], 0
add rbx, 0x30
lea rax, [rbx - 0x28]
cmp rax, r14
jne 0x1801c30d2
mov r8, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x48]
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 0x1801c317b
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c3b25
mov rcx, r8
call fcn.18026a1a0
call fcn.1801c1af0
mov r14, rax
mov ecx, 0x150
call fcn.18026a164
mov rdi, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1801c32ad
mov rax, qword [rsp + 0x70]
lea rcx, vtable.RuntimeInterface.0
mov qword [rdi], rcx
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], rax
lea rbx, [rdi + 0x18]
mov qword [rbp - 0x80], rbx
mov dword [rbx], esi
mov qword [rbx + 8], rsi
mov qword [rbx + 0x10], rsi
mov ecx, 0x20
call fcn.18026a164
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbx + 8], rax
lea rcx, [rbx + 0x18]
mov qword [rcx], rsi
mov qword [rcx + 8], rsi
mov qword [rcx + 0x10], rsi
mov qword [rbx + 0x30], 7
mov qword [rbx + 0x38], 8
mov dword [rbx], 0x3f800000
mov r8, qword [rbx + 8]
mov edx, 0x10
call fcn.18001fd00
nop
lea rcx, [rdi + 0x58]
mov edx, 2
call fcn.180267000
nop
lea rbx, [rdi + 0xa8]
mov qword [rbp - 0x80], rbx
mov dword [rbx], esi
mov qword [rbx + 8], rsi
mov qword [rbx + 0x10], rsi
mov ecx, 0x20
call fcn.18026a164
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbx + 8], rax
lea rcx, [rbx + 0x18]
mov qword [rcx], rsi
mov qword [rcx + 8], rsi
mov qword [rcx + 0x10], rsi
mov qword [rbx + 0x30], 7
mov qword [rbx + 0x38], 8
mov dword [rbx], 0x3f800000
mov r8, qword [rbx + 8]
mov edx, 0x10
call fcn.18001fd00
nop
lea rcx, [rdi + 0xe8]
mov edx, 2
call fcn.180267000
mov qword [rdi + 0x138], rsi
mov qword [rdi + 0x140], rsi
mov qword [rdi + 0x148], rsi
jmp 0x1801c32b0
mov rdi, rsi
mov rcx, qword [r14]
mov qword [r14], rdi
test rcx, rcx
je 0x1801c32c5
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov r14, rsi
mov qword [rsp + 0x48], rsi
movdqu xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], rsi
call fcn.1801c1af0
lea rdx, [rbp - 0x78]
mov rcx, qword [rax]
call fcn.1801c1b60
mov r12, qword [rbp - 0x70]
mov rcx, r12
mov r15, qword [rbp - 0x78]
sub rcx, r15
movabs r13, 0x6bca1af286bca1b
mov rax, r13
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x1801c3340
movabs rax, 0x7ffffffffffffff
cmp rdx, rax
ja 0x1801c3b2b
lea rcx, [rsp + 0x38]
call fcn.180067470
mov r14, qword [rsp + 0x48]
mov rbx, r15
mov rdi, qword [rsp + 0x40]
cmp r15, r12
je 0x1801c3442
movups xmm0, xmmword [rbx]
movaps xmmword [rbp + 0x80], xmm0
movups xmm1, xmmword [rbx + 0x10]
movaps xmmword [rbp + 0x90], xmm1
movups xmm0, xmmword [rbx + 0x20]
movaps xmmword [rbp + 0xa0], xmm0
movups xmm1, xmmword [rbx + 0x30]
movaps xmmword [rbp + 0xb0], xmm1
movups xmm0, xmmword [rbx + 0x40]
movaps xmmword [rbp + 0xc0], xmm0
movups xmm1, xmmword [rbx + 0x50]
movaps xmmword [rbp + 0xd0], xmm1
movups xmm0, xmmword [rbx + 0x60]
movaps xmmword [rbp + 0xe0], xmm0
movups xmm1, xmmword [rbx + 0x70]
movaps xmmword [rbp + 0xf0], xmm1
movups xmm0, xmmword [rbx + 0x80]
movaps xmmword [rbp + 0x100], xmm0
movsd xmm1, qword [rbx + 0x90]
movsd qword [rbp + 0x110], xmm1
cmp rdi, r14
je 0x1801c3414
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
lea rax, [rbp + 0x90]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1801c33f0
lea rdx, [rbp + 0x90]
mov rcx, rdi
call fcn.1800087a0
add rdi, 0x20
mov qword [rsp + 0x40], rdi
jmp 0x1801c3432
lea r8, [rbp + 0x90]
mov rdx, rdi
lea rcx, [rsp + 0x38]
call fcn.1801b4060
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
add rbx, 0x98
cmp rbx, r12
jne 0x1801c3351
call fcn.1801c1af0
mov rcx, qword [rax]
add rcx, 0x138
lea rax, [rsp + 0x38]
mov rbx, qword [rsp + 0x38]
cmp rcx, rax
je 0x1801c3473
mov r8, rdi
sub r8, rbx
sar r8, 5
mov rdx, rbx
call fcn.180043490
nop
test r15, r15
je 0x1801c34c8
mov rcx, qword [rbp - 0x68]
sub rcx, r15
mov rax, r13
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x98
mov rax, r15
cmp rdx, 0x1000
jb 0x1801c34bf
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c3b31
mov rcx, r15
call fcn.18026a1a0
nop
test rbx, rbx
je 0x1801c3515
lea r8, [rsp + 0x38]
mov rdx, rdi
mov rcx, rbx
call fcn.1800180d0
sub r14, rbx
and r14, 0xffffffffffffffe0
mov rax, rbx
cmp r14, 0x1000
jb 0x1801c3509
add r14, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c3b37
mov rdx, r14
mov rcx, rbx
call fcn.18026a1a0
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x1801c3550
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c354b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c3b3d
call fcn.18026a1a0
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x20], 0xf
mov byte [rbp - 0x38], 0
jmp 0x1801c3a8c
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x40], 0xf
mov edx, 0x40
lea rcx, [rbp - 0x58]
call fcn.180015660
mov rcx, rax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x48], 0x35
mov qword [rbp - 0x40], 0x3f
movups xmm0, xmmword [str.RuntimeInterface::LoadRuntime_skipping_manifest_file]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x180348410]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x180348420]
movups xmmword [rax + 0x20], xmm0
mov eax, dword [0x180348430]
mov dword [rcx + 0x30], eax
movzx eax, byte [0x180348434]
mov byte [rcx + 0x34], al
mov byte [rcx + 0x35], 0
mov rdx, qword [rbx]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1801c35e2
mov rdx, qword [rdx]
lea rcx, [rbp - 0x58]
call fcn.180021700
mov r8d, 0x39
lea rdx, str.__OpenXR_version_returned_not_compatible_with_this_loader
lea rcx, [rbp - 0x58]
call fcn.180021700
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], rsi
lea r8, [rbp - 0x78]
lea rdx, [rbp - 0x58]
mov rcx, r12
call fcn.1801b1510
nop
lea rcx, [rbp - 0x78]
call fcn.1801a54b0
mov r14d, 0xffffffdf
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x1801c3773
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c376e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c3afb
jmp 0x1801c376e
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x40], 0xf
mov edx, 0x40
lea rcx, [rbp - 0x58]
call fcn.180015660
mov rcx, rax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x48], 0x35
mov qword [rbp - 0x40], 0x3f
movups xmm0, xmmword [str.RuntimeInterface::LoadRuntime_skipping_manifest_file]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x180348410]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x180348420]
movups xmmword [rax + 0x20], xmm0
mov eax, dword [0x180348430]
mov dword [rcx + 0x30], eax
movzx eax, byte [0x180348434]
mov byte [rcx + 0x34], al
mov byte [rcx + 0x35], 0
mov rdx, qword [rbx]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1801c36ed
mov rdx, qword [rdx]
lea rcx, [rbp - 0x58]
call fcn.180021700
mov r8d, 0x3e
lea rdx, str.__negotiation_succeeded_but_returned_invalid_interface_version
lea rcx, [rbp - 0x58]
call fcn.180021700
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], rsi
lea r8, [rbp - 0x78]
lea rdx, [rbp - 0x58]
mov rcx, r12
call fcn.1801b1510
nop
lea rcx, [rbp - 0x78]
call fcn.1801a54b0
mov r14d, 0xffffffdf
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x1801c3773
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c376e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c3b43
call fcn.18026a1a0
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], 0xf
mov edx, 0x40
lea rcx, [rbp - 0x78]
call fcn.180015660
mov rcx, rax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x68], 0x35
mov qword [rbp - 0x60], 0x3f
movups xmm0, xmmword [str.RuntimeInterface::LoadRuntime_skipping_manifest_file]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x180348410]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x180348420]
movups xmmword [rax + 0x20], xmm0
mov eax, dword [0x180348430]
mov dword [rcx + 0x30], eax
movzx eax, byte [0x180348434]
mov byte [rcx + 0x34], al
mov byte [rcx + 0x35], 0
mov r9, qword [rbx]
mov rdi, qword [r9 + 0x10]
cmp qword [r9 + 0x18], 0x10
jb 0x1801c37f3
mov r9, qword [r9]
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x60]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x1801c3832
lea rax, [rcx + rdi]
mov qword [rbp - 0x68], rax
lea rbx, [rbp - 0x78]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x78]
add rbx, rcx
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call fcn.180287a80
mov byte [rbx + rdi], 0
jmp 0x1801c3846
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x78]
call fcn.1801a4c90
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x60]
mov rax, rdx
sub rax, rcx
cmp rax, 0x20
jb 0x1801c388d
lea rax, [rcx + 0x20]
mov qword [rbp - 0x68], rax
lea rbx, [rbp - 0x78]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x78]
add rbx, rcx
mov r8d, 0x20
lea rdx, str.__negotiation_failed_with_error
mov rcx, rbx
call fcn.180287a80
mov byte [rbx + 0x20], 0
jmp 0x1801c38ad
mov qword [rsp + 0x20], 0x20
lea r9, str.__negotiation_failed_with_error
xor r8d, r8d
lea edx, [r8 + 0x20]
lea rcx, [rbp - 0x78]
call fcn.1801a4c90
mov edx, r14d
lea rcx, [rbp - 0x58]
call fcn.180036d40
mov r9, rax
mov rdi, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1801c38ca
mov r9, qword [rax]
mov r15, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
sub rax, r15
cmp rdi, rax
ja 0x1801c390c
lea rax, [r15 + rdi]
mov qword [rbp - 0x68], rax
lea rbx, [rbp - 0x78]
cmp rcx, 0x10
cmovae rbx, qword [rbp - 0x78]
lea rcx, [rbx + r15]
mov r8, rdi
mov rdx, r9
call fcn.180287a80
lea rax, [rdi + rbx]
mov byte [rax + r15], 0
jmp 0x1801c3921
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x78]
call fcn.1801a4c90
nop
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x1801c395c
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c3957
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c3b49
call fcn.18026a1a0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], rsi
lea r8, [rbp - 0x58]
lea rdx, [rbp - 0x78]
mov rcx, r12
call fcn.1801b1510
nop
mov r8, qword [rbp - 0x58]
test r8, r8
je 0x1801c3a44
mov r15, qword [rbp - 0x50]
cmp r8, r15
je 0x1801c39ed
lea rbx, [r8 + 0x28]
mov rdx, qword [rbx]
cmp rdx, 0x10
jb 0x1801c39cd
mov rcx, qword [rbx - 0x18]
inc rdx
cmp rdx, 0x1000
jb 0x1801c39c8
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1801c3b4f
mov rcx, r8
call fcn.18026a1a0
mov qword [rbx - 8], rsi
mov qword [rbx], 0xf
mov byte [rbx - 0x18], 0
add rbx, 0x30
lea rax, [rbx - 0x28]
cmp rax, r15
jne 0x1801c3993
mov r8, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x48]
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 0x1801c3a3c
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c3b4f
mov rcx, r8
call fcn.18026a1a0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x1801c3a89
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c3a84
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c3b55
call fcn.18026a1a0
mov esi, r14d
mov rdx, qword [rbp + 0x70]
cmp rdx, 0x10
jb 0x1801c3ac3
inc rdx
mov rcx, qword [rbp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801c3abe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801c3aef
call fcn.18026a1a0
mov eax, esi
mov rcx, qword [rbp + 0x120]
xor rcx, rsp
call fcn.18026ad00
mov rbx, qword [rsp + 0x280]
add rsp, 0x230
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
int3
call fcn.18028cdc8
nop
call fcn.180021520
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
int3
call fcn.18028cdc8
nop
call fcn.18028cdc8
int3
call fcn.18028cdc8
nop
call fcn.18028cdc8
int3