Function at 0x10052c0a0
Capabilities:
Parse credit card information

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x268
lea rbp, [rsp + 0x80]
mov rsi, qword [rbp + 0x250]
mov r13, qword [rbp + 0x280]
mov qword [rbp + 0x230], rcx
mov rcx, qword [0x10070bbe0]
mov r12, r8
mov rbx, r9
mov dword [rbp + 0x238], edx
test rcx, rcx
je 0x10052c0f8
call sym.vim.exe_vim_free
mov qword [0x10070bbe0], 0
xor eax, eax
mov ecx, 0xe
mov edx, 3
lea rdi, [rbp + 0xc0]
mov qword [rbp + 8], rdi
rep stosq qword [rdi], rax
lea rdi, [rbp + 0x60]
mov ecx, 0xb
mov qword [rbp + 0x38], rdi
rep stosq qword [rdi], rax
mov ecx, 0x401
call sym.vim.exe_alloc_id
mov edx, 4
mov ecx, 0x401
mov qword [rbp + 0x60], rax
call sym.vim.exe_alloc_id
mov edx, 5
mov ecx, 0x401
mov dword [rbp + 0x78], 0x401
mov qword [rbp + 0x68], rax
call sym.vim.exe_alloc_id
mov edx, 6
mov ecx, 0x401
mov qword [rbp + 0x70], rax
call sym.vim.exe_alloc_id
cmp qword [rbp + 0x60], 0
mov qword [rbp + 0xa0], rax
je 0x10052c293
cmp qword [rbp + 0x70], 0
je 0x10052c293
test rax, rax
je 0x10052c293
cmp qword [rbp + 0x68], 0
je 0x10052c293
mov dword [rbp + 0x118], 0
test r13, r13
je 0x10052c1b7
cmp byte [r13], 0
jne 0x10052d439
test r12, r12
je 0x10052c1df
lea rdx, [0x1006b4054]
mov rcx, r12
call sub.msys_2.0.dll_fopen
mov qword [rbp + 0x18], rax
mov qword [rbp + 0xe0], rax
test rax, rax
je 0x100664266
test rsi, rsi
je 0x10052c20d
mov eax, dword [rsi]
cmp eax, 7
je 0x10052d457
cmp eax, 0xb
jne 0x10052d462
mov rax, qword [rsi + 8]
mov rax, qword [rax]
mov qword [rbp + 0xe8], rsi
mov qword [rbp + 0xf8], rax
mov rax, qword [rbp + 0x268]
mov r8d, dword [rbp + 0x260]
mov qword [rbp + 0x100], rbx
mov qword [rbp + 0x108], rax
mov rax, qword [rbp + 0x270]
mov qword [rbp + 0x110], rax
test r8d, r8d
jne 0x10052c322
mov rax, qword [rbp + 0x230]
mov edi, dword [rbp + 0x238]
cmp dword [rax + 4], edi
je 0x10052c322
movsxd rax, dword [rbp + 0x238]
mov rdi, qword [rbp + 0x230]
lea rax, [rax + rax*8]
shl rax, 4
lea r14, [rdi + rax + 0x10]
add rax, rdi
mov ecx, dword [rax + 0x30]
test ecx, ecx
jle 0x10052d5f4
mov rax, qword [rax + 0x20]
mov dword [rbp + 0x14], 1
mov qword [rbp + 0x18], rax
jmp 0x10052c369
mov rax, qword [rbp + 0x230]
mov qword [rbp + 0x18], 0
mov r12d, 0xffffffff
mov eax, dword [rax + 8]
cmp dword [rbp + 0x238], eax
je 0x10052ca98
mov rcx, qword [rbp + 0xe0]
test rcx, rcx
je 0x10052c2c8
call fcn.10065e4f0
mov rcx, qword [rbp + 0xd0]
call sym.vim.exe_vim_free
mov r10d, dword [rbp + 0x118]
test r10d, r10d
jne 0x10052d532
mov rcx, qword [rbp + 0x60]
call sym.vim.exe_vim_free
mov rcx, qword [rbp + 0x68]
call sym.vim.exe_vim_free
mov rcx, qword [rbp + 0x70]
call sym.vim.exe_vim_free
mov rcx, qword [rbp + 0xa0]
call sym.vim.exe_vim_free
mov eax, r12d
add rsp, 0x268
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rdx, qword [rbp + 0x278]
mov rcx, qword [rbp + 0x230]
call fcn.10052b9e0
mov rax, qword [rbp + 0x230]
mov rdi, qword [rbp + 0x230]
mov dword [rbp + 0x14], 0
mov qword [rbp + 0x18], 0
movsxd rax, dword [rax + 8]
mov dword [rbp + 0x238], eax
lea rax, [rax + rax*8]
shl rax, 4
lea r14, [rdi + rax + 0x10]
mov rax, qword [sym.vim.exe_p_efm]
mov rdi, qword [rbp + 0x258]
cmp qword [rax], rdi
jne 0x10052c385
test rsi, rsi
je 0x10052d5da
mov r12, qword [0x10070bbb0]
test r12, r12
je 0x10052c5d5
mov rdx, qword [rbp + 0x258]
mov rcx, r12
call sub.msys_2.0.dll_strcmp
test eax, eax
jne 0x10052d421
mov rax, qword [0x10070bba8]
mov qword [rbp + 0x30], rax
test rax, rax
je 0x10052ca0c
mov rax, qword [sym.vim.exe_got_int]
mov r8, qword [rbp + 0xe0]
mov dword [rax], 0
mov eax, dword [rax]
test eax, eax
jne 0x10052d286
test r8, r8
je 0x10052c9e8
nop word [rax + rax]
mov rax, qword [sym.vim.exe_IObuff]
mov edx, 0x401
mov rcx, qword [rax]
call sub.msys_2.0.dll_fgets
test rax, rax
je 0x10052d27f
mov rax, qword [sym.vim.exe_IObuff]
mov r12, qword [rax]
mov rcx, r12
call sub.msys_2.0.dll_strlen
mov dword [rbp + 0xc8], eax
cmp eax, 0x400
je 0x10052cfc2
mov qword [rbp + 0xc0], r12
mov r9d, dword [rbp + 0x118]
test r9d, r9d
je 0x10052d0b4
mov rcx, r12
call sym.vim.exe_has_non_ascii
test eax, eax
jne 0x10052d4e0
movsxd rax, dword [rbp + 0xc8]
mov r12, qword [rbp + 0xc0]
test eax, eax
jle 0x10052c477
lea rax, [r12 + rax - 1]
cmp byte [rax], 0xa
je 0x10052d2c8
mov rcx, r12
call sym.vim.exe_remove_bom
mov eax, dword [rbp + 0xc8]
mov r15, qword [rbp + 0xc0]
mov dword [rbp + 0x2c], eax
add eax, 1
mov dword [rbp + 0x28], eax
cdqe
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x58], r15
mov r15, qword [0x10070bc08]
test r15, r15
je 0x10052cebd
mov qword [0x10070bc08], 0
mov dword [rbp + 0xb0], 1
jmp 0x10052c56c
mov rax, qword [rbp + 0x60]
mov byte [rax], 0
mov rax, qword [rbp + 0x68]
mov byte [rax], 0
mov rax, qword [rbp + 0xa0]
mov byte [rax], 0
mov rax, qword [rbp + 0x70]
mov byte [rax], 0
mov eax, 0xffffffff
mov rdx, qword [rbp + 0x58]
xor r8d, r8d
mov byte [rbp + 0x98], 0
mov qword [rbp + 0xa8], rax
mov rax, qword [r15]
lea rsi, [rbp + 0x130]
mov qword [rbp + 0x80], 0
mov rcx, rsi
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x90], 0
mov dword [rbp + 0x1d8], 1
mov qword [rbp + 0x130], rax
call sym.vim.exe_vim_regexec
mov rdx, qword [rbp + 0x130]
mov qword [r15], rdx
test eax, eax
jne 0x10052c770
mov r15, qword [r15 + 8]
test r15, r15
je 0x10052c8b9
mov edi, dword [r14 + 0x80]
movzx r12d, byte [r15 + 0x1b]
mov ebx, dword [r14 + 0x78]
test edi, edi
je 0x10052c4d0
mov edx, r12d
lea rcx, [0x1006b40d7]
call sym.vim.exe_vim_strchr
test rax, rax
je 0x10052c55f
mov rax, qword [rbp + 0x60]
mov byte [rax], 0
mov rax, qword [rbp + 0x68]
mov byte [rax], 0
mov rax, qword [rbp + 0xa0]
mov byte [rax], 0
jmp 0x10052c4ef
mov rax, qword [r12 + 8]
mov rcx, qword [r12]
mov qword [0x10070bba8], rax
call sym.vim.exe_vim_regfree
mov rcx, r12
call sym.vim.exe_vim_free
mov r12, qword [0x10070bba8]
test r12, r12
jne 0x10052c5b8
mov rcx, qword [rbp + 0x258]
lea rsi, [0x1006b46d8]
mov qword [0x10070bc08], 0
lea rbx, [rsi - 0xa0]
call sub.msys_2.0.dll_strlen
lea edi, [rax*4 + 0x21]
mov eax, 3
jmp 0x10052c624
mov rcx, qword [rsi]
sub rsi, 0x10
call sub.msys_2.0.dll_strlen
add edi, eax
cmp rbx, rsi
jne 0x10052c618
lea ecx, [rdi + 2]
movsxd rcx, ecx
call sym.vim.exe_alloc
mov qword [rbp + 0x58], rax
test rax, rax
je 0x10052d3fd
mov rsi, qword [rbp + 0x258]
xor edi, edi
mov qword [rbp + 0x50], 0
cmp byte [rsi], 0
je 0x10052d8fc
mov qword [rbp + 0x48], r14
nop dword [rax]
mov ecx, 0x28
mov rbx, rdi
call sym.vim.exe_alloc_clear
mov rdi, rax
test rax, rax
je 0x10052d69c
cmp qword [rbp + 0x50], 0
je 0x10052cf40
mov qword [rbx + 8], rax
mov rcx, qword [rbp + 0x58]
movzx eax, byte [rsi]
lea r13, [rcx + 1]
test al, al
je 0x10052cf57
cmp al, 0x2c
je 0x10052cf57
xor edx, edx
xor ecx, ecx
jmp 0x10052c6ce
mov edx, r8d
movsxd rcx, edx
lea r15, [rsi + rcx]
movzx eax, byte [r15]
test al, al
je 0x10052c6f0
cmp al, 0x2c
je 0x10052c6f0
lea r8d, [rdx + 1]
cmp al, 0x5c
jne 0x10052c6b8
add edx, 2
cmp byte [rsi + rcx + 1], 0
je 0x10052c6b8
movsxd rcx, edx
lea r15, [rsi + rcx]
movzx eax, byte [r15]
test al, al
jne 0x10052c6ca
nop
mov rax, qword [rbp + 0x58]
mov byte [rax], 0x5e
cmp r15, rsi
jbe 0x10052cc90
mov rbx, rsi
xor r12d, r12d
jmp 0x10052c732
cmp r15, r14
jbe 0x10052c747
add rbx, 2
movzx eax, byte [r14]
test al, al
je 0x10052c729
mov byte [r13], al
add r13, 1
cmp r15, rbx
jbe 0x10052cc90
movzx edx, byte [rbx]
lea r14, [rbx + 1]
cmp dl, 0x25
je 0x10052cc20
cmp dl, 0x5c
je 0x10052c710
lea rcx, [0x1006b4194]
call sym.vim.exe_vim_strchr
test rax, rax
je 0x10052cc08
mov rax, r14
mov byte [r13], 0x5c
mov r14, rbx
add r13, 1
mov rbx, rax
jmp 0x10052c719
movzx r13d, byte [r15 + 0x1b]
cmp r13d, 0x43
sete dl
cmp r13d, 0x5a
sete al
or dl, al
je 0x10052c78f
test ebx, ebx
je 0x10052c55f
mov edx, r13d
lea rcx, str.EWIN
call sym.vim.exe_vim_strchr
mov r10d, 1
mov dword [rbp + 0x40], edi
mov rdi, rsi
test rax, rax
mov eax, 0
mov dword [rbp + 0x44], r12d
mov r12, r15
cmovne eax, r13d
mov qword [rbp + 0x48], 0
xor ebx, ebx
mov r15d, r10d
mov dword [rbp + 0xac], eax
jmp 0x10052c868
test al, al
je 0x10052c87d
cmp qword [rbp + rdx*8 + 0x138], 0
je 0x10052c8a9
lea rax, [rdx + 0xa]
mov rcx, qword [rbp + rax*8 + 0x138]
mov qword [rbp + 0x50], rax
test rcx, rcx
je 0x10052c8a9
movzx esi, byte [rcx]
mov byte [rcx], 0
mov r8d, 0x400
mov rcx, qword [rbp + rdx*8 + 0x138]
mov rdx, qword [rbp + 0x60]
call sym.vim.exe_expand_env
mov rax, qword [rbp + 0x50]
mov edx, r13d
lea rcx, [0x1006b40d7]
mov rax, qword [rbp + rax*8 + 0x138]
mov byte [rax], sil
call sym.vim.exe_vim_strchr
test rax, rax
je 0x10052c860
mov rcx, qword [rbp + 0x60]
call sym.vim.exe_mch_getperm
cmp rax, 0xffffffffffffffff
je 0x10052c8a9
nop word [rax + rax]
add rbx, 1
add r15d, 1
movzx edx, byte [r12 + rbx + 0x10]
mov ecx, ebx
test edx, edx
setg al
test ebx, ebx
je 0x10052c7d8
cmp rbx, 5
je 0x10052cbb0
cmp ecx, 6
jne 0x10052cab0
test al, al
je 0x10052cab0
mov rax, qword [rbp + rdx*8 + 0x138]
mov qword [rbp + 0x48], rax
test rax, rax
jne 0x10052c860
mov r15, r12
mov r15, qword [r15 + 8]
test r15, r15
jne 0x10052c56c
mov rax, qword [rbp + 0x60]
mov r15, qword [rbp + 0x58]
mov dword [r14 + 0x80], 0
mov byte [rax], 0
mov eax, dword [rbp + 0x2c]
mov qword [rbp + 0x80], 0
mov dword [rbp + 0xb0], 0
cmp eax, dword [rbp + 0x78]
jge 0x10052d8a5
movsxd r8, dword [rbp + 0x2c]
mov rcx, qword [rbp + 0x70]
mov rdx, r15
call sym.vim.exe_vim_strncpy
mov qword [r14 + 0x78], 0
mov r8, qword [rbp + 0x60]
mov eax, dword [rbp + 0xb0]
mov r15d, dword [rbp + 0xac]
mov r13d, dword [rbp + 0xa8]
cmp byte [r8], 0
mov r12, qword [rbp + 0xa0]
movzx edi, byte [rbp + 0x98]
mov esi, dword [rbp + 0x94]
mov ebx, dword [rbp + 0x90]
mov r11, qword [rbp + 0x88]
mov r10, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x70]
mov r9, qword [rbp + 0x68]
mov rdx, qword [r14 + 0x60]
jne 0x10052c963
test rdx, rdx
je 0x10052d554
mov qword [rsp + 0x28], rcx
mov rcx, r14
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x68], r15d
mov dword [rsp + 0x60], r13d
mov qword [rsp + 0x58], r12
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x48], esi
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x30], r10
mov dword [rsp + 0x20], 0
call fcn.10052b4a0
cmp eax, 3
je 0x10052cbec
cmp eax, 2
je 0x10052d27f
test eax, eax
je 0x10052ca0c
call sym.vim.exe_line_breakcheck
mov rax, qword [sym.vim.exe_got_int]
mov eax, dword [rax]
test eax, eax
jne 0x10052d27f
mov rax, qword [0x10070bba8]
mov r8, qword [rbp + 0xe0]
mov qword [rbp + 0x30], rax
test r8, r8
jne 0x10052c3f0
mov rax, qword [rbp + 0xe8]
test rax, rax
je 0x10052d20d
mov eax, dword [rax]
cmp eax, 7
je 0x10052d2ff
cmp eax, 0xb
je 0x10052d18e
mov r11d, dword [rbp + 0x14]
test r11d, r11d
jne 0x10052cbec
mov rcx, r14
call fcn.10052b230
mov rcx, qword [r14 + 0x30]
test rcx, rcx
je 0x10052ca37
call sym.vim.exe_vim_free
mov qword [r14 + 0x30], 0
mov rcx, qword [r14 + 0x38]
mov r12d, 0xffffffff
call sym.vim.exe_free_tv
mov qword [r14 + 0x38], 0
lea rcx, [r14 + 0x40]
call sym.vim.exe_free_callback
mov rax, qword [rbp + 0x230]
mov dword [r14], 0
mov qword [r14 + 0x88], 0
sub dword [rax + 4], 1
mov eax, dword [rax + 8]
test eax, eax
jle 0x10052c2ab
mov rdi, qword [rbp + 0x230]
sub eax, 1
mov dword [rdi + 8], eax
cmp dword [rbp + 0x238], eax
jne 0x10052c2b7
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x230]
call fcn.10052b860
jmp 0x10052c2b7
test edx, edx
je 0x10052cace
lea rax, [0x1006b45c0]
mov r8, qword [rbp + 0x38]
mov rcx, rdi
call qword [rax + rbx*8]
cmp eax, 1
jne 0x10052cbe0
cmp r15d, 0xb
jne 0x10052c860
mov dword [r14 + 0x80], 0
mov r15, r12
mov r12d, dword [rbp + 0x44]
cmp r12d, 0x44
je 0x10052d915
cmp r12d, 0x58
je 0x10052d6cb
mov r13d, dword [r15 + 0x20]
test r13d, r13d
je 0x10052cb0e
mov qword [0x10070bc08], r15
mov edx, r12d
lea rcx, str.AEWIN
call sym.vim.exe_vim_strchr
test rax, rax
jne 0x10052d770
mov edx, r12d
lea rcx, [0x1006b41cc]
call sym.vim.exe_vim_strchr
mov rbx, rax
test rax, rax
jne 0x10052d788
mov edx, r12d
lea rcx, [0x1006b40d7]
call sym.vim.exe_vim_strchr
test rax, rax
je 0x10052cb8b
mov dword [rbp + 0xb0], 0
mov rcx, qword [rbp + 0x60]
cmp byte [rcx], 0
jne 0x10052d0c0
cmp r12d, 0x51
je 0x10052d375
mov rax, qword [rbp + 0x48]
mov byte [rcx], 0
test rax, rax
je 0x10052cb8b
cmp byte [rax], 0
jne 0x10052d49c
cmp byte [r15 + 0x1c], 0x2d
jne 0x10052c908
mov ebx, dword [r14 + 0x78]
test ebx, ebx
je 0x10052c9b7
mov dword [r14 + 0x7c], 1
jmp 0x10052c9b7
cmp byte [r12 + 0x1c], 0x2b
jne 0x10052cbc3
mov eax, dword [rbp + 0x40]
test eax, eax
je 0x10052cf85
test edx, edx
je 0x10052c860
mov r8, qword [rbp + 0x38]
mov rcx, rdi
call fcn.100529920
cmp eax, 1
je 0x10052c860
mov r15, r12
cmp eax, 3
jne 0x10052c55f
mov rax, qword [rbp + 0x230]
mov r12d, 0xffffffff
mov eax, dword [rax + 8]
jmp 0x10052c2ab
mov rax, r14
mov r14, rbx
mov rbx, rax
jmp 0x10052c719
movzx edx, byte [rbx + 1]
lea rcx, [0x1006b4650]
mov r8d, 0x66
xor eax, eax
jmp 0x10052cc40
movzx r8d, byte [rcx]
add rcx, 0x10
cmp dl, r8b
je 0x10052cd00
add eax, 1
cmp eax, 0xb
jne 0x10052cc38
cmp dl, 0x2a
je 0x10052cdd8
lea rcx, str._.__
call sym.vim.exe_vim_strchr
test rax, rax
movzx eax, byte [rbx + 1]
je 0x10052ce58
add rbx, 2
mov byte [r13], al
add r13, 1
cmp r15, rbx
ja 0x10052c732
nop dword [rax + rax]
mov eax, 0x24
mov rcx, qword [rbp + 0x58]
mov edx, 3
mov word [r13], ax
call sym.vim.exe_vim_regcomp
mov qword [rdi], rax
test rax, rax
je 0x10052d68f
mov rcx, r15
call sym.vim.exe_skip_to_option_part
cmp byte [rax], 0
mov rsi, rax
jne 0x10052c668
mov rcx, qword [rbp + 0x58]
mov r14, qword [rbp + 0x48]
call sym.vim.exe_vim_free
mov rax, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x258]
mov qword [0x10070bba8], rax
call sym.vim.exe_vim_strsave
mov qword [0x10070bbb0], rax
jmp 0x10052c3ac
movsxd r14, eax
cmp byte [rdi + r14 + 0x10], 0
jne 0x10052d98b
test eax, eax
je 0x10052cdb0
cmp eax, 5
jg 0x10052cdb0
movzx edx, byte [rdi + 0x1b]
lea rcx, str.DXOPQ
call sym.vim.exe_vim_strchr
test rax, rax
jne 0x1006641e5
add r12d, 1
mov edx, 0x285c
lea rax, [r13 + 2]
mov byte [rdi + r14 + 0x10], r12b
mov word [r13], dx
cmp byte [rbx + 1], 0x66
je 0x10052ce20
shl r14, 4
lea rcx, [0x1006b4640]
mov rcx, qword [rcx + r14 + 8]
lea rdx, [rcx + 1]
movzx ecx, byte [rcx]
mov byte [r13 + 2], cl
test cl, cl
je 0x10052cd91
nop dword [rax]
movzx ecx, byte [rdx]
add rax, 1
add rdx, 1
mov byte [rax], cl
test cl, cl
jne 0x10052cd80
mov r8d, 0x295c
lea r13, [rax + 2]
add rbx, 2
mov word [rax], r8w
jmp 0x10052c729
cmp eax, 6
jne 0x10052cd39
movzx edx, byte [rdi + 0x1b]
lea rcx, [0x1006b40d7]
call sym.vim.exe_vim_strchr
test rax, rax
jne 0x10052cd39
jmp 0x1006641e5
movzx eax, byte [rbx + 2]
lea rcx, [rbx + 2]
lea edx, [rax - 0x5b]
cmp dl, 1
ja 0x100664290
mov byte [r13], al
lea rdx, [r13 + 1]
cmp al, 0x5b
je 0x10052cedc
cmp rcx, r15
jb 0x10052cf70
add rbx, 3
mov ecx, 0x2b5c
lea r13, [rdx + 2]
mov word [rdx], cx
jmp 0x10052c729
movzx edx, byte [rbx + 2]
test dl, dl
je 0x10052cd5a
cmp dl, 0x5c
je 0x10052d101
cmp dl, 0x25
je 0x10052d101
movabs rcx, 0x7d2c312d7b5c2e
mov qword [rax], rcx
lea rax, [r13 + 9]
jmp 0x10052cd91
cmp al, 0x23
je 0x10052d114
cmp al, 0x3e
je 0x10052d3b2
movzx edx, al
lea rax, [rsi + 1]
cmp r14, rax
jne 0x100664232
lea rcx, [0x1006b4138]
call sym.vim.exe_vim_strchr
test rax, rax
je 0x10052ce94
movzx eax, byte [rbx + 1]
lea r14, [rbx + 2]
mov byte [rdi + 0x1c], al
movzx edx, byte [r14]
lea rcx, str.DXAEWINCZGOPQ
call sym.vim.exe_vim_strchr
test rax, rax
je 0x10052d994
movzx eax, byte [r14]
lea rbx, [r14 + 1]
mov byte [rdi + 0x1b], al
jmp 0x10052c729
mov dword [rbp + 0xb0], 1
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x10052c8b9
mov r15, rax
jmp 0x10052c56c
cmp byte [rbx + 3], 0x5e
jne 0x10052ceef
mov byte [r13 + 1], 0x5e
lea rcx, [rbx + 3]
lea rdx, [r13 + 2]
lea rbx, [rcx + 1]
cmp r15, rcx
jbe 0x10052ce09
movzx ecx, byte [rcx + 1]
lea rax, [rdx + 1]
mov byte [rdx], cl
lea rcx, [r15 + 1]
jmp 0x10052cf2c
movzx edx, byte [rbx]
add rax, 1
mov byte [rax - 1], dl
cmp dl, 0x5d
je 0x10052d548
cmp r15, rbx
je 0x10052d3c2
mov r8, rbx
add rbx, 1
cmp rcx, rbx
jne 0x10052cf10
mov rdx, rax
jmp 0x10052ce09
mov qword [rbp + 0x50], rax
mov rcx, qword [rbp + 0x58]
movzx eax, byte [rsi]
lea r13, [rcx + 1]
test al, al
jne 0x10052c6a3
mov rax, qword [rbp + 0x58]
mov r15, rsi
mov byte [rax], 0x5e
jmp 0x10052cc90
movzx eax, byte [rbx + 3]
lea rdx, [r13 + 2]
add rbx, 4
mov byte [r13 + 1], al
jmp 0x10052ce09
mov rcx, qword [rbp + 0x70]
mov eax, dword [rbp + 0x2c]
cmp eax, dword [rbp + 0x78]
jl 0x10052cfb0
mov rdx, qword [rbp + 0x20]
call sub.msys_2.0.dll_realloc
mov rcx, rax
test rax, rax
je 0x10052cbec
mov qword [rbp + 0x70], rax
mov eax, dword [rbp + 0x28]
mov dword [rbp + 0x78], eax
movsxd r8, dword [rbp + 0x2c]
mov rdx, qword [rbp + 0x58]
call sym.vim.exe_vim_strncpy
jmp 0x10052c860
cmp byte [r12 + 0x3ff], 0xa
je 0x10052c430
mov rax, qword [rbp + 0xd0]
test rax, rax
je 0x10052d608
mov rdx, qword [r12]
lea rdi, [rax + 8]
mov rsi, r12
and rdi, 0xfffffffffffffff8
mov qword [rax], rdx
mov rdx, qword [r12 + 0x3f8]
mov qword [rax + 0x3f8], rdx
sub rax, rdi
sub rsi, rax
add eax, 0x400
shr eax, 3
mov ecx, eax
rep movsq qword [rdi], qword [rsi]
mov esi, 0x1000
movsxd rdi, dword [rbp + 0xc8]
mov rax, qword [rbp + 0xd0]
mov rbx, rdi
mov edx, dword [rbp + 0xd8]
mov r8, qword [rbp + 0xe0]
lea rcx, [rax + rdi]
sub edx, ebx
call sub.msys_2.0.dll_fgets
mov r12, qword [rbp + 0xd0]
test rax, rax
je 0x10052d17c
lea rcx, [r12 + rdi]
call sub.msys_2.0.dll_strlen
add ebx, eax
mov dword [rbp + 0xc8], eax
movsxd rdi, ebx
cmp byte [r12 + rdi - 1], 0xa
je 0x10052d17c
mov eax, dword [rbp + 0xd8]
cmp eax, 0x1000
je 0x10052d126
add eax, eax
mov rcx, r12
cmp eax, 0x1000
cmovg eax, esi
movsxd rdx, eax
mov dword [rbp + 0xd8], eax
call sub.msys_2.0.dll_realloc
test rax, rax
je 0x10052cbec
mov qword [rbp + 0xd0], rax
jmp 0x10052d02b
movsxd rax, dword [rbp + 0xc8]
jmp 0x10052c465
call sym.vim.exe_mch_getperm
test rax, rax
js 0x10052cb8b
mov rcx, qword [rbp + 0x60]
cmp byte [rcx], 0
je 0x10052cb6c
cmp r12d, 0x50
jne 0x10052cb6c
lea rdx, [r14 + 0x68]
mov r8d, 1
call fcn.100529ab0
mov rcx, qword [rbp + 0x60]
mov qword [r14 + 0x70], rax
jmp 0x10052cb76
mov dword [rax], 0x2b5c665c
mov byte [rax + 4], 0
lea rax, [r13 + 6]
jmp 0x10052cd91
mov byte [r13], 0x2a
add rbx, 2
add r13, 1
jmp 0x10052c729
mov rax, qword [sym.vim.exe_IObuff]
mov r12, qword [rax]
jmp 0x10052d15c
mov rax, qword [sym.vim.exe_IObuff]
mov r12, qword [rax]
mov rcx, r12
call sub.msys_2.0.dll_strlen
cmp eax, 0x3ff
jle 0x10052d175
cmp byte [r12 + 0x3ff], 0xa
je 0x10052d175
mov r8, qword [rbp + 0xe0]
mov edx, 0x401
mov rcx, r12
call sub.msys_2.0.dll_fgets
test rax, rax
jne 0x10052d138
mov r12, qword [rbp + 0xd0]
mov qword [rbp + 0xc0], r12
mov dword [rbp + 0xc8], ebx
jmp 0x10052c437
mov rbx, qword [rbp + 0xf8]
test rbx, rbx
jne 0x10052d1ac
jmp 0x10052d6bb
mov rbx, qword [rbx]
test rbx, rbx
je 0x10052d6bb
cmp dword [rbx + 0x10], 7
jne 0x10052d1a0
mov r12, qword [rbx + 0x18]
test r12, r12
je 0x10052d1a0
mov rcx, r12
call sub.msys_2.0.dll_strlen
movsxd r8, eax
cmp eax, 0x3ff
jg 0x10052d46e
mov rdx, qword [sym.vim.exe_IObuff]
mov dword [rbp + 0xc8], eax
mov rcx, qword [rdx]
mov qword [rbp + 0xc0], rcx
mov rdx, r12
call sym.vim.exe_vim_strncpy
mov rax, qword [rbx]
mov r12, qword [rbp + 0xc0]
mov qword [rbp + 0xf8], rax
movsxd rax, dword [rbp + 0xc8]
jmp 0x10052c465
mov rdx, qword [rbp + 0x108]
cmp rdx, qword [rbp + 0x110]
jg 0x10052d296
mov rcx, qword [rbp + 0x100]
xor r8d, r8d
call sym.vim.exe_ml_get_buf
add qword [rbp + 0x108], 1
mov rcx, rax
mov r12, rax
call sub.msys_2.0.dll_strlen
movsxd r8, eax
cmp eax, 0x3ff
jg 0x10052d63b
mov rdx, qword [sym.vim.exe_IObuff]
mov dword [rbp + 0xc8], eax
mov rcx, qword [rdx]
mov qword [rbp + 0xc0], rcx
mov rdx, r12
call sym.vim.exe_vim_strncpy
movsxd rax, dword [rbp + 0xc8]
mov r12, qword [rbp + 0xc0]
jmp 0x10052c465
mov r8, qword [rbp + 0xe0]
test r8, r8
je 0x10052d296
test byte [r8 + 0x10], 0x40
jne 0x10052d56d
mov eax, dword [r14 + 0x24]
test eax, eax
je 0x10052d586
cmp qword [r14 + 0x18], 0
mov dword [r14 + 0x28], 0
je 0x10052d8db
mov rax, qword [rbp + 0x230]
mov r12d, dword [r14 + 0x20]
mov eax, dword [rax + 8]
jmp 0x10052c2ab
mov byte [rax], 0
movsxd rax, dword [rbp + 0xc8]
mov r12, qword [rbp + 0xc0]
cmp eax, 1
jle 0x10052c477
lea rax, [r12 + rax - 2]
cmp byte [rax], 0xd
jne 0x10052c477
mov byte [rax], 0
mov r12, qword [rbp + 0xc0]
jmp 0x10052c477
mov rsi, qword [rbp + 0xf0]
cmp byte [rsi], 0
je 0x10052d296
mov edx, 0xa
mov rcx, rsi
call sym.vim.exe_vim_strchr
test rax, rax
je 0x10052d6ac
sub rax, rsi
lea ebx, [rax + 1]
cmp ebx, 0x3ff
jg 0x10052d665
mov rax, qword [sym.vim.exe_IObuff]
mov dword [rbp + 0xc8], ebx
movsxd r8, ebx
mov rcx, qword [rax]
mov qword [rbp + 0xc0], rcx
movsxd rbx, ebx
mov rdx, rsi
call sym.vim.exe_vim_strncpy
add rbx, rsi
movsxd rax, dword [rbp + 0xc8]
mov r12, qword [rbp + 0xc0]
mov qword [rbp + 0xf0], rbx
jmp 0x10052c465
mov r12, qword [r14 + 0x68]
test r12, r12
je 0x10052d3a9
mov rax, qword [r12]
mov rcx, qword [r12 + 8]
mov qword [r14 + 0x68], rax
call sym.vim.exe_vim_free
mov rcx, r12
call sym.vim.exe_vim_free
mov rax, qword [r14 + 0x68]
test rax, rax
je 0x10052d3a5
mov rbx, qword [rax + 8]
mov rcx, qword [rbp + 0x60]
mov qword [r14 + 0x70], rbx
jmp 0x10052cb76
mov dword [rdi + 0x20], 1
add rbx, 2
jmp 0x10052c729
lea rcx, str.E374:_Missing___in_format_string
mov r14, qword [rbp + 0x48]
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
mov rbx, qword [rbp + 0x50]
nop
mov r12, rbx
mov rbx, qword [rbx + 8]
mov rcx, qword [r12]
call sym.vim.exe_vim_regfree
mov rcx, r12
call sym.vim.exe_vim_free
test rbx, rbx
jne 0x10052d3e0
mov qword [0x10070bc08], 0
mov rcx, qword [rbp + 0x58]
call sym.vim.exe_vim_free
mov qword [0x10070bba8], 0
jmp 0x10052ca0c
mov rcx, r12
call sym.vim.exe_vim_free
mov qword [0x10070bbb0], 0
jmp 0x10052c5d5
mov rax, qword [sym.vim.exe_p_enc]
lea rcx, [rbp + 0x118]
mov rdx, r13
mov r8, qword [rax]
call sym.vim.exe_convert_setup
jmp 0x10052c1b7
mov rax, qword [rsi + 8]
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0xe8], rsi
jmp 0x10052c20d
mov rcx, qword [rbp + 8]
mov edx, eax
call fcn.1005298a0
mov qword [rbp + 0xc0], rax
mov rcx, rax
test rax, rax
je 0x10052cbec
movsxd r8, dword [rbp + 0xc8]
mov r12, qword [rbx + 0x18]
jmp 0x10052d1e8
mov rcx, rax
mov rdi, rax
call sym.vim.exe_skipwhite
mov rcx, rax
call sub.msys_2.0.dll_strlen
mov rcx, rdi
mov rbx, rax
call sym.vim.exe_skipwhite
lea r8, [rbx + 1]
mov rdx, rax
mov rax, qword [sym.vim.exe_IObuff]
mov rcx, qword [rax]
call sub.msys_2.0.dll_memmove
mov dword [r14 + 0x80], 1
jmp 0x10052c49f
mov rdx, qword [rbp + 0xc0]
lea rcx, [rbp + 0x118]
lea r8, [rbp + 0xc8]
call sym.vim.exe_string_convert
mov r12, rax
test rax, rax
je 0x10052c457
cmp dword [rbp + 0xc8], 0x400
jg 0x10052d5a1
mov rcx, qword [rbp + 0xc0]
mov rdx, rax
call sub.msys_2.0.dll_strcpy
mov rcx, r12
call sym.vim.exe_vim_free
jmp 0x10052c457
lea rcx, [rbp + 0x118]
xor r8d, r8d
xor edx, edx
call sym.vim.exe_convert_setup
jmp 0x10052c2e4
lea rbx, [r8 + 2]
mov rdx, rax
jmp 0x10052ce09
mov r8, qword [r14 + 0x70]
test eax, eax
je 0x10052d565
test r8, r8
jne 0x10052c963
xor r8d, r8d
jmp 0x10052c963
mov rcx, qword [sym.vim.exe_e_error_while_reading_errorfile]
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x10052ca0c
mov rax, qword [r14 + 8]
mov qword [r14 + 0x18], rax
movabs rax, 0x100000001
mov qword [r14 + 0x24], rax
jmp 0x10052d2b5
mov rcx, qword [rbp + 0xd0]
call sym.vim.exe_vim_free
movsxd rax, dword [rbp + 0xc8]
mov edx, 0x1000
mov qword [rbp + 0xd0], r12
mov qword [rbp + 0xc0], r12
cmp eax, 0x1000
cmovle edx, eax
mov dword [rbp + 0xd8], edx
jmp 0x10052c465
mov rax, qword [rbx + 0x1d18]
cmp byte [rax], 0
cmove rax, rdi
mov qword [rbp + 0x258], rax
jmp 0x10052c385
mov dword [rbp + 0x14], 1
mov qword [rbp + 0x18], 0
jmp 0x10052c369
mov dword [rbp + 0xd8], 0x800
mov ecx, 0x800
call sym.vim.exe_alloc
mov qword [rbp + 0xd0], rax
test rax, rax
je 0x10052cbec
mov rdi, qword [sym.vim.exe_IObuff]
mov r12, qword [rdi]
jmp 0x10052cfe1
mov rcx, qword [rbp + 8]
mov edx, eax
call fcn.1005298a0
mov qword [rbp + 0xc0], rax
mov rcx, rax
test rax, rax
je 0x10052cbec
movsxd r8, dword [rbp + 0xc8]
jmp 0x10052d264
mov rcx, qword [rbp + 8]
mov edx, ebx
call fcn.1005298a0
mov qword [rbp + 0xc0], rax
mov rcx, rax
test rax, rax
je 0x10052cbec
movsxd r8, dword [rbp + 0xc8]
jmp 0x10052d34d
mov r14, qword [rbp + 0x48]
mov rbx, qword [rbp + 0x50]
jmp 0x10052d3e0
cmp qword [rbp + 0x50], 0
mov r14, qword [rbp + 0x48]
jne 0x10052d693
jmp 0x10052d3fd
mov rcx, rsi
call sub.msys_2.0.dll_strlen
mov ebx, eax
jmp 0x10052d327
mov qword [rbp + 0xf8], 0
jmp 0x10052d296
mov r12, qword [r14 + 0x58]
mov r15, qword [rbp + 0x58]
test r12, r12
je 0x10052d894
mov rax, qword [r12]
mov rcx, qword [r12 + 8]
mov qword [r14 + 0x58], rax
call sym.vim.exe_vim_free
mov rcx, r12
call sym.vim.exe_vim_free
mov rax, qword [r14 + 0x58]
test rax, rax
je 0x10052d894
mov rax, qword [rax + 8]
mov qword [r14 + 0x60], rax
mov rax, qword [rbp + 0x60]
mov byte [rax], 0
mov eax, dword [rbp + 0x2c]
mov qword [rbp + 0x80], 0
mov dword [rbp + 0xb0], 0
cmp eax, dword [rbp + 0x78]
jl 0x10052d8e8
mov eax, dword [rbp + 0x2c]
mov rcx, qword [rbp + 0x70]
lea ebx, [rax + 1]
movsxd rdx, ebx
call sub.msys_2.0.dll_realloc
mov rcx, rax
test rax, rax
je 0x10052cbec
movsxd r8, dword [rbp + 0x2c]
mov rdx, r15
mov qword [rbp + 0x70], rcx
mov dword [rbp + 0x78], ebx
call sym.vim.exe_vim_strncpy
jmp 0x10052c908
mov qword [r14 + 0x78], 1
cmp byte [r15 + 0x1c], 0x2d
jne 0x10052c908
jmp 0x10052cba2
mov r13d, r12d
mov r12d, dword [r14 + 0x7c]
test r12d, r12d
jne 0x10052d884
mov rbx, qword [r14 + 0x10]
test rbx, rbx
je 0x10052ca0c
mov r12, qword [rbp + 0x70]
cmp byte [r12], 0
je 0x10052d806
mov rcx, qword [rbx + 0x40]
call sub.msys_2.0.dll_strlen
mov rcx, r12
movsxd rdi, eax
call sub.msys_2.0.dll_strlen
lea rcx, [rdi + rax + 2]
call sym.vim.exe_alloc
mov rsi, rax
test rax, rax
je 0x10052ca0c
mov rdx, qword [rbx + 0x40]
mov rcx, rax
call sub.msys_2.0.dll_strcpy
mov rcx, qword [rbx + 0x40]
call sym.vim.exe_vim_free
mov qword [rbx + 0x40], rsi
add rsi, rdi
mov byte [rsi], 0xa
mov rdx, qword [rbp + 0x70]
lea rcx, [rsi + 1]
call sub.msys_2.0.dll_strcpy
cmp dword [rbx + 0x2c], 0xffffffff
jne 0x10052d815
mov eax, dword [rbp + 0xa8]
mov dword [rbx + 0x2c], eax
mov ecx, dword [rbp + 0xac]
call sym.vim.exe_vim_isprintc
test eax, eax
je 0x10052d833
cmp byte [rbx + 0x4a], 0
jne 0x10052d833
mov eax, dword [rbp + 0xac]
mov byte [rbx + 0x4a], al
cmp qword [rbx + 0x10], 0
jne 0x10052d845
mov rax, qword [rbp + 0x80]
mov qword [rbx + 0x10], rax
mov edi, dword [rbx + 0x24]
test edi, edi
jne 0x10052d85f
mov eax, dword [rbp + 0x90]
mov dword [rbx + 0x24], eax
movzx eax, byte [rbp + 0x98]
mov byte [rbx + 0x48], al
mov eax, dword [rbx + 0x20]
test eax, eax
jne 0x10052d884
mov r8, qword [rbp + 0x60]
mov rdx, qword [r14 + 0x60]
cmp byte [r8], 0
jne 0x10052d97e
test rdx, rdx
je 0x10052d959
mov dword [rbx + 0x20], eax
cmp r13d, 0x5a
je 0x10052d89b
call sym.vim.exe_line_breakcheck
jmp 0x10052c9b7
xor eax, eax
jmp 0x10052d707
mov qword [r14 + 0x78], 0
jmp 0x10052d88a
mov eax, dword [rbp + 0x2c]
mov rcx, qword [rbp + 0x70]
lea ebx, [rax + 1]
movsxd rdx, ebx
call sub.msys_2.0.dll_realloc
mov rcx, rax
test rax, rax
je 0x10052cbec
movsxd r8, dword [rbp + 0x2c]
mov rdx, r15
mov qword [rbp + 0x70], rcx
mov dword [rbp + 0x78], ebx
call sym.vim.exe_vim_strncpy
jmp 0x10052c900
mov rax, qword [r14 + 8]
mov qword [r14 + 0x18], rax
jmp 0x10052d2b5
mov rcx, qword [rbp + 0x70]
movsxd r8, eax
mov rdx, r15
call sym.vim.exe_vim_strncpy
jmp 0x10052c908
lea rcx, str.E378:_errorformat_contains_no_pattern
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x10052d408
mov rcx, qword [rbp + 0x60]
mov r15, qword [rbp + 0x58]
cmp byte [rcx], 0
je 0x10052d940
lea rdx, [r14 + 0x58]
xor r8d, r8d
call fcn.100529ab0
mov qword [r14 + 0x60], rax
test rax, rax
jne 0x10052d70b
jmp 0x10052ca0c
lea rcx, str.E379:_Missing_or_empty_directory_name
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x10052ca0c
mov r8, qword [r14 + 0x70]
test r8, r8
je 0x10052d881
mov esi, dword [rbp + 0xb0]
test esi, esi
je 0x10052d881
cmp byte [r8], 0
je 0x10052d881
mov rcx, r14
call fcn.10052acb0
jmp 0x10052d881
mov r14, qword [rbp + 0x48]
jmp 0x10066420e
mov r15, r14
mov r14, qword [rbp + 0x48]
jmp 0x100664259
mov r14, qword [rbp + 0x48]
movzx r12d, byte [rbx + 1]
lea rcx, str.E373:_Unexpected____c_in_format_string
call sub.msys_intl_8.dll_libintl_gettext
mov edx, r12d
mov rcx, rax
call sym.vim.exe_semsg
mov rbx, qword [rbp + 0x50]
jmp 0x10052d3e0
lea rcx, str.E372:_Too_many____c_in_format_string
mov byte [rbp + 0x48], dl
call sub.msys_intl_8.dll_libintl_gettext
movzx edx, byte [rbp + 0x48]
mov rcx, rax
call sym.vim.exe_semsg
mov rbx, qword [rbp + 0x50]
jmp 0x10052d3e0
lea rcx, str.E377:_Invalid____c_in_format_string
mov r14, qword [rbp + 0x48]
mov dword [rbp + 0x48], edx
call sub.msys_intl_8.dll_libintl_gettext
mov edx, dword [rbp + 0x48]
mov rcx, rax
call sym.vim.exe_semsg
mov rbx, qword [rbp + 0x50]
jmp 0x10052d3e0
movzx r12d, byte [r15]
lea rcx, str.E376:_Invalid____c_in_format_string_prefix
jmp 0x1006641f5
mov rcx, qword [sym.vim.exe_e_cant_open_errorfile_str]
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r12
or r12d, 0xffffffff
mov rcx, rax
call sym.vim.exe_semsg
mov rax, qword [rbp + 0x230]
mov eax, dword [rax + 8]
jmp 0x10052c2ab
lea rcx, str.E375:_Unsupported____c_in_format_string
mov r15d, eax
mov r14, qword [rbp + 0x48]
call sub.msys_intl_8.dll_libintl_gettext
movzx edx, r15b
mov rcx, rax
call sym.vim.exe_semsg
mov rbx, qword [rbp + 0x50]
jmp 0x10052d3e0