Function at 0x180006ce0
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x1800641c0]
xor rax, rsp
mov qword [rbp + 0x68], rax
mov r15, r8
mov r14, rdx
mov ebx, ecx
mov qword [rbp + 0x30], rdx
xor r13d, r13d
mov dword [rsp + 0x20], r13d
call fcn.18002a1e0
mov ecx, ebx
call fcn.18002a710
mov ecx, ebx
call fcn.18002a0c0
test ebx, ebx
je 0x180007388
cmp ebx, 1
jne 0x1800074f4
cmp byte [0x1800647fb], r13b
jne 0x1800074f4
mov byte [0x1800647fb], bl
lea rdx, str.mods::shader_attached.
mov ecx, 3
call fcn.18002dfa0
lea rcx, [0x180020b60]
call fcn.180010110
lea rcx, [0x18001e200]
call fcn.18000fe40
mov rcx, qword [r14 + 8]
mov rax, qword [rcx]
cmp rax, rcx
je 0x180006db3
nop word [rax + rax]
cmp qword [rax + 0x40], 0
je 0x180006d9e
mov byte [0x1800647f8], 1
cmp dword [rax + 0x38], 0xffffffff
je 0x180006dab
mov byte [0x1800647fa], 1
mov rax, qword [rax]
cmp rax, rcx
jne 0x180006d90
cmp byte [0x1800647fa], 0
jne 0x180006dc5
cmp byte [0x18006476f], 0
je 0x180006dd1
lea rcx, [0x180025560]
call fcn.180010590
cmp byte [0x1800647f8], 0
jne 0x180006de3
cmp byte [0x1800647f9], 0
je 0x180006dec
mov eax, r13d
xchg byte [0x180064004], al
cmp byte [0x18006476c], 0
jne 0x180006e92
cmp byte [0x18006476b], 0
jne 0x180006e92
mov rdi, qword [r14 + 8]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x180006ebd
lea r12, [0x1800647f0]
nop dword [rax]
mov rax, qword [rbx + 0x28]
cmp qword [rbx + 0x20], rax
je 0x180006e88
cmp qword [rbx + 0x40], 0
jne 0x180006e7c
cmp dword [rbx + 0x38], 0xffffffff
jne 0x180006e7c
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x20], eax
mov qword [rbp + 0x38], r12
mov rcx, r12
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov byte [rbp + 0x40], 1
lea r8, [rsp + 0x20]
lea rdx, [rbp + 0x48]
lea rcx, [0x180064800]
call fcn.18000d260
mov rcx, qword [rax]
add rcx, 0x18
lea rdx, [rbx + 0x20]
call fcn.180014750
nop
mov rcx, r12
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
lea rdx, [rbx + 0x20]
mov ecx, dword [rbx + 0x10]
call fcn.180028ab0
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x180006e20
jmp 0x180006ebd
mov rdi, qword [r14 + 8]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x180006ebd
nop
lea rdx, [rbx + 0x20]
mov rax, qword [rdx + 8]
cmp qword [rdx], rax
je 0x180006eb5
mov ecx, dword [rbx + 0x10]
call fcn.180028ab0
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x180006ea0
mov edx, dword [0x180064f08]
mov rax, qword gs:[0x58]
mov ecx, 0x2c
mov rbx, qword [rax + rdx*8]
add rbx, rcx
mov eax, dword [rbx]
cmp dword [0x180064de8], eax
jg 0x180007567
mov rax, qword [0x180064de0]
test rax, rax
je 0x180006f00
lea rdx, [0x180020640]
mov ecx, 0x34
call rax
mov eax, dword [rbx]
cmp dword [0x180064df8], eax
jg 0x1800075af
mov rax, qword [0x180064df0]
test rax, rax
je 0x180006f28
lea rdx, [0x180020630]
mov ecx, 0x36
call rax
mov eax, dword [rbx]
cmp dword [0x180064e08], eax
jg 0x1800075f7
mov rax, qword [0x180064e00]
test rax, rax
je 0x180006f50
lea rdx, [0x180020640]
mov ecx, 0x35
call rax
mov eax, dword [rbx]
cmp dword [0x180064e18], eax
jg 0x18000763f
mov rax, qword [0x180064e10]
test rax, rax
je 0x180006f78
lea rdx, [0x180020650]
mov ecx, 0x37
call rax
lea rdi, [0x1800648b0]
cmp rdi, r14
je 0x180006fc0
mov qword [rsp + 0x20], rdi
mov eax, dword [r14]
mov dword [0x1800648b0], eax
mov r8, qword [r14 + 8]
mov rdx, qword [r8]
lea rcx, [0x1800648b8]
call fcn.180007ca0
mov rdx, qword [0x1800648c0]
mov rcx, rdi
call fcn.18002afd0
mov rdx, rax
mov rcx, rdi
call fcn.18002b070
nop
lea r12, [0x180059de8]
mov qword [rsp + 0x30], r12
lea rax, [0x180059df0]
mov qword [rsp + 0x40], rax
lea rcx, [rbp - 0x38]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rsp + 0x20], 1
xor r8d, r8d
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x30]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64____ptr64]
nop
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rsi, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + rcx + 0x30], rsi
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x2c], edx
lea rcx, [rsp + 0x48]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + 0x48], rax
mov qword [rbp - 0x50], r13
mov dword [rbp - 0x48], r13d
lea rdx, str.mods::shader_Attached_Custom_Shaders:
lea rcx, [rsp + 0x40]
call fcn.180005fe0
mov rdx, qword [0x1800648c0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64_____ptr64]
lea rdx, str._from
lea rcx, [rsp + 0x40]
call fcn.180005fe0
mov rdx, r14
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___void_const____ptr64____ptr64]
lea rdx, str._to
lea rcx, [rsp + 0x40]
call fcn.180005fe0
mov rdx, rdi
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___void_const____ptr64____ptr64]
lea rdx, [0x180059e30]
lea rcx, [rsp + 0x40]
call fcn.180005fe0
lea rdx, [rbp + 0x48]
lea rcx, [rsp + 0x30]
call fcn.18002e890
nop
cmp qword [rax + 0x18], 0xf
jbe 0x1800070cb
mov rax, qword [rax]
mov rdx, rax
mov ecx, 3
call fcn.18002dfa0
nop
mov rdx, qword [rbp + 0x60]
cmp rdx, 0xf
jbe 0x180007118
inc rdx
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007112
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180007112
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18003019c
nop
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x30], rsi
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x2c], edx
lea rcx, [rsp + 0x48]
call fcn.1800136c0
lea rcx, [rsp + 0x50]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp - 0x38]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
movzx eax, byte [0x18006476b]
test al, al
jne 0x18000716e
test r15, r15
je 0x1800074f4
jmp 0x180007173
test r15, r15
je 0x180007185
mov qword [0x180064888], 0x17
mov qword [0x180064880], r15
test al, al
jne 0x1800071b1
mov eax, dword [rbx]
cmp dword [0x180064e28], eax
jg 0x180007687
mov rax, qword [0x180064e20]
test rax, rax
je 0x1800071b1
lea rdx, [0x18001bba0]
mov ecx, 0x1e
call rax
lea rcx, [0x180022d30]
call fcn.180010230
lea rcx, [0x18001eee0]
call fcn.1800102c0
cmp byte [0x18006476b], 0
je 0x180007212
mov eax, dword [rbx]
cmp dword [0x180064e38], eax
jg 0x1800076cf
mov rax, qword [0x180064e30]
test rax, rax
je 0x1800071fa
lea rdx, [0x180026ba0]
mov ecx, 0x2e
call rax
lea rcx, [0x180026c80]
call fcn.180010470
lea rcx, [0x180019b90]
call fcn.180010500
mov qword [rsp + 0x30], r12
lea rax, [0x180059df0]
mov qword [rsp + 0x40], rax
lea rcx, [rbp - 0x38]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rsp + 0x20], 3
xor r8d, r8d
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x30]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64____ptr64]
nop
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x30], rsi
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x2c], edx
lea rcx, [rsp + 0x48]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + 0x48], rax
mov qword [rbp - 0x50], r13
mov dword [rbp - 0x48], r13d
lea rdx, str.mods::shader_Attached_Injections:
lea rcx, [rsp + 0x40]
call fcn.180005fe0
mov rdx, qword [0x180064888]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64_____ptr64]
lea rdx, str._at
lea rcx, [rsp + 0x40]
call fcn.180005fe0
mov rdx, qword [0x180064880]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___void_const____ptr64____ptr64]
lea rdx, [0x180059e30]
lea rcx, [rsp + 0x40]
call fcn.180005fe0
lea rdx, [rbp + 0x48]
lea rcx, [rsp + 0x30]
call fcn.18002e890
nop
cmp qword [rax + 0x18], 0xf
jbe 0x1800072f6
mov rax, qword [rax]
mov rdx, rax
mov ecx, 3
call fcn.18002dfa0
nop
mov rdx, qword [rbp + 0x60]
cmp rdx, 0xf
jbe 0x180007343
inc rdx
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000733d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000733d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18003019c
nop
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x30], rsi
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x2c], edx
lea rcx, [rsp + 0x48]
call fcn.1800136c0
lea rcx, [rsp + 0x50]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp - 0x38]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
jmp 0x1800074f4
lea rcx, [0x180020b60]
call fcn.1800108f0
lea rcx, [0x18001e200]
call fcn.1800106b0
mov edx, dword [0x180064f08]
mov rax, qword gs:[0x58]
mov ecx, 0x2c
mov rbx, qword [rax + rdx*8]
add rbx, rcx
mov eax, dword [rbx]
cmp dword [0x180064e48], eax
jg 0x180007717
mov rax, qword [0x180064e40]
test rax, rax
je 0x1800073e3
lea rdx, [0x180020640]
mov ecx, 0x34
call rax
mov eax, dword [rbx]
cmp dword [0x180064e58], eax
jg 0x18000775f
mov rax, qword [0x180064e50]
test rax, rax
je 0x18000740b
lea rdx, [0x180020630]
mov ecx, 0x36
call rax
mov eax, dword [rbx]
cmp dword [0x180064e68], eax
jg 0x1800077a7
mov rax, qword [0x180064e60]
test rax, rax
je 0x180007433
lea rdx, [0x180020640]
mov ecx, 0x35
call rax
mov eax, dword [rbx]
cmp dword [0x180064e78], eax
jg 0x1800077ef
mov rax, qword [0x180064e70]
test rax, rax
je 0x18000745b
lea rdx, [0x180020650]
mov ecx, 0x37
call rax
mov eax, dword [rbx]
cmp dword [0x180064e88], eax
jg 0x180007837
mov rax, qword [0x180064e80]
test rax, rax
je 0x180007483
lea rdx, [0x18001bba0]
mov ecx, 0x1e
call rax
lea rcx, [0x180022d30]
call fcn.180010980
lea rcx, [0x18001eee0]
call fcn.180010a10
mov eax, dword [rbx]
cmp dword [0x180064e98], eax
jg 0x18000787f
mov rax, qword [0x180064e90]
test rax, rax
je 0x1800074c3
lea rdx, [0x180026ba0]
mov ecx, 0x2e
call rax
mov eax, dword [rbx]
cmp dword [0x180064ea8], eax
jg 0x180007523
mov rax, qword [0x180064ea0]
test rax, rax
je 0x1800074e7
lea rdx, [0x180026c80]
mov ecx, 0x2f
call rax
lea rcx, [0x180019b90]
call fcn.180010aa0
nop
mov rcx, r14
call fcn.180012df0
mov rcx, qword [rbp + 0x68]
xor rcx, rsp
call fcn.180030970
mov rbx, qword [rsp + 0x1b0]
add rsp, 0x170
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, [0x180064ea8]
call fcn.18003063c
cmp dword [0x180064ea8], 0xffffffff
jne 0x1800074cd
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180064ea0], rax
lea rcx, [0x180064ea8]
call fcn.1800305d0
jmp 0x1800074cd
lea rcx, [0x180064de8]
call fcn.18003063c
cmp dword [0x180064de8], 0xffffffff
jne 0x180006ee6
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180064de0], rax
lea rcx, [0x180064de8]
call fcn.1800305d0
jmp 0x180006ee6
lea rcx, [0x180064df8]
call fcn.18003063c
cmp dword [0x180064df8], 0xffffffff
jne 0x180006f0e
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180064df0], rax
lea rcx, [0x180064df8]
call fcn.1800305d0
jmp 0x180006f0e
lea rcx, [0x180064e08]
call fcn.18003063c
cmp dword [0x180064e08], 0xffffffff
jne 0x180006f36
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180064e00], rax
lea rcx, [0x180064e08]
call fcn.1800305d0
jmp 0x180006f36
lea rcx, [0x180064e18]
call fcn.18003063c
cmp dword [0x180064e18], 0xffffffff
jne 0x180006f5e
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180064e10], rax
lea rcx, [0x180064e18]
call fcn.1800305d0
jmp 0x180006f5e
lea rcx, [0x180064e28]
call fcn.18003063c
cmp dword [0x180064e28], 0xffffffff
jne 0x180007197
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180064e20], rax
lea rcx, [0x180064e28]
call fcn.1800305d0
jmp 0x180007197
lea rcx, [0x180064e38]
call fcn.18003063c
cmp dword [0x180064e38], 0xffffffff
jne 0x1800071e0
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180064e30], rax
lea rcx, [0x180064e38]
call fcn.1800305d0
jmp 0x1800071e0
lea rcx, [0x180064e48]
call fcn.18003063c
cmp dword [0x180064e48], 0xffffffff
jne 0x1800073c9
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180064e40], rax
lea rcx, [0x180064e48]
call fcn.1800305d0
jmp 0x1800073c9
lea rcx, [0x180064e58]
call fcn.18003063c
cmp dword [0x180064e58], 0xffffffff
jne 0x1800073f1
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180064e50], rax
lea rcx, [0x180064e58]
call fcn.1800305d0
jmp 0x1800073f1
lea rcx, [0x180064e68]
call fcn.18003063c
cmp dword [0x180064e68], 0xffffffff
jne 0x180007419
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180064e60], rax
lea rcx, [0x180064e68]
call fcn.1800305d0
jmp 0x180007419
lea rcx, [0x180064e78]
call fcn.18003063c
cmp dword [0x180064e78], 0xffffffff
jne 0x180007441
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180064e70], rax
lea rcx, [0x180064e78]
call fcn.1800305d0
jmp 0x180007441
lea rcx, [0x180064e88]
call fcn.18003063c
cmp dword [0x180064e88], 0xffffffff
jne 0x180007469
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180064e80], rax
lea rcx, [0x180064e88]
call fcn.1800305d0
jmp 0x180007469
lea rcx, [0x180064e98]
call fcn.18003063c
cmp dword [0x180064e98], 0xffffffff
jne 0x1800074a9
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180064e90], rax
lea rcx, [0x180064e98]
call fcn.1800305d0
jmp 0x1800074a9