Function at 0x401fac
Capabilities:
Check if file exists
Get common file path
Get file attributes

Disassembly:
push 0x35c
mov eax, 0x4324a2
call fcn.0041504b
xor ebx, ebx
mov dword [ebp - 0x35c], ebx
call fcn.00405e68
push str.JetSecurityLog
push ecx
lea ecx, [ebp - 0x358]
mov dword [ebp - 0x360], eax
push ecx
mov ecx, eax
call fcn.004012b6
mov dword [ebp - 4], ebx
mov esi, dword [ebp - 0x358]
test esi, esi
je 0x401ffd
cmp dword [esi], ebx
je 0x401ffd
push dword [esi]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
jmp 0x401fff
mov eax, ebx
test eax, eax
je 0x402021
test esi, esi
je 0x402009
mov ebx, dword [esi]
push ebx
call fcn.0041e0a7
pop ecx
push eax
push ebx
mov ecx, 0x44db1c
call fcn.00402ec2
jmp 0x402278
lea eax, [ebp - 0x2e8]
push eax
push 0x105
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov edi, eax
test edi, edi
je 0x402292
cmp edi, 0x105
jae 0x402292
lea eax, [ebp - 0x2e8]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x402292
test al, 0x10
je 0x402292
xor eax, eax
mov dword [ebp - 0x2f0], ebx
mov word [ebp - 0x300], ax
lea ecx, [ebp - 0x300]
push edi
lea eax, [ebp - 0x2e8]
mov dword [ebp - 0x2ec], 7
push eax
call fcn.00402ec2
mov byte [ebp - 4], 1
lea eax, [ebp - 0x300]
cmp dword [ebp - 0x2ec], 8
cmovae eax, dword [ebp - 0x300]
cmp word [eax + edi*2 - 2], 0x5c
je 0x4020cc
mov edi, 0x441e50
push edi
call fcn.0041e0a7
pop ecx
push eax
push edi
lea ecx, [ebp - 0x300]
call fcn.00402702
push ebx
call fcn.0041dc83
pop ecx
mov dword [ebp - 0x368], eax
lea edi, [ebp - 0x33c]
push 9
xor eax, eax
mov dword [ebp - 0x364], edx
pop ecx
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x368]
push eax
lea eax, [ebp - 0x33c]
push eax
call fcn.0041df7a
push dword [ebp - 0x33c]
mov eax, dword [ebp - 0x328]
push dword [ebp - 0x338]
add eax, 0x76c
push dword [ebp - 0x334]
push dword [ebp - 0x330]
push dword [ebp - 0x32c]
push eax
push str._04d__02d__02dT_02d__02d__02d
lea eax, [ebp - 0xd8]
push 0x64
push eax
call fcn.00402cf5
add esp, 0x2c
lea ecx, [ebp - 0x354]
call fcn.004023b0
mov ebx, eax
push str.JetSecurityLog.
lea ecx, [ebp - 0x318]
mov byte [ebp - 4], 2
call fcn.004027e8
mov edi, eax
lea eax, [ebp - 0xd8]
mov byte [ebp - 4], 3
push eax
call fcn.0041e0a7
pop ecx
push eax
lea eax, [ebp - 0xd8]
mov ecx, edi
push eax
call fcn.00402702
push 0x441400
mov edi, eax
call fcn.0041e0a7
pop ecx
push eax
push 0x441400
mov ecx, edi
call fcn.00402702
push ebx
mov ecx, eax
call fcn.004027a0
mov ebx, str..txt
mov edi, eax
push ebx
call fcn.0041e0a7
pop ecx
push eax
push ebx
mov ecx, edi
call fcn.00402702
mov edi, 0x44db04
cmp eax, edi
je 0x4021d9
cmp dword [eax + 0x14], 8
mov ecx, eax
jb 0x4021ce
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.00402ec2
lea ecx, [ebp - 0x318]
call fcn.00402f5c
lea ecx, [ebp - 0x354]
call fcn.00402f5c
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x318]
xor eax, eax
mov dword [ebp - 0x304], 7
mov word [ebp - 0x318], ax
xor ebx, ebx
mov eax, dword [ebp - 0x2f0]
add eax, dword [0x44db14]
push eax
mov dword [ebp - 0x308], ebx
mov dword [ebp - 0x35c], 1
call fcn.00402ace
lea eax, [ebp - 0x300]
push eax
lea ecx, [ebp - 0x318]
call fcn.004027a0
push edi
lea ecx, [ebp - 0x318]
call fcn.004027a0
lea eax, [ebp - 0x318]
mov ecx, 0x44db1c
push eax
call fcn.004027bd
lea ecx, [ebp - 0x318]
call fcn.00402f5c
lea ecx, [ebp - 0x300]
mov byte [ebp - 4], bl
call fcn.00402f5c
push str.JetSecurityLog
push ecx
mov ecx, dword [ebp - 0x360]
call fcn.004011b6
test al, al
je 0x402292
call fcn.00401f00
test esi, esi
je 0x40229d
mov ecx, esi
call fcn.004031e4
call fcn.00414ff5
ret