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

Disassembly:
sub esp, 0x2f4
push ebx
push ebp
push esi
push edi
xor edi, edi
push 0x4074e8
mov dword [esp + 0x18], edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
mov dword [esp + 0x10], esi
cmp dword [0x4070b0], edi
jne 0x401237
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 5
push dword [0x4070c0]
call esi
push 5
push dword [0x4070bc]
call esi
push 0x6a
push edi
push 0x406
push dword [0x4070c0]
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [esp + 0x10]
xor ebx, ebx
mov ebp, 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_zip.dll_Uninstall.exe
cmp byte [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_zip.dll_Uninstall.exe], bl
je 0x401382
cmp dword [0x4070b0], 0
jne 0x4012b5
xor edi, edi
jmp 0x40128e
lea eax, [esp + 0x18]
push eax
push dword [0x4070b4]
call dword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
jne 0x401282
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 [0x4070b4], edi
je 0x401486
push 1
push edi
push edi
push edi
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x401257
push edi
push ebx
push 0x402
push dword [0x4070c0]
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
lea edi, [esi*2 + 0x4074e8]
mov word [edi], ax
cmp ebx, 0x5c
ja 0x4012e1
mov edx, str.Lang_
mov esi, edi
mov cl, byte [edx]
inc edx
movzx eax, cl
mov word [esi], ax
lea esi, [esi + 2]
test cl, cl
jne 0x4012cd
mov esi, dword [esp + 0x10]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ecx, [edi + eax*2]
jmp 0x4012fb
inc ebp
cmp al, 0x20
je 0x401302
movzx eax, al
mov word [ecx], ax
add ecx, 2
mov al, byte [ebp]
test al, al
jne 0x4012ed
xor eax, eax
mov word [ecx], ax
cmp ebx, 0x5c
jae 0x401318
mov edx, str..txt
mov ecx, edi
call fcn.004010ac
cmp dword [0x4070b0], 0
jne 0x40132e
push edi
push dword [0x4070bc]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov edi, 0x4074e8
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x401373
test al, 1
je 0x40134c
push 0
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x401373
push 4
push eax
push edi
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x401373
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov dword [esp + 0x14], edi
jmp 0x401377
mov edi, dword [esp + 0x14]
inc ebx
cmp byte [ebp], 0
jne 0x40124a
mov edx, str.Lang
lea esi, [esi*2 + 0x4074e8]
mov cl, byte [edx]
inc edx
movzx eax, cl
mov word [esi], ax
lea esi, [esi + 2]
test cl, cl
jne 0x40138e
call fcn.004016bb
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov word [eax*2 + 0x4074e8], cx
call fcn.004016bb
xor esi, esi
cmp dword [0x4070b0], esi
jne 0x4013d3
push esi
push ebx
push 0x402
push dword [0x4070c0]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp byte [ebp], 0
jne 0x401417
mov ecx, 0x80000001
call fcn.004016e9
mov ecx, 0x80000002
call fcn.004016e9
call fcn.00401836
mov ecx, dword [0x4070b4]
call fcn.00401731
cmp dword [0x4070b0], 0
jne 0x401417
push str.7_Zip_24.07_is_uninstalled
push dword [0x4070bc]
call dword [sym.imp.USER32.dll_SetWindowTextW]
test edi, edi
je 0x40148b
cmp dword [0x4070b0], 0
jne 0x401486
push esi
xor eax, eax
push esi
mov word [esp + 0x3c], ax
lea eax, [esp + 0x18]
push eax
push esi
push edi
push esi
push 0x1300
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
test eax, eax
jne 0x40145f
mov edx, str.ERROR
lea esi, [esp + 0x34]
mov cl, byte [edx]
inc edx
movzx eax, cl
mov word [esi], ax
lea esi, [esi + 2]
test cl, cl
jne 0x40144d
jmp 0x401478
push dword [esp + 0x10]
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea edx, [esp + 0x34]
mov ecx, str.System_ERROR:
call fcn.00401631
xor eax, eax
inc eax
jmp 0x40148d
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2f4
ret