Function at 0x100494530
Capabilities:
Query environment variable

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x80]
mov esi, dword [rbp + 0x50]
mov r12, rdx
mov r14, r8
mov r13d, r9d
test rdx, rdx
je 0x1004947dd
test rcx, rcx
je 0x100494570
mov eax, dword [rcx + 0x1ea0]
test eax, eax
jne 0x1004946c2
mov rax, qword [sym.vim.exe_homedir]
mov qword [rbp - 0x48], 0
mov rcx, qword [rax]
test rcx, rcx
je 0x100494590
call sub.msys_2.0.dll_strlen
mov qword [rbp - 0x48], rax
lea rcx, [0x1006a3ba9]
call sub.msys_2.0.dll_getenv
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x30], rax
test rax, rax
je 0x1004945bc
movzx eax, byte [rax]
test al, al
jne 0x1004947b2
mov qword [rbp - 0x30], 0
xor r15d, r15d
test esi, esi
je 0x1004947cd
cmp byte [r12], 0
je 0x100494699
test r13d, r13d
jle 0x100494699
nop dword [rax + rax]
mov rax, qword [sym.vim.exe_homedir]
mov rbx, qword [rbp - 0x48]
mov rdi, qword [rax]
jmp 0x100494603
mov rax, qword [rbp - 0x30]
cmp rax, rdi
je 0x100494690
mov rdi, rax
mov rbx, r15
test rbx, rbx
je 0x1004945f0
mov rax, qword [sym.vim.exe_p_fic]
cmp qword [rax], 0
jne 0x100494728
mov r8, rbx
mov rdx, rdi
mov rcx, r12
call sub.msys_2.0.dll_strncmp
test eax, eax
jne 0x1004945f0
add rbx, r12
movzx eax, byte [rbx]
cmp al, 0x2f
je 0x1004947a0
test esi, esi
jne 0x100494645
cmp al, 0x2c
je 0x100494649
cmp al, 0x20
je 0x100494649
test al, al
jne 0x1004945f0
mov r12, rbx
sub r13d, 1
je 0x100494695
mov byte [r14], 0x7e
mov r12, rbx
movzx eax, byte [rbx]
add r14, 1
jmp 0x100494695
test esi, esi
jne 0x10049467c
cmp al, 0x2c
je 0x10049473b
cmp al, 0x20
je 0x10049473b
sub r13d, 1
test r13d, r13d
jle 0x100494699
mov byte [r14], al
add r14, 1
add r12, 1
movzx eax, byte [r12]
test al, al
jne 0x100494668
mov byte [r14], 0
mov rcx, qword [rbp - 0x30]
cmp qword [rbp - 0x50], rcx
je 0x1004946ad
call sym.vim.exe_vim_free
nop
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
add r12, 1
movzx eax, byte [r12]
cmp al, 0x2f
je 0x1004946be
mov rbx, qword [sym.vim.exe_mb_ptr2len]
mov rsi, r12
test al, al
jne 0x1004946eb
jmp 0x1004946fe
lea rdx, [r12 + 1]
cmp al, 0x2f
cmove rsi, rdx
mov rcx, r12
call qword [rbx]
cdqe
add r12, rax
movzx eax, byte [r12]
test al, al
jne 0x1004946e0
movsxd rdx, r13d
mov r9, rsi
lea r8, [0x1006a3ba6]
mov rcx, r14
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp sym.vim.exe_vim_snprintf
movsxd r8, ebx
mov rdx, rdi
mov rcx, r12
call sym.vim.exe_mb_strnicmp
jmp 0x100494627
movzx eax, byte [r12]
cmp al, 0x20
je 0x100494748
cmp al, 0x2c
jne 0x100494782
sub r13d, 1
test r13d, r13d
jg 0x10049476a
jmp 0x100494699
sub r13d, 1
je 0x100494699
add r12, 1
mov byte [r14], al
add r14, 1
movzx eax, byte [r12]
cmp al, 0x20
je 0x100494760
cmp al, 0x2c
je 0x100494760
test r13d, r13d
jle 0x100494699
test al, al
jne 0x1004945e0
jmp 0x100494699
sub r13d, 1
mov r12, rbx
je 0x100494668
jmp 0x100494652
cmp al, 0x7e
je 0x1004947e6
mov r15, qword [rbp - 0x50]
mov rcx, r15
call sub.msys_2.0.dll_strlen
mov r15, rax
test esi, esi
jne 0x1004945c7
mov rcx, r12
call sym.vim.exe_skipwhite
mov r12, rax
jmp 0x1004945c7
mov byte [r8], 0
jmp 0x1004946ad
mov rcx, qword [rbp - 0x50]
mov dword [rbp - 0x38], 0
mov qword [rbp - 0x28], 0
call sub.msys_2.0.dll_strlen
lea r9, [rbp - 0x30]
lea r8, [rbp - 0x38]
xor edx, edx
mov dword [rbp - 0x34], eax
lea rax, [rbp - 0x34]
lea rcx, [0x1006a3bae]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
call sym.vim.exe_modify_fname
mov r15, qword [rbp - 0x30]
mov rcx, r15
call sub.msys_2.0.dll_strlen
mov dword [rbp - 0x34], eax
test eax, eax
jle 0x1004947ba
cdqe
lea rax, [r15 + rax - 1]
cmp byte [rax], 0x2f
jne 0x1004947ba
mov byte [rax], 0
mov r15, qword [rbp - 0x30]
test r15, r15
jne 0x1004947ba
jmp 0x1004945bc