Function at 0x41ca80
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push esi
push edi
push fcn.0043d010
lea eax, [ebp - 4]
lea esi, [ebp + 4]
push eax
add esi, 0xfffffffc
push esi
call fcn.00420810
add esp, 0xc
mov dword [ebp - 4], eax
push 0x56ada8
push 0x56adac
call fcn.0041a860
push eax
push dword [ebp - 4]
call fcn.00423980
mov eax, dword [ebp - 4]
push dword [eax]
call fcn.0043ce60
mov ecx, dword [ebp - 4]
add esp, 0x14
mov ecx, dword [ecx]
lea edi, [ecx - 4]
lea edi, [edi + eax*4]
mov dword [ebp - 0x20], edi
cmp edi, ecx
jb 0x41ccf5
push ebx
nop
push 0x41e1c0
lea eax, [ebp - 8]
push eax
push esi
call fcn.00420810
mov dword [ebp - 8], eax
lea eax, [ebp - 0x24]
push 0x41e1c0
push eax
push esi
call fcn.00420810
push 0x41e1c0
lea eax, [ebp - 0xc]
push eax
push esi
call fcn.00420810
mov ecx, dword [0x5fd854]
add esp, 0x24
mov dword [ebp - 0xc], eax
test ecx, ecx
jne 0x41cb4d
push dword [0x5fd84c]
push eax
call fcn.004218d0
push dword [ebp - 0xc]
call fcn.004235d0
mov ecx, dword [ebp - 0xc]
add esp, 0xc
mov eax, dword [ecx]
mov dword [0x5fd854], eax
mov dword [ecx], 0
mov ecx, dword [0x5fd854]
push ecx
push dword [ebp - 0x24]
call fcn.004218d0
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [0x5fd860], 0
jne 0x41ccc6
push dword [eax]
push str._s_luminati
push dword [ebp - 8]
call fcn.00421960
add esp, 0xc
cmp dword [0x5ed010], 0
je 0x41ccb6
mov eax, dword [ebp - 8]
push dword [eax]
call fcn.00423940
add esp, 4
test eax, eax
jne 0x41ccb6
push 0x41e1c0
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.00420810
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x18]
push 0x41e1c0
push eax
push esi
call fcn.00420810
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x14]
push 0x41e1c0
push eax
push esi
call fcn.00420810
call fcn.0041a800
push eax
push dword [ebp - 0x14]
call fcn.004218d0
mov ecx, dword [0x5fd85c]
add esp, 0x2c
mov dword [ebp - 0x14], eax
test ecx, ecx
jne 0x41cca6
mov edi, dword [ebp - 0x18]
push edi
mov dword [ebp - 0x10], ecx
call fcn.00421a50
add esp, 4
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 0x56a6c0
call sub.SHELL32.dll_SHGetKnownFolderPath
test eax, eax
jne 0x41cca1
push eax
push dword [ebp - 0x10]
push eax
call fcn.00541b3f
push eax
call fcn.0053b400
mov ebx, eax
add esp, 0x10
cmp ebx, 0xffffffff
je 0x41cca1
push ebx
push edi
call fcn.00421a80
push ebx
push dword [ebp - 0x10]
push dword [edi]
call fcn.00541b3f
push eax
call fcn.0053b400
add esp, 0x18
cmp eax, 0xffffffff
je 0x41cca1
push edi
call fcn.00423ca0
push dword [ebp - 0x14]
call fcn.00423cc0
add esp, 8
push dword [eax]
push esi
call fcn.00420ca0
add esp, 4
push eax
call fcn.0041e150
push dword [eax]
mov eax, dword [ebp - 0x18]
push dword [eax]
push str._s_BrightData__s
push dword [ebp - 0x1c]
call fcn.00421960
mov eax, dword [ebp - 0x1c]
add esp, 0x18
mov ecx, dword [eax]
mov dword [0x5fd85c], ecx
mov dword [eax], 0
jmp 0x41cca3
xor ecx, ecx
mov edi, dword [ebp - 0x20]
push ecx
push 0x5fd860
call fcn.004218d0
add esp, 8
jmp 0x41ccc6
mov ecx, dword [ebp - 8]
mov eax, dword [ecx]
mov dword [0x5fd860], eax
mov dword [ecx], 0
push dword [edi]
push dword [0x5fd860]
push 0x56a788
push esi
call fcn.00420b70
push dword [eax]
call fcn.00424150
mov eax, dword [ebp - 4]
sub edi, 4
add esp, 0x14
mov dword [ebp - 0x20], edi
cmp edi, dword [eax]
jae 0x41cae0
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret