Function at 0x401330
Capabilities:
Create directory
Delete file
Read .ini file
Set file attributes

Disassembly:
sub esp, 0x608
push ebp
push esi
push edi
push str._H_OFF
push 0x404f08
call fcn.00402b30
add esp, 8
call fcn.00401780
call fcn.004020f0
test eax, eax
jne 0x4014a3
push str.2003
call fcn.00401000
push str.BOOT_MBR
push 0x65
push 0x404bfc
call fcn.00402130
add esp, 0x10
test eax, eax
push 0x404bfc
je 0x40175d
push 0x404390
call fcn.00401000
add esp, 8
push 0x80
push 0x404af8
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ebp, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push 0x404af8
push 0x404378
push 0x404bfc
push str.operating_systems
call ebp
push 0x404af8
push 0x404360
push str.timeout
push str.boot_loader
call ebp
mov al, byte [0x40500c]
test al, al
je 0x40147f
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0xd]
mov byte [esp + 0xc], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x404af8
lea eax, [esp + 0x10]
push 0x104
push eax
push 0x405b48
push str.default
push str.boot_loader
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov esi, 0x404bfc
lea eax, [esp + 0xc]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40144a
test cl, cl
je 0x401446
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40144a
add eax, 2
add esi, 2
test cl, cl
jne 0x401426
xor eax, eax
jmp 0x40144f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40147f
lea eax, [esp + 0xc]
push 0x404af8
push eax
push str.DefaultBackup
push 0x404330
call ebp
push 0x404af8
push 0x404bfc
push str.default
push str.boot_loader
call ebp
mov esi, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 7
push 0x404bfc
call esi
push 7
push 0x404af8
call esi
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x608
ret
call fcn.004023b0
test eax, eax
je 0x40156e
push str.EFIGPT
call fcn.00401000
mov al, byte [0x40500c]
add esp, 4
test al, al
jne 0x40151a
push 0
call fcn.00401230
add esp, 4
test eax, eax
push 0x405410
je 0x401501
push 0x4042ec
call fcn.00401000
push str._set_bootmgr_path_ORMORMLdr.efi
push 0x404d00
call fcn.00402b30
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
add esp, 0x608
ret
push 0x4042a8
call fcn.00401000
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
add esp, 0x608
ret
push 1
call fcn.00401230
add esp, 4
test eax, eax
push 0x405410
je 0x401555
push 0x40428c
call fcn.00401000
push str._set_bootmgr_path_ORMORMLdr.efi
push 0x404d00
call fcn.00402b30
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
add esp, 0x608
ret
push 0x404270
call fcn.00401000
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
add esp, 0x608
ret
push str.Vista
call fcn.00401000
push 0x404e04
call fcn.00401200
mov esi, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
add esp, 8
test al, al
push 0x404e04
je 0x4015ba
push 0x404228
call fcn.00401000
add esp, 8
push 0x80
push 0x404e04
call esi
push 0x404e04
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x4015c7
push 0x404208
call fcn.00401000
add esp, 8
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x111]
mov byte [esp + 0x110], 0
rep stosd dword es:[edi], eax
mov ebp, dword [sym.imp.MSVCRT.dll_sprintf]
push 0x404e04
stosw word es:[edi], ax
lea ecx, [esp + 0x114]
push str._export__s
push ecx
stosb byte es:[edi], al
call ebp
lea edx, [esp + 0x11c]
push edx
push 0x404d00
call fcn.00402b30
add esp, 0x14
push 0x80
push 0x404bfc
call esi
push str.BOOT_MBR
push 0x65
push 0x404bfc
call fcn.00402130
add esp, 0xc
test eax, eax
push 0x404bfc
je 0x40175d
push 0x4041e4
call fcn.00401000
add esp, 8
push 7
push 0x404bfc
call esi
push str._create_3919457F_2759_4187_8912_C68B887E407D__d
push 0x404d00
call fcn.00402b30
push str._set_3919457F_2759_4187_8912_C68B887E407D_path_ORMLdr
push 0x404d00
call fcn.00402b30
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x1d]
mov byte [esp + 0x1c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, 0x4049f4
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xc]
mov eax, ecx
mov esi, edi
mov edi, edx
mov byte [esp + 0x214], 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
lea edx, [esp + 0x214]
rep movsb byte es:[edi], byte [esi]
mov ecx, 0xff
lea edi, [esp + 0x215]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xc]
mov byte [esp + 0xe], 0
stosw word es:[edi], ax
push ecx
push str._set_3919457F_2759_4187_8912_C68B887E407D_device_partition_s
push edx
stosb byte es:[edi], al
call ebp
lea eax, [esp + 0x220]
push eax
push 0x404d00
call fcn.00402b30
push str._displayorder_3919457F_2759_4187_8912_C68B887E407D__addlast
push 0x404d00
call fcn.00402b30
push str._timeout_3
push 0x404d00
call fcn.00402b30
mov al, byte [0x40500c]
add esp, 0x24
test al, al
je 0x40176a
push 0
push 0x4048f0
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push str._default_3919457F_2759_4187_8912_C68B887E407D
push 0x404d00
call fcn.00402b30
add esp, 8
push 0x404bfc
push 0x404070
call fcn.00401000
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
add esp, 0x608
ret
push 0x404058
call fcn.00401000
add esp, 8
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x608
ret