Function at 0x18002a4d0
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x60
mov edi, edx
mov rbx, rcx
mov eax, edx
test edx, edx
je 0x18002a64c
cmp eax, 1
je 0x18002a509
test edx, edx
je 0x18002a6b9
cmp eax, 1
je 0x18002a5c9
jmp 0x18002a6fc
call fcn.180029840
mov rsi, rax
xor ecx, ecx
call fcn.1800298b0
mov rbx, rax
test rax, rax
je 0x18002a63a
lea rdx, str.ReShadeRegisterAddon
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x18002a63a
mov edx, 0xd
mov rcx, rsi
call rax
test al, al
je 0x18002a63a
lea rdx, str.ReShadeGetImGuiFunctionTable
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x18002a63a
mov ecx, 0x4a60
call rax
mov qword [0x1801587c0], rax
test rax, rax
je 0x18002a63a
mov byte [0x180158003], 0
mov byte [0x180158002], 0
lea rcx, [0x18001ce00]
call fcn.18000dfb0
lea rcx, [0x18001b150]
call fcn.18000dce0
lea rcx, [0x180021490]
call fcn.18000de90
lea rcx, [0x18001c8d0]
call fcn.18000df20
lea rcx, [0x1800221e0]
call fcn.18000e3a0
cmp byte [0x180158706], 0
jne 0x18002a6fc
mov byte [0x180158706], 1
lea rax, [0x180158598]
mov qword [0x180158798], rax
lea rax, [0x1800225f0]
mov qword [0x180158738], rax
lea rdx, str.renodx_preset1
xor ecx, ecx
call fcn.180016ac0
mov edx, dword [0x180158d40]
mov rax, qword gs:[0x58]
mov ecx, 0x2c
mov rax, qword [rax + rdx*8]
mov eax, dword [rcx + rax]
cmp dword [0x180158820], eax
jg 0x18002a806
mov rax, qword [0x180158818]
jmp 0x18002a6e7
xor eax, eax
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x60
pop rdi
ret
lea rcx, [0x18001ce00]
call fcn.18000e790
lea rcx, [0x18001b150]
call fcn.18000e4c0
lea rcx, [0x180021490]
call fcn.18000e670
lea rcx, [0x18001c8d0]
call fcn.18000e700
lea rcx, [0x1800221e0]
call fcn.18000eb80
mov rcx, rbx
call fcn.180029840
mov rbx, rax
xor ecx, ecx
call fcn.1800298b0
test rax, rax
je 0x18002a6b9
lea rdx, str.ReShadeUnregisterAddon
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x18002a6b9
mov rcx, rbx
call rax
mov edx, dword [0x180158d40]
mov rax, qword gs:[0x58]
mov ecx, 0x2c
mov rax, qword [rax + rdx*8]
mov eax, dword [rcx + rax]
cmp dword [0x180158830], eax
jg 0x18002a7be
mov rax, qword [0x180158828]
test rax, rax
je 0x18002a6fc
lea rdx, [0x1800231f0]
lea rcx, str.RenoDX
call rax
mov ecx, edi
call fcn.180025a50
lea rax, [rsp + 0x20]
mov qword [rsp + 0x88], rax
mov eax, dword [0x180158550]
mov dword [rsp + 0x20], eax
xor ebx, ebx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rbx
mov ecx, 0x58
call fcn.18002a9b0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x28], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rbx
mov rcx, qword [0x180158580]
mov qword [rsp + 0x50], rcx
mov rcx, qword [0x180158588]
mov qword [rsp + 0x58], rcx
mov rdx, qword [0x180158570]
sub rdx, qword [0x180158568]
sar rdx, 3
mov r8, rax
lea rcx, [rsp + 0x38]
call fcn.1800266d0
mov r8, qword [0x180158558]
mov rdx, qword [r8]
lea rcx, [rsp + 0x20]
call fcn.1800095d0
nop
lea r8, [0x1801584f0]
lea rdx, [rsp + 0x20]
mov ecx, edi
call fcn.180005800
mov eax, 1
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x60
pop rdi
ret
lea rcx, [0x180158830]
call fcn.18002ae8c
cmp dword [0x180158830], 0xffffffff
jne 0x18002a6e0
xor ecx, ecx
call fcn.1800298b0
mov rcx, rax
lea rdx, str.ReShadeUnregisterOverlay
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180158828], rax
lea rcx, [0x180158830]
call fcn.18002ae20
jmp 0x18002a6e0
lea rcx, [0x180158820]
call fcn.18002ae8c
cmp dword [0x180158820], 0xffffffff
jne 0x18002a62e
xor ecx, ecx
call fcn.1800298b0
mov rcx, rax
lea rdx, str.ReShadeRegisterOverlay
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180158818], rax
lea rcx, [0x180158820]
call fcn.18002ae20
mov rax, qword [0x180158818]
jmp 0x18002a6e7