Function at 0x10002400
Capabilities:
Check if file exists
Get file attributes
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
mov eax, dword [0x10015664]
xor eax, ebp
mov dword [ebp - 4], eax
movups xmm0, xmmword [str.MicrosoftEdgeUser_DataDefault]
mov eax, dword [0x10013448]
mov dword [ebp - 0x58], edx
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 8], eax
movups xmm0, xmmword [0x10013418]
movups xmmword [ebp - 0x38], xmm0
movups xmm0, xmmword [0x10013428]
movups xmmword [ebp - 0x28], xmm0
movups xmm0, xmmword [0x10013438]
movups xmmword [ebp - 0x18], xmm0
call fcn.10002250
test eax, eax
je 0x100026c0
mov eax, dword [0x100182bc]
test eax, eax
je 0x100026c0
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
push edi
push eax
call ebx
mov esi, eax
lea eax, [ebp - 0x48]
push eax
call ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalAlloc]
add esi, eax
lea eax, [esi*2 + 2]
push eax
push 0x40
call ebx
mov edi, eax
test edi, edi
je 0x100026bd
lea eax, [ebp - 0x48]
push eax
push dword [0x100182bc]
push str._s_s
push edi
call dword [sym.imp.USER32.dll_wsprintfW]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
add esp, 0x10
push edi
call esi
cmp dword [ebp - 0x58], 0
mov ecx, str.Preferences
mov dword [ebp - 0x50], eax
mov eax, str.Secure_Preferences
cmove eax, ecx
push eax
mov dword [ebp - 0x54], eax
call esi
mov ecx, dword [ebp - 0x50]
inc ecx
add eax, ecx
mov dword [ebp - 0x4c], eax
add eax, eax
push eax
push 0x40
call ebx
mov esi, eax
test esi, esi
je 0x10002504
mov ebx, dword [ebp - 0x4c]
mov ecx, esi
push edi
mov edx, ebx
call section..text
mov eax, dword [ebp - 0x50]
sub ebx, eax
push dword [ebp - 0x54]
mov edx, ebx
lea ecx, [esi + eax*2]
call section..text
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalFree]
push edi
call ebx
test esi, esi
je 0x100026bd
cmp dword [ebp - 0x58], 0
jne 0x10002533
mov eax, dword [0x10018290]
test eax, eax
je 0x10002549
push eax
call ebx
mov dword [0x10018290], 0
jmp 0x10002549
mov eax, dword [0x10018294]
test eax, eax
je 0x10002549
push eax
call ebx
mov dword [0x10018294], 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push 0
cmp eax, 0xffffffff
mov ecx, 0x80
cmove eax, ecx
push eax
push 3
push 0
push 1
push 0x80000000
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
push esi
mov dword [ebp - 0x50], edi
call ebx
cmp edi, 0xffffffff
je 0x100026bd
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x5c], eax
cmp eax, 0xffffffff
jne 0x10002599
xor esi, esi
jmp 0x10002687
inc eax
push eax
push 0x40
mov dword [ebp - 0x4c], eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov edi, eax
xor esi, esi
test edi, edi
je 0x10002684
push esi
lea eax, [ebp - 0x54]
mov dword [ebp - 0x54], esi
push eax
push dword [ebp - 0x4c]
push edi
push dword [ebp - 0x50]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x10002681
mov eax, dword [ebp - 0x5c]
cmp dword [ebp - 0x54], eax
jne 0x10002681
movzx ecx, word [edi]
mov esi, 0xff
cmp cx, si
jne 0x100025f3
mov ecx, 0xfe
cmp word [edi + 2], cx
jmp 0x10002601
mov edx, 0xfe
cmp cx, dx
jne 0x10002633
cmp word [edi + 2], si
jne 0x10002633
dec eax
push eax
push 0
mov dword [ebp - 0x4c], eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
je 0x10002681
push dword [ebp - 0x4c]
push 0
push esi
call fcn.10007250
push dword [ebp - 0x4c]
lea eax, [edi + 2]
push eax
push esi
call fcn.100073b0
add esp, 0x18
jmp 0x10002681
push 0
push 0
push 0xffffffffffffffff
push edi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
inc eax
mov dword [ebp - 0x4c], eax
add eax, eax
push eax
push 0
mov dword [ebp - 0x5c], eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
je 0x10002681
push dword [ebp - 0x5c]
push 0
push esi
call fcn.10007250
add esp, 0xc
push dword [ebp - 0x4c]
push esi
push 0xffffffffffffffff
push edi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push edi
call ebx
mov edi, dword [ebp - 0x50]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x100026bd
cmp dword [ebp - 0x58], 0
je 0x100026b3
pop edi
pop esi
mov dword [0x10018294], 0
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10006338
mov esp, ebp
pop ebp
ret
mov dword [0x10018290], 0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10006338
mov esp, ebp
pop ebp
ret