Function at 0x406880
Capabilities:
Check if file exists
Delete file
Get file attributes

Disassembly:
sub esp, 0x20c
push ebx
push esi
mov esi, dword [esp + 0x218]
push edi
xor ebx, ebx
xor edi, edi
cmp esi, ebx
je 0x4068e6
cmp byte [esi], bl
je 0x4068e6
cmp byte [0x41ba64], bl
push esi
push 0x41b688
je 0x4068b6
push 0x414604
lea eax, [esp + 0x1c]
push eax
jmp 0x4068c0
push str._s___s
lea ecx, [esp + 0x1c]
push ecx
call fcn.00408948
add esp, 0x10
lea edx, [esp + 0x10]
mov byte [esi], bl
mov eax, dword [0x41ba6c]
push edx
push eax
mov edi, 1
call fcn.00405080
add esp, 8
test eax, eax
je 0x40690c
cmp dword [0x41ba50], ebx
jne 0x40693f
push str.no_access
call fcn.00401c30
add esp, 4
test eax, eax
je 0x406918
push str.The_update_files_for_this_product_are_currently_unavailable.__Please_try_again_later.
call fcn.004060a0
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x20c
ret
mov ecx, dword [0x41ba6c]
push 0x800
push 0x2000
push 0x41b308
push 0x41b308
push ecx
call fcn.00404c10
add esp, 0x14
test eax, eax
je 0x40690c
push 0x41b308
call fcn.00401000
add esp, 4
test eax, eax
jne 0x406969
push str.Configuration_file_not_found.__Aborting.
call fcn.004060a0
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x20c
ret
push ebx
push 0x80
push 0x41b408
push 0x414594
push str.HEADER
call fcn.004012e0
push ebx
push 0x80
push 0x41b588
push 0x414590
push str.HEADER
call fcn.004012e0
push ebx
push 0x80
push 0x41b488
push str.PRODUCT
push str.HEADER
call fcn.004012e0
mov eax, 0x41b588
add esp, 0x3c
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4069c2
sub eax, edx
mov dword [esp + 0xc], eax
je 0x4069fa
push 0x41b588
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x4069fa
push str.ERROR:_Resource_file_could_not_be_found_or_opened.
call fcn.004060a0
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x20c
ret
mov eax, 0x41b488
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x406a02
sub eax, edx
mov dword [esp + 0xc], eax
jne 0x406a23
push str.your_NovaLogic_product
push 0x41b488
call fcn.00408948
add esp, 8
call fcn.004052e0
cmp edi, ebx
jne 0x406af0
push ebx
push 0x80
lea edx, [esp + 0x18]
push edx
push str.REVEXE
push str.PRECHECK
call fcn.004012e0
add esp, 0x14
test eax, eax
je 0x406a7b
lea eax, [esp + 0x10]
push 4
push eax
call fcn.00405200
add esp, 8
cmp eax, ebx
je 0x406bac
push eax
push 0x414258
push 0x41b988
call fcn.00408948
add esp, 0xc
push ebx
push 0x80
lea ecx, [esp + 0x18]
push ecx
push 0x41453c
push str.PRECHECK
call fcn.004012e0
lea edx, [esp + 0x24]
push 4
push edx
call fcn.00405200
add esp, 0x1c
test eax, eax
je 0x406bac
push ebx
push 0x80
lea eax, [esp + 0x18]
push eax
push str.RESEXE
push str.PRECHECK
call fcn.004012e0
lea ecx, [esp + 0x24]
push 4
push ecx
call fcn.00405200
add esp, 0x1c
cmp eax, ebx
je 0x406bac
push eax
push 0x414258
push 0x41b608
call fcn.00408948
add esp, 0xc
push ebx
push 0x80
lea edx, [esp + 0x18]
push edx
push 0x414530
push str.PRECHECK
call fcn.004012e0
lea eax, [esp + 0x24]
push 4
push eax
call fcn.00405200
add esp, 0x1c
cmp eax, ebx
je 0x406bac
push eax
push 0x414258
push 0x41b508
call fcn.00408948
push ebx
push 0x80
lea ecx, [esp + 0x24]
push ecx
push str.CCBIN
push str.PRECHECK
call fcn.004012e0
add esp, 0x20
test eax, eax
je 0x406b78
lea edx, [esp + 0x10]
push 4
push edx
call fcn.00405200
add esp, 8
cmp eax, ebx
je 0x406bac
push eax
push 0x414258
push 0x41b908
call fcn.00408948
add esp, 0xc
push ebx
push 0x80
lea eax, [esp + 0x18]
push eax
push 0x41434c
push str.PRECHECK
call fcn.004012e0
add esp, 0x14
test eax, eax
je 0x406bd8
lea ecx, [esp + 0x10]
push 4
push ecx
call fcn.00405200
add esp, 8
cmp eax, ebx
jne 0x406bc5
push str.ERROR:_Could_not_allocate_memory_for_ADDLINK.
call fcn.004060a0
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x20c
ret
push eax
push 0x414258
push 0x41b888
call fcn.00408948
add esp, 0xc
call fcn.004053e0
push 4
call fcn.004054c0
mov eax, dword [0x41ba34]
add esp, 4
cmp eax, ebx
jne 0x40690c
cmp dword [0x41ba38], ebx
jne 0x40690c
cmp dword [0x41ba3c], ebx
jne 0x40690c
push str.EXECUTE
call fcn.004011d0
add esp, 4
test eax, eax
je 0x406c73
push ebx
push 0x80
lea edx, [esp + 0x18]
push edx
push 0x414594
call fcn.00401480
add esp, 0x10
test eax, eax
je 0x406c73
lea esp, [esp]
lea eax, [esp + 0x10]
push 1
push eax
call fcn.00405200
add esp, 8
test eax, eax
je 0x406e25
push ebx
push 0x80
lea ecx, [esp + 0x18]
push ecx
push 0x414594
call fcn.00401480
add esp, 0x10
test eax, eax
jne 0x406c40
push str.COPY
call fcn.004011d0
add esp, 4
test eax, eax
je 0x406cd2
push ebx
push 0x80
lea edx, [esp + 0x18]
push edx
push str.COPY
call fcn.00401480
add esp, 0x10
test eax, eax
je 0x406cd2
lea eax, [esp + 0x10]
push ebx
push eax
call fcn.00405200
add esp, 8
test eax, eax
je 0x406e25
push ebx
push 0x80
lea ecx, [esp + 0x18]
push ecx
push str.COPY
call fcn.00401480
add esp, 0x10
test eax, eax
jne 0x406ca0
push str.REMOVE
call fcn.004011d0
add esp, 4
test eax, eax
je 0x406d33
push ebx
push 0x80
lea edx, [esp + 0x18]
push edx
push str.REMOVE
call fcn.00401480
add esp, 0x10
test eax, eax
je 0x406d33
nop
lea eax, [esp + 0x10]
push 5
push eax
call fcn.00405200
add esp, 8
test eax, eax
je 0x406e25
push ebx
push 0x80
lea ecx, [esp + 0x18]
push ecx
push str.REMOVE
call fcn.00401480
add esp, 0x10
test eax, eax
jne 0x406d00
call fcn.00401140
push 0x41b508
push 0x41b588
push 0x41b608
lea edx, [esp + 0x1c]
push str._s__s__s__WORK
push edx
call fcn.00408948
push str._tmpexec.___
push ebx
lea eax, [esp + 0x2c]
push 1
push eax
call fcn.004048e0
add esp, 0x24
push str._tmpexec.___
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push str.update.lst
call fcn.00401000
add esp, 4
test eax, eax
je 0x406de8
push 0x4144b0
call fcn.004011d0
add esp, 4
test eax, eax
je 0x406de3
push ebx
push 0x80
lea ecx, [esp + 0x18]
push ecx
push str.FILE
call fcn.00401480
add esp, 0x10
test eax, eax
je 0x406de3
lea edx, [esp + 0x10]
push 2
push edx
call fcn.00405200
add esp, 8
test eax, eax
je 0x406e25
push ebx
push 0x80
lea eax, [esp + 0x18]
push eax
push str.FILE
call fcn.00401480
add esp, 0x10
test eax, eax
jne 0x406db4
call fcn.00401140
mov dword [0x41ba14], ebx
mov dword [0x41ba1c], ebx
mov dword [0x41ba28], ebx
mov dword [0x41ba18], ebx
mov dword [0x41ba24], ebx
mov dword [0x41ba20], ebx
call fcn.004053e0
call fcn.00405460
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20c
ret
push str.ERROR:_Could_not_allocate_memory_for_ADDLINK.
call fcn.004060a0
add esp, 4
call fcn.00401140
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x20c
ret