Function at 0x1800c3620
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
xor edi, edi
cmp byte [0x1802677cd], dil
je 0x1800c3747
mov dword [rbp + 0x50], 0xffff96af
mov eax, dword [rbp + 0x50]
mov dword [rbp + 0x58], eax
mov rcx, qword [0x1802676e8]
mov rax, qword [rcx]
lea rbx, [0x18022bcf8]
mov r9, rbx
lea r8, str.__s_
lea rdx, [rbp + 0x58]
call qword [rax + 0xb8]
mov rcx, qword [0x1802676e8]
mov rax, qword [rcx]
mov dword [rbp + 0x50], 0xffffffff
lea rdi, str.Cancelled
mov r9, rdi
lea r8, [0x18023b6b4]
lea rdx, [rbp + 0x50]
call qword [rax + 0xb8]
lea rsi, [0x18023b6f8]
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], 8
mov qword [rbp - 0x80], rbx
movabs r14, 0xb000000000000000
mov qword [rsp + 0x70], r14
mov qword [rbp - 0x78], rdi
movabs r15, 0xb000000000000008
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x40], 2
lea rax, [rsp + 0x70]
mov qword [rsp + 0x48], rax
vmovups xmm0, xmmword [rsp + 0x40]
vmovdqa xmmword [rsp + 0x40], xmm0
vmovups xmm1, xmmword [rsp + 0x60]
vmovdqa xmmword [rbp - 0x50], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x70]
call fcn.1800b7a90
lea rcx, [rbp - 0x70]
cmp qword [rbp - 0x58], 0xf
cmova rcx, qword [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea rcx, [rbp - 0x70]
call fcn.1800a0370
jmp 0x1800c3abb
mov byte [0x1802677cb], 1
lea rsi, [0x18023b6f8]
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], 8
lea r13, [0x18022e8a8]
mov qword [rbp - 0x30], r13
movabs r14, 0xb000000000000000
mov qword [rbp - 0x40], r14
lea rax, str.U::Hooks.Unload___
mov qword [rbp - 0x28], rax
movabs r15, 0xb000000000000008
mov qword [rbp - 0x38], r15
mov qword [rsp + 0x60], 2
lea rax, [rbp - 0x40]
mov qword [rsp + 0x68], rax
vmovups xmm0, xmmword [rsp + 0x60]
vmovdqa xmmword [rbp], xmm0
vmovups xmm1, xmmword [rsp + 0x50]
vmovdqa xmmword [rsp + 0x50], xmm1
lea r8, [rbp]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x20]
call fcn.1800b7a90
lea rcx, [rbp - 0x20]
cmp qword [rbp - 8], 0xf
cmova rcx, qword [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea rcx, [rbp - 0x20]
call fcn.1800a0370
mov rbx, rdi
xor eax, eax
mov r12d, 1
lock cmpxchg dword [0x1802663c8], r12d
je 0x1800c3826
cmp rbx, 0x20
jae 0x1800c380d
xor ecx, ecx
jmp 0x1800c3810
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x1802663c8], r12d
jne 0x1800c3803
cmp qword [0x1802663d0], 0
je 0x1800c38ab
xor ecx, ecx
call fcn.1800ac620
test eax, eax
jne 0x1800c38ab
mov rcx, qword [0x18027a360]
mov qword [0x18027a360], rdi
test rcx, rcx
je 0x1800c386b
mov rbx, qword [rcx]
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, rbx
test rbx, rbx
jne 0x1800c3852
mov r8, qword [0x18027a350]
xor edx, edx
mov rcx, qword [0x1802663d0]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [0x1802663d0]
call qword [sym.imp.KERNEL32.dll_HeapDestroy]
mov qword [0x1802663d0], rdi
mov qword [0x18027a350], rdi
mov qword [0x18027a358], rdi
xchg dword [0x1802663c8], edi
jmp 0x1800c38cd
xchg dword [0x1802663c8], edi
mov r9d, 0x10
lea r8, str.Error
lea rdx, str.MH_failed_to_unload_all_hooks_
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
mov r8, qword [0x180279540]
mov edx, 0xfffffffc
mov rcx, qword [0x180267ae0]
call qword [sym.imp.USER32.dll_SetWindowLongPtrA]
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], 8
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x70], r14
lea rax, str.U::BytePatches.Unload___
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x68], r15
mov qword [rsp + 0x40], 2
lea rax, [rbp - 0x70]
mov qword [rsp + 0x48], rax
vmovups xmm0, xmmword [rsp + 0x40]
vmovdqa xmmword [rbp - 0x50], xmm0
vmovups xmm1, xmmword [rsp + 0x50]
vmovdqa xmmword [rsp + 0x40], xmm1
lea r8, [rbp - 0x50]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.1800b7a90
lea rcx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea rcx, [rsp + 0x70]
call fcn.1800a0370
call fcn.1800b34d0
mov dword [rbp + 0x50], 0xffffffff
mov byte [rsp + 0x30], 1
xor r9d, r9d
mov r8d, dword [rbp + 0x50]
lea rdx, str.H::Events.Unload___
mov rcx, r13
call fcn.1801ad530
mov rcx, qword [0x180267798]
mov rax, qword [rcx]
lea rdx, [0x180262728]
call qword [rax + 0x28]
cmp byte [0x1802677c8], 0
je 0x1800c39bd
mov rcx, qword [0x1802677a8]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x1a0]
call fcn.18018e8b0
mov rcx, qword [0x180267730]
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
test eax, eax
je 0x1800c39fe
mov rbx, qword [0x180268200]
test rbx, rbx
je 0x1800c39fe
mov rcx, qword [0x180267730]
mov rax, qword [rcx]
call qword [rax + 0x108]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x7f8]
lea rdx, str.cl_wpn_sway_interp
call fcn.1801b0360
test rax, rax
je 0x1800c3a1d
lea rcx, [rax + 0x30]
mov rax, qword [rcx]
vxorps xmm1, xmm1, xmm1
call qword [rax + 8]
lea rdx, str.cl_wpn_sway_scale
call fcn.1801b0360
test rax, rax
je 0x1800c3a3c
lea rcx, [rax + 0x30]
mov rax, qword [rcx]
vxorps xmm1, xmm1, xmm1
call qword [rax + 8]
mov ecx, 0xfa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov dword [rbp + 0x50], 0xffffffff
mov byte [rsp + 0x30], 1
xor r9d, r9d
mov r8d, dword [rbp + 0x50]
lea rdx, str.U::ConVars.Unload___
mov rcx, r13
call fcn.1801ad530
call fcn.1801b0330
mov dword [rbp + 0x50], 0xffffffff
mov byte [rsp + 0x30], 1
xor r9d, r9d
mov r8d, dword [rbp + 0x50]
lea rdx, str.F::Materials.UnloadMaterials___
mov rcx, r13
call fcn.1801ad530
call fcn.1801803b0
mov dword [rbp + 0x50], 0xffff96af
mov byte [rsp + 0x30], 1
mov r9b, 1
mov r8d, dword [rbp + 0x50]
lea rdx, str.Unloaded
lea rcx, [0x18022bcf8]
call fcn.1801ad530
mov rbx, qword [rsp + 0x160]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret