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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x218
mov qword [rsp + 0x260], rcx
mov rbx, rdx
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x28], rcx
test rcx, rcx
je 0x1005e58b6
mov rdi, qword [sym.vim.exe_p_verbose]
cmp qword [rdi], 0
jg 0x1005e6525
mov rcx, qword [rsp + 0x28]
lea rdx, [0x1006d9b67]
call sub.msys_2.0.dll_fopen
mov qword [rsp + 0x38], rax
test rax, rax
je 0x1005e57b4
mov r9, qword [rsp + 0x38]
mov r8d, 1
mov edx, 9
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov qword [rsp + 0xe8], r9
mov qword [rsp + 0xe0], rax
lea rax, [rsp + 0xb7]
mov rcx, rax
mov qword [rsp + 0x48], rax
call sub.msys_2.0.dll_fread
cmp rax, 1
jne 0x10067b789
movabs rax, 0x6f446e559f6d6956
cmp qword [rsp + 0xb7], rax
jne 0x10067b789
cmp byte [rsp + 0xbf], 0xe5
jne 0x10067b789
mov rcx, qword [rsp + 0x38]
call sym.vim.exe_get2c
mov r8d, eax
cdqe
cmp r8d, 0x8002
je 0x1005e581f
cmp rax, 2
jne 0x10067b882
lea rsi, [rsp + 0xe0]
lea rdx, [rsp + 0xc0]
mov r8d, 0x20
mov rcx, rsi
call fcn.1005e2040
test eax, eax
je 0x10067b864
mov rcx, rsi
call fcn.1005e28a0
mov rdx, qword [rbx]
xor rdx, qword [rsp + 0xc0]
movsxd rcx, eax
mov rax, qword [rbx + 8]
xor rax, qword [rsp + 0xc8]
or rax, rdx
jne 0x1005e5750
mov rdx, qword [rbx + 0x10]
mov rax, qword [rbx + 0x18]
xor rdx, qword [rsp + 0xd0]
xor rax, qword [rsp + 0xd8]
or rax, rdx
jne 0x1005e5750
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
cmp qword [rax], rcx
je 0x1005e5980
nop word cs:[rax + rax]
cmp qword [rdi], 0
jle 0x1005e589b
cmp qword [rsp + 0x260], 0
je 0x1005e6136
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 [rsp + 0xf0]
test rcx, rcx
je 0x1005e579b
call sym.vim.exe_crypt_free_state
mov rcx, qword [rsp + 0xf8]
call sym.vim.exe_vim_free
mov rcx, qword [rsp + 0x38]
call fcn.100672bf0
jmp 0x1005e57f3
cmp qword [rsp + 0x260], 0
jne 0x10067b72d
cmp qword [rdi], 0
jg 0x10067b72d
xor ecx, ecx
call sym.vim.exe_vim_free
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x1005e57e6
call sym.vim.exe_crypt_free_state
mov rcx, qword [rsp + 0xf8]
call sym.vim.exe_vim_free
mov rax, qword [rsp + 0x28]
cmp rax, qword [rsp + 0x260]
je 0x1005e580b
mov rcx, rax
call sym.vim.exe_vim_free
nop
add rsp, 0x218
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov rdx, qword [rax + 0x1c50]
cmp byte [rdx], 0
je 0x10067b83e
mov rcx, qword [rsp + 0x38]
call sym.vim.exe_crypt_create_from_file
mov qword [rsp + 0xf0], rax
test rax, rax
je 0x10067b707
mov ecx, dword [rax]
call sym.vim.exe_crypt_whole_undofile
test eax, eax
je 0x1005e56c9
mov ecx, 0x2000
call sym.vim.exe_alloc
mov qword [rsp + 0xf8], rax
test rax, rax
je 0x1005e6500
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x100], 0
jmp 0x1005e56c9
cmp qword [rsp + 0x260], 0
jne 0x1005e5769
xor ecx, ecx
call sym.vim.exe_vim_free
jmp 0x1005e5789
mov rax, qword [sym.vim.exe_curbuf]
mov edx, 1
mov qword [rsp + 0x270], r8
mov rax, qword [rax]
mov rcx, qword [rax + 0x88]
call fcn.1005e2310
mov qword [rsp + 0x28], rax
mov rdi, rax
test rax, rax
je 0x1005e580b
mov rcx, qword [rsp + 0x270]
lea rdx, [rsp + 0x110]
call sub.msys_2.0.dll_stat
test eax, eax
js 0x1005e5604
lea rdx, [rsp + 0x190]
mov rcx, rdi
call sub.msys_2.0.dll_stat
test eax, eax
js 0x1005e5604
mov esi, dword [rsp + 0x1a8]
cmp dword [rsp + 0x128], esi
je 0x1005e5604
call sub.msys_2.0.dll_getuid
cmp esi, eax
je 0x1005e5604
mov rax, qword [sym.vim.exe_p_verbose]
cmp qword [rax], 0
jle 0x1005e580b
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 [rsp + 0x28]
mov rcx, rax
call sym.vim.exe_smsg
call sym.vim.exe_verbose_leave
jmp 0x1005e580b
mov rcx, rsi
call fcn.1005e28a0
mov edx, eax
cdqe
mov qword [rsp + 0x70], rax
test rax, rax
js 0x1005e58aa
mov qword [rsp + 0x60], 0
jne 0x1005e647e
mov rcx, rsi
call fcn.1005e28a0
mov rcx, rsi
mov ebx, eax
cdqe
mov qword [rsp + 0x90], rax
call fcn.1005e28a0
or ebx, eax
mov dword [rsp + 0x9c], eax
js 0x10067b81d
mov rcx, rsi
call fcn.1005e28a0
mov rcx, rsi
mov dword [rsp + 0x80], eax
call fcn.1005e28a0
mov rcx, rsi
mov dword [rsp + 0x84], eax
call fcn.1005e28a0
mov rcx, rsi
mov dword [rsp + 0x88], eax
call fcn.1005e28a0
mov rcx, rsi
mov dword [rsp + 0x6c], eax
cdqe
mov qword [rsp + 0x50], rax
call fcn.1005e28a0
mov rcx, rsi
mov dword [rsp + 0x8c], eax
call fcn.1005e28a0
cmp qword [rsp + 0xf8], 0
mov dword [rsp + 0x98], eax
je 0x1005e6467
lea rbx, [rsp + 0xaf]
mov r8d, 8
mov rcx, rsi
mov rdx, rbx
call fcn.1005e2040
mov r8, qword [rsp + 0x48]
mov rax, rbx
xor edx, edx
movzx ecx, byte [rax]
shl rdx, 8
add rax, 1
add rdx, rcx
cmp r8, rax
jne 0x1005e5a64
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x58], 0
lea rbx, [rsp + 0xaf]
nop dword [rax]
cmp qword [rsp + 0xf8], 0
je 0x1005e5b34
mov r8d, 1
mov rdx, rbx
mov rcx, rsi
call fcn.1005e2040
movzx edi, byte [rsp + 0xaf]
lea eax, [rdi + 1]
cmp eax, 1
jbe 0x1005e5b4f
cmp qword [rsp + 0xf8], 0
je 0x1005e5e04
mov r8d, 1
mov rdx, rbx
mov rcx, rsi
call fcn.1005e2040
movzx eax, byte [rsp + 0xaf]
cmp eax, 1
je 0x1005e5e1a
sub edi, 1
jns 0x1005e5b1a
jmp 0x1005e5a90
mov r8d, 1
mov rdx, rbx
mov rcx, rsi
call fcn.1005e2040
sub edi, 1
jb 0x1005e5a90
cmp qword [rsp + 0xf8], 0
jne 0x1005e5b00
mov rcx, qword [rsp + 0xe8]
call sub.msys_2.0.dll_getc
jmp 0x1005e5b11
mov rcx, qword [rsp + 0xe8]
call sub.msys_2.0.dll_getc
mov edi, eax
lea eax, [rdi + 1]
cmp eax, 1
ja 0x1005e5ac4
mov qword [rsp + 0x40], 0
mov rax, qword [rsp + 0x50]
test rax, rax
jg 0x1005e643b
cmp qword [rsp + 0xf8], 0
lea r12, [rsp + 0xaf]
mov qword [rsp + 0x30], 0
je 0x1005e5f89
mov rdx, r12
mov r8d, 2
mov rcx, rsi
call fcn.1005e2040
movzx eax, byte [rsp + 0xaf]
movzx edx, byte [rsp + 0xb0]
shl eax, 8
add eax, edx
cmp eax, 0x5fd0
jne 0x1005e6165
mov rdx, qword [rsp + 0x50]
cmp qword [rsp + 0x30], rdx
jge 0x10067b753
xor edx, edx
mov ecx, 0x238
call sym.vim.exe_lalloc
mov r13, rax
test rax, rax
je 0x1005e6070
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.1005e28a0
mov rcx, rsi
cdqe
mov qword [r13], rax
call fcn.1005e28a0
mov rcx, rsi
cdqe
mov qword [r13 + 8], rax
call fcn.1005e28a0
mov rcx, rsi
cdqe
mov qword [r13 + 0x10], rax
call fcn.1005e28a0
mov rcx, rsi
cdqe
mov qword [r13 + 0x18], rax
call fcn.1005e28a0
cdqe
mov qword [r13 + 0x20], rax
test rax, rax
jle 0x10067b8e5
lea rdx, [r13 + 0x40]
mov rcx, rsi
call fcn.1005e2900
mov rcx, rsi
call fcn.1005e28a0
cmp qword [rsp + 0xf8], 0
cdqe
mov qword [r13 + 0x50], rax
je 0x1005e60f3
mov rdx, r12
mov r8d, 2
mov rcx, rsi
call fcn.1005e2040
movzx eax, byte [rsp + 0xaf]
movzx edx, byte [rsp + 0xb0]
shl eax, 8
add eax, edx
mov dword [r13 + 0x58], eax
lea rbx, [r13 + 0x60]
lea r15, [r13 + 0x200]
nop word [rax + rax]
mov rdx, rbx
mov rcx, rsi
add rbx, 0x10
call fcn.1005e2900
cmp r15, rbx
jne 0x1005e5cc0
mov rdx, r15
mov rcx, rsi
call fcn.1005e2900
lea rdx, [r13 + 0x210]
mov rcx, rsi
call fcn.1005e2900
mov rcx, rsi
call fcn.1005e28a0
mov rcx, rsi
mov dword [r13 + 0x220], eax
call fcn.1005e28a0
cmp qword [rsp + 0xf8], 0
mov dword [r13 + 0x224], eax
je 0x1005e6105
mov r8d, 8
mov rdx, r12
mov rcx, rsi
call fcn.1005e2040
mov r8, qword [rsp + 0x48]
mov rdx, r12
xor eax, eax
nop word cs:[rax + rax]
movzx ecx, byte [rdx]
shl rax, 8
add rdx, 1
add rax, rcx
cmp r8, rdx
jne 0x1005e5d40
mov qword [r13 + 0x228], rax
nop word [rax + rax]
cmp qword [rsp + 0xf8], 0
je 0x1005e5e30
mov r8d, 1
mov rdx, r12
mov rcx, rsi
call fcn.1005e2040
movzx ebx, byte [rsp + 0xaf]
mov rax, qword [rsp + 0xf8]
test ebx, ebx
je 0x1005e5e58
test rax, rax
je 0x1005e5fa0
mov r8d, 1
mov rdx, r12
mov rcx, rsi
call fcn.1005e2040
movzx eax, byte [rsp + 0xaf]
cmp eax, 1
je 0x1005e5fb6
sub ebx, 1
jns 0x1005e5dea
jmp 0x1005e5d60
mov r8d, 1
mov rdx, r12
mov rcx, rsi
call fcn.1005e2040
sub ebx, 1
jb 0x1005e5d60
cmp qword [rsp + 0xf8], 0
jne 0x1005e5dd0
mov rcx, qword [rsp + 0xe8]
call sub.msys_2.0.dll_getc
jmp 0x1005e5de1
mov rcx, qword [rsp + 0xe8]
call sub.msys_2.0.dll_getc
cmp eax, 1
jne 0x1005e5af5
mov rcx, rsi
call fcn.1005e28a0
cdqe
mov qword [rsp + 0x58], rax
jmp 0x1005e5a90
mov rcx, qword [rsp + 0xe8]
call sub.msys_2.0.dll_getc
mov ebx, eax
cmp eax, 0xffffffff
je 0x10067b8c6
mov rax, qword [rsp + 0xf8]
test ebx, ebx
jne 0x1005e5d98
xor r15d, r15d
jmp 0x1005e5f33
mov rdx, r12
mov r8d, 2
mov rcx, rsi
call fcn.1005e2040
movzx eax, byte [rsp + 0xaf]
movzx edx, byte [rsp + 0xb0]
shl eax, 8
add eax, edx
cmp eax, 0xf518
jne 0x1005e5f5a
xor edx, edx
mov ecx, 0x30
call sym.vim.exe_lalloc
mov rbp, rax
test rax, rax
je 0x1005e60d8
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.1005e28a0
mov rcx, rsi
cdqe
mov qword [rbp + 8], rax
call fcn.1005e28a0
mov rcx, rsi
cdqe
mov qword [rbp + 0x10], rax
call fcn.1005e28a0
mov rcx, rsi
cdqe
mov qword [rbp + 0x18], rax
call fcn.1005e28a0
movsxd rcx, eax
mov qword [rbp + 0x28], rcx
test rcx, rcx
jg 0x1005e5fd0
mov qword [rbp + 0x20], 0
test r15, r15
je 0x1005e612d
mov qword [r15], rbp
nop
mov r15, rbp
cmp qword [rsp + 0xf8], 0
jne 0x1005e5e60
mov rcx, qword [rsp + 0xe8]
call sym.vim.exe_get2c
cmp eax, 0xf518
je 0x1005e5e91
cmp eax, 0x3581
jne 0x10067b76a
add qword [rsp + 0x30], 1
mov rdx, qword [rsp + 0x40]
cmp qword [rsp + 0xf8], 0
mov rax, qword [rsp + 0x30]
mov qword [rdx + rax*8 - 8], r13
jne 0x1005e5b86
mov rcx, qword [rsp + 0xe8]
call sym.vim.exe_get2c
jmp 0x1005e5bac
mov rcx, qword [rsp + 0xe8]
call sub.msys_2.0.dll_getc
cmp eax, 1
jne 0x1005e5dc3
mov rcx, rsi
call fcn.1005e28a0
cdqe
mov qword [r13 + 0x230], rax
jmp 0x1005e5d60
shl rcx, 4
xor edx, edx
call sym.vim.exe_lalloc
mov rdi, rax
test rax, rax
je 0x1005e60e6
mov r8, qword [rbp + 0x28]
xor edx, edx
mov rcx, rax
shl r8, 4
call sub.msys_2.0.dll_memset
cmp qword [rbp + 0x28], 0
mov qword [rbp + 0x20], rdi
jle 0x1005e5f22
xor r14d, r14d
jmp 0x1005e602f
add ebx, 1
mov qword [rdi], rax
add r14, 1
add rdi, 0x10
movsxd rbx, ebx
mov qword [rdi - 8], rbx
cmp qword [rbp + 0x28], r14
jle 0x1005e60c8
mov rcx, rsi
call fcn.1005e28a0
mov ebx, eax
test eax, eax
js 0x10067b8a8
mov edx, eax
mov rcx, rsi
call fcn.1005e2150
test rax, rax
jne 0x1005e6010
mov eax, 1
test r15, r15
je 0x1005e60cf
mov qword [r15], rbp
test eax, eax
je 0x1005e5f30
nop dword [rax]
mov rcx, r13
call fcn.1005e2b50
mov rcx, qword [rsp + 0x60]
call sym.vim.exe_vim_free
cmp qword [rsp + 0x40], 0
je 0x1005e5789
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x30]
mov rbx, rax
lea rsi, [rax + rdx*8]
test rdx, rdx
je 0x1005e60b6
nop dword [rax]
mov rcx, qword [rbx]
test rcx, rcx
je 0x1005e60ad
call fcn.1005e2b50
add rbx, 8
cmp rsi, rbx
jne 0x1005e60a0
mov rcx, qword [rsp + 0x40]
call sym.vim.exe_vim_free
jmp 0x1005e5789
xor eax, eax
test r15, r15
jne 0x1005e605a
mov qword [r13 + 0x30], rbp
jmp 0x1005e605d
test r15, r15
je 0x1005e6117
mov qword [r15], 0
jmp 0x1005e6068
test r15, r15
je 0x1005e6124
mov qword [r15], rbp
jmp 0x1005e6068
mov rcx, qword [rsp + 0xe8]
call sym.vim.exe_get2c
jmp 0x1005e5cab
mov rcx, qword [rsp + 0xe8]
call sym.vim.exe_get8ctime
jmp 0x1005e5d53
mov qword [r13 + 0x30], 0
jmp 0x1005e6068
mov qword [r13 + 0x30], rbp
jmp 0x1005e6068
mov qword [r13 + 0x30], rbp
jmp 0x1005e5f30
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 0x1005e5789
mov rdi, qword [rsp + 0x50]
cmp qword [rsp + 0x30], rdi
jne 0x10067b7e5
cmp eax, 0xe7aa
jne 0x10067b7ce
mov eax, dword [rsp + 0x6c]
test eax, eax
jle 0x1005e6496
mov r9d, dword [rsp + 0x6c]
mov r11, qword [rsp + 0x40]
xor r8d, r8d
mov edi, 0xffffffff
movsxd r10, dword [rsp + 0x80]
mov ebx, 0xffffffff
mov esi, 0xffffffff
movsxd rbp, dword [rsp + 0x84]
movsxd r12, dword [rsp + 0x88]
lea rdx, [r11 + r9*8]
mov rcx, qword [r11 + r8*8]
test rcx, rcx
je 0x1005e62cd
xor eax, eax
nop dword [rax + rax]
mov r13, qword [r11 + rax*8]
cmp eax, r8d
je 0x1005e61f4
test r13, r13
je 0x1005e61f4
mov r15, qword [r13 + 0x20]
cmp qword [rcx + 0x20], r15
je 0x10067b7fc
add rax, 1
cmp rax, r9
jne 0x1005e61d8
mov rax, r11
mov r13, qword [rax]
test r13, r13
je 0x1005e6215
mov r15, qword [rcx]
cmp qword [r13 + 0x20], r15
je 0x1005e6421
add rax, 8
cmp rdx, rax
jne 0x1005e6200
mov rax, r11
nop dword [rax]
mov r13, qword [rax]
test r13, r13
je 0x1005e623e
mov r15, qword [rcx + 8]
cmp qword [r13 + 0x20], r15
je 0x1005e6429
add rax, 8
cmp rdx, rax
jne 0x1005e6228
mov rax, r11
nop word [rax + rax]
mov r13, qword [rax]
test r13, r13
je 0x1005e6266
mov r15, qword [rcx + 0x10]
cmp qword [r13 + 0x20], r15
je 0x1005e6418
add rax, 8
cmp rax, rdx
jne 0x1005e6250
mov rax, r11
nop word [rax + rax]
mov r13, qword [rax]
test r13, r13
je 0x1005e628e
mov r15, qword [rcx + 0x18]
cmp qword [r13 + 0x20], r15
je 0x1005e6432
add rax, 8
cmp rax, rdx
jne 0x1005e6278
test r10, r10
jle 0x1005e62a9
test si, si
jns 0x1005e62a9
cmp qword [rcx + 0x20], r10
cmove esi, r8d
test rbp, rbp
jle 0x1005e62bb
test bx, bx
jns 0x1005e62bb
cmp qword [rcx + 0x20], rbp
cmove ebx, r8d
test r12, r12
jle 0x1005e62cd
test di, di
jns 0x1005e62cd
cmp qword [rcx + 0x20], r12
cmove edi, r8d
add r8, 1
cmp r8, r9
jne 0x1005e61c4
mov rax, qword [sym.vim.exe_curbuf]
mov rbp, qword [rax]
mov rdx, qword [rbp + 0x1228]
test rdx, rdx
je 0x1005e6307
xor r8d, r8d
mov rcx, rbp
call fcn.1005e2d40
mov rdx, qword [rbp + 0x1228]
test rdx, rdx
jne 0x1005e62f0
mov rcx, qword [rbp + 0x1270]
call sym.vim.exe_vim_free
xor edx, edx
test si, si
js 0x1005e6327
mov rdx, qword [rsp + 0x40]
movsx rax, si
mov rdx, qword [rdx + rax*8]
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov qword [rax + 0x1228], rdx
xor edx, edx
test bx, bx
js 0x1005e634c
mov rdx, qword [rsp + 0x40]
movsx rbx, bx
mov rdx, qword [rdx + rbx*8]
mov qword [rax + 0x1230], rdx
xor edx, edx
test di, di
js 0x1005e6367
movsx rdx, di
mov rdi, qword [rsp + 0x40]
mov rdx, qword [rdi + rdx*8]
mov qword [rax + 0x1238], rdx
mov rdx, qword [rsp + 0x60]
mov dword [rax + 0x1244], 1
mov rcx, qword [rsp + 0x40]
mov qword [rax + 0x1270], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rax + 0x1278], rdx
mov rdx, qword [rsp + 0x90]
mov qword [rax + 0x1280], rdx
mov edx, dword [rsp + 0x9c]
mov dword [rax + 0x1288], edx
mov edx, dword [rsp + 0x6c]
mov dword [rax + 0x1240], edx
movsxd rdx, dword [rsp + 0x8c]
mov qword [rax + 0x1248], rdx
movsxd rdx, dword [rsp + 0x98]
mov qword [rax + 0x1258], rdx
mov rdx, qword [rsp + 0x78]
mov qword [rax + 0x1260], rdx
mov rdx, qword [rsp + 0x58]
mov qword [rax + 0x1250], rdx
mov qword [rax + 0x1268], rdx
call sym.vim.exe_vim_free
cmp qword [rsp + 0x260], 0
je 0x1005e5789
jmp 0x10067b7af
mov qword [rcx + 0x10], r13
jmp 0x1005e626f
mov qword [rcx], r13
jmp 0x1005e621e
mov qword [rcx + 8], r13
jmp 0x1005e6247
mov qword [rcx + 0x18], r13
jmp 0x1005e6297
lea rcx, [rax*8]
xor edx, edx
call sym.vim.exe_lalloc
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x1005e5b66
mov rcx, qword [rsp + 0x60]
call sym.vim.exe_vim_free
jmp 0x1005e5789
mov rcx, qword [rsp + 0xe8]
call sym.vim.exe_get8ctime
mov qword [rsp + 0x78], rax
jmp 0x1005e5a7c
mov rcx, rsi
call fcn.1005e2150
add qword [rsp + 0x70], 1
mov qword [rsp + 0x60], rax
jmp 0x1005e59a9
mov ebx, 0xffffffff
mov esi, 0xffffffff
mov edi, 0xffffffff
mov rax, qword [sym.vim.exe_curbuf]
mov rbp, qword [rax]
mov rdx, qword [rbp + 0x1228]
test rdx, rdx
jne 0x1005e62f0
mov rcx, qword [rbp + 0x1270]
mov qword [rsp + 0x30], rdx
call sym.vim.exe_vim_free
mov rax, qword [sym.vim.exe_curbuf]
mov rdx, qword [rsp + 0x30]
mov rax, qword [rax]
mov qword [rax + 0x1228], 0
mov qword [rax + 0x1230], 0
jmp 0x1005e6367
mov rcx, qword [rsp + 0xf0]
call sym.vim.exe_crypt_free_state
xor ecx, ecx
mov qword [rsp + 0xf0], 0
call sym.vim.exe_vim_free
jmp 0x1005e5789
call sym.vim.exe_verbose_enter
lea rcx, str.Reading_undo_file:__s
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rsp + 0x28]
mov rcx, rax
call sym.vim.exe_smsg
call sym.vim.exe_verbose_leave
jmp 0x1005e5615
mov rcx, qword [sym.vim.exe_e_undo_file_decryption_failed]
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rsp + 0x28]
mov rcx, rax
call sym.vim.exe_semsg
xor ecx, ecx
call sym.vim.exe_vim_free
nop
jmp 0x1005e5789
mov rcx, qword [sym.vim.exe_e_cannot_open_undo_file_for_reading_str]
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rsp + 0x28]
mov rcx, rax
call sym.vim.exe_semsg
xor ecx, ecx
call sym.vim.exe_vim_free
nop
jmp 0x1005e57d4
mov rdx, qword [rsp + 0x28]
lea rcx, str.num_head_too_small
call fcn.10067b5d0
nop
jmp 0x1005e6070
mov rdx, qword [rsp + 0x28]
lea rcx, str.entry_end
call fcn.10067b5d0
mov rcx, r13
call fcn.1005e2b50
nop
jmp 0x1005e6070
mov rcx, qword [sym.vim.exe_e_not_an_undo_file_str]
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rsp + 0x28]
mov rcx, rax
call sym.vim.exe_semsg
xor ecx, ecx
call sym.vim.exe_vim_free
nop
jmp 0x1005e5789
lea rcx, str.Finished_reading_undo_file__s
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rsp + 0x28]
mov rcx, rax
call sym.vim.exe_smsg
nop
jmp 0x1005e5789
mov rdx, qword [rsp + 0x28]
lea rcx, str.end_marker
call fcn.10067b5d0
nop
jmp 0x1005e6070
mov rdx, qword [rsp + 0x28]
lea rcx, str.num_head
call fcn.10067b5d0
nop
jmp 0x1005e6070
mov rdx, qword [rsp + 0x28]
lea rcx, str.duplicate_uh_seq
call fcn.10067b5d0
mov rcx, qword [rsp + 0x60]
call sym.vim.exe_vim_free
nop
jmp 0x1005e6086
mov rdx, qword [rsp + 0x28]
lea rcx, str.line_lnum_col
call fcn.10067b5d0
mov rcx, qword [rsp + 0x60]
call sym.vim.exe_vim_free
nop
jmp 0x1005e5789
mov rcx, qword [sym.vim.exe_e_non_encrypted_file_has_encrypted_undo_file]
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rsp + 0x28]
mov rcx, rax
call sym.vim.exe_semsg
xor ecx, ecx
call sym.vim.exe_vim_free
nop
jmp 0x1005e5789
mov rdx, qword [rsp + 0x28]
lea rcx, str.hash
call fcn.10067b5d0
xor ecx, ecx
call sym.vim.exe_vim_free
nop
jmp 0x1005e5789
mov rcx, qword [sym.vim.exe_e_incompatible_undo_file_str]
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rsp + 0x28]
mov rcx, rax
call sym.vim.exe_semsg
xor ecx, ecx
call sym.vim.exe_vim_free
nop
jmp 0x1005e5789
mov rdx, qword [rsp + 0x28]
lea rcx, str.line_length
call fcn.10067b5d0
test r15, r15
je 0x10067b904
mov qword [r15], rbp
jmp 0x1005e6068
mov rdx, qword [rsp + 0x28]
lea rcx, str.truncated
call fcn.10067b5d0
mov rcx, r13
call fcn.1005e2b50
nop
jmp 0x1005e6070
mov rdx, qword [rsp + 0x28]
lea rcx, str.uh_seq
call fcn.10067b5d0
mov rcx, r13
call sym.vim.exe_vim_free
nop
jmp 0x1005e6070
mov qword [r13 + 0x30], rbp
jmp 0x1005e6068