Function at 0x401694
Capabilities:
Check if file exists
Delete file
Get file attributes
Set file attributes

Disassembly:
sub esp, 0x2f4
push ebx
push ebp
push esi
push edi
xor ebx, ebx
push 0x405b08
mov dword [esp + 0x14], ebx
call dword [sym.imp.MSVCRT.dll_wcslen]
cmp dword [0x4067f4], ebx
pop ecx
mov dword [esp + 0x14], eax
jne 0x4016ea
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 5
push dword [0x405488]
call esi
push 5
push dword [0x405f68]
call esi
push 0x67
push ebx
push 0x406
push dword [0x405488]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [str.af_an_ar_ast_az_ba_be_bg_bn_br_ca_co_cs_cy_da_de_el_eo_es_et_eu_ext_fa_fi_fr_fur_fy_ga_gl_gu_he_hi_hr_hu_hy_id_io_is_it_ja_ka_kaa_kab_kk_ko_ku_ku_ckb_ky_lij_lt_lv_mk_mn_mng_mng2_mr_ms_nb_ne_nl_nn_pa_in_pl_ps_pt_pt_br_ro_ru_sa_si_sk_sl_sq_sr_spc_sr_spl_sv_ta_th_tr_tt_ug_uk_uz_va_vi_yo_zh_cn_zh_tw_en.ttt_descript.ion_History.txt_License.txt_readme.txt_7_zip.chm_7z.sfx_7zCon.sfx_7z.exe_7zG.exe_7z.dll_7zFM.exe_7_zip32.dll_7_zip.dll_Uninstall.exe]
xor ebp, ebp
mov edi, eax
cmp byte [eax], bl
je 0x401820
cmp dword [0x4067f4], ebx
jne 0x40176f
mov esi, dword [sym.imp.USER32.dll_PeekMessageW]
push 1
push ebx
push ebx
lea eax, [esp + 0x24]
push ebx
push eax
call esi
test eax, eax
je 0x40175c
lea eax, [esp + 0x18]
push eax
push dword [0x406a18]
call dword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
jne 0x401744
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
cmp dword [0x406a18], ebx
push 1
je 0x4018e5
push ebx
push ebx
lea eax, [esp + 0x24]
push ebx
push eax
jmp 0x401713
push ebx
push ebp
push 0x402
push dword [0x405488]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esp + 0x14]
cmp ebp, 0x58
lea esi, [eax*2 + 0x405b08]
mov word [esi], bx
ja 0x401790
push str.Lang_
push esi
call dword [sym.imp.MSVCRT.dll_wcscpy]
pop ecx
pop ecx
push esi
call dword [sym.imp.MSVCRT.dll_wcslen]
pop ecx
lea ecx, [esi + eax*2]
mov al, byte [edi]
cmp al, bl
je 0x4017b1
inc edi
cmp al, 0x20
je 0x4017b1
movzx ax, al
mov word [ecx], ax
inc ecx
inc ecx
jmp 0x40179b
cmp ebp, 0x58
mov word [ecx], bx
jae 0x4017c7
push str..txt
push esi
call dword [sym.imp.MSVCRT.dll_wcscat]
pop ecx
pop ecx
cmp dword [0x4067f4], ebx
jne 0x4017dc
push esi
push dword [0x405f68]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov esi, 0x405b08
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x401817
test al, 1
je 0x4017f9
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x401817
call fcn.00401ec8
test eax, eax
jne 0x401817
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x10], eax
inc ebp
cmp byte [edi], bl
jne 0x4016fb
mov eax, dword [esp + 0x14]
push str.Lang
lea esi, [eax*2 + 0x405b08]
push esi
call dword [sym.imp.MSVCRT.dll_wcscpy]
pop ecx
pop ecx
call fcn.00401f0e
mov word [esi], bx
call fcn.00401f0e
cmp dword [0x4067f4], ebx
jne 0x401861
push ebx
push ebp
push 0x402
push dword [0x405488]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp byte [edi], bl
jne 0x401893
call fcn.004018f1
call fcn.00401ba7
mov ecx, dword [0x406a18]
call fcn.004019e3
cmp dword [0x4067f4], ebx
jne 0x401893
push str.7_Zip_19.00__x64__is_uninstalled
push dword [0x405f68]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov ecx, dword [esp + 0x10]
cmp ecx, ebx
jne 0x40189f
xor eax, eax
jmp 0x4018e6
cmp dword [0x4067f4], ebx
jne 0x4018e3
lea edx, [esp + 0x34]
mov word [esp + 0x34], bx
call fcn.00401ed2
test eax, eax
jne 0x4018cb
lea eax, [esp + 0x34]
push str.ERROR
push eax
call dword [sym.imp.MSVCRT.dll_wcscpy]
pop ecx
pop ecx
push 0x10
lea eax, [esp + 0x38]
push 0x403780
push eax
push dword [0x406a18]
call dword [sym.imp.USER32.dll_MessageBoxW]
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2f4
ret