Function at 0x402f20
Capabilities:
Move file

Disassembly:
sub esp, 0x218
mov eax, dword [0x433448]
xor eax, esp
mov dword [esp + 0x214], eax
push ebx
push ebp
push esi
push edi
push str.Inspecting_system..._n
call fcn.00404f50
push 0x427c58
call fcn.00412591
mov edx, eax
add esp, 8
mov dword [esp + 0x10], edx
test edx, edx
je 0x4030ab
mov ebx, dword [0x43590c]
mov ebp, edx
dec ebx
lea ecx, [ebp + 1]
nop dword [eax]
mov al, byte [ebp]
inc ebp
test al, al
jne 0x402f70
sub ebp, ecx
test ebx, ebx
jns 0x402f8f
mov ebx, 0x435920
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x402f86
sub ebx, ecx
xor edi, edi
test ebp, ebp
je 0x402ffc
mov eax, edx
sub eax, 0x435920
mov dword [esp + 0x18], eax
cmp edi, ebx
je 0x4031cf
mov al, byte [eax + edi + 0x435920]
movsx esi, byte [edi + 0x435920]
movsx ecx, al
mov byte [esp + 0x16], al
lea eax, [ecx - 0x61]
cmp eax, 0x19
lea edx, [ecx - 0x20]
lea eax, [esi - 0x61]
cmova edx, ecx
cmp eax, 0x19
lea ecx, [esi - 0x20]
cmova ecx, esi
cmp edx, ecx
je 0x402ff3
mov al, byte [esp + 0x16]
cmp al, 0x2f
je 0x402fe5
cmp al, 0x5c
jne 0x403021
mov al, byte [edi + 0x435920]
cmp al, 0x2f
je 0x402ff3
cmp al, 0x5c
jne 0x403021
mov eax, dword [esp + 0x18]
inc edi
cmp edi, ebp
jne 0x402fa0
cmp edi, ebx
je 0x4030ab
lea eax, [ebx - 1]
cmp edi, eax
jne 0x403021
mov al, byte [edi + 0x435920]
cmp al, 0x5c
je 0x4030ab
cmp al, 0x2f
je 0x4030ab
mov esi, dword [esp + 0x10]
push str._______________________________________________________n
call fcn.00404f50
push esi
push str._VIM_is_set_to___s_._n
call fcn.00404f50
push str.This_is_different_from_where_this_version_of_Vim_is:_n
call fcn.00404f50
add esp, 0x10
xor ecx, ecx
nop dword [eax]
mov al, byte [ecx + 0x435920]
lea ecx, [ecx + 1]
mov byte [esp + ecx + 0x1b], al
test al, al
jne 0x403050
mov eax, dword [0x43590c]
mov byte [esp + eax + 0x1b], 0
lea eax, [esp + 0x1c]
push eax
push str.__s__n
call fcn.00404f50
push str.You_must_adjust_or_remove_the_setting_of__VIM__n
call fcn.00404f50
add esp, 0xc
cmp dword [0x435a1c], 0
jne 0x4034c9
push str.otherwise_Vim_WILL_NOT_WORK_properly__n
call fcn.00404f50
push str._______________________________________________________n
call fcn.00404f50
add esp, 8
push str.VIMRUNTIME
call fcn.00412591
mov ecx, eax
add esp, 4
mov dword [esp + 0x10], ecx
test ecx, ecx
je 0x403239
mov ebx, ecx
lea edx, [ebx + 1]
nop dword [eax + eax]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x4030d0
mov ebp, 0x435920
sub ebx, edx
lea edx, [ebp + 1]
mov al, byte [ebp]
inc ebp
test al, al
jne 0x4030e1
sub ebp, edx
xor edi, edi
test ebx, ebx
je 0x40315c
mov eax, ecx
sub eax, 0x435920
mov dword [esp + 0x18], eax
nop dword [eax]
cmp edi, ebp
je 0x4031fe
mov al, byte [eax + edi + 0x435920]
movsx esi, byte [edi + 0x435920]
movsx ecx, al
mov byte [esp + 0x17], al
lea eax, [ecx - 0x61]
cmp eax, 0x19
lea edx, [ecx - 0x20]
lea eax, [esi - 0x61]
cmova edx, ecx
cmp eax, 0x19
lea ecx, [esi - 0x20]
cmova ecx, esi
cmp edx, ecx
je 0x403153
mov al, byte [esp + 0x17]
cmp al, 0x2f
je 0x403145
cmp al, 0x5c
jne 0x403181
mov al, byte [edi + 0x435920]
cmp al, 0x2f
je 0x403153
cmp al, 0x5c
jne 0x403181
mov eax, dword [esp + 0x18]
inc edi
cmp edi, ebx
jne 0x403100
cmp edi, ebp
je 0x403239
lea eax, [ebp - 1]
cmp edi, eax
jne 0x403181
mov al, byte [edi + 0x435920]
cmp al, 0x5c
je 0x403239
cmp al, 0x2f
je 0x403239
mov esi, dword [esp + 0x10]
push str._______________________________________________________n
call fcn.00404f50
push esi
push str._VIMRUNTIME_is_set_to___s_._n
call fcn.00404f50
push str.This_is_different_from_where_this_version_of_Vim_is:_n
call fcn.00404f50
push 0x435920
push str.__s__n
call fcn.00404f50
push str.You_must_adjust_or_remove_the_setting_of__VIMRUNTIME__n
call fcn.00404f50
add esp, 0x1c
cmp dword [0x435a1c], 0
jne 0x4034c9
jmp 0x403222
cmp edi, ebp
je 0x4030ab
mov esi, dword [esp + 0x10]
lea eax, [ebp - 1]
cmp edi, eax
jne 0x403025
mov al, byte [edi + esi]
cmp al, 0x5c
je 0x4030ab
cmp al, 0x2f
jne 0x403025
jmp 0x4030ab
cmp edi, ebx
je 0x403239
mov esi, dword [esp + 0x10]
lea eax, [ebx - 1]
cmp edi, eax
jne 0x403185
mov al, byte [edi + esi]
cmp al, 0x5c
je 0x403239
cmp al, 0x2f
jne 0x403185
jmp 0x403239
push str.otherwise_Vim_WILL_NOT_WORK_properly__n
call fcn.00404f50
push str._______________________________________________________n
call fcn.00404f50
add esp, 8
push 0
call fcn.004020e0
add esp, 4
mov dword [esp + 0x10], 0
mov ebx, 0x432244
mov edi, dword [ebx]
mov esi, 0x435920
lea ecx, [esi + 1]
nop word [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x403260
sub esi, ecx
test edi, edi
je 0x403361
push esi
push 0x435920
push edi
call fcn.00414685
add esp, 0xc
test eax, eax
jne 0x403361
movsx eax, byte [esi + edi]
add esi, edi
push eax
push 0x427bc4
call fcn.00406ad0
add esp, 8
inc esi
test eax, eax
je 0x403361
push 0x5c
push esi
call fcn.00406ad0
add esp, 8
test eax, eax
jne 0x403361
push 0x2f
push esi
call fcn.00406ad0
add esp, 8
test eax, eax
jne 0x403361
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4032d0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.00401070
add esp, 4
mov edi, eax
mov edx, esi
sub eax, esi
nop dword [eax + eax]
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [edx + eax - 1], cl
test cl, cl
jne 0x4032f0
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403302
sub ecx, edx
push 0
push edi
mov byte [ecx + edi - 1], 0x78
call fcn.004147bd
add esp, 8
push edi
push esi
test eax, eax
je 0x403519
call fcn.00409ec2
add esp, 8
test eax, eax
jne 0x4034fb
push esi
call fcn.00405100
push esi
push edi
mov ebp, eax
call fcn.00409ec2
add esp, 0xc
test eax, eax
jne 0x4034dd
push dword [ebx]
call fcn.00411310
push edi
call fcn.00411310
add esp, 8
mov dword [ebx], ebp
cmp dword [ebx], 0
mov ecx, 1
mov eax, dword [esp + 0x10]
cmovne eax, ecx
add ebx, 0x228
mov dword [esp + 0x10], eax
cmp ebx, 0x433384
jl 0x403250
test eax, eax
je 0x4033d9
push str.Warning:_Found_Vim_executable_s__in_your__PATH:_n
call fcn.00404f50
add esp, 4
mov esi, 0x432244
nop dword [eax]
mov eax, dword [esi]
test eax, eax
je 0x4033b4
push eax
push 0x42818c
call fcn.00404f50
add esp, 8
add esi, 0x228
cmp esi, 0x433384
jl 0x4033a0
push str.It_will_be_used_instead_of_the_version_you_are_installing._n
call fcn.00404f50
push str.Please_delete_or_rename_it__or_adjust_your__PATH_setting._n
call fcn.00404f50
add esp, 8
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ecx + 0x435920]
lea ecx, [ecx + 1]
mov byte [ecx + 0x4356ff], al
test al, al
jne 0x4033e0
mov ecx, dword [0x43590c]
mov eax, dword [str._vimrc]
push 0x427b8c
push 0x435700
mov dword [ecx + 0x435700], eax
mov ax, word [0x42820c]
mov word [ecx + 0x435704], ax
mov al, byte [0x42820e]
mov byte [ecx + 0x435706], al
call fcn.00409922
add esp, 8
test eax, eax
jne 0x4034a7
mov eax, dword [0x43590c]
push 0x427b8c
push 0x435700
mov dword [eax + 0x435700], 0x726d6976
mov dword [eax + 0x435704], 0x317e63
call fcn.00409922
add esp, 8
test eax, eax
jne 0x4034a7
mov ecx, dword [0x43590c]
mov eax, dword [str..vimrc]
push 0x427b8c
push 0x435700
mov dword [ecx + 0x435700], eax
mov ax, word [0x428214]
mov word [ecx + 0x435704], ax
mov al, byte [0x428216]
mov byte [ecx + 0x435706], al
call fcn.00409922
add esp, 8
test eax, eax
jne 0x4034a7
mov byte [0x435700], al
jmp 0x4034b0
push eax
call fcn.004094d8
add esp, 4
mov ecx, dword [esp + 0x224]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004060bb
add esp, 0x218
ret
push str.to_be_able_to_use_this_install_program._n
call fcn.00404f50
add esp, 4
push 1
call fcn.00404e00
push 0
call fcn.004127e1
push eax
push esi
push edi
push str._nERROR:_failed_to_rename__s_back_to__s:__s_n
call fcn.00404f50
add esp, 0x14
push 1
call fcn.00404e00
push 0
call fcn.004127e1
push eax
push edi
push esi
push str._nERROR:_failed_to_rename__s_to__s:__s_n
call fcn.00404f50
add esp, 0x14
push 1
call fcn.00404e00
push edi
push str._nERROR:__s_and__s_clash.__Remove_or_rename__s._n
call fcn.00404f50
add esp, 0x10
push 1
call fcn.00404e00
int3