Function at 0x1005d7d00
Capabilities:
Get file attributes
Read file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x218
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1e0], rcx
mov rbx, rdx
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x80], 0
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x18], rcx
test rcx, rcx
je 0x1005d7fcd
mov rdi, qword [sym.vim.exe_p_verbose]
cmp qword [rdi], 0
jg 0x1005d8b66
mov rcx, qword [rbp + 0x18]
lea rdx, [0x1006c160f]
call sub.msys_2.0.dll_fopen
mov qword [rbp], rax
test rax, rax
je 0x1005d7ee2
mov rax, qword [sym.vim.exe_curbuf]
mov r9, qword [rbp]
mov r8d, 1
mov edx, 9
mov rax, qword [rax]
mov qword [rbp + 0x68], r9
mov qword [rbp + 0x60], rax
lea rax, [rbp + 0x37]
mov rcx, rax
mov qword [rbp - 0x10], rax
call sub.msys_2.0.dll_fread
cmp rax, 1
jne 0x100666a1f
movabs rax, 0x6f446e559f6d6956
cmp qword [rbp + 0x37], rax
jne 0x100666a1f
mov rax, qword [rbp - 0x10]
cmp byte [rax + 8], 0xe5
jne 0x100666a1f
mov rcx, qword [rbp]
call sym.vim.exe_get2c
mov r8d, eax
cdqe
cmp r8d, 0x8002
je 0x1005d7f42
cmp rax, 2
jne 0x100666b90
lea r12, [rbp + 0x40]
lea rsi, [rbp + 0x60]
mov r8d, 0x20
mov rdx, r12
mov rcx, rsi
call fcn.1005d3da0
test eax, eax
je 0x100666b73
mov rcx, rsi
call fcn.1005d4690
mov rdx, qword [rbx + 8]
xor rdx, qword [rbp + 0x48]
mov ecx, eax
mov rax, qword [rbx]
xor rax, qword [rbp + 0x40]
or rdx, rax
jne 0x1005d7e88
mov rax, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
xor rax, qword [r12 + 0x10]
xor rdx, qword [r12 + 0x18]
or rdx, rax
jne 0x1005d7e88
mov rax, qword [sym.vim.exe_curbuf]
mov rdx, qword [rax]
movsxd rax, ecx
cmp qword [rdx], rax
je 0x1005d8090
nop dword [rax]
cmp qword [rdi], 0
jle 0x1005d7fb3
cmp qword [rbp + 0x1e0], 0
je 0x1005d87b1
lea rcx, str.File_contents_changed__cannot_use_undo_info
call sub.msys_intl_8.dll_libintl_gettext
mov edx, 1
mov rcx, rax
call sym.vim.exe_give_warning
xor ecx, ecx
call sym.vim.exe_vim_free
mov rcx, qword [rbp + 0x70]
test rcx, rcx
je 0x1005d7ece
call sym.vim.exe_crypt_free_state
mov rcx, qword [rbp + 0x78]
call sym.vim.exe_vim_free
mov rcx, qword [rbp]
call fcn.10065e4f0
jmp 0x1005d7f18
cmp qword [rbp + 0x1e0], 0
jne 0x1006669db
cmp qword [rdi], 0
jg 0x1006669db
xor ecx, ecx
call sym.vim.exe_vim_free
mov rcx, qword [rbp + 0x70]
test rcx, rcx
je 0x1005d7f0f
call sym.vim.exe_crypt_free_state
mov rcx, qword [rbp + 0x78]
call sym.vim.exe_vim_free
mov rax, qword [rbp + 0x18]
cmp rax, qword [rbp + 0x1e0]
je 0x1005d7f2e
mov rcx, rax
call sym.vim.exe_vim_free
nop
add rsp, 0x218
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov rdx, qword [rax + 0x1c00]
cmp byte [rdx], 0
je 0x100666b4e
mov rcx, qword [rbp]
call sym.vim.exe_crypt_create_from_file
mov qword [rbp + 0x70], rax
test rax, rax
je 0x100666b29
mov ecx, dword [rax]
call sym.vim.exe_crypt_whole_undofile
test eax, eax
je 0x1005d7e18
mov ecx, 0x2000
call sym.vim.exe_alloc
mov qword [rbp + 0x78], rax
test rax, rax
je 0x1005d8ae5
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x80], 0
jmp 0x1005d7e18
cmp qword [rbp + 0x1e0], 0
jne 0x1005d7ea0
xor ecx, ecx
call sym.vim.exe_vim_free
jmp 0x1005d7ec0
mov rax, qword [sym.vim.exe_curbuf]
mov edx, 1
mov qword [rbp + 0x1f0], r8
mov rax, qword [rax]
mov rcx, qword [rax + 0x88]
call fcn.1005d4100
mov qword [rbp + 0x18], rax
mov rdi, rax
test rax, rax
je 0x1005d7f2e
mov r8, qword [rbp + 0x1f0]
lea rdx, [rbp + 0x90]
mov rcx, r8
call sub.msys_2.0.dll_stat
test eax, eax
js 0x1005d7d68
lea rdx, [rbp + 0x110]
mov rcx, rdi
call sub.msys_2.0.dll_stat
test eax, eax
js 0x1005d7d68
mov esi, dword [rbp + 0x128]
cmp dword [rbp + 0xa8], esi
je 0x1005d7d68
call sub.msys_2.0.dll_getuid
cmp esi, eax
je 0x1005d7d68
mov rax, qword [sym.vim.exe_p_verbose]
cmp qword [rax], 0
jle 0x1005d7f2e
call sym.vim.exe_verbose_enter
lea rcx, str.Not_reading_undo_file__owner_differs:__s
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rbp + 0x18]
mov rcx, rax
call sym.vim.exe_smsg
call sym.vim.exe_verbose_leave
jmp 0x1005d7f2e
mov rcx, rsi
call fcn.1005d4690
mov edx, eax
cdqe
mov qword [rbp - 0x38], rax
test rax, rax
js 0x1005d7fc1
mov qword [rbp - 0x28], 0
jne 0x1005d8acf
mov rcx, rsi
call fcn.1005d4690
mov rcx, rsi
movsxd rdi, eax
mov qword [rbp - 0x58], rdi
call fcn.1005d4690
mov dword [rbp - 0x5c], eax
test rdi, rdi
js 0x100666a00
test eax, eax
js 0x100666a00
mov rcx, rsi
call fcn.1005d4690
mov rcx, rsi
mov dword [rbp - 0x30], eax
call fcn.1005d4690
mov rcx, rsi
mov dword [rbp - 0x44], eax
call fcn.1005d4690
mov rcx, rsi
mov dword [rbp - 0x48], eax
call fcn.1005d4690
mov rcx, rsi
mov dword [rbp - 0x2c], eax
cdqe
mov qword [rbp - 0x18], rax
call fcn.1005d4690
mov rcx, rsi
mov dword [rbp - 0x4c], eax
call fcn.1005d4690
cmp qword [rbp + 0x78], 0
mov dword [rbp - 0x50], eax
je 0x1005d8abd
lea rbx, [rbp + 0x2f]
mov r8d, 8
mov rcx, rsi
mov rdx, rbx
call fcn.1005d3da0
mov r8, qword [rbp - 0x10]
mov rax, rbx
xor edx, edx
movzx ecx, byte [rax]
shl rdx, 8
add rax, 1
add rdx, rcx
cmp r8, rax
jne 0x1005d8153
mov qword [rbp - 0x40], rdx
mov qword [rbp - 0x20], 0
lea rbx, [rbp + 0x2f]
nop word cs:[rax + rax]
cmp qword [rbp + 0x78], 0
je 0x1005d8200
mov r8d, 1
mov rdx, rbx
mov rcx, rsi
call fcn.1005d3da0
movzx edi, byte [rbp + 0x2f]
lea eax, [rdi + 1]
cmp eax, 1
jbe 0x1005d8213
cmp qword [rbp + 0x78], 0
je 0x1005d8480
mov r8d, 1
mov rdx, rbx
mov rcx, rsi
call fcn.1005d3da0
movzx eax, byte [rbp + 0x2f]
cmp eax, 1
je 0x1005d8492
sub edi, 1
jns 0x1005d81ee
jmp 0x1005d8180
mov r8d, 1
mov rdx, rbx
mov rcx, rsi
call fcn.1005d3da0
sub edi, 1
jb 0x1005d8180
cmp qword [rbp + 0x78], 0
jne 0x1005d81d8
mov rcx, qword [rbp + 0x68]
call sub.msys_2.0.dll_getc
jmp 0x1005d81e9
mov rcx, qword [rbp + 0x68]
call sub.msys_2.0.dll_getc
mov edi, eax
lea eax, [rdi + 1]
cmp eax, 1
ja 0x1005d81a4
mov rax, qword [rbp - 0x18]
mov qword [rbp - 8], 0
test rax, rax
jg 0x1005d8a93
cmp qword [rbp + 0x78], 0
mov qword [rbp + 8], 0
lea r13, [rbp + 0x2f]
je 0x1005d85f8
mov rdx, r13
mov r8d, 2
mov rcx, rsi
call fcn.1005d3da0
movzx eax, byte [rbp + 0x2f]
movzx edx, byte [rbp + 0x30]
shl eax, 8
add eax, edx
cmp eax, 0x5fd0
jne 0x1005d87e0
mov rdi, qword [rbp - 0x18]
cmp qword [rbp + 8], rdi
jge 0x100666a70
xor edx, edx
mov ecx, 0x238
call sym.vim.exe_lalloc
mov r14, rax
test rax, rax
je 0x1005d8714
lea rdi, [rax + 8]
mov rcx, rax
mov qword [rax], 0
mov qword [rax + 0x230], 0
and rdi, 0xfffffffffffffff8
xor eax, eax
sub rcx, rdi
add ecx, 0x238
shr ecx, 3
rep stosq qword [rdi], rax
mov rcx, rsi
call fcn.1005d4690
mov rcx, rsi
cdqe
mov qword [r14], rax
call fcn.1005d4690
mov rcx, rsi
cdqe
mov qword [r14 + 8], rax
call fcn.1005d4690
mov rcx, rsi
cdqe
mov qword [r14 + 0x10], rax
call fcn.1005d4690
mov rcx, rsi
cdqe
mov qword [r14 + 0x18], rax
call fcn.1005d4690
cdqe
mov qword [r14 + 0x20], rax
test rax, rax
jle 0x100666b02
lea rdx, [r14 + 0x40]
mov rcx, rsi
call fcn.1005d46f0
mov rcx, rsi
call fcn.1005d4690
cmp qword [rbp + 0x78], 0
cdqe
mov qword [r14 + 0x50], rax
je 0x1005d8772
mov rdx, r13
mov r8d, 2
mov rcx, rsi
call fcn.1005d3da0
movzx eax, byte [rbp + 0x2f]
movzx edx, byte [rbp + 0x30]
shl eax, 8
add eax, edx
mov dword [r14 + 0x58], eax
lea rbx, [r14 + 0x60]
lea r12, [r14 + 0x200]
nop dword [rax]
mov rdx, rbx
mov rcx, rsi
add rbx, 0x10
call fcn.1005d46f0
cmp r12, rbx
jne 0x1005d8360
mov rdx, r12
mov rcx, rsi
call fcn.1005d46f0
lea rdx, [r14 + 0x210]
mov rcx, rsi
call fcn.1005d46f0
mov rcx, rsi
call fcn.1005d4690
mov rcx, rsi
mov dword [r14 + 0x220], eax
call fcn.1005d4690
cmp qword [rbp + 0x78], 0
mov dword [r14 + 0x224], eax
je 0x1005d8780
mov r8d, 8
mov rdx, r13
mov rcx, rsi
call fcn.1005d3da0
mov r8, qword [rbp - 0x10]
mov rdx, r13
xor eax, eax
nop dword [rax]
movzx ecx, byte [rdx]
shl rax, 8
add rdx, 1
add rax, rcx
cmp r8, rdx
jne 0x1005d83d8
mov qword [r14 + 0x228], rax
nop word [rax + rax]
cmp qword [rbp + 0x78], 0
je 0x1005d84a8
mov r8d, 1
mov rdx, r13
mov rcx, rsi
call fcn.1005d3da0
movzx ebx, byte [rbp + 0x2f]
mov rax, qword [rbp + 0x78]
test ebx, ebx
je 0x1005d84c8
test rax, rax
je 0x1005d8610
mov r8d, 1
mov rdx, r13
mov rcx, rsi
call fcn.1005d3da0
movzx eax, byte [rbp + 0x2f]
cmp eax, 1
je 0x1005d8622
sub ebx, 1
jns 0x1005d846e
jmp 0x1005d83f8
mov r8d, 1
mov rdx, r13
mov rcx, rsi
call fcn.1005d3da0
sub ebx, 1
jb 0x1005d83f8
cmp qword [rbp + 0x78], 0
jne 0x1005d8458
mov rcx, qword [rbp + 0x68]
call sub.msys_2.0.dll_getc
jmp 0x1005d8469
mov rcx, qword [rbp + 0x68]
call sub.msys_2.0.dll_getc
cmp eax, 1
jne 0x1005d81cd
mov rcx, rsi
call fcn.1005d4690
cdqe
mov qword [rbp - 0x20], rax
jmp 0x1005d8180
mov rcx, qword [rbp + 0x68]
call sub.msys_2.0.dll_getc
mov ebx, eax
cmp eax, 0xffffffff
je 0x100666ae4
mov rax, qword [rbp + 0x78]
test ebx, ebx
jne 0x1005d8424
mov qword [rbp + 0x10], r14
xor r15d, r15d
jmp 0x1005d85af
mov rdx, r13
mov r8d, 2
mov rcx, rsi
call fcn.1005d3da0
movzx eax, byte [rbp + 0x2f]
movzx edx, byte [rbp + 0x30]
shl eax, 8
add eax, edx
cmp eax, 0xf518
jne 0x1005d85cc
xor edx, edx
mov ecx, 0x30
call sym.vim.exe_lalloc
mov r12, rax
test rax, rax
je 0x1005d86f8
mov qword [rax], 0
mov rcx, rsi
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
mov qword [rax + 0x28], 0
call fcn.1005d4690
mov rcx, rsi
cdqe
mov qword [r12 + 8], rax
call fcn.1005d4690
mov rcx, rsi
cdqe
mov qword [r12 + 0x10], rax
call fcn.1005d4690
mov rcx, rsi
cdqe
mov qword [r12 + 0x18], rax
call fcn.1005d4690
movsxd rcx, eax
mov qword [r12 + 0x28], rcx
test rcx, rcx
jg 0x1005d8640
mov qword [r12 + 0x20], 0
test r15, r15
je 0x1005d87a4
mov qword [r15], r12
nop dword [rax + rax]
mov rax, qword [rbp + 0x78]
mov r15, r12
test rax, rax
jne 0x1005d84d8
mov rcx, qword [rbp + 0x68]
call sym.vim.exe_get2c
cmp eax, 0xf518
je 0x1005d8501
mov r14, qword [rbp + 0x10]
cmp eax, 0x3581
jne 0x100666aa5
add qword [rbp + 8], 1
mov rdi, qword [rbp - 8]
mov rax, qword [rbp + 8]
cmp qword [rbp + 0x78], 0
mov qword [rdi + rax*8 - 8], r14
jne 0x1005d823f
mov rcx, qword [rbp + 0x68]
call sym.vim.exe_get2c
jmp 0x1005d825d
mov rcx, qword [rbp + 0x68]
call sub.msys_2.0.dll_getc
cmp eax, 1
jne 0x1005d844b
mov rcx, rsi
call fcn.1005d4690
cdqe
mov qword [r14 + 0x230], rax
jmp 0x1005d83f8
shl rcx, 4
xor edx, edx
call sym.vim.exe_lalloc
mov rbx, rax
test rax, rax
je 0x1005d8764
mov r8, qword [r12 + 0x28]
xor edx, edx
mov rcx, rax
shl r8, 4
call sub.msys_2.0.dll_memset
cmp qword [r12 + 0x28], 0
mov qword [r12 + 0x20], rbx
jle 0x1005d8597
xor edi, edi
jmp 0x1005d869d
add r14d, 1
mov qword [rbx], rax
add rdi, 1
add rbx, 0x10
movsxd r14, r14d
mov qword [rbx - 8], r14
cmp qword [r12 + 0x28], rdi
jle 0x1005d86e0
mov rcx, rsi
call fcn.1005d4690
mov r14d, eax
test eax, eax
js 0x100666ac3
mov edx, eax
mov rcx, rsi
call fcn.1005d3ec0
test rax, rax
jne 0x1005d8680
mov eax, 1
test r15, r15
je 0x1005d86e7
mov qword [r15], r12
test eax, eax
je 0x1005d85a8
mov r14, qword [rbp + 0x10]
jmp 0x1005d870c
xor eax, eax
test r15, r15
jne 0x1005d86c9
mov rdi, qword [rbp + 0x10]
mov qword [rdi + 0x30], r12
jmp 0x1005d86cc
mov r14, qword [rbp + 0x10]
test r15, r15
je 0x1005d878e
mov qword [r15], 0
mov rcx, r14
call fcn.1005d4940
mov rcx, qword [rbp - 0x28]
call sym.vim.exe_vim_free
cmp qword [rbp - 8], 0
je 0x1005d7ec0
mov rax, qword [rbp - 8]
mov rdi, qword [rbp + 8]
mov rbx, rax
lea rsi, [rax + rdi*8]
test rdi, rdi
je 0x1005d8756
nop dword [rax]
mov rcx, qword [rbx]
test rcx, rcx
je 0x1005d874d
call fcn.1005d4940
add rbx, 8
cmp rsi, rbx
jne 0x1005d8740
mov rcx, qword [rbp - 8]
call sym.vim.exe_vim_free
jmp 0x1005d7ec0
mov r14, qword [rbp + 0x10]
test r15, r15
je 0x1005d879b
mov qword [r15], r12
jmp 0x1005d870c
mov rcx, qword [rbp + 0x68]
call sym.vim.exe_get2c
jmp 0x1005d834d
mov rcx, qword [rbp + 0x68]
call sym.vim.exe_get8ctime
jmp 0x1005d83eb
mov qword [r14 + 0x30], 0
jmp 0x1005d870c
mov qword [r14 + 0x30], r12
jmp 0x1005d870c
mov rax, qword [rbp + 0x10]
mov qword [rax + 0x30], r12
jmp 0x1005d85a8
call sym.vim.exe_verbose_enter
lea rcx, str.File_contents_changed__cannot_use_undo_info
call sub.msys_intl_8.dll_libintl_gettext
mov edx, 1
mov rcx, rax
call sym.vim.exe_give_warning
call sym.vim.exe_verbose_leave
xor ecx, ecx
call sym.vim.exe_vim_free
jmp 0x1005d7ec0
mov rdx, qword [rbp - 0x18]
cmp qword [rbp + 8], rdx
jne 0x100666a5a
cmp eax, 0xe7aa
jne 0x100666a44
mov eax, dword [rbp - 0x2c]
test eax, eax
jle 0x1005d8b02
mov r9d, dword [rbp - 0x2c]
mov r11, qword [rbp - 8]
xor r8d, r8d
mov edi, 0xffffffff
movsxd r10, dword [rbp - 0x30]
movsxd r12, dword [rbp - 0x44]
mov ebx, 0xffffffff
mov esi, 0xffffffff
movsxd r13, dword [rbp - 0x48]
lea rdx, [r11 + r9*8]
mov rcx, qword [r11 + r8*8]
test rcx, rcx
je 0x1005d893d
xor eax, eax
nop dword [rax]
mov r14, qword [r11 + rax*8]
cmp eax, r8d
je 0x1005d885c
test r14, r14
je 0x1005d885c
mov r15, qword [r14 + 0x20]
cmp qword [rcx + 0x20], r15
je 0x100666a86
add rax, 1
cmp rax, r9
jne 0x1005d8840
mov rax, r11
nop dword [rax + rax]
mov r14, qword [rax]
test r14, r14
je 0x1005d8885
mov r15, qword [rcx]
cmp qword [r14 + 0x20], r15
je 0x1005d8a79
add rax, 8
cmp rax, rdx
jne 0x1005d8870
mov rax, r11
nop dword [rax]
mov r14, qword [rax]
test r14, r14
je 0x1005d88ae
mov r15, qword [rcx + 8]
cmp qword [r14 + 0x20], r15
je 0x1005d8a81
add rax, 8
cmp rdx, rax
jne 0x1005d8898
mov rax, r11
nop word [rax + rax]
mov r14, qword [rax]
test r14, r14
je 0x1005d88d6
mov r15, qword [rcx + 0x10]
cmp qword [r14 + 0x20], r15
je 0x1005d8a70
add rax, 8
cmp rdx, rax
jne 0x1005d88c0
mov rax, r11
nop word [rax + rax]
mov r14, qword [rax]
test r14, r14
je 0x1005d88fe
mov r15, qword [rcx + 0x18]
cmp qword [r14 + 0x20], r15
je 0x1005d8a8a
add rax, 8
cmp rax, rdx
jne 0x1005d88e8
test r10, r10
jle 0x1005d8919
test si, si
jns 0x1005d8919
cmp qword [rcx + 0x20], r10
cmove esi, r8d
test r12, r12
jle 0x1005d892b
test bx, bx
jns 0x1005d892b
cmp qword [rcx + 0x20], r12
cmove ebx, r8d
test r13, r13
jle 0x1005d893d
test di, di
jns 0x1005d893d
cmp qword [rcx + 0x20], r13
cmove edi, r8d
add r8, 1
cmp r9, r8
jne 0x1005d882e
mov rax, qword [sym.vim.exe_curbuf]
mov r12, qword [rax]
mov rdx, qword [r12 + 0x1228]
test rdx, rdx
je 0x1005d8979
xor r8d, r8d
mov rcx, r12
call fcn.1005d4b40
mov rdx, qword [r12 + 0x1228]
test rdx, rdx
jne 0x1005d8961
mov rcx, qword [r12 + 0x1270]
call sym.vim.exe_vim_free
xor edx, edx
test si, si
js 0x1005d8999
mov rax, qword [rbp - 8]
movsx rsi, si
mov rdx, qword [rax + rsi*8]
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov qword [rax + 0x1228], rdx
xor edx, edx
test bx, bx
js 0x1005d89bd
mov rdx, qword [rbp - 8]
movsx rbx, bx
mov rdx, qword [rdx + rbx*8]
mov qword [rax + 0x1230], rdx
xor edx, edx
test di, di
js 0x1005d89d7
mov rdx, qword [rbp - 8]
movsx rdi, di
mov rdx, qword [rdx + rdi*8]
mov rdi, qword [rbp - 0x28]
mov rcx, qword [rbp - 8]
mov qword [rax + 0x1238], rdx
mov dword [rax + 0x1244], 1
movsxd rdx, dword [rbp - 0x4c]
mov qword [rax + 0x1270], rdi
mov rdi, qword [rbp - 0x38]
mov qword [rax + 0x1248], rdx
movsxd rdx, dword [rbp - 0x50]
mov qword [rax + 0x1278], rdi
mov rdi, qword [rbp - 0x58]
mov qword [rax + 0x1258], rdx
mov qword [rax + 0x1280], rdi
mov edi, dword [rbp - 0x5c]
mov dword [rax + 0x1288], edi
mov edi, dword [rbp - 0x2c]
mov dword [rax + 0x1240], edi
mov rdi, qword [rbp - 0x40]
mov qword [rax + 0x1260], rdi
mov rdi, qword [rbp - 0x20]
mov qword [rax + 0x1250], rdi
mov qword [rax + 0x1268], rdi
call sym.vim.exe_vim_free
cmp qword [rbp + 0x1e0], 0
je 0x1005d7ec0
jmp 0x1006669bd
mov qword [rcx + 0x10], r14
jmp 0x1005d88df
mov qword [rcx], r14
jmp 0x1005d888e
mov qword [rcx + 8], r14
jmp 0x1005d88b7
mov qword [rcx + 0x18], r14
jmp 0x1005d8907
lea rcx, [rax*8]
xor edx, edx
call sym.vim.exe_lalloc
mov qword [rbp - 8], rax
test rax, rax
jne 0x1005d8228
mov rcx, qword [rbp - 0x28]
call sym.vim.exe_vim_free
jmp 0x1005d7ec0
mov rcx, qword [rbp + 0x68]
call sym.vim.exe_get8ctime
mov qword [rbp - 0x40], rax
jmp 0x1005d816a
mov rcx, rsi
call fcn.1005d3ec0
add qword [rbp - 0x38], 1
mov qword [rbp - 0x28], rax
jmp 0x1005d80b7
mov rcx, qword [rbp + 0x70]
call sym.vim.exe_crypt_free_state
xor ecx, ecx
mov qword [rbp + 0x70], 0
call sym.vim.exe_vim_free
jmp 0x1005d7ec0
mov ebx, 0xffffffff
mov esi, 0xffffffff
mov edi, 0xffffffff
mov rax, qword [sym.vim.exe_curbuf]
mov r12, qword [rax]
mov rdx, qword [r12 + 0x1228]
test rdx, rdx
jne 0x1005d8961
mov rcx, qword [r12 + 0x1270]
mov qword [rbp + 0x10], rdx
call sym.vim.exe_vim_free
mov rax, qword [sym.vim.exe_curbuf]
mov rdx, qword [rbp + 0x10]
mov rax, qword [rax]
mov qword [rax + 0x1228], 0
mov qword [rax + 0x1230], 0
jmp 0x1005d89d7
call sym.vim.exe_verbose_enter
lea rcx, str.Reading_undo_file:__s
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rbp + 0x18]
mov rcx, rax
call sym.vim.exe_smsg
call sym.vim.exe_verbose_leave
jmp 0x1005d7d79
lea rcx, str.Finished_reading_undo_file__s
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rbp + 0x18]
mov rcx, rax
call sym.vim.exe_smsg
nop
jmp 0x1005d7ec0
lea rcx, str.E822:_Cannot_open_undo_file_for_reading:__s
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rbp + 0x18]
mov rcx, rax
call sym.vim.exe_semsg
xor ecx, ecx
call sym.vim.exe_vim_free
nop
jmp 0x1005d7f01
mov rdx, qword [rbp + 0x18]
lea rcx, str.line_lnum_col
call fcn.1006668a0
mov rcx, qword [rbp - 0x28]
call sym.vim.exe_vim_free
nop
jmp 0x1005d7ec0
lea rcx, str.E823:_Not_an_undo_file:__s
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rbp + 0x18]
mov rcx, rax
call sym.vim.exe_semsg
xor ecx, ecx
call sym.vim.exe_vim_free
nop
jmp 0x1005d7ec0
mov rdx, qword [rbp + 0x18]
lea rcx, str.end_marker
call fcn.1006668a0
nop
jmp 0x1005d8714
mov rdx, qword [rbp + 0x18]
lea rcx, str.num_head
call fcn.1006668a0
nop
jmp 0x1005d8714
mov rdx, qword [rbp + 0x18]
lea rcx, str.num_head_too_small
call fcn.1006668a0
nop
jmp 0x1005d8714
mov rdx, qword [rbp + 0x18]
lea rcx, str.duplicate_uh_seq
call fcn.1006668a0
mov rcx, qword [rbp - 0x28]
call sym.vim.exe_vim_free
nop
jmp 0x1005d8728
mov rdx, qword [rbp + 0x18]
lea rcx, str.entry_end
call fcn.1006668a0
mov rcx, r14
call fcn.1005d4940
nop
jmp 0x1005d8714
mov rdx, qword [rbp + 0x18]
lea rcx, str.line_length
mov r14, qword [rbp + 0x10]
call fcn.1006668a0
test r15, r15
je 0x100666b20
mov qword [r15], r12
jmp 0x1005d870c
mov rdx, qword [rbp + 0x18]
lea rcx, str.truncated
call fcn.1006668a0
mov rcx, r14
call fcn.1005d4940
nop
jmp 0x1005d8714
mov rdx, qword [rbp + 0x18]
lea rcx, str.uh_seq
call fcn.1006668a0
mov rcx, r14
call sym.vim.exe_vim_free
nop
jmp 0x1005d8714
mov qword [r14 + 0x30], r12
jmp 0x1005d870c
lea rcx, str.E826:_Undo_file_decryption_failed:__s
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rbp + 0x18]
mov rcx, rax
call sym.vim.exe_semsg
xor ecx, ecx
call sym.vim.exe_vim_free
nop
jmp 0x1005d7ec0
lea rcx, str.E832:_Non_encrypted_file_has_encrypted_undo_file:__s
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rbp + 0x18]
mov rcx, rax
call sym.vim.exe_semsg
xor ecx, ecx
call sym.vim.exe_vim_free
nop
jmp 0x1005d7ec0
mov rdx, qword [rbp + 0x18]
lea rcx, str.hash
call fcn.1006668a0
xor ecx, ecx
call sym.vim.exe_vim_free
nop
jmp 0x1005d7ec0
lea rcx, str.E824:_Incompatible_undo_file:__s
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rbp + 0x18]
mov rcx, rax
call sym.vim.exe_semsg
xor ecx, ecx
call sym.vim.exe_vim_free
nop
jmp 0x1005d7ec0