Function at 0x40a1cb
Capabilities:
Check if file exists
Enumerate files on windows
Get disk information
Get file attributes

Disassembly:
push 0x468
mov eax, 0x570552
call fcn.00523ccd
mov eax, dword [ebp + 8]
mov dword [ebp - 0x32c], eax
mov dword [ebp - 0x340], str.game
mov dword [ebp - 0x33c], str.steam
mov dword [ebp - 0x338], str.origin
mov dword [ebp - 0x334], str.uplay
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov dword [ebp - 0x328], eax
test eax, eax
je 0x40a585
mov byte [ebp - 0x31d], 0
cmp byte [ebp - 0x31d], 0x1a
jge 0x40a585
mov cl, byte [ebp - 0x31d]
xor eax, eax
inc eax
shl eax, cl
test dword [ebp - 0x328], eax
je 0x40a4b3
mov eax, dword [0x587bc8]
mov dword [ebp - 0x20], eax
mov eax, dword [0x587bcc]
mov dword [ebp - 0x1c], eax
movsx ax, cl
add ax, 0x41
mov word [ebp - 0x20], ax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
jne 0x40a4b3
lea eax, [ebp - 0x20]
push eax
lea esi, [ebp - 0x74]
call fcn.0040338f
and dword [ebp - 4], 0
lea eax, [ebp - 0xc8]
push 0x587bd0
push eax
mov ebx, esi
call fcn.004100cb
cmp dword [eax + 0x14], 8
pop ecx
pop ecx
jb 0x40a2a6
mov eax, dword [eax]
lea ecx, [ebp - 0x31c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebx, eax
push 1
xor edi, edi
lea esi, [ebp - 0xc8]
mov dword [ebp - 0x330], ebx
call fcn.00404145
cmp ebx, 0xffffffff
jne 0x40a34a
lea eax, [ebp - 0x3dc]
push eax
call fcn.004036c8
mov esi, eax
push 0x587bd4
push esi
mov byte [ebp - 4], 1
call fcn.00405d7d
push esi
lea ecx, [ebp - 0x74]
call fcn.0041193b
add esp, 0xc
push str.__skipping.
push esi
call fcn.00405d7d
pop ecx
pop ecx
lea eax, [ebp - 0x3c]
push eax
mov eax, esi
call fcn.00403732
push 2
pop ecx
mov byte [ebp - 4], cl
cmp dword [ebp - 0x28], 8
mov eax, dword [ebp - 0x3c]
jae 0x40a323
lea eax, [ebp - 0x3c]
push eax
call fcn.00492b4d
pop ecx
push 1
xor edi, edi
lea esi, [ebp - 0x3c]
call fcn.00404145
lea eax, [ebp - 0x3dc]
mov byte [ebp - 4], 0
call fcn.00402669
jmp 0x40a4a3
mov dword [ebp - 0x324], ebx
mov byte [ebp - 4], 3
mov ecx, 0x587c20
lea eax, [ebp - 0x2f0]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40a385
test dx, dx
je 0x40a381
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40a385
add eax, 4
add ecx, 4
test dx, dx
jne 0x40a35f
xor eax, eax
jmp 0x40a38a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40a46b
mov ecx, 0x587c24
lea eax, [ebp - 0x2f0]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40a3c3
test dx, dx
je 0x40a3bf
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40a3c3
add eax, 4
add ecx, 4
test dx, dx
jne 0x40a39d
xor eax, eax
jmp 0x40a3c8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40a46b
lea eax, [ebp - 0x2f0]
push eax
lea eax, [ebp - 0x58]
push eax
lea ebx, [ebp - 0x74]
call fcn.004100cb
pop ecx
pop ecx
mov byte [ebp - 4], 4
cmp dword [ebp - 0x44], 8
mov eax, dword [ebp - 0x58]
jae 0x40a3f5
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x40a45b
test al, 0x10
je 0x40a45b
xor ebx, ebx
lea eax, [ebp - 0x2f0]
push eax
lea esi, [ebp - 0xac]
call fcn.0040338f
lea eax, [ebp - 0x3c]
push eax
mov ecx, esi
mov byte [ebp - 4], 5
call fcn.0048f95e
pop ecx
push 1
xor edi, edi
mov byte [ebp - 4], 4
call fcn.00404145
push dword [ebp + ebx*4 - 0x340]
lea eax, [ebp - 0x3c]
push eax
call fcn.0040da14
push 1
lea esi, [ebp - 0x3c]
cmp eax, 0xffffffff
jne 0x40a4be
call fcn.00404145
inc ebx
cmp ebx, 4
jb 0x40a407
push 1
xor edi, edi
lea esi, [ebp - 0x58]
mov byte [ebp - 4], 3
call fcn.00404145
lea eax, [ebp - 0x31c]
push eax
push dword [ebp - 0x330]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x40a354
cmp dword [ebp - 0x324], eax
je 0x40a4a3
cmp dword [ebp - 0x324], 0xffffffff
je 0x40a4a3
push dword [ebp - 0x324]
call dword [sym.imp.KERNEL32.dll_FindClose]
or dword [ebp - 4], 0xffffffff
push 1
xor edi, edi
lea esi, [ebp - 0x74]
call fcn.00404145
inc byte [ebp - 0x31d]
jmp 0x40a226
call fcn.00404145
mov ecx, dword [ebp - 0x32c]
lea edx, [ebp - 0x58]
mov byte [ebp - 4], 6
call fcn.004085ed
mov dword [ebp - 4], 4
jmp 0x40a45b
call fcn.00523d29
ret 4