Function at 0x4196ac
Capabilities:
Copy file
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1f78
call fcn.005fec20
mov eax, dword [0x708c34]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x1b7d]
push esi
push edi
mov esi, str.fdm.sqlite
lea edi, [ebp - 0x1b88]
push 0x3dd
push 0
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
call fcn.00626f50
push 8
pop ecx
mov esi, str.Free_Download_Manager_fdm.sqlite
lea edi, [ebp - 0x17a0]
rep movsd dword es:[edi], dword [esi]
push 0x3c6
lea eax, [ebp - 0x177e]
movsw word es:[edi], word [esi]
xor esi, esi
push esi
push eax
call fcn.00626f50
push 8
mov dword [ebp - 0x1f78], esi
lea edi, [ebp - 0xfd0]
mov dword [ebp - 0x1f74], esi
lea eax, [ebp - 0xfb0]
pop ecx
mov esi, str.select__from_auth_credentials_
rep movsd dword es:[edi], dword [esi]
push 0x3c8
xor esi, esi
push esi
push eax
call fcn.00626f50
mov edi, str.PerformFDMPasswordRecoveryNew
push edi
push str._s_entered
call fcn.00449974
push ebx
call fcn.00631510
add esp, 0x30
cmp eax, 1
jae 0x4197df
lea eax, [ebp - 0x1f70]
push eax
push esi
push esi
push 0x1c
push esi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jns 0x419786
push str._n_Failed_to_get_current_users_appdata_folder
call fcn.00449974
pop ecx
jmp 0x419b0c
lea eax, [ebp - 0x17a0]
mov ebx, 0x3e8
push eax
lea eax, [ebp - 0x1f70]
push eax
push 0x66ea84
lea eax, [ebp - 0x418]
push ebx
push eax
call fcn.00445d6d
lea eax, [ebp - 0x418]
push eax
call fcn.00449791
add esp, 0x18
test eax, eax
jne 0x4197ff
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x418]
push eax
push edi
push str._s_:_Specified_profile_FILE___s__does_not_exist__Error0x_.8x
call fcn.00449974
add esp, 0x10
jmp 0x419b0c
push str.fdm.sqlite
push ebx
push 0x66c218
mov ebx, 0x3e8
lea eax, [ebp - 0x418]
push ebx
push eax
call fcn.00445d6d
add esp, 0x14
lea eax, [ebp - 0x418]
push eax
push edi
push str._s_Final_FDM_password_file__s
call fcn.00449974
add esp, 0xc
lea eax, [ebp - 0x800]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [ebp - 0x1b88]
push eax
lea eax, [ebp - 0x800]
push ebx
push eax
call fcn.00631246
add esp, 0xc
lea eax, [ebp - 0x800]
push esi
push eax
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x41987d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x800]
push eax
lea eax, [ebp - 0x418]
push eax
push edi
push str._s:_Failed_to_copy_file__s__to_tmp_file__s__Error0x_.8x
call fcn.00449974
add esp, 0x14
lea esi, [ebp - 0x418]
jmp 0x419898
lea eax, [ebp - 0x800]
push eax
push edi
push str._s:_Successfully_copied_to_tmp_file__s
call fcn.00449974
add esp, 0xc
lea esi, [ebp - 0x800]
push 0
push 1
lea eax, [ebp - 0x1f78]
push eax
push esi
call fcn.0045c0d6
add esp, 0x10
test eax, eax
je 0x4198bd
push eax
push esi
push edi
push str._s_:_Failed_to_open_the_database_file__s__Error___d
jmp 0x4197d2
push 0
lea eax, [ebp - 0x1f74]
push eax
lea eax, [ebp - 0xfd0]
push eax
call fcn.00631510
pop ecx
push eax
lea eax, [ebp - 0xfd0]
push eax
push dword [ebp - 0x1f78]
call fcn.0045c571
add esp, 0x14
test eax, eax
jne 0x419afd
cmp dword [ebp - 0x1f74], eax
je 0x419afd
push dword [ebp - 0x1f74]
call fcn.0045ccca
pop ecx
jmp 0x4199b3
cmp eax, 0x64
jne 0x4199bc
push 0
push dword [ebp - 0x1f74]
call fcn.0045ce99
push eax
lea eax, [ebp - 0xbe8]
push 0x400
push eax
call fcn.006311ec
push 2
push dword [ebp - 0x1f74]
call fcn.0045ce99
push 3
push dword [ebp - 0x1f74]
mov edi, eax
call fcn.0045ce99
mov esi, eax
lea eax, [ebp - 0xbe8]
push esi
push edi
push eax
push str.PerformFDMPasswordRecoveryNew
push str._s___Found_website___s__username_s__enc_password_s
call fcn.00449974
push 0x400
lea eax, [ebp - 0x13b8]
push eax
push esi
call fcn.00445e29
add esp, 0x44
lea eax, [ebp - 0x13b8]
mov esi, 0x66ae5d
push 0xffffffffffffffff
push esi
push eax
push edi
lea eax, [ebp - 0xbe8]
push eax
push esi
push 0x85
push 5
call fcn.00412c85
push dword [ebp - 0x1f74]
call fcn.0045ccca
add esp, 0x24
cmp eax, 0x65
jne 0x41990e
push dword [ebp - 0x1f74]
call fcn.0045cfda
pop ecx
push 0xa
pop ecx
mov esi, str.select__from_auth_credentials_downloads_
lea edi, [ebp - 0x30]
rep movsd dword es:[edi], dword [esi]
push 0
lea eax, [ebp - 0x1f74]
push eax
lea eax, [ebp - 0xfd0]
movsw word es:[edi], word [esi]
push eax
call fcn.00631510
pop ecx
push eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x1f78]
call fcn.0045c571
add esp, 0x14
test eax, eax
jne 0x419af0
cmp dword [ebp - 0x1f74], eax
je 0x419af0
push str.Download_Site
lea eax, [ebp - 0xbe8]
push ebx
push eax
call fcn.006311ec
push dword [ebp - 0x1f74]
call fcn.0045ccca
add esp, 0x10
jmp 0x419abd
cmp eax, 0x64
jne 0x419ac6
push 1
push dword [ebp - 0x1f74]
call fcn.0045ce99
push 2
push dword [ebp - 0x1f74]
mov edi, eax
call fcn.0045ce99
mov esi, eax
lea eax, [ebp - 0xbe8]
push esi
push edi
push eax
push str.PerformFDMPasswordRecoveryNew
push str._s___Found_website___s__username_s__enc_password_s
call fcn.00449974
push 0x400
lea eax, [ebp - 0x13b8]
push eax
push esi
call fcn.00445e29
push 0xffffffffffffffff
mov ecx, 0x66ae5d
lea eax, [ebp - 0x13b8]
push ecx
push eax
push edi
lea eax, [ebp - 0xbe8]
push eax
push ecx
push 0x85
push 5
call fcn.00412c85
add esp, 0x50
push dword [ebp - 0x1f74]
call fcn.0045ccca
pop ecx
cmp eax, 0x65
jne 0x419a39
push dword [ebp - 0x1f74]
call fcn.0045cfda
push dword [ebp - 0x1f78]
call fcn.0045b0c9
pop ecx
pop ecx
lea ecx, [ebp - 0x800]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor eax, eax
inc eax
jmp 0x419b0e
push eax
push str.PerformFDMPasswordRecoveryNew
push str._s_:_Failed_to_query_the_auth_credentials_downloads_table__Error___d
jmp 0x419b04
push eax
push edi
push str._s_:_Failed_to_query_the_auth_credentials_table___Error___d
call fcn.00449974
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005fe955
leave
ret