Function at 0x1004288
Capabilities:
Manipulate boot configuration

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x2948
call fcn.0100ba20
mov eax, dword [0x1011024]
push ebx
push esi
push edi
xor ebx, ebx
push 0x7f
pop edx
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x214c], eax
xor eax, eax
mov ecx, edx
lea edi, [ebp - 0x2c8]
mov dword [ebp - 0x2cc], ebx
rep stosd dword es:[edi], eax
push 0x7e
mov ecx, edx
lea edi, [ebp - 0x6c8]
mov dword [ebp - 0x6cc], ebx
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x4c8]
mov dword [ebp - 0x4cc], ebx
rep stosd dword es:[edi], eax
pop ecx
push 0x7e
lea edi, [ebp - 0x8c4]
mov dword [ebp - 0x8c8], ebx
rep stosd dword es:[edi], eax
pop ecx
push 0x7e
lea edi, [ebp - 0xcbc]
mov dword [ebp - 0xcc0], ebx
rep stosd dword es:[edi], eax
pop ecx
lea edi, [ebp - 0xac0]
mov dword [ebp - 0xac4], ebx
rep stosd dword es:[edi], eax
mov esi, 0x10013a4
lea edi, [ebp - 0x2138]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x7c
pop ecx
lea edi, [ebp - 0x2128]
rep stosd dword es:[edi], eax
xor esi, esi
lea eax, [ebp - 0x2154]
mov dword [ebp - 0x1f2c], eax
inc esi
xor eax, eax
mov dword [ebp - 0x1f38], 0x10000
mov dword [ebp - 0x1f34], esi
mov dword [ebp - 0x1f30], ebx
mov dword [ebp - 0x1f28], ebx
mov ecx, edx
lea edi, [ebp - 0x1f24]
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x1d1c]
mov dword [ebp - 0x1d28], ebx
mov dword [ebp - 0x1d24], ebx
mov dword [ebp - 0x1d20], 0x73
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2cc]
mov dword [ebp - 0x1b14], eax
mov dword [ebp - 0x2148], ebx
mov dword [ebp - 0x2154], ebx
mov dword [ebp - 0x2140], ebx
mov dword [ebp - 0x2150], ebx
mov dword [ebp - 0x2144], ebx
mov dword [ebp - 0x1b20], 0x2001
mov dword [ebp - 0x1b1c], esi
mov dword [ebp - 0x1b18], ebx
mov dword [ebp - 0x1b10], ebx
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0x1b0c]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x1910], ebx
mov dword [ebp - 0x190c], ebx
mov dword [ebp - 0x1908], 0x75
mov ecx, edx
lea edi, [ebp - 0x1904]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x1704], esi
mov dword [ebp - 0x1708], 0x2001
mov dword [ebp - 0x1700], ebx
mov dword [ebp - 0x16f8], ebx
lea eax, [ebp - 0x6cc]
mov dword [ebp - 0x16fc], eax
xor eax, eax
mov ecx, edx
lea edi, [ebp - 0x16f4]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x14f8], ebx
mov dword [ebp - 0x14f4], ebx
mov dword [ebp - 0x14f0], 0x70
mov ecx, edx
lea edi, [ebp - 0x14ec]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x12ec], esi
mov dword [ebp - 0x12f0], 0x1001
mov dword [ebp - 0x12e8], ebx
mov dword [ebp - 0x12e0], ebx
lea eax, [ebp - 0x4cc]
mov dword [ebp - 0x12e4], eax
xor eax, eax
mov ecx, edx
lea edi, [ebp - 0x12dc]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x10e0], ebx
mov dword [ebp - 0x10dc], ebx
mov esi, 0x100156c
lea edi, [ebp - 0x10d8]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x7e
pop ecx
lea edi, [ebp - 0x10d2]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x2148]
mov dword [ebp - 0xecc], eax
xor eax, eax
mov ecx, edx
mov dword [ebp - 0xed8], 0x82002
mov dword [ebp - 0xed4], 1
mov dword [ebp - 0xed0], ebx
mov dword [ebp - 0xec8], ebx
lea edi, [ebp - 0xec4]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2cc]
push eax
mov dword [ebp - 0xcc8], ebx
mov dword [ebp - 0xcc4], ebx
call fcn.0100269c
cmp eax, 1
je 0x10048a7
mov edi, dword [sym.imp.msvcrt.dll_wcscpy]
mov esi, 0x1001568
lea eax, [ebp - 0x12e0]
push esi
push eax
call edi
lea eax, [ebp - 0x4cc]
push esi
push eax
call edi
add esp, 0x10
lea eax, [ebp - 0x2138]
push eax
push 5
push dword [ebp - 0x214c]
push dword [ebp + 8]
call fcn.0100e534
test eax, eax
jne 0x100456c
push 0x7c
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
call fcn.0100c80a
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
jmp 0x10048a7
cmp dword [ebp - 0x2148], ebx
ja 0x100457b
push 0x1b8
jmp 0x10045a7
cmp dword [ebp - 0x1b18], ebx
jne 0x1004592
cmp dword [ebp - 0x1700], ebx
je 0x100459a
push 0x30b
jmp 0x10045a7
cmp dword [ebp - 0x1700], ebx
jne 0x10045b4
cmp dword [ebp - 0x12e8], ebx
je 0x10045b4
push 0x30c
call fcn.0100d783
push eax
call fcn.0100c82e
jmp 0x1004553
cmp dword [ebp - 0x1b18], ebx
je 0x10045d7
lea eax, [ebp - 0x2cc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x10045d7
push 0x30e
jmp 0x10046e9
cmp dword [ebp - 0x1700], ebx
je 0x10045fa
lea eax, [ebp - 0x6cc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x10045fa
push 0x30f
jmp 0x10046e9
lea eax, [ebp - 0x4cc]
push esi
push eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
jne 0x1004628
lea eax, [ebp - 0x2cc]
push eax
call fcn.0100db50
test eax, eax
jne 0x1004628
mov dword [ebp - 0x2140], 1
cmp dword [ebp - 0x1b18], ebx
je 0x100468b
cmp dword [ebp - 0x12e8], ebx
jne 0x100468b
lea eax, [ebp - 0x2cc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x1004663
lea eax, [ebp - 0x2cc]
push eax
call fcn.0100db50
test eax, eax
mov dword [ebp - 0x2140], 1
je 0x1004669
mov dword [ebp - 0x2140], ebx
lea eax, [ebp - 0x4cc]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
test eax, eax
pop ecx
je 0x100468b
lea eax, [ebp - 0x4cc]
push 0x10011f8
push eax
call edi
pop ecx
pop ecx
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x1001504
lea eax, [ebp - 0xcc]
push eax
call esi
push 2
mov edi, 0x10012c4
push edi
lea eax, [ebp - 0x2cc]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCmpNW]
test eax, eax
jne 0x10046fd
push 3
push 0x1001560
lea eax, [ebp - 0x2cc]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCmpNW]
test eax, eax
je 0x10046fd
lea eax, [ebp - 0x2cc]
push edi
push eax
call dword [sym.imp.msvcrt.dll_wcstok]
cmp eax, ebx
pop ecx
pop ecx
jne 0x10046f3
push 0x829
call fcn.0100d783
jmp 0x1004558
push eax
lea eax, [ebp - 0x2cc]
push eax
call esi
lea eax, [ebp - 0x2cc]
push eax
call fcn.0100db50
xor edi, edi
inc edi
cmp eax, edi
jne 0x100474e
lea eax, [ebp - 0x6cc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x100474e
push 0x313
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
push eax
call fcn.0100d376
lea eax, [ebp - 0x2cc]
push 0x10012a0
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
lea eax, [ebp - 0x2144]
push eax
push ebx
push dword [ebp - 0x2140]
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x4cc]
push eax
lea eax, [ebp - 0x6cc]
push eax
lea eax, [ebp - 0x2cc]
push eax
call fcn.01002f60
cmp eax, edi
je 0x1004b49
call fcn.0100bb22
cmp eax, ebx
mov dword [ebp - 0x213c], eax
jne 0x10047c5
push 8
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0x7c
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d5fe
jmp 0x1004b3d
push 0x100153c
lea eax, [ebp - 0xcc]
push eax
call fcn.01001c2e
cmp eax, ebx
mov dword [ebp - 0x213c], eax
je 0x1004aea
push eax
call fcn.0100bbcf
mov ecx, dword [ebp - 0x2148]
cmp ecx, ebx
jbe 0x1004b18
cmp ecx, eax
ja 0x1004b18
cmp dword [ebp - 0x213c], ebx
je 0x1004aea
dec ecx
push ecx
push dword [ebp - 0x213c]
call fcn.0100c29c
push ebx
push dword [ebp - 0x213c]
mov edi, eax
call fcn.0100c29c
push edi
lea eax, [ebp - 0x8c8]
push eax
call esi
push edi
lea eax, [ebp - 0xac4]
push eax
call esi
push 0x2710
call dword [sym.imp.msvcrt.dll_malloc]
cmp eax, ebx
pop ecx
mov dword [ebp - 0x2140], eax
jne 0x10048af
push 8
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0x7c
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d5fe
lea eax, [ebp - 0xcc]
push eax
call fcn.01001efb
lea eax, [ebp - 0x213c]
push eax
call fcn.0100bb96
push dword [ebp - 0x2144]
lea eax, [ebp - 0x2cc]
push eax
call fcn.010026f7
xor eax, eax
inc eax
jmp 0x1004b5d
mov edi, dword [ebp - 0x2148]
dec edi
jmp 0x1004932
push edi
push dword [ebp - 0x213c]
call fcn.0100c29c
mov dword [ebp + edi*4 - 0x2550], eax
lea eax, [edi - 1]
push eax
push dword [ebp - 0x213c]
mov dword [ebp - 0x2158], eax
call fcn.0100c29c
push edi
push dword [ebp - 0x213c]
mov dword [ebp - 0x214c], eax
mov dword [ebp + edi*4 - 0x2948], eax
call fcn.0100c208
cmp dword [ebp - 0x214c], ebx
je 0x10049d5
push dword [ebp - 0x214c]
lea eax, [ebp - 0xcc0]
push eax
call esi
push 0xfe
lea eax, [ebp - 0xcc0]
push eax
push edi
push dword [ebp - 0x213c]
call fcn.0100c191
mov edi, dword [ebp - 0x2158]
cmp edi, ebx
ja 0x10048b8
push ebx
push dword [ebp - 0x213c]
call fcn.0100c208
push 0xfe
lea eax, [ebp - 0xac4]
push eax
push ebx
push dword [ebp - 0x213c]
call fcn.0100c191
push dword [ebp - 0x2140]
mov edi, dword [ebp - 0x2140]
xor eax, eax
mov ecx, 0x4e2
rep stosd dword es:[edi], eax
push dword [ebp - 0x213c]
call fcn.01001f40
xor esi, esi
inc esi
cmp eax, esi
jne 0x1004987
mov dword [ebp - 0x2150], esi
lea eax, [ebp - 0xcc]
push eax
push dword [ebp - 0x2140]
push 0x100153c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileSectionW]
test eax, eax
je 0x1004ac0
cmp dword [ebp - 0x2150], esi
je 0x1004ac0
lea eax, [ebp - 0x8c8]
push 0x100158c
push eax
call dword [sym.imp.msvcrt.dll_wcstok]
test eax, eax
pop ecx
pop ecx
jne 0x1004a12
push 0x829
jmp 0x1004ac5
push 8
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0x7c
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d5fe
lea eax, [ebp - 0xcc]
push eax
call fcn.01001efb
xor esi, esi
inc esi
jmp 0x1004a5b
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x8c8]
push eax
push 0x10013a4
push 0x1001574
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
test eax, eax
je 0x1004a8d
push 0x9c
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
push eax
call fcn.0100d376
lea eax, [ebp - 0xcc]
push eax
call fcn.01001efb
mov esi, eax
lea eax, [ebp - 0x213c]
push eax
call fcn.0100bb96
push dword [ebp - 0x2144]
lea eax, [ebp - 0x2cc]
push eax
call fcn.010026f7
push dword [ebp - 0x2140]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
mov eax, esi
jmp 0x1004b5d
push 0x1b7
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
lea eax, [ebp - 0x213c]
push eax
call fcn.0100bb96
lea eax, [ebp - 0xcc]
push eax
call fcn.01001efb
jmp 0x1004a67
push 0x1b7
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
lea eax, [ebp - 0xcc]
push eax
call fcn.01001efb
jmp 0x1004a5b
push 8
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0x7c
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d5fe
jmp 0x1004b31
push 0x1b8
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
lea eax, [ebp - 0xcc]
push eax
call fcn.01001efb
lea eax, [ebp - 0x213c]
push eax
call fcn.0100bb96
push dword [ebp - 0x2144]
lea eax, [ebp - 0x2cc]
push eax
call fcn.010026f7
mov eax, edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.0100b77c
leave
ret 8