Function at 0x1009f8c
Capabilities:
Manipulate boot configuration

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x20b4
call fcn.0100ba20
mov eax, dword [0x1011024]
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push 0x7e
pop ecx
mov dword [ebp - 0x20b0], eax
xor eax, eax
push 0x7f
pop edx
lea edi, [ebp - 0x7fc]
mov dword [ebp - 0x800], ebx
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x200]
mov dword [ebp - 0x204], ebx
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x600]
mov dword [ebp - 0x604], ebx
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x400]
mov dword [ebp - 0x404], ebx
rep stosd dword es:[edi], eax
mov esi, 0x10014dc
lea edi, [ebp - 0x2090]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x7c
pop ecx
lea edi, [ebp - 0x2082]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor esi, esi
lea eax, [ebp - 0x20b4]
mov dword [ebp - 0x1e84], eax
inc esi
xor eax, eax
mov dword [ebp - 0x1e90], 0x10000
mov dword [ebp - 0x1e8c], esi
mov dword [ebp - 0x1e88], ebx
mov dword [ebp - 0x1e80], ebx
mov ecx, edx
lea edi, [ebp - 0x1e7c]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x1c80], ebx
mov dword [ebp - 0x1c7c], ebx
mov dword [ebp - 0x1c78], 0x73
mov ecx, edx
lea edi, [ebp - 0x1c74]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x204]
mov dword [ebp - 0x1a6c], eax
xor eax, eax
mov dword [ebp - 0x1a78], 0x2001
mov dword [ebp - 0x1a74], esi
mov dword [ebp - 0x1a70], ebx
mov dword [ebp - 0x1a68], ebx
mov ecx, edx
lea edi, [ebp - 0x1a64]
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x185c]
mov dword [ebp - 0x1868], ebx
mov dword [ebp - 0x1864], ebx
mov dword [ebp - 0x1860], 0x75
rep stosd dword es:[edi], eax
mov dword [ebp - 0x20b4], ebx
mov dword [ebp - 0x20ac], ebx
mov dword [ebp - 0x20a0], ebx
mov dword [ebp - 0x20a4], ebx
mov dword [ebp - 0x20a8], ebx
mov dword [ebp - 0x1660], 0x2001
mov dword [ebp - 0x165c], esi
mov dword [ebp - 0x1658], ebx
mov dword [ebp - 0x1650], ebx
lea eax, [ebp - 0x604]
mov dword [ebp - 0x1654], eax
xor eax, eax
mov ecx, edx
lea edi, [ebp - 0x164c]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x1450], ebx
mov dword [ebp - 0x144c], ebx
mov dword [ebp - 0x1448], 0x70
mov ecx, edx
lea edi, [ebp - 0x1444]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x1244], esi
mov dword [ebp - 0x1248], 0x1001
mov dword [ebp - 0x1240], ebx
mov dword [ebp - 0x1238], ebx
lea eax, [ebp - 0x404]
mov dword [ebp - 0x123c], eax
xor eax, eax
mov ecx, edx
lea edi, [ebp - 0x1234]
rep stosd dword es:[edi], eax
mov eax, dword [0x10014d4]
mov dword [ebp - 0x1030], eax
mov eax, dword [0x10014d8]
mov dword [ebp - 0x102c], eax
xor eax, eax
mov dword [ebp - 0x1038], ebx
mov dword [ebp - 0x1034], ebx
push 0x7e
pop ecx
lea edi, [ebp - 0x1028]
rep stosd dword es:[edi], eax
mov dword [ebp - 0xe30], 0x20000
mov dword [ebp - 0xe2c], ebx
mov dword [ebp - 0xe28], ebx
mov dword [ebp - 0xe20], ebx
lea eax, [ebp - 0x20ac]
mov dword [ebp - 0xe24], eax
xor eax, eax
mov ecx, edx
lea edi, [ebp - 0xe1c]
rep stosd dword es:[edi], eax
mov dword [ebp - 0xc20], ebx
mov dword [ebp - 0xc1c], ebx
mov esi, 0x100156c
lea edi, [ebp - 0xc18]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x7e
pop ecx
lea edi, [ebp - 0xc12]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x20a0]
mov dword [ebp - 0xa0c], eax
xor eax, eax
mov ecx, edx
mov dword [ebp - 0xa18], 0x82002
mov dword [ebp - 0xa14], 1
mov dword [ebp - 0xa10], ebx
mov dword [ebp - 0xa08], ebx
lea edi, [ebp - 0xa04]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x204]
push eax
mov dword [ebp - 0x808], ebx
mov dword [ebp - 0x804], ebx
call fcn.0100269c
xor esi, esi
inc esi
cmp eax, esi
je 0x100a2a9
mov edi, dword [sym.imp.msvcrt.dll_malloc]
push 0x2710
call edi
cmp eax, ebx
pop ecx
mov dword [ebp - 0x2094], eax
je 0x100a27d
push 0x1fc
call edi
cmp eax, ebx
pop ecx
mov dword [ebp - 0x2098], eax
jne 0x100a2b0
push dword [ebp - 0x2094]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
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
mov eax, esi
jmp 0x100a780
mov esi, dword [sym.imp.msvcrt.dll_wcscpy]
mov edi, 0x1001568
lea eax, [ebp - 0x1238]
push edi
push eax
call esi
lea eax, [ebp - 0x404]
push edi
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x2090]
push eax
push 6
push dword [ebp - 0x20b0]
push dword [ebp + 8]
call fcn.0100e534
test eax, eax
jne 0x100a337
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
xor ebx, ebx
inc ebx
push dword [ebp - 0x2094]
mov edi, dword [sym.imp.msvcrt.dll_free]
call edi
push dword [ebp - 0x2098]
call edi
pop ecx
pop ecx
jmp 0x100a72c
cmp dword [ebp - 0x20ac], ebx
je 0x100a356
lea eax, [ebp - 0x204]
push eax
call fcn.0100269c
test eax, eax
jne 0x100a317
call fcn.01001e83
jmp 0x100a31a
cmp dword [ebp - 0x1a70], ebx
jne 0x100a380
cmp dword [ebp - 0x1658], ebx
je 0x100a388
push 0x30b
call fcn.0100d783
push eax
call fcn.0100c82e
call fcn.0100c80a
jmp 0x100a46b
cmp dword [ebp - 0x1658], ebx
jne 0x100a397
cmp dword [ebp - 0x1240], ebx
je 0x100a397
push 0x30c
jmp 0x100a36b
lea eax, [ebp - 0x404]
push edi
push eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
jne 0x100a3c5
lea eax, [ebp - 0x204]
push eax
call fcn.0100db50
test eax, eax
jne 0x100a3c5
mov dword [ebp - 0x20a4], 1
cmp dword [ebp - 0x1a70], ebx
je 0x100a448
cmp dword [ebp - 0x1240], ebx
jne 0x100a428
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x100a400
lea eax, [ebp - 0x204]
push eax
call fcn.0100db50
test eax, eax
mov dword [ebp - 0x20a4], 1
je 0x100a406
mov dword [ebp - 0x20a4], ebx
lea eax, [ebp - 0x404]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
test eax, eax
pop ecx
je 0x100a428
lea eax, [ebp - 0x404]
push 0x10011f8
push eax
call esi
pop ecx
pop ecx
cmp dword [ebp - 0x1a70], ebx
je 0x100a448
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x100a448
push 0x30e
jmp 0x100a466
cmp dword [ebp - 0x1658], ebx
je 0x100a497
lea eax, [ebp - 0x604]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x100a497
push 0x30f
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
push dword [ebp - 0x2094]
mov edi, dword [sym.imp.msvcrt.dll_free]
call edi
push dword [ebp - 0x2098]
call edi
pop ecx
pop ecx
jmp 0x100a77d
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x1001504
push dword [ebp - 0x2098]
call esi
push 2
mov edi, 0x10012c4
push edi
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCmpNW]
test eax, eax
jne 0x100a517
push 3
push 0x1001560
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCmpNW]
test eax, eax
je 0x100a517
lea eax, [ebp - 0x204]
push edi
push eax
call dword [sym.imp.msvcrt.dll_wcstok]
cmp eax, ebx
pop ecx
pop ecx
jne 0x100a50d
push 0x829
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
jmp 0x100a77d
push eax
lea eax, [ebp - 0x204]
push eax
call esi
lea eax, [ebp - 0x204]
push eax
call fcn.0100db50
xor edi, edi
inc edi
cmp eax, edi
jne 0x100a568
lea eax, [ebp - 0x604]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x100a568
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 - 0x204]
push 0x10012a0
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
mov esi, dword [ebp - 0x2098]
lea eax, [ebp - 0x20a8]
push eax
push ebx
push dword [ebp - 0x20a4]
lea eax, [ebp - 0x404]
push esi
push eax
lea eax, [ebp - 0x604]
push eax
lea eax, [ebp - 0x204]
push eax
call fcn.01002f60
cmp eax, edi
jne 0x100a5b6
push dword [ebp - 0x2094]
mov edi, dword [sym.imp.msvcrt.dll_free]
call edi
push esi
call edi
pop ecx
xor ebx, ebx
pop ecx
inc ebx
jmp 0x100a71a
push 0x100153c
push esi
call fcn.01001c2e
cmp eax, ebx
mov dword [ebp - 0x209c], eax
jne 0x100a5ff
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
push esi
call fcn.01001efb
jmp 0x100a59b
push eax
call fcn.0100bbcf
cmp dword [ebp - 0x20a0], ebx
jbe 0x100a730
cmp dword [ebp - 0x20a0], eax
ja 0x100a730
push dword [ebp - 0x209c]
call fcn.0100bbcf
cmp eax, edi
jne 0x100a64c
push 0x87
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
mov ebx, edi
jmp 0x100a6f5
mov eax, dword [ebp - 0x20a0]
dec eax
push eax
push dword [ebp - 0x209c]
call fcn.0100c208
push dword [ebp - 0x2094]
mov edi, dword [ebp - 0x2094]
xor eax, eax
mov ecx, 0x4e2
rep stosd dword es:[edi], eax
push dword [ebp - 0x209c]
call fcn.01001f40
xor ebx, ebx
inc ebx
cmp eax, ebx
je 0x100a6f5
push esi
push dword [ebp - 0x2094]
push 0x100153c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileSectionW]
test eax, eax
je 0x100a6dc
push dword [ebp - 0x20a0]
push 0xcf
call fcn.0100d783
push eax
lea eax, [ebp - 0x800]
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0xc
lea eax, [ebp - 0x800]
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
push eax
call fcn.0100d376
push esi
call fcn.01001efb
mov ebx, eax
jmp 0x100a6fb
push 0x88
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
push esi
call fcn.01001efb
push dword [ebp - 0x2094]
mov edi, dword [sym.imp.msvcrt.dll_free]
call edi
push esi
call edi
pop ecx
pop ecx
lea eax, [ebp - 0x209c]
push eax
call fcn.0100bb96
push dword [ebp - 0x20a8]
lea eax, [ebp - 0x204]
push eax
call fcn.010026f7
mov eax, ebx
jmp 0x100a780
push 0x7d
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
push esi
call fcn.01001efb
push dword [ebp - 0x2094]
mov edi, dword [sym.imp.msvcrt.dll_free]
call edi
push esi
call edi
pop ecx
pop ecx
lea eax, [ebp - 0x209c]
push eax
call fcn.0100bb96
push dword [ebp - 0x20a8]
lea eax, [ebp - 0x204]
push eax
call fcn.010026f7
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.0100b77c
leave
ret 8