Function at 0x100668fa0
Capabilities:
Terminate process

Disassembly:
push r12
push rsi
push rbx
sub rsp, 0x40
lea rdx, str.Exiting...
mov dword [sym.vim.exe_exiting], 1
mov r12d, ecx
xor ecx, ecx
call sym.vim.exe_ch_log
mov r9d, dword [sym.vim.exe_exmode_active]
test r9d, r9d
je 0x100668fd6
add r12d, dword [sym.vim.exe_ex_exitval]
mov edx, 5
mov ecx, 0x62
call sym.vim.exe_set_vim_var_type
movsxd rdx, r12d
mov ecx, 0x62
call sym.vim.exe_set_vim_var_nr
mov r8d, dword [0x10072e7bc]
test r8d, r8d
je 0x100669252
call sym.vim.exe_hash_debug_results
cmp dword [sym.vim.exe_v_dying], 1
jle 0x10066907d
mov rax, qword [sym.vim.exe_p_viminfo]
cmp byte [rax], 0
jne 0x10066917a
call sym.vim.exe_profile_dump
mov ecx, dword [sym.vim.exe_did_emsg]
test ecx, ecx
jne 0x1006691ce
mov edx, dword [0x10072e7bc]
test edx, edx
je 0x1006691ed
call sym.vim.exe_job_stop_on_exit
call sym.vim.exe_ruby_end
call sym.vim.exe_python3_end
call sym.vim.exe_perl_end
call sym.vim.exe_netbeans_end
call sym.vim.exe_cs_end
mov eax, dword [sym.vim.exe_garbage_collect_at_exit]
test eax, eax
jne 0x100669267
mov ecx, r12d
add rsp, 0x40
pop rbx
pop rsi
pop r12
jmp sym.vim.exe_mch_exit
mov rdx, qword [sym.vim.exe_first_tabpage]
lea rsi, [rsp + 0x30]
nop dword [rax]
test rdx, rdx
je 0x1006690e5
mov r9, qword [sym.vim.exe_curtab]
mov r8, qword [sym.vim.exe_firstwin]
mov rcx, rdx
mov rax, r8
mov rdx, qword [rdx]
cmp r9, rcx
je 0x1006690b5
mov rax, qword [rcx + 0x20]
test rax, rax
je 0x1006690e0
nop word [rax + rax]
mov rbx, qword [rax + 8]
test rbx, rbx
je 0x1006690d7
cmp qword [rbx + 0xd0], 0xffffffffffffffff
jne 0x100669208
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x1006690c0
test rdx, rdx
jne 0x1006690a3
mov rbx, qword [sym.vim.exe_firstbuf]
test rbx, rbx
je 0x100669143
lea rsi, [rsp + 0x30]
nop word cs:[rax + rax]
cmp qword [rbx + 8], 0
je 0x10066913a
mov rdx, rbx
mov rcx, rsi
call sym.vim.exe_set_bufref
mov rdx, qword [rbx + 0x98]
mov qword [rsp + 0x20], rbx
xor r9d, r9d
mov ecx, 0xc
mov r8, rdx
call sym.vim.exe_apply_autocmds
mov rcx, rsi
call sym.vim.exe_bufref_valid
test eax, eax
je 0x100669143
mov rbx, qword [rbx + 0x68]
test rbx, rbx
jne 0x100669100
call sym.vim.exe_is_autocmd_blocked
test eax, eax
jne 0x1006692ab
mov rax, qword [sym.vim.exe_curbuf]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0x66
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds
mov rax, qword [sym.vim.exe_p_viminfo]
cmp byte [rax], 0
je 0x100669183
xor edx, edx
xor ecx, ecx
call sym.vim.exe_write_viminfo
cmp dword [sym.vim.exe_v_dying], 1
jg 0x100669020
call sym.vim.exe_is_autocmd_blocked
test eax, eax
jne 0x10066927e
mov rax, qword [sym.vim.exe_curbuf]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0x65
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds
call sym.vim.exe_profile_dump
mov ecx, dword [sym.vim.exe_did_emsg]
test ecx, ecx
je 0x100669033
mov dword [sym.vim.exe_no_wait_return], 0
xor ecx, ecx
call sym.vim.exe_wait_return
mov edx, dword [0x10072e7bc]
test edx, edx
jne 0x100669041
mov eax, dword [sym.vim.exe_Rows]
xor edx, edx
lea ecx, [rax - 1]
call sym.vim.exe_windgoto
jmp 0x100669041
mov rdx, rbx
mov rcx, rsi
call sym.vim.exe_set_bufref
mov rdx, qword [rbx + 0x98]
mov qword [rsp + 0x20], rbx
xor r9d, r9d
mov ecx, 0xe
mov r8, rdx
call sym.vim.exe_apply_autocmds
mov rcx, rsi
call sym.vim.exe_bufref_valid
test eax, eax
je 0x100669246
mov qword [rbx + 0xd0], 0xffffffffffffffff
mov rdx, qword [sym.vim.exe_first_tabpage]
jmp 0x100669090
mov eax, dword [sym.vim.exe_Rows]
xor edx, edx
lea ecx, [rax - 1]
call sym.vim.exe_windgoto
jmp 0x100669002
xor ecx, ecx
call sym.vim.exe_garbage_collect
mov ecx, r12d
add rsp, 0x40
pop rbx
pop rsi
pop r12
jmp sym.vim.exe_mch_exit
call sym.vim.exe_unblock_autocmds
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rax, qword [sym.vim.exe_curbuf]
mov ecx, 0x65
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds
call sym.vim.exe_block_autocmds
jmp 0x100669020
call sym.vim.exe_unblock_autocmds
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rax, qword [sym.vim.exe_curbuf]
mov ecx, 0x66
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds
call sym.vim.exe_block_autocmds
jmp 0x10066916e