Function at 0x180025a50
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
sub rsp, 0x20
mov ebx, ecx
call fcn.180025570
mov ecx, ebx
call fcn.180026370
cmp byte [0x18015866a], 0
je 0x180025a74
mov ecx, ebx
call fcn.1800252e0
test ebx, ebx
je 0x180025d43
cmp ebx, 1
jne 0x180025e58
cmp byte [0x180158705], 0
jne 0x180025e58
lea rdx, str.mods::swapchain_attached.
mov byte [0x180158705], bl
mov ecx, 3
call fcn.180029ab0
lea rcx, [0x18001ec80]
call fcn.18000dfb0
lea rcx, [0x18001b800]
call fcn.18000dce0
mov rax, qword gs:[0x58]
mov edx, dword [0x180158d40]
mov ecx, 0x2c
mov rbx, qword [rax + rdx*8]
add rbx, rcx
mov eax, dword [rbx]
cmp dword [0x180158ad0], eax
jg 0x180025e9f
mov rax, qword [0x180158ac8]
test rax, rax
je 0x180025b04
lea rdx, [0x18001abd0]
mov ecx, 7
call rax
lea rcx, [0x180021da0]
call fcn.18000de90
lea rcx, [0x180020960]
call fcn.18000e430
mov eax, dword [rbx]
cmp dword [0x180158ae0], eax
jg 0x180025ee7
mov rax, qword [0x180158ad8]
test rax, rax
je 0x180025b44
lea rdx, [0x1800197c0]
mov ecx, 0xf
call rax
lea rcx, [0x18001c370]
call fcn.18000e040
mov eax, dword [rbx]
cmp dword [0x180158af0], eax
jg 0x180025f2f
mov rax, qword [0x180158ae8]
test rax, rax
je 0x180025b78
lea rdx, [0x18001a1f0]
mov ecx, 0x12
call rax
mov eax, dword [rbx]
cmp dword [0x180158b00], eax
jg 0x180025f77
mov rax, qword [0x180158af8]
test rax, rax
je 0x180025ba0
lea rdx, [0x180021360]
mov ecx, 0x11
call rax
mov eax, dword [rbx]
cmp dword [0x180158b10], eax
jg 0x180025fbf
mov rax, qword [0x180158b08]
test rax, rax
je 0x180025bc8
lea rdx, [0x18001c850]
mov ecx, 0x13
call rax
mov eax, dword [rbx]
cmp dword [0x180158b20], eax
jg 0x180026007
mov rax, qword [0x180158b18]
test rax, rax
je 0x180025bf0
lea rdx, [0x180018040]
mov ecx, 0x38
call rax
mov eax, dword [rbx]
cmp dword [0x180158b30], eax
jg 0x18002604f
mov rax, qword [0x180158b28]
test rax, rax
je 0x180025c18
lea rdx, [0x180023fc0]
mov ecx, 0x3d
call rax
cmp byte [0x18015866a], 0
je 0x180025d29
lea rcx, [0x18001cd50]
call fcn.18000dd70
lea rcx, [0x18001b030]
call fcn.18000de00
lea rcx, [0x180017530]
call fcn.18000e280
lea rcx, [0x180023040]
call fcn.18000e310
lea rcx, [0x180024630]
call fcn.18000e1f0
mov eax, dword [rbx]
cmp dword [0x180158b50], eax
jg 0x180026097
mov rax, qword [0x180158b48]
test rax, rax
je 0x180025c89
lea rdx, [0x1800176e0]
mov ecx, 0x3f
call rax
mov eax, dword [rbx]
cmp dword [0x180158b60], eax
jg 0x1800260df
mov rax, qword [0x180158b58]
test rax, rax
je 0x180025cb1
lea rdx, [0x1800177c0]
mov ecx, 0x40
call rax
mov eax, dword [rbx]
cmp dword [0x180158b70], eax
jg 0x180026127
mov rax, qword [0x180158b68]
test rax, rax
je 0x180025cd9
lea rdx, [0x180017750]
mov ecx, 0x41
call rax
mov eax, dword [rbx]
cmp dword [0x180158b80], eax
jg 0x18002616f
mov rax, qword [0x180158b78]
test rax, rax
je 0x180025d01
lea rdx, [0x180018090]
mov ecx, 0x3b
call rax
mov eax, dword [rbx]
cmp dword [0x180158b90], eax
jg 0x1800261b7
mov rax, qword [0x180158b88]
test rax, rax
je 0x180025d29
lea rdx, [0x1800178c0]
mov ecx, 0x3a
call rax
mov eax, dword [rbx]
cmp dword [0x180158ba0], eax
jg 0x1800261ff
mov rax, qword [0x180158b98]
jmp 0x180025e3f
lea rcx, [0x18001ec80]
call fcn.18000e790
lea rcx, [0x18001b800]
call fcn.18000e4c0
mov rax, qword gs:[0x58]
mov edx, dword [0x180158d40]
mov ecx, 0x2c
mov rbx, qword [rax + rdx*8]
add rbx, rcx
mov eax, dword [rbx]
cmp dword [0x180158bb0], eax
jg 0x18002624e
mov rax, qword [0x180158ba8]
test rax, rax
je 0x180025d9e
lea rdx, [0x18001abd0]
mov ecx, 7
call rax
lea rcx, [0x180021da0]
call fcn.18000e670
lea rcx, [0x180020960]
call fcn.18000ec10
mov eax, dword [rbx]
cmp dword [0x180158bc0], eax
jg 0x180026296
mov rax, qword [0x180158bb8]
test rax, rax
je 0x180025dde
lea rdx, [0x1800197c0]
mov ecx, 0xf
call rax
mov eax, dword [rbx]
cmp dword [0x180158bd0], eax
jg 0x1800262de
mov rax, qword [0x180158bc8]
test rax, rax
je 0x180025e06
lea rdx, [0x18001a1f0]
mov ecx, 0x12
call rax
mov eax, dword [rbx]
cmp dword [0x180158be0], eax
jg 0x180026326
mov rax, qword [0x180158bd8]
test rax, rax
je 0x180025e2e
lea rdx, [0x180021360]
mov ecx, 0x11
call rax
mov eax, dword [rbx]
cmp dword [0x180158bf0], eax
jg 0x180025e5e
mov rax, qword [0x180158be8]
test rax, rax
je 0x180025e58
lea rdx, [0x180024120]
mov ecx, 0x5d
add rsp, 0x20
pop rbx
jmp rax
add rsp, 0x20
pop rbx
ret
lea rcx, [0x180158bf0]
call fcn.18002ae8c
cmp dword [0x180158bf0], 0xffffffff
jne 0x180025e38
xor ecx, ecx
call fcn.1800298b0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180158bf0]
mov qword [0x180158be8], rax
call fcn.18002ae20
jmp 0x180025e38
lea rcx, [0x180158ad0]
call fcn.18002ae8c
cmp dword [0x180158ad0], 0xffffffff
jne 0x180025aea
xor ecx, ecx
call fcn.1800298b0
mov rcx, rax
lea rdx, [0x18014fc88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180158ad0]
mov qword [0x180158ac8], rax
call fcn.18002ae20
jmp 0x180025aea
lea rcx, [0x180158ae0]
call fcn.18002ae8c
cmp dword [0x180158ae0], 0xffffffff
jne 0x180025b2a
xor ecx, ecx
call fcn.1800298b0
mov rcx, rax
lea rdx, [0x18014fc88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180158ae0]
mov qword [0x180158ad8], rax
call fcn.18002ae20
jmp 0x180025b2a
lea rcx, [0x180158af0]
call fcn.18002ae8c
cmp dword [0x180158af0], 0xffffffff
jne 0x180025b5e
xor ecx, ecx
call fcn.1800298b0
mov rcx, rax
lea rdx, [0x18014fc88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180158af0]
mov qword [0x180158ae8], rax
call fcn.18002ae20
jmp 0x180025b5e
lea rcx, [0x180158b00]
call fcn.18002ae8c
cmp dword [0x180158b00], 0xffffffff
jne 0x180025b86
xor ecx, ecx
call fcn.1800298b0
mov rcx, rax
lea rdx, [0x18014fc88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180158b00]
mov qword [0x180158af8], rax
call fcn.18002ae20
jmp 0x180025b86
lea rcx, [0x180158b10]
call fcn.18002ae8c
cmp dword [0x180158b10], 0xffffffff
jne 0x180025bae
xor ecx, ecx
call fcn.1800298b0
mov rcx, rax
lea rdx, [0x18014fc88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180158b10]
mov qword [0x180158b08], rax
call fcn.18002ae20
jmp 0x180025bae
lea rcx, [0x180158b20]
call fcn.18002ae8c
cmp dword [0x180158b20], 0xffffffff
jne 0x180025bd6
xor ecx, ecx
call fcn.1800298b0
mov rcx, rax
lea rdx, [0x18014fc88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180158b20]
mov qword [0x180158b18], rax
call fcn.18002ae20
jmp 0x180025bd6
lea rcx, [0x180158b30]
call fcn.18002ae8c
cmp dword [0x180158b30], 0xffffffff
jne 0x180025bfe
xor ecx, ecx
call fcn.1800298b0
mov rcx, rax
lea rdx, [0x18014fc88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180158b30]
mov qword [0x180158b28], rax
call fcn.18002ae20
jmp 0x180025bfe
lea rcx, [0x180158b50]
call fcn.18002ae8c
cmp dword [0x180158b50], 0xffffffff
jne 0x180025c6f
xor ecx, ecx
call fcn.1800298b0
mov rcx, rax
lea rdx, [0x18014fc88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180158b50]
mov qword [0x180158b48], rax
call fcn.18002ae20
jmp 0x180025c6f
lea rcx, [0x180158b60]
call fcn.18002ae8c
cmp dword [0x180158b60], 0xffffffff
jne 0x180025c97
xor ecx, ecx
call fcn.1800298b0
mov rcx, rax
lea rdx, [0x18014fc88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180158b60]
mov qword [0x180158b58], rax
call fcn.18002ae20
jmp 0x180025c97
lea rcx, [0x180158b70]
call fcn.18002ae8c
cmp dword [0x180158b70], 0xffffffff
jne 0x180025cbf
xor ecx, ecx
call fcn.1800298b0
mov rcx, rax
lea rdx, [0x18014fc88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180158b70]
mov qword [0x180158b68], rax
call fcn.18002ae20
jmp 0x180025cbf
lea rcx, [0x180158b80]
call fcn.18002ae8c
cmp dword [0x180158b80], 0xffffffff
jne 0x180025ce7
xor ecx, ecx
call fcn.1800298b0
mov rcx, rax
lea rdx, [0x18014fc88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180158b80]
mov qword [0x180158b78], rax
call fcn.18002ae20
jmp 0x180025ce7
lea rcx, [0x180158b90]
call fcn.18002ae8c
cmp dword [0x180158b90], 0xffffffff
jne 0x180025d0f
xor ecx, ecx
call fcn.1800298b0
mov rcx, rax
lea rdx, [0x18014fc88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180158b90]
mov qword [0x180158b88], rax
call fcn.18002ae20
jmp 0x180025d0f
lea rcx, [0x180158ba0]
call fcn.18002ae8c
cmp dword [0x180158ba0], 0xffffffff
jne 0x180025d37
xor ecx, ecx
call fcn.1800298b0
mov rcx, rax
lea rdx, [0x18014fc88]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180158ba0]
mov qword [0x180158b98], rax
call fcn.18002ae20
mov rax, qword [0x180158b98]
jmp 0x180025e3f
lea rcx, [0x180158bb0]
call fcn.18002ae8c
cmp dword [0x180158bb0], 0xffffffff
jne 0x180025d84
xor ecx, ecx
call fcn.1800298b0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180158bb0]
mov qword [0x180158ba8], rax
call fcn.18002ae20
jmp 0x180025d84
lea rcx, [0x180158bc0]
call fcn.18002ae8c
cmp dword [0x180158bc0], 0xffffffff
jne 0x180025dc4
xor ecx, ecx
call fcn.1800298b0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180158bc0]
mov qword [0x180158bb8], rax
call fcn.18002ae20
jmp 0x180025dc4
lea rcx, [0x180158bd0]
call fcn.18002ae8c
cmp dword [0x180158bd0], 0xffffffff
jne 0x180025dec
xor ecx, ecx
call fcn.1800298b0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180158bd0]
mov qword [0x180158bc8], rax
call fcn.18002ae20
jmp 0x180025dec
lea rcx, [0x180158be0]
call fcn.18002ae8c
cmp dword [0x180158be0], 0xffffffff
jne 0x180025e14
xor ecx, ecx
call fcn.1800298b0
mov rcx, rax
lea rdx, str.ReShadeUnregisterEvent
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x180158be0]
mov qword [0x180158bd8], rax
call fcn.18002ae20
jmp 0x180025e14