Function at 0x100642210
Capabilities:
Inspect section memory permissions

Disassembly:
push rbp
push r12
push rsi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x80]
mov eax, dword [rdx]
mov rbx, rcx
mov rsi, rdx
test al, 1
je 0x100642245
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 0x100642252
mov edx, dword [rsi + 0xc]
mov dword [rbx + 0x394], edx
test al, 4
je 0x10064225f
mov edx, dword [rsi + 0x10]
mov dword [rbx + 0x144], edx
test al, 8
je 0x10064226c
mov edx, dword [rsi + 0x14]
mov dword [rbx + 0x26c], edx
mov edx, dword [rsi + 0x18]
mov dword [rbx + 0x518], edx
test ah, 2
je 0x100642295
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 0x1006422a6
mov edx, dword [rsi + 0x224]
mov dword [rbx + 0x14c], edx
test ah, 8
je 0x1006422b7
mov edx, dword [rsi + 0x228]
mov dword [rbx + 0x274], edx
test eax, 0x10000000
je 0x1006422c8
mov dword [rbx + 0x410], 1
test al, 0x10
jne 0x100642430
test al, 0x20
jne 0x1006423f0
test al, 0x40
jne 0x1006423b0
test al, 0x80
jne 0x100642370
mov edx, dword [rsi + 0x218]
mov dword [rbx + 0x510], edx
test eax, 0x10000
je 0x100642305
cmp dword [rsi + 0x20], 3
je 0x100642530
mov edx, dword [rsi + 0x24]
test eax, 0x20000
jne 0x100642338
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, 0x28
pop rbx
pop rsi
pop r12
pop rbp
ret
cmp edx, 3
je 0x100642470
mov ecx, dword [rsi + 0x20]
cmp edx, 4
jne 0x100642312
test eax, 0x10000
je 0x100642312
cmp ecx, 3
jne 0x100642312
test al, 8
jne 0x100642363
mov dword [rbx + 0x26c], 0
mov r12, qword [rbx + 0x238]
jmp 0x1006424ad
lea r12, [rbx + 0x4f8]
mov rcx, r12
call sym.vim.exe_free_callback
mov rax, qword [rsi + 0x1e8]
test rax, rax
je 0x100642394
cmp byte [rax], 0
jne 0x100642650
mov qword [rbx + 0x4f8], 0
mov eax, dword [rsi]
jmp 0x1006422e8
lea r12, [rbx + 0x348]
mov rcx, r12
call sym.vim.exe_free_callback
mov rax, qword [rsi + 0x1d0]
test rax, rax
je 0x1006423d4
cmp byte [rax], 0
jne 0x100642630
mov qword [rbx + 0x348], 0
mov eax, dword [rsi]
jmp 0x1006422e0
lea r12, [rbx + 0x220]
mov rcx, r12
call sym.vim.exe_free_callback
mov rax, qword [rsi + 0x1b8]
test rax, rax
je 0x100642414
cmp byte [rax], 0
jne 0x100642610
mov qword [rbx + 0x220], 0
mov eax, dword [rsi]
jmp 0x1006422d8
lea r12, [rbx + 0x4e0]
mov rcx, r12
call sym.vim.exe_free_callback
mov rax, qword [rsi + 0x1a0]
test rax, rax
je 0x100642454
cmp byte [rax], 0
jne 0x1006425f0
mov qword [rbx + 0x4e0], 0
mov eax, dword [rsi]
jmp 0x1006422d0
test al, 8
jne 0x10064247e
mov dword [rbx + 0x26c], 0
test eax, 0x2000000
jne 0x1006426c0
mov r8d, 1
test byte [rsi + 4], 2
jne 0x1006426b0
mov rcx, qword [rsi + 0x140]
mov edx, 1
call fcn.100641780
mov r12, rax
test r12, r12
je 0x100642670
test dword [rsi], 0x40000000
je 0x1006424d1
mov ecx, dword [rsi + 0x16c]
xor eax, eax
test ecx, ecx
sete al
mov dword [rbx + 0x370], eax
mov edx, dword [r12 + 0x1c30]
test edx, edx
jne 0x1006424eb
mov eax, dword [rbx + 0x370]
test eax, eax
je 0x1006426e0
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 0x10064271b
mov ecx, dword [rsi + 0x20]
mov edx, dword [rsi + 0x24]
jmp 0x100642312
test al, 4
jne 0x10064253e
mov dword [rbx + 0x144], 0
test eax, 0x1000000
jne 0x100642680
mov r8d, 1
test byte [rsi + 4], 1
je 0x10064255c
mov r8d, dword [rsi + 0x178]
mov rcx, qword [rsi + 0x138]
xor edx, edx
call fcn.100641780
mov r12, rax
test rax, rax
je 0x1006426a0
test dword [rsi], 0x20000000
je 0x100642593
mov r10d, dword [rsi + 0x168]
xor eax, eax
test r10d, r10d
sete al
mov dword [rbx + 0x248], eax
mov r9d, dword [r12 + 0x1c30]
test r9d, r9d
jne 0x1006425b0
mov r8d, dword [rbx + 0x248]
test r8d, r8d
je 0x100642700
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 0x10064272e
mov eax, dword [rsi]
jmp 0x100642305
lea rdx, [rsi + 0x1a0]
mov rcx, r12
call sym.vim.exe_copy_callback
mov eax, dword [rsi]
jmp 0x1006422d0
lea rdx, [rsi + 0x1b8]
mov rcx, r12
call sym.vim.exe_copy_callback
mov eax, dword [rsi]
jmp 0x1006422d8
lea rdx, [rsi + 0x1d0]
mov rcx, r12
call sym.vim.exe_copy_callback
mov eax, dword [rsi]
jmp 0x1006422e0
lea rdx, [rsi + 0x1e8]
mov rcx, r12
call sym.vim.exe_copy_callback
mov eax, dword [rsi]
jmp 0x1006422e8
mov ecx, dword [rsi + 0x20]
mov edx, dword [rsi + 0x24]
jmp 0x100642312
mov ecx, dword [rsi + 0x154]
call sym.vim.exe_buflist_findnr
mov r12, rax
test rax, rax
jne 0x100642576
jmp 0x10066a098
mov eax, dword [rsi]
jmp 0x100642305
mov r8d, dword [rsi + 0x17c]
jmp 0x100642499
mov ecx, dword [rsi + 0x158]
call sym.vim.exe_buflist_findnr
mov r12, rax
test rax, rax
jne 0x1006424b6
jmp 0x10066a06f
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 0x100642312
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 0x100642305
mov rcx, r12
call fcn.1006416e0
mov ecx, dword [rsi + 0x20]
mov edx, dword [rsi + 0x24]
jmp 0x100642312
mov rcx, r12
call fcn.1006416e0
mov eax, dword [rsi]
jmp 0x100642305
mov rcx, qword [sym.vim.exe_e_nobufnr]
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 0x100642312
mov rcx, qword [sym.vim.exe_e_nobufnr]
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 0x100642305