Function at 0x180006370
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rdx
mov ebx, ecx
call fcn.18002a0c0
mov ecx, ebx
call fcn.18002a710
cmp byte [0x18006489c], 0
je 0x18000639b
mov ecx, ebx
call fcn.180029e10
test ebx, ebx
je 0x1800066a9
cmp ebx, 1
jne 0x1800067b8
cmp byte [0x1800648f3], 0
jne 0x1800067b8
lea rdx, str.mods::swapchain_attached.
mov byte [0x1800648f3], bl
mov ecx, 3
call fcn.18002dfa0
lea rcx, [0x180022350]
call fcn.180010110
lea rcx, [0x18001e690]
call fcn.18000fe40
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 [0x180064cb8], eax
jg 0x180006804
mov rax, qword [0x180064cb0]
test rax, rax
je 0x18000642b
lea rdx, [0x18001db30]
mov ecx, 7
call rax
lea rcx, [0x180024cd0]
call fcn.18000fff0
lea rcx, [0x18001f940]
call fcn.180010080
lea rcx, [0x180024110]
call fcn.180010620
mov eax, dword [rbx]
cmp dword [0x180064cc8], eax
jg 0x18000684c
mov rax, qword [0x180064cc0]
test rax, rax
je 0x180006477
lea rdx, [0x18001c7b0]
mov ecx, 0xf
call rax
lea rcx, [0x18001f2a0]
call fcn.1800101a0
mov eax, dword [rbx]
cmp dword [0x180064cd8], eax
jg 0x180006894
mov rax, qword [0x180064cd0]
test rax, rax
je 0x1800064ab
lea rdx, [0x18001d1e0]
mov ecx, 0x12
call rax
mov eax, dword [rbx]
cmp dword [0x180064ce8], eax
jg 0x1800068dc
mov rax, qword [0x180064ce0]
test rax, rax
je 0x1800064d3
lea rdx, [0x180024b20]
mov ecx, 0x11
call rax
mov eax, dword [rbx]
cmp dword [0x180064cf8], eax
jg 0x180006924
mov rax, qword [0x180064cf0]
test rax, rax
je 0x1800064fb
lea rdx, [0x18001f8c0]
mov ecx, 0x13
call rax
mov eax, dword [rbx]
cmp dword [0x180064d08], eax
jg 0x18000696c
mov rax, qword [0x180064d00]
test rax, rax
je 0x180006523
lea rdx, [0x18001af40]
mov ecx, 0x38
call rax
mov eax, dword [rbx]
cmp dword [0x180064d18], eax
jg 0x1800069b4
mov rax, qword [0x180064d10]
test rax, rax
je 0x18000654b
lea rdx, [0x180027cf0]
mov ecx, 0x3d
call rax
cmp byte [0x18006489c], 0
je 0x18000668f
lea rcx, [0x180020810]
call fcn.18000fed0
lea rcx, [0x18001df90]
call fcn.18000ff60
lea rcx, [0x18001a0a0]
call fcn.1800103e0
lea rcx, [0x180026d40]
call fcn.180010470
lea rcx, [0x180028300]
call fcn.180010350
mov eax, dword [rbx]
cmp dword [0x180064d38], eax
jg 0x1800069fc
mov rax, qword [0x180064d30]
test rax, rax
je 0x1800065bc
lea rdx, [0x18001a260]
mov ecx, 0x3f
call rax
mov eax, dword [rbx]
cmp dword [0x180064d48], eax
jg 0x180006a44
mov rax, qword [0x180064d40]
test rax, rax
je 0x1800065e4
lea rdx, [0x18001a340]
mov ecx, 0x40
call rax
mov eax, dword [rbx]
cmp dword [0x180064d58], eax
jg 0x180006a8c
mov rax, qword [0x180064d50]
test rax, rax
je 0x18000660c
lea rdx, [0x18001a2d0]
mov ecx, 0x41
call rax
mov eax, dword [rbx]
cmp dword [0x180064d68], eax
jg 0x180006ad4
mov rax, qword [0x180064d60]
test rax, rax
je 0x180006634
lea rdx, [0x18001b0d0]
mov ecx, 0x3b
call rax
mov eax, dword [rbx]
cmp dword [0x180064d78], eax
jg 0x180006b1c
mov rax, qword [0x180064d70]
test rax, rax
je 0x18000665c
lea rdx, [0x18001a440]
mov ecx, 0x3a
call rax
mov rax, qword [0x180064918]
cmp qword [0x180064910], rax
je 0x18000668f
lea rcx, [0x180025660]
call fcn.180010590
test rdi, rdi
je 0x18000668f
mov qword [0x180064938], 2
mov qword [0x180064930], rdi
mov eax, dword [rbx]
cmp dword [0x180064d88], eax
jg 0x180006b64
mov rax, qword [0x180064d80]
jmp 0x1800067a5
lea rcx, [0x180022350]
call fcn.1800108f0
lea rcx, [0x18001e690]
call fcn.1800106b0
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 [0x180064d98], eax
jg 0x180006bb3
mov rax, qword [0x180064d90]
test rax, rax
je 0x180006704
lea rdx, [0x18001db30]
mov ecx, 7
call rax
lea rcx, [0x180024cd0]
call fcn.180010860
lea rcx, [0x180024110]
call fcn.180010b30
mov eax, dword [rbx]
cmp dword [0x180064da8], eax
jg 0x180006bfb
mov rax, qword [0x180064da0]
test rax, rax
je 0x180006744
lea rdx, [0x18001c7b0]
mov ecx, 0xf
call rax
mov eax, dword [rbx]
cmp dword [0x180064db8], eax
jg 0x180006c43
mov rax, qword [0x180064db0]
test rax, rax
je 0x18000676c
lea rdx, [0x18001d1e0]
mov ecx, 0x12
call rax
mov eax, dword [rbx]
cmp dword [0x180064dc8], eax
jg 0x180006c8b
mov rax, qword [0x180064dc0]
test rax, rax
je 0x180006794
lea rdx, [0x180024b20]
mov ecx, 0x11
call rax
mov eax, dword [rbx]
cmp dword [0x180064dd8], eax
jg 0x1800067c3
mov rax, qword [0x180064dd0]
test rax, rax
je 0x1800067b8
lea rdx, [0x180027e50]
mov ecx, 0x5d
call rax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
lea rcx, [0x180064dd8]
call fcn.18003063c
cmp dword [0x180064dd8], 0xffffffff
jne 0x18000679e
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064dd8]
mov qword [0x180064dd0], rax
call fcn.1800305d0
jmp 0x18000679e
lea rcx, [0x180064cb8]
call fcn.18003063c
cmp dword [0x180064cb8], 0xffffffff
jne 0x180006411
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064cb8]
mov qword [0x180064cb0], rax
call fcn.1800305d0
jmp 0x180006411
lea rcx, [0x180064cc8]
call fcn.18003063c
cmp dword [0x180064cc8], 0xffffffff
jne 0x18000645d
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064cc8]
mov qword [0x180064cc0], rax
call fcn.1800305d0
jmp 0x18000645d
lea rcx, [0x180064cd8]
call fcn.18003063c
cmp dword [0x180064cd8], 0xffffffff
jne 0x180006491
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064cd8]
mov qword [0x180064cd0], rax
call fcn.1800305d0
jmp 0x180006491
lea rcx, [0x180064ce8]
call fcn.18003063c
cmp dword [0x180064ce8], 0xffffffff
jne 0x1800064b9
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064ce8]
mov qword [0x180064ce0], rax
call fcn.1800305d0
jmp 0x1800064b9
lea rcx, [0x180064cf8]
call fcn.18003063c
cmp dword [0x180064cf8], 0xffffffff
jne 0x1800064e1
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064cf8]
mov qword [0x180064cf0], rax
call fcn.1800305d0
jmp 0x1800064e1
lea rcx, [0x180064d08]
call fcn.18003063c
cmp dword [0x180064d08], 0xffffffff
jne 0x180006509
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064d08]
mov qword [0x180064d00], rax
call fcn.1800305d0
jmp 0x180006509
lea rcx, [0x180064d18]
call fcn.18003063c
cmp dword [0x180064d18], 0xffffffff
jne 0x180006531
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064d18]
mov qword [0x180064d10], rax
call fcn.1800305d0
jmp 0x180006531
lea rcx, [0x180064d38]
call fcn.18003063c
cmp dword [0x180064d38], 0xffffffff
jne 0x1800065a2
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064d38]
mov qword [0x180064d30], rax
call fcn.1800305d0
jmp 0x1800065a2
lea rcx, [0x180064d48]
call fcn.18003063c
cmp dword [0x180064d48], 0xffffffff
jne 0x1800065ca
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064d48]
mov qword [0x180064d40], rax
call fcn.1800305d0
jmp 0x1800065ca
lea rcx, [0x180064d58]
call fcn.18003063c
cmp dword [0x180064d58], 0xffffffff
jne 0x1800065f2
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064d58]
mov qword [0x180064d50], rax
call fcn.1800305d0
jmp 0x1800065f2
lea rcx, [0x180064d68]
call fcn.18003063c
cmp dword [0x180064d68], 0xffffffff
jne 0x18000661a
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064d68]
mov qword [0x180064d60], rax
call fcn.1800305d0
jmp 0x18000661a
lea rcx, [0x180064d78]
call fcn.18003063c
cmp dword [0x180064d78], 0xffffffff
jne 0x180006642
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064d78]
mov qword [0x180064d70], rax
call fcn.1800305d0
jmp 0x180006642
lea rcx, [0x180064d88]
call fcn.18003063c
cmp dword [0x180064d88], 0xffffffff
jne 0x18000669d
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, [0x18005b328]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064d88]
mov qword [0x180064d80], rax
call fcn.1800305d0
mov rax, qword [0x180064d80]
jmp 0x1800067a5
lea rcx, [0x180064d98]
call fcn.18003063c
cmp dword [0x180064d98], 0xffffffff
jne 0x1800066ea
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064d98]
mov qword [0x180064d90], rax
call fcn.1800305d0
jmp 0x1800066ea
lea rcx, [0x180064da8]
call fcn.18003063c
cmp dword [0x180064da8], 0xffffffff
jne 0x18000672a
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064da8]
mov qword [0x180064da0], rax
call fcn.1800305d0
jmp 0x18000672a
lea rcx, [0x180064db8]
call fcn.18003063c
cmp dword [0x180064db8], 0xffffffff
jne 0x180006752
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064db8]
mov qword [0x180064db0], rax
call fcn.1800305d0
jmp 0x180006752
lea rcx, [0x180064dc8]
call fcn.18003063c
cmp dword [0x180064dc8], 0xffffffff
jne 0x18000677a
xor ecx, ecx
call fcn.18002dda0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180064dc8]
mov qword [0x180064dc0], rax
call fcn.1800305d0
jmp 0x18000677a