Function at 0x10087eb
Capabilities:
Manipulate boot configuration

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x3394
call fcn.0100ba20
mov eax, dword [0x1011024]
push ebx
push esi
push edi
xor ebx, ebx
push 0x7e
pop edx
push 0x7f
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x3384], eax
xor eax, eax
mov ecx, edx
lea edi, [ebp - 0x2c4]
mov dword [ebp - 0x2c8], ebx
rep stosd dword es:[edi], eax
pop ecx
push 0x7f
lea edi, [ebp - 0x4c4]
mov dword [ebp - 0x4c8], ebx
rep stosd dword es:[edi], eax
pop ecx
push 0x7f
lea edi, [ebp - 0xeb8]
mov dword [ebp - 0xebc], ebx
rep stosd dword es:[edi], eax
pop ecx
push 0x31
lea edi, [ebp - 0x8c0]
mov dword [ebp - 0x8c4], ebx
rep stosd dword es:[edi], eax
pop ecx
lea edi, [ebp - 0xc8]
mov dword [ebp - 0xcc], ebx
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0xcb8]
mov dword [ebp - 0xcbc], ebx
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x6c0]
mov dword [ebp - 0x6c4], ebx
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0xabc]
mov dword [ebp - 0xac0], ebx
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x10b4]
mov dword [ebp - 0x10b8], ebx
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x12b0]
mov dword [ebp - 0x12b4], ebx
rep stosd dword es:[edi], eax
mov esi, 0x1001358
lea edi, [ebp - 0x3374]
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 - 0x3364]
rep stosd dword es:[edi], eax
xor edx, edx
inc edx
lea eax, [ebp - 0x3394]
mov dword [ebp - 0x3390], ebx
mov dword [ebp - 0x3388], ebx
mov dword [ebp - 0x3394], ebx
mov dword [ebp - 0x337c], ebx
mov dword [ebp - 0x3380], ebx
mov dword [ebp - 0x338c], ebx
mov dword [ebp - 0x3174], 0x10000
mov dword [ebp - 0x3170], edx
mov dword [ebp - 0x316c], ebx
mov dword [ebp - 0x3168], eax
mov dword [ebp - 0x3164], ebx
xor eax, eax
push 0x7f
pop esi
mov ecx, esi
lea edi, [ebp - 0x3160]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x2f64], ebx
mov dword [ebp - 0x2f60], ebx
mov dword [ebp - 0x2f5c], 0x73
mov ecx, esi
lea edi, [ebp - 0x2f58]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x2d5c], 0x2001
mov dword [ebp - 0x2d58], edx
mov dword [ebp - 0x2d54], ebx
mov dword [ebp - 0x2d4c], ebx
lea eax, [ebp - 0x4c8]
mov dword [ebp - 0x2d50], eax
xor eax, eax
mov ecx, esi
lea edi, [ebp - 0x2d48]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x2b4c], ebx
mov dword [ebp - 0x2b48], ebx
mov dword [ebp - 0x2b44], 0x75
mov ecx, esi
lea edi, [ebp - 0x2b40]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x2944], 0x2001
mov dword [ebp - 0x2940], edx
mov dword [ebp - 0x293c], ebx
mov dword [ebp - 0x2934], ebx
lea eax, [ebp - 0xebc]
mov dword [ebp - 0x2938], eax
xor eax, eax
mov ecx, esi
lea edi, [ebp - 0x2930]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x2734], ebx
mov dword [ebp - 0x2730], ebx
mov dword [ebp - 0x272c], 0x70
mov ecx, esi
lea edi, [ebp - 0x2728]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x8c4]
mov dword [ebp - 0x2520], eax
xor eax, eax
mov dword [ebp - 0x252c], 0x1001
mov dword [ebp - 0x2528], edx
mov dword [ebp - 0x2524], ebx
mov dword [ebp - 0x251c], ebx
mov ecx, esi
lea edi, [ebp - 0x2518]
rep stosd dword es:[edi], eax
mov eax, dword [0x10014d4]
mov dword [ebp - 0x2314], eax
mov eax, dword [0x10014d8]
mov dword [ebp - 0x2310], eax
mov dword [ebp - 0x231c], ebx
mov dword [ebp - 0x2318], ebx
push 0x7e
xor eax, eax
pop ecx
lea edi, [ebp - 0x230c]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x3390]
mov dword [ebp - 0x2108], eax
mov ecx, esi
mov dword [ebp - 0x2114], 0x20000
mov dword [ebp - 0x2110], edx
mov dword [ebp - 0x210c], ebx
mov dword [ebp - 0x2104], ebx
xor eax, eax
lea edi, [ebp - 0x2100]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x1f04], ebx
mov dword [ebp - 0x1f00], ebx
mov esi, 0x100156c
lea edi, [ebp - 0x1efc]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x7e
pop ecx
lea edi, [ebp - 0x1ef6]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x7f
pop ecx
mov dword [ebp - 0x1cfc], 0x82002
mov dword [ebp - 0x1cf8], edx
mov dword [ebp - 0x1cf4], ebx
mov dword [ebp - 0x1cec], ebx
lea eax, [ebp - 0x337c]
mov dword [ebp - 0x1cf0], eax
xor eax, eax
lea edi, [ebp - 0x1ce8]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x1aec], ebx
mov dword [ebp - 0x1ae8], ebx
push 0x7e
mov esi, 0x100181c
lea edi, [ebp - 0x1ae4]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop ecx
lea edi, [ebp - 0x1ade]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x7f
pop ecx
lea eax, [ebp - 0x3380]
mov dword [ebp - 0x18d8], eax
xor eax, eax
mov dword [ebp - 0x18e4], 0x2002
mov dword [ebp - 0x18e0], edx
mov dword [ebp - 0x18dc], ebx
mov dword [ebp - 0x18d4], ebx
push 0x7f
lea edi, [ebp - 0x18d0]
rep stosd dword es:[edi], eax
pop ecx
mov dword [ebp - 0x16d4], ebx
mov dword [ebp - 0x16d0], ebx
mov word [ebp - 0x16cc], bx
lea edi, [ebp - 0x16ca]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x6c4]
mov dword [ebp - 0x14c0], eax
push 0x7f
pop ecx
xor eax, eax
mov dword [ebp - 0x14cc], 0xc0001
mov dword [ebp - 0x14c8], edx
mov dword [ebp - 0x14c4], ebx
mov dword [ebp - 0x14bc], ebx
lea edi, [ebp - 0x14b8]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x4c8]
push eax
mov dword [ebp - 0x12bc], ebx
mov dword [ebp - 0x12b8], ebx
call fcn.0100269c
cmp eax, 1
je 0x1008ede
mov esi, dword [sym.imp.msvcrt.dll_wcscpy]
mov edi, 0x1001568
lea eax, [ebp - 0x251c]
push edi
push eax
call esi
lea eax, [ebp - 0x8c4]
push edi
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x3374]
push eax
push 8
push dword [ebp - 0x3384]
push dword [ebp + 8]
call fcn.0100e534
test eax, eax
jne 0x1008c2a
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 0x1008ede
cmp dword [ebp - 0x3390], ebx
je 0x1008c52
lea eax, [ebp - 0x4c8]
push eax
call fcn.0100269c
test eax, eax
jne 0x1008ede
call fcn.0100242a
xor eax, eax
jmp 0x10093f9
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push 0x1001724
lea eax, [ebp - 0x6c4]
push eax
call esi
test eax, eax
je 0x1008c9f
push 0x100172c
lea eax, [ebp - 0x6c4]
push eax
call esi
test eax, eax
je 0x1008c9f
push 0x811
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
push 0x80f
jmp 0x1008e84
cmp dword [ebp - 0x1cf4], ebx
jne 0x1008cb6
cmp dword [ebp - 0x337c], ebx
jne 0x1008cb6
push 0x80c
jmp 0x1008c81
push 0x1001724
lea eax, [ebp - 0x6c4]
push eax
call esi
test eax, eax
jne 0x1008cda
cmp dword [ebp - 0x3380], ebx
je 0x1008cda
push 0x43b
jmp 0x1008e84
push 0x100172c
lea eax, [ebp - 0x6c4]
push eax
call esi
test eax, eax
jne 0x1008d12
cmp dword [ebp - 0x18dc], ebx
je 0x1008d12
xor esi, esi
inc esi
cmp dword [ebp - 0x3380], esi
jb 0x1008d08
cmp dword [ebp - 0x3380], 0x40
jbe 0x1008d15
push 0x43c
jmp 0x1008e21
xor esi, esi
inc esi
cmp dword [ebp - 0x2d54], ebx
jne 0x1008d3f
cmp dword [ebp - 0x293c], ebx
je 0x1008d47
push 0x30b
call fcn.0100d783
push eax
call fcn.0100c82e
call fcn.0100c80a
jmp 0x1008e26
cmp dword [ebp - 0x293c], ebx
jne 0x1008d56
cmp dword [ebp - 0x2524], ebx
je 0x1008d56
push 0x30c
jmp 0x1008d2a
lea eax, [ebp - 0x8c4]
push edi
push eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
jne 0x1008d80
lea eax, [ebp - 0x4c8]
push eax
call fcn.0100db50
test eax, eax
jne 0x1008d80
mov dword [ebp - 0x3388], esi
cmp dword [ebp - 0x2d54], ebx
je 0x1008e03
cmp dword [ebp - 0x2524], ebx
jne 0x1008de3
lea eax, [ebp - 0x4c8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x1008db7
lea eax, [ebp - 0x4c8]
push eax
call fcn.0100db50
test eax, eax
mov dword [ebp - 0x3388], esi
je 0x1008dbd
mov dword [ebp - 0x3388], ebx
lea eax, [ebp - 0x8c4]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
test eax, eax
pop ecx
je 0x1008de3
lea eax, [ebp - 0x8c4]
push 0x10011f8
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
cmp dword [ebp - 0x2d54], ebx
je 0x1008e03
lea eax, [ebp - 0x4c8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x1008e03
push 0x30e
jmp 0x1008e21
cmp dword [ebp - 0x293c], ebx
je 0x1008e3c
lea eax, [ebp - 0xebc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x1008e3c
push 0x30f
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
mov eax, esi
jmp 0x10093f9
mov esi, dword [sym.imp.SHLWAPI.dll_StrCmpNW]
push 2
mov edi, 0x10012c4
push edi
lea eax, [ebp - 0x4c8]
push eax
call esi
test eax, eax
jne 0x1008e9c
push 3
push 0x1001560
lea eax, [ebp - 0x4c8]
push eax
call esi
test eax, eax
je 0x1008e9c
lea eax, [ebp - 0x4c8]
push edi
push eax
call dword [sym.imp.msvcrt.dll_wcstok]
cmp eax, ebx
pop ecx
pop ecx
jne 0x1008e8e
push 0x829
call fcn.0100d783
jmp 0x1008c16
push eax
lea eax, [ebp - 0x4c8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x2710
call dword [sym.imp.msvcrt.dll_malloc]
cmp eax, ebx
pop ecx
mov dword [ebp - 0x3384], eax
jne 0x1008ee6
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
xor eax, eax
inc eax
jmp 0x10093f9
push 0x1001504
lea eax, [ebp - 0xcc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x4c8]
push eax
call fcn.0100db50
xor esi, esi
inc esi
cmp eax, esi
jne 0x1008f49
lea eax, [ebp - 0xebc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x1008f49
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 - 0x4c8]
push 0x10012a0
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
lea eax, [ebp - 0x338c]
push eax
push ebx
push dword [ebp - 0x3388]
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x8c4]
push eax
lea eax, [ebp - 0xebc]
push eax
lea eax, [ebp - 0x4c8]
push eax
call fcn.01002f60
cmp eax, esi
jne 0x1008f83
mov edi, esi
jmp 0x10093d8
push 0x100153c
lea eax, [ebp - 0xcc]
push eax
call fcn.01001c2e
cmp eax, ebx
mov dword [ebp - 0x3378], eax
jne 0x1008fcf
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 0x1009369
push eax
call fcn.0100bbcf
cmp eax, 0x14
mov ecx, dword [ebp - 0x337c]
jb 0x100902a
cmp ecx, 0x14
jb 0x100902a
push 0x314
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
push dword [ebp - 0x3384]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
lea eax, [ebp - 0x3378]
push eax
call fcn.0100bb96
mov edi, esi
jmp 0x10093e5
cmp ecx, ebx
jbe 0x10093a8
cmp ecx, eax
ja 0x10093a8
cmp dword [ebp - 0x3378], ebx
je 0x100937a
dec ecx
push ecx
push dword [ebp - 0x3378]
call fcn.0100c29c
cmp eax, ebx
je 0x100937a
push eax
lea eax, [ebp - 0x2c8]
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
push 0x100172c
lea eax, [ebp - 0x6c4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x1009151
mov edi, dword [sym.imp.msvcrt.dll_wcsstr]
lea eax, [ebp - 0x2c8]
push 0x10016a4
push eax
call edi
test eax, eax
pop ecx
pop ecx
je 0x10090a9
push 0x310
jmp 0x10093aa
lea eax, [ebp - 0x2c8]
push 0x10015fc
push eax
call edi
test eax, eax
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatW]
pop ecx
pop ecx
mov esi, 0x10011f4
jne 0x10090e0
push esi
lea eax, [ebp - 0x2c8]
push eax
call edi
push 0x10015fc
lea eax, [ebp - 0x2c8]
push eax
call edi
push esi
lea eax, [ebp - 0x2c8]
push eax
call edi
push 0x10015b0
lea eax, [ebp - 0x2c8]
push eax
call edi
cmp dword [ebp - 0x3380], ebx
je 0x100914e
push esi
lea eax, [ebp - 0x2c8]
push eax
call edi
push 0x1001808
lea eax, [ebp - 0x2c8]
push eax
call edi
push 0x100158c
lea eax, [ebp - 0x2c8]
push eax
call edi
push 0xa
lea eax, [ebp - 0x12b4]
push eax
push dword [ebp - 0x3380]
call dword [sym.imp.msvcrt.dll__ltow]
add esp, 0xc
lea eax, [ebp - 0x12b4]
push eax
lea eax, [ebp - 0x2c8]
push eax
call edi
xor esi, esi
inc esi
push 0x1001724
lea eax, [ebp - 0x6c4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x100921b
mov edi, dword [sym.imp.msvcrt.dll_wcsstr]
mov ebx, 0x10015b0
lea eax, [ebp - 0x2c8]
push ebx
push eax
call edi
test eax, eax
pop ecx
pop ecx
jne 0x1009190
push 0x438
jmp 0x10093aa
push ebx
lea eax, [ebp - 0x2c8]
push eax
call fcn.01001d91
push 0x10015fc
lea eax, [ebp - 0x2c8]
push eax
call fcn.01001d91
mov ebx, 0x1001808
lea eax, [ebp - 0x2c8]
push ebx
push eax
call edi
test eax, eax
pop ecx
pop ecx
je 0x100921b
push 0x10011f8
lea eax, [ebp - 0xac0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0xac0]
push eax
push ebx
lea eax, [ebp - 0x2c8]
push eax
call fcn.0100238e
cmp eax, esi
jne 0x10091f7
push 0x829
jmp 0x10093aa
lea eax, [ebp - 0xac0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x100921b
lea eax, [ebp - 0xac0]
push eax
lea eax, [ebp - 0x2c8]
push eax
call fcn.01001d91
lea eax, [ebp - 0x2c8]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
mov edi, 0xfe
cmp eax, edi
pop ecx
jb 0x1009259
push edi
push 0xc12
call fcn.0100d783
push eax
lea eax, [ebp - 0x10b8]
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0xc
lea eax, [ebp - 0x10b8]
jmp 0x10093af
mov eax, dword [ebp - 0x337c]
dec eax
push eax
push dword [ebp - 0x3378]
call fcn.0100c208
push edi
lea eax, [ebp - 0x2c8]
push eax
mov eax, dword [ebp - 0x337c]
dec eax
push eax
push dword [ebp - 0x3378]
call fcn.0100c191
mov ebx, dword [ebp - 0x3384]
xor eax, eax
mov ecx, 0x4e2
mov edi, ebx
push ebx
rep stosd dword es:[edi], eax
push dword [ebp - 0x3378]
call fcn.01001f40
cmp eax, esi
jne 0x10092cd
lea eax, [ebp - 0x3378]
push eax
call fcn.0100bb96
push ebx
call dword [sym.imp.msvcrt.dll_free]
pop ecx
lea eax, [ebp - 0xcc]
push eax
call fcn.01001efb
jmp 0x1009023
lea eax, [ebp - 0xcc]
push eax
push ebx
push 0x100153c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileSectionW]
test eax, eax
push dword [ebp - 0x337c]
je 0x100932d
push 0x305
call fcn.0100d783
push eax
lea eax, [ebp - 0xcbc]
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0xc
lea eax, [ebp - 0xcbc]
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 edi, eax
jmp 0x10093cc
push 0x43a
call fcn.0100d783
push eax
lea eax, [ebp - 0xcbc]
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0xc
lea eax, [ebp - 0xcbc]
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
lea eax, [ebp - 0x3378]
push eax
call fcn.0100bb96
lea eax, [ebp - 0xcc]
push eax
call fcn.01001efb
jmp 0x1008f7c
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 0x10093be
push 0x7d
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
mov edi, esi
call fcn.01001efb
lea eax, [ebp - 0x3378]
push eax
call fcn.0100bb96
push dword [ebp - 0x3384]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
push dword [ebp - 0x338c]
lea eax, [ebp - 0x4c8]
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