Function at 0x18002a1e0
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
sub rsp, 0x20
test ecx, ecx
je 0x18002a320
cmp ecx, 1
jne 0x18002a435
cmp byte [0x180064768], 0
jne 0x18002a435
mov byte [0x180064768], cl
lea rdx, str.utils::shader_attached.
mov ecx, 3
call fcn.18002dfa0
lea rcx, [0x180020de0]
call fcn.180010110
lea rcx, [0x18001e440]
call fcn.18000fe40
lea rcx, [0x180020710]
call fcn.18000fed0
mov rax, qword gs:[0x58]
mov edx, dword [0x180064f08]
mov ecx, 0x2c
mov rbx, qword [rax + rdx*8]
add rbx, rcx
mov eax, dword [rbx]
cmp dword [0x180064a98], eax
jg 0x18002a47c
mov rax, qword [0x180064a90]
test rax, rax
je 0x18002a282
lea rdx, [0x180027ca0]
mov ecx, 0x46
call rax
lea rcx, [0x18001df20]
call fcn.18000ff60
mov eax, dword [rbx]
cmp dword [0x180064ab8], eax
jg 0x18002a4c4
mov rax, qword [0x180064ab0]
test rax, rax
je 0x18002a2b6
lea rdx, [0x18001b620]
mov ecx, 0x1b
call rax
mov eax, dword [rbx]
cmp dword [0x180064ac8], eax
jg 0x18002a50c
mov rax, qword [0x180064ac0]
test rax, rax
je 0x18002a2de
lea rdx, [0x180022760]
mov ecx, 0x1a
call rax
mov eax, dword [rbx]
cmp dword [0x180064ad8], eax
jg 0x18002a554
mov rax, qword [0x180064ad0]
test rax, rax
je 0x18002a306
lea rdx, [0x180019c70]
mov ecx, 0x2a
call rax
mov eax, dword [rbx]
cmp dword [0x180064ae8], eax
jg 0x18002a59c
mov rax, qword [0x180064ae0]
jmp 0x18002a41c
lea rcx, [0x180020de0]
call fcn.1800108f0
lea rcx, [0x18001e440]
call fcn.1800106b0
lea rcx, [0x180020710]
call fcn.180010740
mov rax, qword gs:[0x58]
mov edx, dword [0x180064f08]
mov ecx, 0x2c
mov rbx, qword [rax + rdx*8]
add rbx, rcx
mov eax, dword [rbx]
cmp dword [0x180064b08], eax
jg 0x18002a5eb
mov rax, qword [0x180064b00]
test rax, rax
je 0x18002a387
lea rdx, [0x180027ca0]
mov ecx, 0x46
call rax
lea rcx, [0x18001df20]
call fcn.1800107d0
mov eax, dword [rbx]
cmp dword [0x180064b28], eax
jg 0x18002a633
mov rax, qword [0x180064b20]
test rax, rax
je 0x18002a3bb
lea rdx, [0x18001b620]
mov ecx, 0x1b
call rax
mov eax, dword [rbx]
cmp dword [0x180064b38], eax
jg 0x18002a67b
mov rax, qword [0x180064b30]
test rax, rax
je 0x18002a3e3
lea rdx, [0x180022760]
mov ecx, 0x1a
call rax
mov eax, dword [rbx]
cmp dword [0x180064b48], eax
jg 0x18002a6c3
mov rax, qword [0x180064b40]
test rax, rax
je 0x18002a40b
lea rdx, [0x180019c70]
mov ecx, 0x2a
call rax
mov eax, dword [rbx]
cmp dword [0x180064b58], eax
jg 0x18002a43b
mov rax, qword [0x180064b50]
test rax, rax
je 0x18002a435
lea rdx, [0x18001ea60]
mov ecx, 0x1c
add rsp, 0x20
pop rbx
jmp rax
add rsp, 0x20
pop rbx
ret
lea rcx, [0x180064b58]
call fcn.18003063c
cmp dword [0x180064b58], 0xffffffff
jne 0x18002a415
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064b58]
mov qword [0x180064b50], rax
call fcn.1800305d0
jmp 0x18002a415
lea rcx, [0x180064a98]
call fcn.18003063c
cmp dword [0x180064a98], 0xffffffff
jne 0x18002a268
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064a98]
mov qword [0x180064a90], rax
call fcn.1800305d0
jmp 0x18002a268
lea rcx, [0x180064ab8]
call fcn.18003063c
cmp dword [0x180064ab8], 0xffffffff
jne 0x18002a29c
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064ab8]
mov qword [0x180064ab0], rax
call fcn.1800305d0
jmp 0x18002a29c
lea rcx, [0x180064ac8]
call fcn.18003063c
cmp dword [0x180064ac8], 0xffffffff
jne 0x18002a2c4
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064ac8]
mov qword [0x180064ac0], rax
call fcn.1800305d0
jmp 0x18002a2c4
lea rcx, [0x180064ad8]
call fcn.18003063c
cmp dword [0x180064ad8], 0xffffffff
jne 0x18002a2ec
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064ad8]
mov qword [0x180064ad0], rax
call fcn.1800305d0
jmp 0x18002a2ec
lea rcx, [0x180064ae8]
call fcn.18003063c
cmp dword [0x180064ae8], 0xffffffff
jne 0x18002a314
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064ae8]
mov qword [0x180064ae0], rax
call fcn.1800305d0
mov rax, qword [0x180064ae0]
jmp 0x18002a41c
lea rcx, [0x180064b08]
call fcn.18003063c
cmp dword [0x180064b08], 0xffffffff
jne 0x18002a36d
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064b08]
mov qword [0x180064b00], rax
call fcn.1800305d0
jmp 0x18002a36d
lea rcx, [0x180064b28]
call fcn.18003063c
cmp dword [0x180064b28], 0xffffffff
jne 0x18002a3a1
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064b28]
mov qword [0x180064b20], rax
call fcn.1800305d0
jmp 0x18002a3a1
lea rcx, [0x180064b38]
call fcn.18003063c
cmp dword [0x180064b38], 0xffffffff
jne 0x18002a3c9
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064b38]
mov qword [0x180064b30], rax
call fcn.1800305d0
jmp 0x18002a3c9
lea rcx, [0x180064b48]
call fcn.18003063c
cmp dword [0x180064b48], 0xffffffff
jne 0x18002a3f1
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064b48]
mov qword [0x180064b40], rax
call fcn.1800305d0
jmp 0x18002a3f1