Function at 0x437b1f
Capabilities:
Delete file
Set file attributes

Disassembly:
push ebp
sub esp, 0xe4
lea ebp, [esp - 4]
mov eax, dword [0x6d25dc]
xor eax, ebp
mov dword [ebp + 0xe4], eax
push 0x1b0
mov eax, 0x5f64d8
call fcn.00579aba
mov eax, dword [ebp + 0xf0]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xf4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xf8]
push 0x6d9c44
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x48]
push 0x6da0c0
push eax
call fcn.0042d354
mov esi, 0x6d9b80
push esi
push eax
lea eax, [ebp - 0xf4]
xor ebx, ebx
push eax
mov dword [ebp - 4], ebx
call fcn.0042d354
push 0x6d9ec8
push eax
lea eax, [ebp - 0x12c]
push eax
mov byte [ebp - 4], 1
call fcn.0042d354
push 0x6d9fe0
push eax
lea eax, [ebp + 0x74]
push eax
mov byte [ebp - 4], 2
call fcn.0042d354
add esp, 0x30
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [ebp - 0x12c]
call fcn.00415386
push ebx
push edi
lea ecx, [ebp - 0xf4]
call fcn.00415386
push ebx
push edi
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 6
call fcn.00415386
mov ecx, dword [ebp - 0x14]
push edi
push ebx
lea eax, [ebp + 0x74]
push eax
call fcn.00482da5
test al, al
jne 0x437c2a
mov ecx, dword [ebp - 0x14]
lea eax, [ebp + 0x58]
push eax
call fcn.0042d81d
cmp dword [eax + 0x18], 0x10
mov byte [ebp - 4], 7
jb 0x437c10
mov eax, dword [eax + 4]
jmp 0x437c13
add eax, 4
push eax
push 0x62fbd8
push ebx
call fcn.0048212f
add esp, 0xc
lea ecx, [ebp + 0x58]
jmp 0x438164
push ebx
lea ecx, [ebp + 0x90]
mov dword [ebp + 0xa8], 0xf
call fcn.00415e5a
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x15]
push eax
lea eax, [ebp + 0x90]
push eax
push esi
mov byte [ebp - 4], 8
call fcn.00482cb4
test al, al
je 0x438151
cmp byte [ebp - 0x15], bl
jne 0x437c6f
push str.Switch_requires_a_value_____ENTRY
jmp 0x438156
cmp dword [ebp + 0xa8], 0x10
mov eax, dword [ebp + 0x94]
jae 0x437c84
lea eax, [ebp + 0x94]
lea ecx, [ebp - 0x21]
push ecx
lea ecx, [ebp - 0x20]
push ecx
push str._d_c
push eax
call fcn.0057db7a
add esp, 0x10
cmp eax, edi
jne 0x43810f
mov esi, dword [ebp - 0x20]
cmp esi, edi
jl 0x43810f
mov ecx, dword [ebp - 0x1c]
call fcn.00428b1e
cmp esi, eax
jg 0x43810f
mov ecx, dword [ebp - 0x1c]
call fcn.00428b1e
cmp eax, edi
jne 0x437cdd
push str.Cannot_delete_the_only_boot_menu_entry
push ebx
call fcn.0048212f
pop ecx
pop ecx
mov esi, edi
jmp 0x438136
mov ecx, dword [ebp - 0x1c]
dec esi
push esi
call fcn.00428b3f
cmp byte [eax + 0x55], bl
je 0x437d1f
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
dec eax
push eax
call fcn.00428b3f
add eax, 0x1c
cmp dword [eax + 0x18], 0x10
jb 0x437d07
mov eax, dword [eax + 4]
jmp 0x437d0a
add eax, 4
push eax
push str._s_is_protected_system_entry._Delete_
push 4
call fcn.0048212f
add esp, 0xc
cmp eax, 2
je 0x437cd6
push ebx
lea ecx, [ebp + 0xac]
mov dword [ebp + 0xc4], 0xf
call fcn.00415e5a
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 9
call fcn.0042d802
mov esi, dword [ebp - 0x2c]
push esi
lea edx, [ebp + 0xac]
mov ecx, eax
mov byte [ebp - 4], 0xa
call fcn.00435dcd
pop ecx
push ebx
test eax, eax
push edi
lea ecx, [ebp - 0x48]
setne byte [ebp - 0xd]
mov byte [ebp - 4], 9
call fcn.00415386
cmp byte [ebp - 0xd], bl
je 0x437d86
push ebx
push edi
lea ecx, [ebp + 0xac]
call fcn.00415386
jmp 0x437cd6
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
dec eax
push eax
call fcn.00428b3f
push eax
lea ecx, [ebp]
call fcn.0042e460
lea eax, [ebp - 0x28]
push eax
mov byte [ebp - 4], 0xb
call fcn.0042a86d
test eax, eax
pop ecx
je 0x437db8
lea ecx, [ebp]
call fcn.0042c4e8
jmp 0x437d74
mov esi, dword [ebp - 0x2c]
cmp dword [esi + 0x18], 0x10
lea eax, [esi + 4]
mov dword [ebp - 0x14], eax
jb 0x437dc9
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
mov eax, dword [ebp - 0x14]
jne 0x437df0
cmp dword [esi + 0x18], 0x10
jb 0x437ddf
mov eax, dword [eax]
push eax
push str.Cannot_overwrite__s_file
push ebx
call fcn.0048212f
add esp, 0xc
jmp 0x437dae
cmp dword [esi + 0x18], 0x10
jb 0x437df8
mov eax, dword [eax]
push edi
push 0x40
push 2
push eax
lea ecx, [ebp - 0x1bc]
call fcn.00435b7d
cmp dword [ebp + 0xc4], 0x10
mov eax, dword [ebp + 0xb0]
mov byte [ebp - 4], 0xc
jae 0x437e22
lea eax, [ebp + 0xb0]
push edi
push 0x40
push edi
push eax
lea ecx, [ebp - 0xd8]
call fcn.00435b7d
mov eax, dword [ebp - 0x1bc]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x1b4], 6
mov byte [ebp - 4], 0xd
je 0x437e86
cmp dword [esi + 0x18], 0x10
mov eax, dword [ebp - 0x14]
jb 0x437e54
mov eax, dword [eax]
push eax
push str.Cannot_overwrite__s_file
push ebx
call fcn.0048212f
add esp, 0xc
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0xc
call fcn.00432737
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 0xb
call fcn.00432737
jmp 0x437dae
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 4]
mov eax, dword [ebp + eax - 0xd0]
test al, 6
je 0x437eb7
cmp dword [ebp + 0xc4], 0x10
mov eax, dword [ebp + 0xb0]
jae 0x437eaf
lea eax, [ebp + 0xb0]
push eax
push str.Cannot_open__s_backup_file
jmp 0x437e5a
mov byte [ebp - 0xd], bl
mov byte [ebp - 0xe], bl
jmp 0x438088
cmp eax, ebx
jne 0x438090
push ebx
lea ecx, [ebp + 0xc8]
mov dword [ebp + 0xe0], 0xf
call fcn.00415e5a
push 0xa
lea eax, [ebp + 0xc8]
push eax
lea eax, [ebp - 0xd8]
push eax
mov byte [ebp - 4], 0xe
call fcn.004334f0
mov eax, dword [ebp + 0xcc]
add esp, 0xc
cmp dword [ebp + 0xe0], 0x10
jae 0x437f11
lea eax, [ebp + 0xcc]
push str._operating_systems_
push eax
call fcn.00583f9e
test eax, eax
pop ecx
pop ecx
jne 0x437f2e
mov byte [ebp - 0xd], 1
mov byte [ebp - 0xe], bl
jmp 0x438032
cmp dword [ebp + 0xe0], 0x10
mov eax, dword [ebp + 0xcc]
jae 0x437f43
lea eax, [ebp + 0xcc]
push str._boot_loader_
push eax
call fcn.00583f9e
test eax, eax
pop ecx
pop ecx
jne 0x437f60
mov byte [ebp - 0xd], bl
mov byte [ebp - 0xe], 1
jmp 0x438032
cmp byte [ebp - 0xe], bl
je 0x438000
push ebx
push 0x6315a4
lea ecx, [ebp + 0xc8]
call fcn.0042a902
test eax, eax
je 0x437f26
push str.default
lea ecx, [ebp + 0x58]
call fcn.00414b61
cmp byte [ebp + 0x54], bl
mov byte [ebp - 4], 0xf
je 0x437ff0
push ebx
lea eax, [ebp + 0x58]
push eax
lea ecx, [ebp + 0xc8]
call fcn.0042a8df
test eax, eax
jne 0x437ff0
cmp dword [ebp - 0x20], edi
mov ecx, dword [ebp - 0x1c]
je 0x437fb3
push ebx
jmp 0x437fb4
push edi
call fcn.00428b3f
add eax, 0x38
push eax
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.0042d354
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0xc8]
mov byte [ebp - 4], 0x10
call fcn.00415271
push ebx
push edi
lea ecx, [ebp - 0x110]
call fcn.00415386
push ebx
push edi
lea ecx, [ebp + 0x58]
mov byte [ebp - 4], 0xe
call fcn.00415386
jmp 0x438032
cmp byte [ebp - 0xd], bl
je 0x438032
push ebx
push 0x6315a4
lea ecx, [ebp + 0xc8]
call fcn.0042a902
test eax, eax
jne 0x43801f
mov byte [ebp - 0xd], bl
jmp 0x438032
lea eax, [ebp]
push eax
lea ecx, [ebp + 0xc8]
call fcn.00414bc5
test eax, eax
je 0x438067
lea eax, [ebp + 0xc8]
push eax
lea eax, [ebp - 0x1b4]
push eax
call fcn.0043322c
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0xd0], 1
pop ecx
pop ecx
jne 0x438067
lea eax, [ebp - 0x1b4]
push eax
call fcn.0042841f
pop ecx
push ebx
push edi
lea ecx, [ebp + 0xc8]
mov byte [ebp - 4], 0xd
call fcn.00415386
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 4]
mov eax, dword [ebp + eax - 0xd0]
test al, 1
je 0x437ec2
lea ecx, [ebp - 0x1bc]
call fcn.00430e30
lea ecx, [ebp - 0xd8]
call fcn.00430e30
test byte [ebp - 0x28], 1
je 0x4380c1
cmp dword [esi + 0x18], 0x10
mov eax, dword [ebp - 0x14]
jb 0x4380b7
mov eax, dword [eax]
push dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0xc
call fcn.00432737
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 0xb
call fcn.00432737
lea ecx, [ebp]
call fcn.0042c4e8
push ebx
push edi
lea ecx, [ebp + 0xac]
call fcn.00415386
push ebx
push edi
lea ecx, [ebp + 0x90]
call fcn.00415386
push ebx
push edi
lea ecx, [ebp + 0x74]
call fcn.00415386
xor eax, eax
jmp 0x438178
cmp dword [ebp + 0xa8], 0x10
mov eax, dword [ebp + 0x94]
jae 0x438124
lea eax, [ebp + 0x94]
push eax
push str.Invalid_boot_entry_ID_____s
push ebx
call fcn.0048212f
add esp, 0xc
push 2
pop esi
push ebx
push edi
lea ecx, [ebp + 0x90]
call fcn.00415386
push ebx
push edi
lea ecx, [ebp + 0x74]
call fcn.00415386
mov eax, esi
jmp 0x438178
push str.Required_switch_missing_____ENTRY
push ebx
call fcn.0048212f
pop ecx
pop ecx
lea ecx, [ebp + 0x90]
push ebx
push edi
call fcn.00415386
push ebx
push edi
lea ecx, [ebp + 0x74]
call fcn.00415386
push 2
pop eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xe4]
xor ecx, ebp
call fcn.00579aab
add ebp, 0xe8
leave
ret