Function at 0x10032d1
Capabilities:
Manipulate boot configuration

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x2fa8
call fcn.0100ba20
mov eax, dword [0x1011024]
push ebx
xor ebx, ebx
push esi
push edi
push 0x7f
pop esi
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2fa4], eax
xor eax, eax
mov ecx, esi
lea edi, [ebp - 0x4c8]
mov dword [ebp - 0x4cc], ebx
rep stosd dword es:[edi], eax
mov ecx, esi
lea edi, [ebp - 0x2c8]
mov dword [ebp - 0x2cc], ebx
rep stosd dword es:[edi], eax
push 0x31
mov ecx, esi
lea edi, [ebp - 0xac8]
mov dword [ebp - 0xacc], ebx
rep stosd dword es:[edi], eax
mov ecx, esi
lea edi, [ebp - 0x6c8]
mov dword [ebp - 0x6cc], ebx
rep stosd dword es:[edi], eax
pop ecx
lea edi, [ebp - 0xc8]
push 0x7e
mov dword [ebp - 0xcc], ebx
rep stosd dword es:[edi], eax
mov ecx, esi
lea edi, [ebp - 0x8c8]
mov dword [ebp - 0x8cc], ebx
rep stosd dword es:[edi], eax
pop ecx
push 0x7e
lea edi, [ebp - 0xcc4]
mov dword [ebp - 0xcc8], ebx
rep stosd dword es:[edi], eax
pop ecx
lea edi, [ebp - 0xec0]
mov dword [ebp - 0xec4], ebx
rep stosd dword es:[edi], eax
mov eax, dword [0x10013b4]
mov dword [ebp - 0x2f84], eax
mov eax, dword [0x10013b8]
mov dword [ebp - 0x2f80], eax
push 0x7e
xor eax, eax
pop ecx
lea edi, [ebp - 0x2f7c]
rep stosd dword es:[edi], eax
xor edx, edx
lea eax, [ebp - 0x2fa8]
mov dword [ebp - 0x2d78], eax
inc edx
xor eax, eax
mov dword [ebp - 0x2d84], 0x10000
mov dword [ebp - 0x2d80], edx
mov dword [ebp - 0x2d7c], ebx
mov dword [ebp - 0x2d74], ebx
mov ecx, esi
lea edi, [ebp - 0x2d70]
rep stosd dword es:[edi], eax
mov ecx, esi
lea edi, [ebp - 0x2b68]
mov dword [ebp - 0x2b74], ebx
mov dword [ebp - 0x2b70], ebx
mov dword [ebp - 0x2b6c], 0x73
mov dword [ebp - 0x2f9c], ebx
mov dword [ebp - 0x2f94], ebx
mov dword [ebp - 0x2fa8], ebx
mov dword [ebp - 0x2f90], ebx
mov dword [ebp - 0x2f98], ebx
mov dword [ebp - 0x2fa0], ebx
rep stosd dword es:[edi], eax
mov dword [ebp - 0x296c], 0x2001
mov dword [ebp - 0x2968], edx
mov dword [ebp - 0x2964], ebx
mov dword [ebp - 0x295c], ebx
lea eax, [ebp - 0x2cc]
mov dword [ebp - 0x2960], eax
xor eax, eax
mov ecx, esi
lea edi, [ebp - 0x2958]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x275c], ebx
mov dword [ebp - 0x2758], ebx
mov dword [ebp - 0x2754], 0x75
mov ecx, esi
lea edi, [ebp - 0x2750]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x2554], 0x2001
mov dword [ebp - 0x2550], edx
mov dword [ebp - 0x254c], ebx
mov dword [ebp - 0x2544], ebx
lea eax, [ebp - 0xacc]
mov dword [ebp - 0x2548], eax
xor eax, eax
mov ecx, esi
lea edi, [ebp - 0x2540]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x2344], ebx
mov dword [ebp - 0x2340], ebx
mov dword [ebp - 0x233c], 0x70
mov ecx, esi
lea edi, [ebp - 0x2338]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x213c], 0x1001
mov dword [ebp - 0x2138], edx
mov dword [ebp - 0x2134], ebx
mov dword [ebp - 0x212c], ebx
lea eax, [ebp - 0x6cc]
mov dword [ebp - 0x2130], eax
xor eax, eax
mov ecx, esi
lea edi, [ebp - 0x2128]
rep stosd dword es:[edi], eax
mov eax, dword [0x10014d4]
mov dword [ebp - 0x1f24], eax
mov eax, dword [0x10014d8]
mov dword [ebp - 0x1f20], eax
push 0x7e
mov dword [ebp - 0x1f2c], ebx
mov dword [ebp - 0x1f28], ebx
xor eax, eax
pop ecx
lea edi, [ebp - 0x1f1c]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2f9c]
mov dword [ebp - 0x1d18], eax
mov dword [ebp - 0x1d24], 0x20000
mov dword [ebp - 0x1d20], edx
mov dword [ebp - 0x1d1c], ebx
mov dword [ebp - 0x1d14], ebx
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0x1d10]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x1b14], ebx
mov dword [ebp - 0x1b10], ebx
mov esi, 0x100156c
lea edi, [ebp - 0x1b0c]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x7e
pop ecx
lea edi, [ebp - 0x1b06]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x2f90]
mov dword [ebp - 0x190c], 0x82002
mov dword [ebp - 0x1908], edx
mov dword [ebp - 0x1904], ebx
mov dword [ebp - 0x1900], eax
mov dword [ebp - 0x18fc], ebx
push 0x7f
pop esi
xor eax, eax
mov ecx, esi
lea edi, [ebp - 0x18f8]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x16fc], ebx
mov dword [ebp - 0x16f8], ebx
mov word [ebp - 0x16f4], bx
mov ecx, esi
lea edi, [ebp - 0x16f2]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x8cc]
mov dword [ebp - 0x14e8], eax
xor eax, eax
mov dword [ebp - 0x14f4], 0xc0001
mov dword [ebp - 0x14f0], edx
mov dword [ebp - 0x14ec], ebx
mov dword [ebp - 0x14e4], ebx
mov ecx, esi
lea edi, [ebp - 0x14e0]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x12e4], ebx
mov dword [ebp - 0x12e0], ebx
mov dword [ebp - 0x12dc], 0x61
mov ecx, esi
lea edi, [ebp - 0x12d8]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2fa0]
mov dword [ebp - 0x10d0], eax
xor eax, eax
mov dword [ebp - 0x10dc], ebx
mov dword [ebp - 0x10d8], edx
mov dword [ebp - 0x10d4], ebx
mov dword [ebp - 0x10cc], ebx
mov ecx, esi
lea edi, [ebp - 0x10c8]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2cc]
push eax
mov dword [ebp - 0xecc], ebx
mov dword [ebp - 0xec8], ebx
call fcn.0100269c
cmp eax, 1
je 0x1003937
push 0x2710
call dword [sym.imp.msvcrt.dll_malloc]
cmp eax, ebx
pop ecx
mov dword [ebp - 0x2f88], eax
jne 0x10036c4
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 0x1003937
mov esi, dword [sym.imp.msvcrt.dll_wcscpy]
mov edi, 0x1001568
lea eax, [ebp - 0x212c]
push edi
push eax
call esi
lea eax, [ebp - 0x6cc]
push edi
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x2f84]
push eax
push 8
push dword [ebp - 0x2fa4]
push dword [ebp + 8]
call fcn.0100e534
test eax, eax
jne 0x1003740
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 - 0x2f88]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
jmp 0x1003cec
cmp dword [ebp - 0x2f9c], ebx
je 0x100375f
lea eax, [ebp - 0x2cc]
push eax
call fcn.0100269c
test eax, eax
jne 0x100372b
call fcn.0100212a
jmp 0x100372e
cmp word [ebp - 0x8cc], 0x2f
je 0x1003794
push 0xbcd
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
push dword [ebp - 0x2f88]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
jmp 0x1003937
cmp dword [ebp - 0x2964], ebx
jne 0x10037ab
cmp dword [ebp - 0x254c], ebx
je 0x10037b3
push 0x30b
jmp 0x10037c0
cmp dword [ebp - 0x254c], ebx
jne 0x10037d2
cmp dword [ebp - 0x2134], ebx
je 0x10037d2
push 0x30c
call fcn.0100d783
push eax
call fcn.0100c82e
call fcn.0100c80a
jmp 0x1003773
lea eax, [ebp - 0x6cc]
push edi
push eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
jne 0x1003801
lea eax, [ebp - 0x2cc]
push eax
call fcn.0100db50
test eax, eax
jne 0x1003801
xor edi, edi
inc edi
mov dword [ebp - 0x2f94], edi
jmp 0x1003804
xor edi, edi
inc edi
cmp dword [ebp - 0x2964], ebx
je 0x1003883
cmp dword [ebp - 0x2134], ebx
jne 0x1003863
lea eax, [ebp - 0x2cc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x100383b
lea eax, [ebp - 0x2cc]
push eax
call fcn.0100db50
test eax, eax
mov dword [ebp - 0x2f94], edi
je 0x1003841
mov dword [ebp - 0x2f94], ebx
lea eax, [ebp - 0x6cc]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
test eax, eax
pop ecx
je 0x1003863
lea eax, [ebp - 0x6cc]
push 0x10011f8
push eax
call esi
pop ecx
pop ecx
cmp dword [ebp - 0x2964], ebx
je 0x1003883
lea eax, [ebp - 0x2cc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x1003883
push 0x30e
jmp 0x10038a1
cmp dword [ebp - 0x254c], ebx
je 0x10038c9
lea eax, [ebp - 0xacc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x10038c9
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 - 0x2f88]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
mov eax, edi
jmp 0x1003cee
push 0x1001504
lea eax, [ebp - 0xcc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov esi, dword [sym.imp.SHLWAPI.dll_StrCmpNW]
push 2
mov edi, 0x10012c4
push edi
lea eax, [ebp - 0x2cc]
push eax
call esi
test eax, eax
jne 0x100394d
push 3
push 0x1001560
lea eax, [ebp - 0x2cc]
push eax
call esi
test eax, eax
je 0x100394d
lea eax, [ebp - 0x2cc]
push edi
push eax
call dword [sym.imp.msvcrt.dll_wcstok]
cmp eax, ebx
pop ecx
pop ecx
jne 0x100393f
push 0x829
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
xor eax, eax
inc eax
jmp 0x1003cee
push eax
lea eax, [ebp - 0x2cc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x2cc]
push eax
call fcn.0100db50
xor esi, esi
inc esi
cmp eax, esi
jne 0x100399e
lea eax, [ebp - 0xacc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x100399e
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 - 0x2f98]
push eax
push ebx
push dword [ebp - 0x2f94]
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x6cc]
push eax
lea eax, [ebp - 0xacc]
push eax
lea eax, [ebp - 0x2cc]
push eax
call fcn.01002f60
cmp eax, esi
jne 0x10039d8
mov ebx, esi
jmp 0x1003ccd
lea eax, [ebp - 0x2cc]
push eax
call fcn.0100269c
cmp eax, esi
je 0x10039d1
push 0x100153c
lea eax, [ebp - 0xcc]
push eax
call fcn.01001c2e
cmp eax, ebx
mov dword [ebp - 0x2f8c], eax
jne 0x1003a34
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 0x1003c5e
push eax
call fcn.0100bbcf
cmp eax, 0x14
mov ecx, dword [ebp - 0x2f90]
jb 0x1003a8f
cmp ecx, 0x14
jb 0x1003a8f
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 - 0x2f88]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
lea eax, [ebp - 0x2f8c]
push eax
call fcn.0100bb96
mov ebx, esi
jmp 0x1003cda
cmp ecx, ebx
jbe 0x1003c9d
cmp ecx, eax
ja 0x1003c9d
cmp dword [ebp - 0x2f8c], ebx
je 0x1003c6f
dec ecx
push ecx
push dword [ebp - 0x2f8c]
call fcn.0100c29c
cmp eax, ebx
je 0x1003c6f
push eax
lea eax, [ebp - 0x4cc]
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
cmp dword [ebp - 0x2fa0], ebx
pop ecx
pop ecx
jne 0x1003afa
lea eax, [ebp - 0x4cc]
push 0x10011dc
push eax
call dword [sym.imp.msvcrt.dll_wcstok]
test eax, eax
pop ecx
pop ecx
jne 0x1003afa
push 0x829
jmp 0x1003c9f
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0x10011f4
lea eax, [ebp - 0x4cc]
push eax
call edi
lea eax, [ebp - 0x8cc]
push eax
call dword [sym.imp.USER32.dll_CharLowerW]
lea eax, [ebp - 0x8cc]
push eax
lea eax, [ebp - 0x4cc]
push eax
call edi
lea eax, [ebp - 0x4cc]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
mov edi, 0xfe
cmp eax, edi
pop ecx
jb 0x1003b69
push edi
push 0xc12
call fcn.0100d783
push eax
lea eax, [ebp - 0xec4]
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0xc
lea eax, [ebp - 0xec4]
jmp 0x1003ca4
mov eax, dword [ebp - 0x2f90]
dec eax
push eax
push dword [ebp - 0x2f8c]
call fcn.0100c208
push edi
lea eax, [ebp - 0x4cc]
push eax
mov eax, dword [ebp - 0x2f90]
dec eax
push eax
push dword [ebp - 0x2f8c]
call fcn.0100c191
push dword [ebp - 0x2f88]
mov edi, dword [ebp - 0x2f88]
xor eax, eax
mov ecx, 0x4e2
rep stosd dword es:[edi], eax
push dword [ebp - 0x2f8c]
call fcn.01001f40
cmp eax, esi
jne 0x1003be5
lea eax, [ebp - 0x2f8c]
push eax
call fcn.0100bb96
push dword [ebp - 0x2f88]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
lea eax, [ebp - 0xcc]
push eax
call fcn.01001efb
jmp 0x1003a88
lea eax, [ebp - 0xcc]
push eax
push dword [ebp - 0x2f88]
push 0x100153c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileSectionW]
test eax, eax
je 0x1003c39
push dword [ebp - 0x2f90]
push 0xcb
call fcn.0100d783
push eax
lea eax, [ebp - 0xcc8]
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0xc
lea eax, [ebp - 0xcc8]
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
push eax
call fcn.0100d376
jmp 0x1003cb5
push 0x84
call fcn.0100d783
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.0100d376
lea eax, [ebp - 0x2f8c]
push eax
call fcn.0100bb96
lea eax, [ebp - 0xcc]
push eax
call fcn.01001efb
jmp 0x10039d1
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 0x1003cb3
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 - 0x2f8c]
push eax
call fcn.0100bb96
push dword [ebp - 0x2f88]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
push dword [ebp - 0x2f98]
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