Function at 0x140001d90
Capabilities:
Delete registry key
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
xor ebx, ebx
mov r15d, pe_nt_image_headers64
mov r14d, ebx
test r14d, r14d
mov ebp, 0x200
cmovne ebp, r15d
cmp dword [0x140035964], 0
jne 0x140001e04
lea rcx, str.ADVAPI32.DLL
mov dword [0x140035964], 1
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x140035968], rax
test rax, rax
je 0x140001e04
lea rdx, str.RegDeleteKeyExA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140035970], rax
jmp 0x140001e0b
mov rax, qword [0x140035970]
lea rdx, str.Applicationsgvim.exe_shelleditcommand
mov rcx, 0xffffffff80000000
test rax, rax
je 0x140001e28
xor r9d, r9d
mov r8d, ebp
call rax
jmp 0x140001e2e
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
lea edi, [rbx + 1]
cmove edi, ebx
cmp dword [0x140035964], 0
jne 0x140001e7b
lea rcx, str.ADVAPI32.DLL
mov dword [0x140035964], 1
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x140035968], rax
test rax, rax
je 0x140001e7b
lea rdx, str.RegDeleteKeyExA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140035970], rax
jmp 0x140001e82
mov rax, qword [0x140035970]
lea rdx, str.Applicationsgvim.exe_shelledit
mov rcx, 0xffffffff80000000
test rax, rax
je 0x140001e9f
xor r9d, r9d
mov r8d, ebp
call rax
jmp 0x140001ea5
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
lea ebx, [rdi + 1]
cmove ebx, edi
cmp dword [0x140035964], 0
jne 0x140001ef2
lea rcx, str.ADVAPI32.DLL
mov dword [0x140035964], 1
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x140035968], rax
test rax, rax
je 0x140001ef2
lea rdx, str.RegDeleteKeyExA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140035970], rax
jmp 0x140001ef9
mov rax, qword [0x140035970]
lea rdx, str.Applicationsgvim.exe_shell
mov rcx, 0xffffffff80000000
test rax, rax
je 0x140001f16
xor r9d, r9d
mov r8d, ebp
call rax
jmp 0x140001f1c
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
lea edi, [rbx + 1]
cmove edi, ebx
cmp dword [0x140035964], 0
jne 0x140001f69
lea rcx, str.ADVAPI32.DLL
mov dword [0x140035964], 1
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x140035968], rax
test rax, rax
je 0x140001f69
lea rdx, str.RegDeleteKeyExA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140035970], rax
jmp 0x140001f70
mov rax, qword [0x140035970]
lea rdx, str.Applicationsgvim.exe
mov rcx, 0xffffffff80000000
test rax, rax
je 0x140001f8d
xor r9d, r9d
mov r8d, ebp
call rax
jmp 0x140001f93
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
lea ebx, [rdi + 1]
cmove ebx, edi
cmp dword [0x140035964], 0
jne 0x140001fe0
lea rcx, str.ADVAPI32.DLL
mov dword [0x140035964], 1
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x140035968], rax
test rax, rax
je 0x140001fe0
lea rdx, str.RegDeleteKeyExA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140035970], rax
jmp 0x140001fe7
mov rax, qword [0x140035970]
lea rdx, str..htmOpenWithListgvim.exe
mov rcx, 0xffffffff80000000
test rax, rax
je 0x140002004
xor r9d, r9d
mov r8d, ebp
call rax
jmp 0x14000200a
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
lea edi, [rbx + 1]
cmove edi, ebx
cmp dword [0x140035964], 0
jne 0x140002057
lea rcx, str.ADVAPI32.DLL
mov dword [0x140035964], 1
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x140035968], rax
test rax, rax
je 0x140002057
lea rdx, str.RegDeleteKeyExA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140035970], rax
jmp 0x14000205e
mov rax, qword [0x140035970]
lea rdx, str..vimOpenWithListgvim.exe
mov rcx, 0xffffffff80000000
test rax, rax
je 0x14000207b
xor r9d, r9d
mov r8d, ebp
call rax
jmp 0x140002081
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
lea esi, [rdi + 1]
cmove esi, edi
cmp dword [0x140035964], 0
jne 0x1400020ce
lea rcx, str.ADVAPI32.DLL
mov dword [0x140035964], 1
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x140035968], rax
test rax, rax
je 0x1400020ce
lea rdx, str.RegDeleteKeyExA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140035970], rax
jmp 0x1400020d5
mov rax, qword [0x140035970]
lea rdx, str.OpenWithListgvim.exe
mov rcx, 0xffffffff80000000
test rax, rax
je 0x1400020f2
xor r9d, r9d
mov r8d, ebp
call rax
jmp 0x1400020f8
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
lea ebx, [rsi + 1]
cmove ebx, esi
inc r14d
cmp r14d, 2
jl 0x140001db3
cmp ebx, 0xe
jne 0x14000211b
lea rcx, str.No_Vim_open_with_registry_entries_could_be_removed_n
jmp 0x14000212f
test ebx, ebx
lea rcx, str.Some_Vim_open_with_registry_entries_could_not_be_removed_n
lea rax, str.The_Vim_open_with_registry_entries_have_been_removed_n
cmovle rcx, rax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
jmp fcn.1400019e0