Function at 0x1007c33
Capabilities:
Manipulate boot configuration

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x5af0
call fcn.0100ba20
mov eax, dword [0x1011024]
push ebx
push esi
push edi
xor ebx, ebx
push 0x7f
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x5ad4], eax
xor eax, eax
mov ecx, 0x9c3
lea edi, [ebp - 0x31d0]
mov dword [ebp - 0x31d4], ebx
rep stosd dword es:[edi], eax
pop ecx
push 0x7f
lea edi, [ebp - 0x2c8]
mov dword [ebp - 0x2cc], ebx
rep stosd dword es:[edi], eax
pop ecx
push 0x7f
lea edi, [ebp - 0x8c4]
mov dword [ebp - 0x8c8], ebx
rep stosd dword es:[edi], eax
pop ecx
push 0x31
lea edi, [ebp - 0x4c8]
mov dword [ebp - 0x4cc], ebx
rep stosd dword es:[edi], eax
pop ecx
push 0x7e
lea edi, [ebp - 0xc8]
mov dword [ebp - 0xcc], ebx
rep stosd dword es:[edi], eax
pop ecx
push 0x7e
lea edi, [ebp - 0x6c4]
mov dword [ebp - 0x6c8], 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, 0x1001368
lea edi, [ebp - 0x5ac4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x7d
pop ecx
lea edi, [ebp - 0x5aba]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor edx, edx
lea eax, [ebp - 0x5af0]
push 0x7f
inc edx
mov dword [ebp - 0x58b8], eax
pop esi
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0x58b0]
mov dword [ebp - 0x58c4], 0x10000
mov dword [ebp - 0x58c0], edx
mov dword [ebp - 0x58bc], ebx
mov dword [ebp - 0x58b4], ebx
rep stosd dword es:[edi], eax
mov dword [ebp - 0x5aec], ebx
mov dword [ebp - 0x5acc], ebx
mov dword [ebp - 0x5af0], ebx
mov dword [ebp - 0x5ad0], ebx
mov dword [ebp - 0x5ac8], ebx
mov dword [ebp - 0x5adc], ebx
mov dword [ebp - 0x5ae4], ebx
mov dword [ebp - 0x5ad8], ebx
mov dword [ebp - 0x5ae0], ebx
mov dword [ebp - 0x5ae8], ebx
mov dword [ebp - 0x56b4], ebx
mov dword [ebp - 0x56b0], ebx
mov dword [ebp - 0x56ac], 0x73
mov ecx, esi
lea edi, [ebp - 0x56a8]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x54ac], 0x2001
mov dword [ebp - 0x54a8], edx
mov dword [ebp - 0x54a4], ebx
mov dword [ebp - 0x549c], ebx
lea eax, [ebp - 0x2cc]
mov dword [ebp - 0x54a0], eax
xor eax, eax
mov ecx, esi
lea edi, [ebp - 0x5498]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x529c], ebx
mov dword [ebp - 0x5298], ebx
mov dword [ebp - 0x5294], 0x75
mov ecx, esi
lea edi, [ebp - 0x5290]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x5094], 0x2001
mov dword [ebp - 0x5090], edx
mov dword [ebp - 0x508c], ebx
mov dword [ebp - 0x5084], ebx
lea eax, [ebp - 0x8c8]
mov dword [ebp - 0x5088], eax
xor eax, eax
mov ecx, esi
lea edi, [ebp - 0x5080]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x4e84], ebx
mov dword [ebp - 0x4e80], ebx
mov dword [ebp - 0x4e7c], 0x70
mov ecx, esi
lea edi, [ebp - 0x4e78]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x4c7c], 0x1001
mov dword [ebp - 0x4c78], edx
mov dword [ebp - 0x4c74], ebx
mov dword [ebp - 0x4c6c], ebx
lea eax, [ebp - 0x4cc]
mov dword [ebp - 0x4c70], eax
xor eax, eax
mov ecx, esi
lea edi, [ebp - 0x4c68]
rep stosd dword es:[edi], eax
mov eax, dword [0x10014d4]
mov dword [ebp - 0x4a64], eax
mov eax, dword [0x10014d8]
mov dword [ebp - 0x4a60], eax
mov dword [ebp - 0x4a6c], ebx
mov dword [ebp - 0x4a68], ebx
push 0x7e
xor eax, eax
pop ecx
lea edi, [ebp - 0x4a5c]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x5aec]
mov dword [ebp - 0x4858], eax
mov dword [ebp - 0x4864], 0x20000
mov dword [ebp - 0x4860], edx
mov dword [ebp - 0x485c], ebx
mov dword [ebp - 0x4854], ebx
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0x4850]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x4654], ebx
mov dword [ebp - 0x4650], ebx
mov esi, 0x100156c
lea edi, [ebp - 0x464c]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x7e
pop ecx
lea edi, [ebp - 0x4646]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x444c], 0x82002
mov dword [ebp - 0x4448], edx
mov dword [ebp - 0x4444], ebx
mov dword [ebp - 0x443c], ebx
push 0x7f
pop ecx
lea eax, [ebp - 0x5ad0]
mov dword [ebp - 0x4440], eax
xor eax, eax
push 0x7e
lea edi, [ebp - 0x4438]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x423c], ebx
mov dword [ebp - 0x4238], ebx
pop ecx
mov esi, 0x1001800
lea edi, [ebp - 0x4234]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edi, [ebp - 0x422e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x4034], ebx
mov dword [ebp - 0x4030], edx
mov dword [ebp - 0x402c], ebx
mov dword [ebp - 0x4024], ebx
push 0x7f
pop ecx
lea eax, [ebp - 0x5ae0]
mov dword [ebp - 0x4028], eax
xor eax, eax
lea edi, [ebp - 0x4020]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x3e24], ebx
mov dword [ebp - 0x3e20], ebx
push 0x7e
mov esi, 0x10017f8
lea edi, [ebp - 0x3e1c]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop ecx
lea edi, [ebp - 0x3e16]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x7f
mov dword [ebp - 0x3c1c], ebx
mov dword [ebp - 0x3c18], edx
mov dword [ebp - 0x3c14], ebx
mov dword [ebp - 0x3c0c], ebx
pop ecx
lea eax, [ebp - 0x5adc]
mov dword [ebp - 0x3c10], eax
xor eax, eax
lea edi, [ebp - 0x3c08]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x3a0c], ebx
mov dword [ebp - 0x3a08], ebx
mov esi, 0x10017f0
lea edi, [ebp - 0x3a04]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x7e
pop ecx
lea edi, [ebp - 0x39fe]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x5ad8]
mov dword [ebp - 0x37f8], eax
push 0x7f
mov dword [ebp - 0x3804], ebx
mov dword [ebp - 0x3800], edx
mov dword [ebp - 0x37fc], ebx
mov dword [ebp - 0x37f4], ebx
pop ecx
xor eax, eax
lea edi, [ebp - 0x37f0]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x35f4], ebx
mov dword [ebp - 0x35f0], ebx
mov esi, 0x10017e8
lea edi, [ebp - 0x35ec]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x7e
pop ecx
lea edi, [ebp - 0x35e6]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x5ae4]
mov dword [ebp - 0x33e0], eax
push 0x7f
pop ecx
xor eax, eax
mov dword [ebp - 0x33ec], ebx
mov dword [ebp - 0x33e8], edx
mov dword [ebp - 0x33e4], ebx
mov dword [ebp - 0x33dc], ebx
lea edi, [ebp - 0x33d8]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2cc]
push eax
mov dword [ebp - 0x31dc], ebx
mov dword [ebp - 0x31d8], ebx
call fcn.0100269c
cmp eax, 1
je 0x1008349
mov esi, dword [sym.imp.msvcrt.dll_wcscpy]
mov edi, 0x1001568
lea eax, [ebp - 0x4c6c]
push edi
push eax
call esi
lea eax, [ebp - 0x4cc]
push edi
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x5ac4]
push eax
push 0xa
push dword [ebp - 0x5ad4]
push dword [ebp + 8]
call fcn.0100e534
test eax, eax
jne 0x100810d
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 0x1008349
cmp dword [ebp - 0x5aec], ebx
je 0x1008135
lea eax, [ebp - 0x2cc]
push eax
call fcn.0100269c
test eax, eax
jne 0x1008349
call fcn.01002361
xor eax, eax
jmp 0x10087d7
cmp dword [ebp - 0x54a4], ebx
jne 0x100814c
cmp dword [ebp - 0x508c], ebx
je 0x1008154
push 0x30b
jmp 0x1008161
cmp dword [ebp - 0x508c], ebx
jne 0x100816e
cmp dword [ebp - 0x4c74], ebx
je 0x100816e
push 0x30c
call fcn.0100d783
push eax
call fcn.0100c82e
jmp 0x10080f4
lea eax, [ebp - 0x4cc]
push edi
push eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
jne 0x100819d
lea eax, [ebp - 0x2cc]
push eax
call fcn.0100db50
test eax, eax
jne 0x100819d
xor edi, edi
inc edi
mov dword [ebp - 0x5acc], edi
jmp 0x10081a0
xor edi, edi
inc edi
cmp dword [ebp - 0x54a4], ebx
je 0x100823a
cmp dword [ebp - 0x4c74], ebx
jne 0x1008203
lea eax, [ebp - 0x2cc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x10081db
lea eax, [ebp - 0x2cc]
push eax
call fcn.0100db50
test eax, eax
mov dword [ebp - 0x5acc], edi
je 0x10081e1
mov dword [ebp - 0x5acc], ebx
lea eax, [ebp - 0x4cc]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
test eax, eax
pop ecx
je 0x1008203
lea eax, [ebp - 0x4cc]
push 0x10011f8
push eax
call esi
pop ecx
pop ecx
cmp dword [ebp - 0x54a4], ebx
je 0x100823a
lea eax, [ebp - 0x2cc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x100823a
push 0x30e
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
jmp 0x10082c3
cmp dword [ebp - 0x508c], ebx
je 0x100825a
lea eax, [ebp - 0x8c8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x100825a
push 0x30f
jmp 0x1008221
cmp dword [ebp - 0x5ae4], ebx
jne 0x1008281
cmp dword [ebp - 0x5adc], ebx
jne 0x1008281
cmp dword [ebp - 0x5ad8], ebx
jne 0x1008281
cmp dword [ebp - 0x5ae0], ebx
jne 0x1008281
push 0x42f
jmp 0x1008221
push 0x2710
call dword [sym.imp.msvcrt.dll_malloc]
cmp eax, ebx
pop ecx
mov dword [ebp - 0x5ad4], eax
jne 0x10082ca
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, edi
jmp 0x10087d7
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 0x100835b
push 3
push 0x1001560
lea eax, [ebp - 0x2cc]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCmpNW]
test eax, eax
je 0x100835b
lea eax, [ebp - 0x2cc]
push edi
push eax
call dword [sym.imp.msvcrt.dll_wcstok]
cmp eax, ebx
pop ecx
pop ecx
jne 0x1008351
push 0x829
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
push dword [ebp - 0x5ad4]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
xor eax, eax
inc eax
jmp 0x10087d7
push eax
lea eax, [ebp - 0x2cc]
push eax
call esi
lea eax, [ebp - 0x2cc]
push eax
call fcn.0100db50
xor esi, esi
inc esi
cmp eax, esi
jne 0x10083ac
lea eax, [ebp - 0x8c8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x10083ac
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 - 0x5ae8]
push eax
push ebx
push dword [ebp - 0x5acc]
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x4cc]
push eax
lea eax, [ebp - 0x8c8]
push eax
lea eax, [ebp - 0x2cc]
push eax
call fcn.01002f60
cmp eax, esi
jne 0x10083e6
mov ebx, esi
jmp 0x10087b6
push 0x100153c
lea eax, [ebp - 0xcc]
push eax
call fcn.01001c2e
cmp eax, ebx
mov dword [ebp - 0x5ac8], eax
jne 0x100843b
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
jmp 0x10083df
push eax
call fcn.0100bbcf
cmp eax, 0x14
mov ecx, dword [ebp - 0x5ad0]
jb 0x1008496
cmp ecx, 0x14
jb 0x1008496
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 - 0x5ad4]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
lea eax, [ebp - 0x5ac8]
push eax
call fcn.0100bb96
mov ebx, esi
jmp 0x10087c3
cmp ecx, ebx
jbe 0x1008786
cmp ecx, eax
ja 0x1008786
cmp dword [ebp - 0x5ac8], ebx
je 0x1008758
dec ecx
push ecx
push dword [ebp - 0x5ac8]
call fcn.0100c29c
cmp eax, ebx
je 0x1008758
push eax
lea eax, [ebp - 0x31d4]
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
cmp dword [ebp - 0x5ae0], esi
mov esi, dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
jne 0x100859e
mov edi, 0x10017d8
lea eax, [ebp - 0x31d4]
push edi
push eax
call esi
test eax, eax
pop ecx
pop ecx
jne 0x100851f
push 0x31b
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
xor ebx, ebx
inc ebx
jmp 0x100879e
push 0x1fc
call dword [sym.imp.msvcrt.dll_malloc]
cmp eax, ebx
pop ecx
mov dword [ebp - 0x5acc], eax
jne 0x1008563
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 0x1008517
push 0x10011f8
lea eax, [ebp - 0xac4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push dword [ebp - 0x5acc]
lea eax, [ebp - 0x31d4]
push edi
push eax
call fcn.0100238e
test eax, eax
jne 0x100859e
push dword [ebp - 0x5acc]
lea eax, [ebp - 0x31d4]
push eax
call fcn.01001d91
cmp dword [ebp - 0x5adc], 1
jne 0x10085d3
mov edi, 0x10017c0
lea eax, [ebp - 0x31d4]
push edi
push eax
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10085c6
push 0x31d
jmp 0x1008503
push edi
lea eax, [ebp - 0x31d4]
push eax
call fcn.01001d91
cmp dword [ebp - 0x5ae4], 1
jne 0x1008608
mov edi, 0x10017b4
lea eax, [ebp - 0x31d4]
push edi
push eax
call esi
test eax, eax
pop ecx
pop ecx
jne 0x10085fb
push 0x31c
jmp 0x1008503
push edi
lea eax, [ebp - 0x31d4]
push eax
call fcn.01001d91
cmp dword [ebp - 0x5ad8], 1
jne 0x100863d
mov edi, 0x100179c
lea eax, [ebp - 0x31d4]
push edi
push eax
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1008630
push 0x31e
jmp 0x1008503
push edi
lea eax, [ebp - 0x31d4]
push eax
call fcn.01001d91
mov eax, dword [ebp - 0x5ad0]
dec eax
push eax
push dword [ebp - 0x5ac8]
call fcn.0100c208
push 0x1388
lea eax, [ebp - 0x31d4]
push eax
mov eax, dword [ebp - 0x5ad0]
dec eax
push eax
push dword [ebp - 0x5ac8]
call fcn.0100c191
mov esi, dword [ebp - 0x5ad4]
xor eax, eax
mov ecx, 0x4e2
mov edi, esi
push esi
rep stosd dword es:[edi], eax
push dword [ebp - 0x5ac8]
call fcn.01001f40
cmp eax, 1
jne 0x10086b9
lea eax, [ebp - 0x5ac8]
push eax
call fcn.0100bb96
push esi
call dword [sym.imp.msvcrt.dll_free]
pop ecx
lea eax, [ebp - 0xcc]
push eax
call fcn.01001efb
xor ebx, ebx
inc ebx
jmp 0x10087c3
lea eax, [ebp - 0xcc]
push eax
push esi
push 0x100153c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileSectionW]
test eax, eax
push dword [ebp - 0x5ad0]
je 0x100870b
push 0x31f
call fcn.0100d783
push eax
lea eax, [ebp - 0x6c8]
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0xc
lea eax, [ebp - 0x6c8]
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
push eax
call fcn.0100d376
jmp 0x100879e
push 0x320
call fcn.0100d783
push eax
lea eax, [ebp - 0x6c8]
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0xc
lea eax, [ebp - 0x6c8]
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
lea eax, [ebp - 0x5ac8]
push eax
call fcn.0100bb96
lea eax, [ebp - 0xcc]
push eax
call fcn.01001efb
xor ebx, ebx
inc ebx
jmp 0x10087b6
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 0x100879c
push 0x7d
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
mov ebx, esi
lea eax, [ebp - 0xcc]
push eax
call fcn.01001efb
lea eax, [ebp - 0x5ac8]
push eax
call fcn.0100bb96
push dword [ebp - 0x5ad4]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
push dword [ebp - 0x5ae8]
lea eax, [ebp - 0x2cc]
push eax
call fcn.010026f7
mov eax, ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.0100b77c
leave
ret 8