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

Disassembly:
push 0x1bc
mov eax, 0x100ac326
call fcn.10091010
mov esi, 0x100bc7cc
lea ecx, [ebp - 0x134]
push esi
call fcn.10006fbe
xor edi, edi
lea ecx, [ebp - 0x14c]
push esi
mov dword [ebp - 4], edi
call fcn.10006fbe
lea eax, [ebp - 0x1c8]
mov byte [ebp - 4], 1
push eax
push eax
push 0x100bc4b0
push 0x100bc294
mov dword [ebp - 0x1c8], 0x1e
call fcn.10041280
mov ecx, eax
call fcn.100412d7
mov edx, dword [ebp - 0x1c8]
lea ecx, [ebp - 0x134]
call fcn.1004c6fb
test al, al
je 0x100026a0
cmp dword [ebp - 0x120], 0x10
lea edi, [ebp - 0x134]
mov esi, dword [ebp - 0x124]
cmovae edi, dword [ebp - 0x134]
call fcn.10045657
push esi
push edi
push 0x100bc48c
push 0x100bc4c0
mov ecx, eax
call fcn.10044d61
movzx eax, al
xor edi, edi
mov dword [0x100e0804], eax
push 0x104
lea eax, [ebp - 0x11c]
push edi
push eax
call fcn.10090560
mov esi, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [ebp - 0x11c]
add esp, 0xc
push 1
push 0x1c
push eax
push edi
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
test eax, eax
js 0x1000278b
lea eax, [ebp - 0x11c]
push eax
call fcn.10006fa1
pop ecx
push eax
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x134]
call fcn.10006f28
mov edi, 0x100bc4c8
push edi
call fcn.10006fa1
pop ecx
push eax
push edi
lea ecx, [ebp - 0x14c]
call fcn.10006f28
lea eax, [ebp - 0x14c]
push eax
push eax
push 0x100bc4f4
push 0x100bc294
call fcn.10041280
mov ecx, eax
call fcn.100414ad
push 0xffffffffffffffff
xor edi, edi
lea eax, [ebp - 0x14c]
push edi
push eax
lea ecx, [ebp - 0x134]
call fcn.10006abd
cmp dword [ebp - 0x120], 0x10
lea eax, [ebp - 0x134]
cmovae eax, dword [ebp - 0x134]
push eax
call ebx
cmp eax, 0xffffffff
je 0x1000278b
cmp dword [ebp - 0x120], 0x10
lea eax, [ebp - 0x134]
push ecx
cmovae eax, dword [ebp - 0x134]
mov edx, 0x100bc49c
push eax
call fcn.100023cf
pop ecx
movzx eax, al
pop ecx
mov dword [0x100e0800], eax
push 0x104
lea eax, [ebp - 0x11c]
push edi
push eax
call fcn.10090560
add esp, 0xc
lea eax, [ebp - 0x11c]
push 1
push 0x1a
push eax
push edi
call esi
test eax, eax
js 0x1000286a
lea eax, [ebp - 0x11c]
push eax
call fcn.10006fa1
pop ecx
push eax
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x134]
call fcn.10006f28
mov edi, 0x100bc500
push edi
call fcn.10006fa1
pop ecx
push eax
push edi
lea ecx, [ebp - 0x14c]
call fcn.10006f28
lea eax, [ebp - 0x14c]
push eax
push eax
push 0x100bc520
push 0x100bc294
call fcn.10041280
mov ecx, eax
call fcn.100414ad
push 0xffffffffffffffff
xor edi, edi
lea eax, [ebp - 0x14c]
push edi
push eax
lea ecx, [ebp - 0x134]
call fcn.10006abd
cmp dword [ebp - 0x120], 0x10
lea eax, [ebp - 0x134]
cmovae eax, dword [ebp - 0x134]
push eax
call ebx
cmp eax, 0xffffffff
je 0x1000286a
cmp dword [ebp - 0x120], 0x10
lea eax, [ebp - 0x134]
push ecx
cmovae eax, dword [ebp - 0x134]
mov edx, 0x100bc4a8
push eax
call fcn.100023cf
pop ecx
movzx eax, al
pop ecx
mov dword [0x100e07fc], eax
push 0x104
lea eax, [ebp - 0x11c]
push edi
push eax
call fcn.10090560
add esp, 0xc
lea ecx, [ebp - 0x164]
push 0x100bc52c
call fcn.10006fbe
push 0x100bc540
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 2
call fcn.10006fbe
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x164]
mov ecx, 0x80000001
push eax
lea edx, [ebp - 0x17c]
call fcn.10001df8
pop ecx
pop ecx
mov bl, al
lea ecx, [ebp - 0x17c]
push edi
neg bl
push 1
sbb bl, bl
call fcn.100072c0
push edi
push 1
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 1
call fcn.100072c0
inc bl
je 0x1000292b
xor ebx, ebx
lea eax, [ebp - 0x11c]
inc ebx
push ebx
push 0x1a
push eax
push edi
call esi
test eax, eax
js 0x10002a63
lea eax, [ebp - 0x11c]
push eax
call fcn.10006fa1
pop ecx
push eax
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x134]
call fcn.10006f28
jmp 0x1000292e
xor ebx, ebx
inc ebx
push 0x100bc55c
lea ecx, [ebp - 0x1ac]
call fcn.10006fbe
mov edi, eax
push 0x100bc56c
lea ecx, [ebp - 0x194]
mov byte [ebp - 4], 4
call fcn.10006fbe
mov esi, eax
push 0x100bc578
lea ecx, [ebp - 0x1c4]
mov byte [ebp - 4], 5
call fcn.10006fbe
push esi
push eax
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 6
push eax
call fcn.10005075
add esp, 0xc
push edi
push eax
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 7
push eax
call fcn.10005075
add esp, 0xc
lea ecx, [ebp - 0x14c]
push eax
call fcn.10003002
xor edi, edi
lea ecx, [ebp - 0x164]
push edi
push ebx
call fcn.100072c0
push edi
push ebx
lea ecx, [ebp - 0x17c]
call fcn.100072c0
push edi
push ebx
lea ecx, [ebp - 0x1c4]
call fcn.100072c0
push edi
push ebx
lea ecx, [ebp - 0x194]
call fcn.100072c0
push edi
push ebx
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], bl
call fcn.100072c0
lea eax, [ebp - 0x14c]
push eax
push eax
push 0x100bc584
push 0x100bc294
call fcn.10041280
mov ecx, eax
call fcn.100414ad
push 0xffffffffffffffff
push edi
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x134]
call fcn.10006abd
cmp dword [ebp - 0x120], 0x10
lea eax, [ebp - 0x134]
cmovae eax, dword [ebp - 0x134]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x10002a63
cmp dword [ebp - 0x120], 0x10
lea eax, [ebp - 0x134]
push ecx
cmovae eax, dword [ebp - 0x134]
mov edx, 0x100bc4a4
push eax
call fcn.100023cf
pop ecx
movzx eax, al
pop ecx
mov dword [0x100e07f8], eax
push edi
push ebx
lea ecx, [ebp - 0x14c]
call fcn.100072c0
push edi
push ebx
lea ecx, [ebp - 0x134]
call fcn.100072c0
call fcn.10090fbf
ret