Function at 0x43c990
Capabilities:
Delete file
Get common file path
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4faecb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x610
push ebx
push esi
push edi
lea eax, [ebp - 0x21c]
mov dword [ebp - 0x10], esp
xor esi, esi
push eax
mov dword [ebp - 4], esi
mov dword [0xe56df0], esi
call fcn.004ab6e0
add esp, 4
lea ecx, [ebp - 0x54]
push ecx
call fcn.00401350
add esp, 4
lea edx, [ebp - 0x51c]
push 0x80
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push 1
lea ecx, [ebp - 0x9c]
call fcn.004f0653
mov eax, dword [0x4fe4e8]
lea ecx, [ebp - 0x9c]
push eax
push 8
push str.c:endpcacheprocess_log.txt
mov byte [ebp - 4], 1
call fcn.004f0727
lea ecx, [ebp - 0x51c]
mov dword [ebp - 0x18], esi
push ecx
call fcn.0042f200
add esp, 4
xor eax, eax
mov dword [ebp - 0x14], eax
cmp eax, dword [0xe56df0]
jge 0x43cdef
shl eax, 6
add eax, 0xdfcf18
lea edx, [ebp - 0x51c]
push eax
push edx
lea eax, [ebp - 0x19c]
push str._s_s
push eax
call fcn.004f175f
lea ecx, [ebp - 0x19c]
push 0x51c76c
push ecx
mov byte [ebp - 0x49c], 0
call fcn.004f2d80
lea edx, [ebp - 0x19c]
push 0x51c760
push edx
mov esi, eax
call fcn.004f2d80
mov edi, eax
lea eax, [ebp - 0x19c]
push 0x51c754
push eax
mov dword [ebp - 0x34], edi
call fcn.004f2d80
lea ecx, [ebp - 0x19c]
mov ebx, eax
push 0x51c74c
push ecx
mov dword [ebp - 0x28], ebx
call fcn.004f2d80
lea edx, [ebp - 0x19c]
push 0x51c740
push edx
mov dword [ebp - 0x1c], eax
call fcn.004f2d80
add esp, 0x38
mov dword [ebp - 0x30], eax
test esi, esi
jne 0x43caef
test edi, edi
jne 0x43caef
test ebx, ebx
jne 0x43caef
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x43caef
test eax, eax
jne 0x43caef
lea eax, [ebp - 0x19c]
push eax
call fcn.00475460
jmp 0x43caf9
push 0x515e50
call fcn.004fa6c0
add esp, 4
mov ebx, eax
push 0x5147b4
push ebx
call fcn.004f2d80
push 0x5144fc
push ebx
mov edi, eax
call fcn.004f2d80
push str.InstallShield_Software
push ebx
mov dword [ebp - 0x2c], eax
call fcn.004f2d80
push str.Stirling_Technologies
push ebx
mov dword [ebp - 0x20], eax
call fcn.004f2d80
push 0x516efc
push ebx
mov dword [ebp - 0x24], eax
call fcn.004f2d80
add esp, 0x28
test esi, esi
jne 0x43ccef
test edi, edi
jne 0x43ccef
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
jne 0x43ccef
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x43ccef
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x43ccef
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jne 0x43ccef
mov ecx, dword [ebp - 0x28]
test ecx, ecx
jne 0x43ccef
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x43ccef
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jne 0x43ccef
test eax, eax
jne 0x43ccef
push ebx
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x19c]
lea edx, [ebp - 0x54]
push eax
push ecx
push edx
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x49c]
push eax
push 0x51c6d0
push ecx
call fcn.004f175f
mov ecx, dword [0xe56d24]
mov eax, dword [0xe56db0]
add esp, 0x18
inc ecx
test eax, eax
mov dword [0xe56d24], ecx
jne 0x43cc54
mov eax, dword [0xe56dbc]
mov ecx, dword [ebp + 0x1b0]
test eax, eax
mov eax, dword [ebp + 0x1b4]
lea edx, [ebp - 0x49c]
push edx
push eax
push ecx
jne 0x43cc37
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x43cc4e
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
push 0x5147ac
push ebx
call fcn.004f2d80
add esp, 8
test eax, eax
je 0x43cc8b
mov edx, dword [0xe56d24]
mov ecx, dword [0xe56d28]
mov eax, dword [0xe56d04]
inc edx
inc ecx
inc eax
mov dword [0xe56d24], edx
mov dword [0xe56d28], ecx
mov dword [0xe56d04], eax
lea edx, [ebp - 0x49c]
lea ecx, [ebp - 0x90]
push edx
call fcn.004f0087
push 0xa
mov ecx, eax
call fcn.004eff40
push 0x402150
mov ecx, eax
call fcn.004016a0
push 0x51755c
push ebx
call fcn.004f2d80
add esp, 8
test eax, eax
jne 0x43ccd6
push 0x517564
push ebx
call fcn.004f2d80
add esp, 8
test eax, eax
je 0x43ccdc
inc dword [0xe56d00]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], 1
inc eax
mov dword [ebp - 0x14], eax
jmp 0x43ca2c
mov ecx, dword [ebp - 0x20]
xor eax, eax
test ecx, ecx
je 0x43cd35
lea eax, [ebp - 0x19c]
lea ecx, [ebp - 0x54]
push eax
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x21c]
push eax
push edx
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [ebp - 0x49c]
push 0x51c684
push eax
call fcn.004f175f
add esp, 0x14
mov eax, 1
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x43cd76
lea ecx, [ebp - 0x19c]
lea edx, [ebp - 0x54]
push ecx
push edx
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x49c]
push eax
push 0x51c640
push ecx
call fcn.004f175f
add esp, 0x14
jmp 0x43cdbc
test eax, eax
jne 0x43cdbc
push ebx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x19c]
push eax
lea eax, [ebp - 0x54]
push edx
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x21c]
push eax
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x49c]
push eax
push 0x51c614
push edx
call fcn.004f175f
add esp, 0x18
lea eax, [ebp - 0x49c]
lea ecx, [ebp - 0x90]
push eax
call fcn.004f0087
push 0xa
mov ecx, eax
call fcn.004eff40
push 0x402150
mov ecx, eax
call fcn.004016a0
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
jmp 0x43ca2c
lea ecx, [ebp - 0x51c]
lea edx, [ebp - 0x61c]
push ecx
push str._sinf
push edx
call fcn.004f175f
lea eax, [ebp - 0x61c]
push eax
call fcn.0042f200
add esp, 0x10
xor eax, eax
mov dword [ebp - 0x14], eax
cmp eax, dword [0xe56df0]
jge 0x43d079
shl eax, 6
add eax, 0xdfcf18
lea ecx, [ebp - 0x61c]
push eax
push ecx
lea edx, [ebp - 0x19c]
push str._s_s
push edx
call fcn.004f175f
lea eax, [ebp - 0x19c]
mov byte [ebp - 0x49c], 0
push eax
call fcn.00475460
add esp, 0x14
mov ebx, eax
push 0x5147b4
push ebx
call fcn.004f2d80
push 0x5144fc
push ebx
mov esi, eax
call fcn.004f2d80
push 0x516efc
push ebx
mov edi, eax
call fcn.004f2d80
add esp, 0x18
test esi, esi
jne 0x43d004
test edi, edi
jne 0x43d004
test eax, eax
jne 0x43d004
push ebx
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x19c]
lea edx, [ebp - 0x54]
push eax
push ecx
push edx
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x49c]
push eax
push 0x51c6d0
push ecx
call fcn.004f175f
mov eax, dword [0xe56d24]
add esp, 0x18
lea edx, [ebp - 0x19c]
inc eax
push 0x80
push edx
mov dword [0xe56d24], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [ebp - 0x19c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [0xe56db0]
test eax, eax
jne 0x43cf69
mov eax, dword [0xe56dbc]
mov edx, dword [ebp + 0x1b4]
lea ecx, [ebp - 0x49c]
test eax, eax
mov eax, dword [ebp + 0x1b0]
push ecx
push edx
push eax
jne 0x43cf4c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x43cf63
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
push 0x5147ac
push ebx
call fcn.004f2d80
add esp, 8
test eax, eax
je 0x43cfa0
mov edx, dword [0xe56d24]
mov ecx, dword [0xe56d28]
mov eax, dword [0xe56d04]
inc edx
inc ecx
inc eax
mov dword [0xe56d24], edx
mov dword [0xe56d28], ecx
mov dword [0xe56d04], eax
lea ecx, [ebp - 0x49c]
push ecx
lea ecx, [ebp - 0x90]
call fcn.004f0087
push 0xa
mov ecx, eax
call fcn.004eff40
push 0x402150
mov ecx, eax
call fcn.004016a0
push 0x51755c
push ebx
call fcn.004f2d80
add esp, 8
test eax, eax
jne 0x43cfeb
push 0x517564
push ebx
call fcn.004f2d80
add esp, 8
test eax, eax
je 0x43cff1
inc dword [0xe56d00]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], 1
inc eax
mov dword [ebp - 0x14], eax
jmp 0x43ce1b
push ebx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x19c]
push eax
lea eax, [ebp - 0x54]
push edx
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x21c]
push eax
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x49c]
push eax
push 0x51c614
push edx
call fcn.004f175f
add esp, 0x18
lea eax, [ebp - 0x49c]
lea ecx, [ebp - 0x90]
push eax
call fcn.004f0087
push 0xa
mov ecx, eax
call fcn.004eff40
push 0x402150
mov ecx, eax
call fcn.004016a0
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
jmp 0x43ce1b
lea ecx, [ebp - 0x51c]
lea edx, [ebp - 0x61c]
push ecx
push str._s_system32inf
push edx
mov byte [ebp - 0x61c], 0
call fcn.004f175f
lea eax, [ebp - 0x61c]
push eax
call fcn.0042f200
add esp, 0x10
xor eax, eax
mov dword [ebp - 0x14], eax
cmp eax, dword [0xe56df0]
jge 0x43d2ed
shl eax, 6
add eax, 0xdfcf18
lea ecx, [ebp - 0x61c]
push eax
push ecx
lea edx, [ebp - 0x19c]
push str._s_s
push edx
call fcn.004f175f
lea eax, [ebp - 0x19c]
mov byte [ebp - 0x49c], 0
push eax
call fcn.00475460
add esp, 0x14
mov ebx, eax
push 0x5147b4
push ebx
call fcn.004f2d80
push 0x5144fc
push ebx
mov esi, eax
call fcn.004f2d80
push 0x516efc
push ebx
mov edi, eax
call fcn.004f2d80
add esp, 0x18
test esi, esi
jne 0x43d278
test edi, edi
jne 0x43d278
test eax, eax
jne 0x43d278
push ebx
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x19c]
lea edx, [ebp - 0x54]
push eax
push ecx
push edx
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x49c]
push eax
push 0x51c6d0
push ecx
call fcn.004f175f
mov ecx, dword [0xe56d24]
mov eax, dword [0xe56db0]
add esp, 0x18
inc ecx
test eax, eax
mov dword [0xe56d24], ecx
jne 0x43d1dd
mov eax, dword [0xe56dbc]
mov ecx, dword [ebp + 0x1b0]
test eax, eax
mov eax, dword [ebp + 0x1b4]
lea edx, [ebp - 0x49c]
push edx
push eax
push ecx
jne 0x43d1c0
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x43d1d7
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
push 0x5147ac
push ebx
call fcn.004f2d80
add esp, 8
test eax, eax
je 0x43d214
mov edx, dword [0xe56d24]
mov ecx, dword [0xe56d28]
mov eax, dword [0xe56d04]
inc edx
inc ecx
inc eax
mov dword [0xe56d24], edx
mov dword [0xe56d28], ecx
mov dword [0xe56d04], eax
lea edx, [ebp - 0x49c]
lea ecx, [ebp - 0x90]
push edx
call fcn.004f0087
push 0xa
mov ecx, eax
call fcn.004eff40
push 0x402150
mov ecx, eax
call fcn.004016a0
push 0x51755c
push ebx
call fcn.004f2d80
add esp, 8
test eax, eax
jne 0x43d25f
push 0x517564
push ebx
call fcn.004f2d80
add esp, 8
test eax, eax
je 0x43d265
inc dword [0xe56d00]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], 1
inc eax
mov dword [ebp - 0x14], eax
jmp 0x43d0ac
push ebx
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x54]
push eax
lea eax, [ebp - 0x19c]
push eax
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x21c]
push eax
push edx
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [ebp - 0x49c]
push 0x51c614
push eax
call fcn.004f175f
add esp, 0x18
lea ecx, [ebp - 0x49c]
push ecx
lea ecx, [ebp - 0x90]
call fcn.004f0087
push 0xa
mov ecx, eax
call fcn.004eff40
push 0x402150
mov ecx, eax
call fcn.004016a0
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
jmp 0x43d0ac
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x43d3b9
lea edx, [ebp - 0x54]
push 0x51c5c4
push edx
mov byte [ebp - 0x49c], 0
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x49c]
push eax
push 0x5190b4
push ecx
call fcn.004f175f
mov eax, dword [0xe56db0]
add esp, 0x14
test eax, eax
jne 0x43d392
mov eax, dword [0xe56dbc]
mov ecx, dword [ebp + 0x1b0]
test eax, eax
mov eax, dword [ebp + 0x1b4]
lea edx, [ebp - 0x49c]
push edx
push eax
push ecx
jne 0x43d375
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x43d38c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
lea edx, [ebp - 0x49c]
lea ecx, [ebp - 0x90]
push edx
call fcn.004f0087
push 0xa
mov ecx, eax
call fcn.004eff40
push 0x402150
mov ecx, eax
call fcn.004016a0
lea ecx, [ebp - 0x9c]
call fcn.004f076e
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0
call fcn.004f0714
lea ecx, [ebp - 0x88]
call fcn.004f05fb
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov eax, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret