Function at 0x100655750
Capabilities:
Inspect section memory permissions

Disassembly:
push r12
push rsi
push rbx
sub rsp, 0x20
mov eax, dword [rdx]
mov rbx, rcx
mov rsi, rdx
test al, 1
je 0x10065577c
mov edx, dword [rdx + 8]
mov dword [rcx + 0x1c], edx
mov dword [rcx + 0x144], edx
mov dword [rcx + 0x26c], edx
mov dword [rcx + 0x394], edx
test al, 2
je 0x100655789
mov edx, dword [rsi + 0xc]
mov dword [rbx + 0x394], edx
test al, 4
je 0x100655796
mov edx, dword [rsi + 0x10]
mov dword [rbx + 0x144], edx
test al, 8
je 0x1006557a3
mov edx, dword [rsi + 0x14]
mov dword [rbx + 0x26c], edx
mov edx, dword [rsi + 0x18]
mov dword [rbx + 0x518], edx
test ah, 2
je 0x1006557cc
mov edx, dword [rsi + 0x220]
mov dword [rbx + 0x24], edx
mov dword [rbx + 0x14c], edx
mov dword [rbx + 0x274], edx
mov dword [rbx + 0x39c], edx
test ah, 4
je 0x1006557dd
mov edx, dword [rsi + 0x224]
mov dword [rbx + 0x14c], edx
test ah, 8
je 0x1006557ee
mov edx, dword [rsi + 0x228]
mov dword [rbx + 0x274], edx
test eax, 0x10000000
je 0x1006557ff
mov dword [rbx + 0x410], 1
test al, 0x10
jne 0x100655970
test al, 0x20
jne 0x100655930
test al, 0x40
jne 0x1006558f0
test al, 0x80
jne 0x1006558b0
mov edx, dword [rsi + 0x218]
mov dword [rbx + 0x510], edx
test eax, 0x10000
je 0x10065583c
cmp dword [rsi + 0x20], 3
je 0x100655a68
mov edx, dword [rsi + 0x24]
test eax, 0x20000
jne 0x100655870
mov ecx, dword [rsi + 0x20]
mov eax, dword [rsi + 0x28]
mov dword [rbx + 0x148], ecx
mov dword [rbx + 0x270], edx
mov dword [rbx + 0x398], eax
add rsp, 0x20
pop rbx
pop rsi
pop r12
ret
cmp edx, 3
je 0x1006559b0
mov ecx, dword [rsi + 0x20]
cmp edx, 4
jne 0x100655849
test eax, 0x10000
je 0x100655849
cmp ecx, 3
jne 0x100655849
test al, 8
jne 0x10065589b
mov dword [rbx + 0x26c], 0
mov r12, qword [rbx + 0x238]
jmp 0x1006559ed
lea r12, [rbx + 0x4f8]
mov rcx, r12
call sym.vim.exe_free_callback
mov rax, qword [rsi + 0x1e8]
test rax, rax
je 0x1006558d4
cmp byte [rax], 0
jne 0x100655b80
mov qword [rbx + 0x4f8], 0
mov eax, dword [rsi]
jmp 0x10065581f
lea r12, [rbx + 0x348]
mov rcx, r12
call sym.vim.exe_free_callback
mov rax, qword [rsi + 0x1d0]
test rax, rax
je 0x100655914
cmp byte [rax], 0
jne 0x100655b60
mov qword [rbx + 0x348], 0
mov eax, dword [rsi]
jmp 0x100655817
lea r12, [rbx + 0x220]
mov rcx, r12
call sym.vim.exe_free_callback
mov rax, qword [rsi + 0x1b8]
test rax, rax
je 0x100655954
cmp byte [rax], 0
jne 0x100655b40
mov qword [rbx + 0x220], 0
mov eax, dword [rsi]
jmp 0x10065580f
lea r12, [rbx + 0x4e0]
mov rcx, r12
call sym.vim.exe_free_callback
mov rax, qword [rsi + 0x1a0]
test rax, rax
je 0x100655994
cmp byte [rax], 0
jne 0x100655b20
mov qword [rbx + 0x4e0], 0
mov eax, dword [rsi]
jmp 0x100655807
test al, 8
jne 0x1006559be
mov dword [rbx + 0x26c], 0
test eax, 0x2000000
jne 0x100655be0
mov r8d, 1
test byte [rsi + 4], 2
jne 0x100655bc0
mov rcx, qword [rsi + 0x140]
mov edx, 1
call fcn.1006547e0
mov r12, rax
test r12, r12
je 0x100655a59
test dword [rsi], 0x40000000
je 0x100655a0d
mov ecx, dword [rsi + 0x16c]
xor eax, eax
test ecx, ecx
sete al
mov dword [rbx + 0x370], eax
mov edx, dword [r12 + 0x1c80]
test edx, edx
jne 0x100655a27
mov eax, dword [rbx + 0x370]
test eax, eax
je 0x100655c00
mov r8, qword [r12 + 0x88]
lea rdx, str.writing_err_to_buffer__s
mov rcx, rbx
call sym.vim.exe_ch_log
lea rcx, [rbx + 0x360]
mov rdx, r12
call sym.vim.exe_set_bufref
cmp qword [r12 + 8], 0
je 0x100655c3b
mov ecx, dword [rsi + 0x20]
mov edx, dword [rsi + 0x24]
jmp 0x100655849
test al, 4
jne 0x100655a76
mov dword [rbx + 0x144], 0
test eax, 0x1000000
jne 0x100655ba0
mov r8d, 1
test byte [rsi + 4], 1
je 0x100655a94
mov r8d, dword [rsi + 0x178]
mov rcx, qword [rsi + 0x138]
xor edx, edx
call fcn.1006547e0
mov r12, rax
test rax, rax
je 0x100655b16
test dword [rsi], 0x20000000
je 0x100655ac7
mov r10d, dword [rsi + 0x168]
xor eax, eax
test r10d, r10d
sete al
mov dword [rbx + 0x248], eax
mov r9d, dword [r12 + 0x1c80]
test r9d, r9d
jne 0x100655ae4
mov r8d, dword [rbx + 0x248]
test r8d, r8d
je 0x100655c20
mov r8, qword [r12 + 0x88]
lea rdx, str.writing_out_to_buffer__s
mov rcx, rbx
call sym.vim.exe_ch_log
lea rcx, [rbx + 0x238]
mov rdx, r12
call sym.vim.exe_set_bufref
cmp qword [r12 + 8], 0
je 0x100655bcc
mov eax, dword [rsi]
jmp 0x10065583c
lea rdx, [rsi + 0x1a0]
mov rcx, r12
call sym.vim.exe_copy_callback
mov eax, dword [rsi]
jmp 0x100655807
lea rdx, [rsi + 0x1b8]
mov rcx, r12
call sym.vim.exe_copy_callback
mov eax, dword [rsi]
jmp 0x10065580f
lea rdx, [rsi + 0x1d0]
mov rcx, r12
call sym.vim.exe_copy_callback
mov eax, dword [rsi]
jmp 0x100655817
lea rdx, [rsi + 0x1e8]
mov rcx, r12
call sym.vim.exe_copy_callback
mov eax, dword [rsi]
jmp 0x10065581f
mov ecx, dword [rsi + 0x154]
call sym.vim.exe_buflist_findnr
mov r12, rax
test rax, rax
jne 0x100655aaa
jmp 0x10067f281
mov r8d, dword [rsi + 0x17c]
jmp 0x1006559d9
mov rcx, r12
call fcn.100654760
mov eax, dword [rsi]
jmp 0x10065583c
mov ecx, dword [rsi + 0x158]
call sym.vim.exe_buflist_findnr
mov r12, rax
test rax, rax
jne 0x1006559f2
jmp 0x10067f2a6
mov rcx, qword [sym.vim.exe_e_cannot_make_changes_modifiable_is_off]
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
mov ecx, dword [rsi + 0x20]
mov edx, dword [rsi + 0x24]
jmp 0x100655849
mov rcx, qword [sym.vim.exe_e_cannot_make_changes_modifiable_is_off]
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
mov eax, dword [rsi]
jmp 0x10065583c
mov rcx, r12
call fcn.100654760
jmp 0x100655a59
mov rcx, qword [sym.vim.exe_e_buffer_nr_does_not_exist]
movsxd r12, dword [rsi + 0x154]
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r12
mov rcx, rax
call sym.vim.exe_semsg
mov eax, dword [rsi]
jmp 0x10065583c
mov rcx, qword [sym.vim.exe_e_buffer_nr_does_not_exist]
movsxd r12, dword [rsi + 0x158]
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r12
mov rcx, rax
call sym.vim.exe_semsg
mov ecx, dword [rsi + 0x20]
mov edx, dword [rsi + 0x24]
jmp 0x100655849