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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
mov eax, dword [0x10015664]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov eax, edx
xor ebx, ebx
mov dword [ebp - 0x60], eax
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GlobalFree]
test eax, eax
jne 0x10001d87
mov eax, dword [0x10016a8c]
test eax, eax
je 0x10001d99
push eax
call edi
mov dword [0x10016a8c], ebx
jmp 0x10001d99
mov eax, dword [0x10016a88]
test eax, eax
je 0x10001d99
push eax
call edi
mov dword [0x10016a88], ebx
movups xmm0, xmmword [str.GoogleChromeUser_DataDefault]
mov ax, word [0x10013218]
mov word [ebp - 8], ax
movups xmmword [ebp - 0x48], xmm0
movups xmm0, xmmword [0x100131e8]
movups xmmword [ebp - 0x38], xmm0
movups xmm0, xmmword [0x100131f8]
movups xmmword [ebp - 0x28], xmm0
movups xmm0, xmmword [0x10013208]
movups xmmword [ebp - 0x18], xmm0
call fcn.10001b10
test eax, eax
je 0x10001fca
mov eax, dword [0x100182bc]
test eax, eax
je 0x10001fca
push esi
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add esi, eax
lea eax, [esi*2 + 2]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
mov dword [ebp - 0x54], esi
test esi, esi
je 0x10001fc9
lea eax, [ebp - 0x48]
push eax
push dword [0x100182bc]
push str._s_s
push esi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
push esi
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
call esi
cmp dword [ebp - 0x60], ebx
mov ecx, str.Preferences
mov dword [ebp - 0x50], eax
mov eax, str.Secure_Preferences
cmove eax, ecx
push eax
mov dword [ebp - 0x58], 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 dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
mov dword [ebp - 0x64], esi
test esi, esi
je 0x10001fa4
push dword [ebp - 0x54]
mov edx, dword [ebp - 0x4c]
mov ecx, esi
call section..text
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
push dword [ebp - 0x58]
sub edx, ecx
lea ecx, [esi + ecx*2]
call section..text
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
xor ecx, ecx
cmp eax, 0xffffffff
push ecx
cmove eax, ecx
push eax
push 3
push ecx
push 1
push 0x80000000
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x10001fa7
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x4c], eax
inc eax
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ebx, eax
test ebx, ebx
je 0x10001fa7
mov ecx, dword [ebp - 0x4c]
inc ecx
push ecx
push 0
push ebx
call fcn.10007250
add esp, 0xc
mov dword [ebp - 0x5c], 0
lea eax, [ebp - 0x5c]
push 0
push eax
mov eax, dword [ebp - 0x4c]
inc eax
push eax
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x10001fa7
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x5c], eax
jne 0x10001fa7
push 0
push 0
push 0xffffffffffffffff
push ebx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
inc eax
mov dword [ebp - 0x50], eax
add eax, eax
push eax
push 0
mov dword [ebp - 0x58], eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x10001fa7
push dword [ebp - 0x58]
push 0
push eax
call fcn.10007250
add esp, 0xc
push dword [ebp - 0x50]
push dword [ebp - 0x4c]
push 0xffffffffffffffff
push ebx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push ebx
call edi
cmp dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x4c]
je 0x10001f92
push dword [ebp - 0x54]
mov dword [0x10016a88], eax
call edi
mov eax, dword [ebp - 0x64]
push eax
call edi
jmp 0x10001fc2
push dword [ebp - 0x54]
mov dword [0x10016a8c], eax
call edi
mov eax, dword [ebp - 0x64]
push eax
call edi
jmp 0x10001fc2
or esi, 0xffffffff
push dword [ebp - 0x54]
call edi
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x10001fb6
push eax
call edi
test ebx, ebx
je 0x10001fbd
push ebx
call edi
cmp esi, 0xffffffff
je 0x10001fc9
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop esi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.10006338
mov esp, ebp
pop ebp
ret