Function at 0x444f21
Capabilities:
Check if file exists
Delete file

Disassembly:
push 0x46c
mov eax, 0x52b977
call fcn.004fc737
mov eax, dword [ebp + 8]
mov dword [ebp - 0x448], eax
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov esi, ecx
mov dword [ebp - 0x438], ebx
mov dword [ebp - 0x444], esi
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x43c], ebx
call fcn.00445310
test eax, eax
jl 0x4450ae
cmp dword [esi], ebx
je 0x4450ae
push 0x103
lea eax, [ebp - 0x117]
push ebx
push eax
mov byte [ebp - 0x118], bl
call fcn.004f18b0
add esp, 0xc
lea edi, [ebp - 0x118]
call fcn.0044522c
mov eax, edi
push eax
call fcn.004f1a20
pop ecx
test eax, eax
je 0x4450ae
mov eax, edi
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
mov edi, eax
mov eax, dword [ebp - 0x444]
lea esi, [ebp - 0x458]
call fcn.004452f4
mov dword [ebp - 4], ebx
push dword [ebp - 0x440]
mov eax, dword [eax]
mov ecx, dword [eax]
lea edx, [ebp - 0x118]
push edx
push eax
call dword [ecx + 0xc]
test eax, eax
setge byte [ebp - 0x431]
or dword [ebp - 4], 0xffffffff
mov ecx, esi
call fcn.00445334
cmp byte [ebp - 0x431], bl
je 0x445221
cmp edi, ebx
je 0x4450bc
push 0x103
lea eax, [ebp - 0x327]
push ebx
push eax
mov dword [ebp - 0x43c], ebx
mov dword [ebp - 0x440], ebx
mov byte [ebp - 0x328], bl
call fcn.004f18b0
add esp, 0xc
push str.BootRecord
push str.select__from__s
lea eax, [ebp - 0x328]
push 0x104
push eax
call fcn.004456e7
mov edi, dword [ebp - 0x448]
add esp, 0x10
lea eax, [edi + 0x34]
lea esi, [ebp - 0x458]
call fcn.004452f4
push ebx
push ebx
lea edx, [ebp - 0x43c]
push edx
lea edx, [ebp - 0x440]
push edx
xor esi, esi
lea edx, [ebp - 0x328]
push edx
inc esi
mov dword [ebp - 4], esi
mov eax, dword [eax]
push dword [edi + 0x38]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
test eax, eax
setl byte [ebp - 0x431]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x458]
call fcn.00445334
cmp byte [ebp - 0x431], bl
je 0x4450b8
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor eax, eax
call fcn.004fc7ba
ret 8
mov eax, esi
jmp 0x4450b0
mov esi, 0x103
push esi
lea eax, [ebp - 0x42f]
push ebx
push eax
mov byte [ebp - 0x430], bl
call fcn.004f18b0
add esp, 0xc
push str.leakfixflag
push str.powerspeedflag
push str.rmflag
push str.btime
push str.newborn
push str.bootkey
push str.dkey
push str.BootRecord
push str.create_table__s__s_int___s_char___s_char___s_int___s_int___s_int___s_int__
lea edi, [esi + 1]
lea eax, [ebp - 0x430]
push edi
push eax
call fcn.004456e7
add esp, 0x2c
push esi
lea eax, [ebp - 0x21f]
push ebx
push eax
mov byte [ebp - 0x220], bl
call fcn.004f18b0
add esp, 0xc
push str.description
push 0x53fa80
push str.NewItems
push str.create_table__s__s_char___s_char__
lea eax, [ebp - 0x220]
push edi
push eax
call fcn.004456e7
mov eax, dword [ebp - 0x444]
add esp, 0x18
lea esi, [ebp - 0x478]
call fcn.004452f4
push ebx
push ebx
mov dword [ebp - 4], 2
mov edi, dword [ebp - 0x440]
mov eax, dword [eax]
mov ecx, dword [eax]
push ebx
lea edx, [ebp - 0x430]
push edx
push dword [edi]
mov dword [ebp - 0x438], 1
push eax
call dword [ecx + 0x14]
test eax, eax
jl 0x4451cf
mov eax, dword [ebp - 0x444]
lea esi, [ebp - 0x468]
call fcn.004452f4
push 3
pop ecx
push ebx
push ebx
push ebx
mov dword [ebp - 4], ecx
mov eax, dword [eax]
lea edx, [ebp - 0x220]
push edx
push dword [edi]
mov dword [ebp - 0x438], ecx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov byte [ebp - 0x431], 1
test eax, eax
jge 0x4451d5
mov byte [ebp - 0x431], bl
mov dword [ebp - 4], 2
test byte [ebp - 0x438], 2
je 0x4451f7
and dword [ebp - 0x438], 0xfffffffd
lea ecx, [ebp - 0x468]
call fcn.00445334
or dword [ebp - 4], 0xffffffff
test byte [ebp - 0x438], 1
je 0x44520f
lea ecx, [ebp - 0x478]
call fcn.00445334
cmp byte [ebp - 0x431], bl
je 0x445221
mov dword [ebp - 0x43c], 1
mov eax, dword [ebp - 0x43c]
jmp 0x4450b0