Function at 0x40176e
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 0x404f28
mov dword [esp + 0x14], ebx
call dword [sym.imp.kernel32.dll_lstrlenW]
cmp dword [0x405c14], ebx
mov dword [esp + 0x14], eax
jne 0x4017c3
mov esi, dword [sym.imp.user32.dll_ShowWindow]
push 5
push dword [0x4048a8]
call esi
push 5
push dword [0x405388]
call esi
push 0x6b
push ebx
push 0x406
push dword [0x4048a8]
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_sw_ta_tg_th_tk_tr_tt_ug_uk_uz_uz_cyrl_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 0x4018f4
cmp dword [0x405c14], ebx
jne 0x401848
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 0x401835
lea eax, [esp + 0x18]
push eax
push dword [0x405e38]
call dword [sym.imp.user32.dll_IsDialogMessageW]
test eax, eax
jne 0x40181d
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 [0x405e38], ebx
push 1
je 0x4019a9
push ebx
push ebx
lea eax, [esp + 0x24]
push ebx
push eax
jmp 0x4017ec
push ebx
push ebp
push 0x402
push dword [0x4048a8]
call dword [sym.imp.user32.dll_SendMessageW]
mov eax, dword [esp + 0x14]
cmp ebp, 0x5c
lea esi, [eax*2 + 0x404f28]
mov word [esi], bx
ja 0x401867
mov edx, str.Lang_
mov ecx, esi
call fcn.0040151a
push esi
call dword [sym.imp.kernel32.dll_lstrlenW]
lea ecx, [esi + eax*2]
mov al, byte [edi]
cmp al, bl
je 0x401887
inc edi
cmp al, 0x20
je 0x401887
movzx ax, al
mov word [ecx], ax
inc ecx
inc ecx
jmp 0x401871
cmp ebp, 0x5c
mov word [ecx], bx
jae 0x40189b
mov edx, str..txt
mov ecx, esi
call fcn.0040152d
cmp dword [0x405c14], ebx
jne 0x4018b0
push esi
push dword [0x405388]
call dword [sym.imp.user32.dll_SetWindowTextW]
mov esi, 0x404f28
push esi
call dword [sym.imp.kernel32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4018eb
test al, 1
je 0x4018cd
push ebx
push esi
call dword [sym.imp.kernel32.dll_SetFileAttributesW]
push esi
call dword [sym.imp.kernel32.dll_DeleteFileW]
test eax, eax
jne 0x4018eb
call fcn.00401fb2
test eax, eax
jne 0x4018eb
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [esp + 0x10], eax
inc ebp
cmp byte [edi], bl
jne 0x4017d4
mov eax, dword [esp + 0x14]
mov edx, str.Lang
lea esi, [eax*2 + 0x404f28]
mov ecx, esi
call fcn.0040151a
call fcn.00401ff6
mov word [esi], bx
call fcn.00401ff6
cmp dword [0x405c14], ebx
jne 0x401933
push ebx
push ebp
push 0x402
push dword [0x4048a8]
call dword [sym.imp.user32.dll_SendMessageW]
cmp byte [edi], bl
jne 0x401965
call fcn.004019b5
call fcn.00401c57
mov ecx, dword [0x405e38]
call fcn.00401c57
cmp dword [0x405c14], ebx
jne 0x401965
push str.7_Zip_23.01__x64__is_uninstalled
push dword [0x405388]
call dword [sym.imp.user32.dll_SetWindowTextW]
mov ecx, dword [esp + 0x10]
cmp ecx, ebx
jne 0x401971
xor eax, eax
jmp 0x4019aa
cmp dword [0x405c14], ebx
jne 0x4019a7
lea edx, [esp + 0x34]
mov word [esp + 0x34], bx
call fcn.00401c57
test eax, eax
jne 0x401999
mov edx, str.ERROR
lea ecx, [esp + 0x34]
call fcn.0040151a
lea edx, [esp + 0x34]
mov ecx, str.System_ERROR:
call fcn.00401c57
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2f4
ret