Function at 0x417420
Capabilities:
Get common file path
Get file size
Get startup folder
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x429d0b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x218
push ebx
push ebp
push esi
push edi
xor edi, edi
lea eax, [esp + 0x20]
push edi
push 0x1c
push eax
mov ebp, ecx
push edi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::CString_3
lea ecx, [esp + 0x20]
push str.AccaData.dat
push ecx
lea edx, [esp + 0x18]
push str._sTemp_s
push edx
mov dword [esp + 0x240], edi
call sub.MFC42u.DLL_CString::Format
mov eax, dword [esp + 0x20]
add esp, 0x10
mov dword [esp + 0x14], 0x104
push edi
push 0x80
push 4
push edi
push 1
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
lea ecx, [esp + 0x18]
mov esi, eax
push ecx
push esi
mov dword [esp + 0x1c], edi
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
mov edx, dword [esp + 0x18]
push edx
call sub.MFC42u.DLL_operatornew
mov ecx, dword [esp + 0x1c]
mov ebx, eax
mov edx, ecx
xor eax, eax
mov edi, ebx
add esp, 4
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push 0
and ecx, 3
rep stosb byte es:[edi], al
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x18]
push eax
push ecx
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea edi, [ebp + 4]
mov ecx, pe_nt_image_headers32
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x400]
lea edi, [ebp + 0x404]
mov ecx, pe_nt_image_headers32
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x800]
lea edi, [ebp + 0x804]
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x900]
lea edi, [ebp + 0x904]
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0xa00]
lea edi, [ebp + 0xa04]
mov ecx, pe_nt_image_headers32
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0xe00]
lea edi, [ebp + 0xe04]
mov ecx, pe_nt_image_headers32
push ebx
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x1200]
lea edi, [ebp + 0x1204]
mov ecx, pe_nt_image_headers32
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x1600]
lea edi, [ebp + 0x1604]
mov ecx, pe_nt_image_headers32
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x1a00]
lea edi, [ebp + 0x1a04]
mov ecx, pe_nt_image_headers32
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x1e00]
lea edi, [ebp + 0x1e04]
mov ecx, pe_nt_image_headers32
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x2200]
lea edi, [ebp + 0x2204]
mov ecx, pe_nt_image_headers32
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x2600]
lea edi, [ebp + 0x2604]
mov ecx, pe_nt_image_headers32
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x2a00]
lea edi, [ebp + 0x2a04]
mov ecx, pe_nt_image_headers32
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x2e00]
lea edi, [ebp + 0x2e04]
mov ecx, pe_nt_image_headers32
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x3200]
lea edi, [ebp + 0x3204]
mov ecx, pe_nt_image_headers32
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x3600]
lea edi, [ebp + 0x3604]
mov ecx, pe_nt_image_headers32
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x3a00]
lea edi, [ebp + 0x3a04]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea esi, [ebx + 0x3a1e]
lea edi, [ebp + 0x3a24]
mov ecx, 0x18
rep movsd dword es:[edi], dword [esi]
call sub.MFC42u.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x10]
mov dword [esp + 0x230], 0xffffffff
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [esp + 0x228]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x224
ret