Function at 0x102fd9b
Capabilities:
Get common file path
Manipulate boot configuration

Disassembly:
mov eax, 0x10bdd9d
call fcn.0106f6c0
sub esp, 0xa28
push ebx
xor ebx, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
call fcn.010207aa
cmp word [ebp + 8], 7
je 0x103021a
push esi
push edi
mov edi, dword [sym.imp.msvcrt.dll_wcscpy]
mov esi, 0x10020dc
lea eax, [ebp - 0x234]
push esi
push eax
call edi
lea eax, [ebp - 0x2c]
push esi
push eax
call edi
add esp, 0x10
push 0xff
lea eax, [ebp - 0x234]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
cmp eax, ebx
je 0x102fe3b
lea eax, [ebp - 0x234]
push 0x1004284
push eax
call dword [sym.imp.msvcrt.dll_wcscat]
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
add esp, 0xc
test eax, eax
jne 0x102fe3b
mov ax, word [ebp - 0x234]
mov word [ebp - 0x2c], ax
mov ax, word [ebp - 0x232]
mov word [ebp - 0x2a], ax
mov word [ebp - 0x28], bx
cmp word [ebp + 8], 5
je 0x102fe4e
cmp word [ebp + 8], 6
mov eax, dword [0x10d3570]
jne 0x102fe53
mov eax, dword [0x10d3574]
cmp word [ebp + 8], 1
mov dword [ebp - 0x1c], eax
jne 0x102ff5a
mov edi, dword [eax + 4]
cmp edi, ebx
je 0x102ffcb
push edi
call fcn.0107a1f9
mov dword [ebp - 0x14], eax
call fcn.010207aa
cmp dword [eax + 0x2ac], 1
jne 0x102ff09
call fcn.010207aa
add eax, 0xa2
push eax
lea ecx, [ebp - 0x18]
call sub.MFC42u.DLL_CString::CString_4
push 0x5c
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], ebx
call sub.MFC42u.DLL_CString::ReverseFind
cmp eax, 0xffffffff
je 0x102fedc
push 0x5c
lea ecx, [ebp - 0x18]
call sub.MFC42u.DLL_CString::ReverseFind
inc eax
push eax
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x18]
call sub.MFC42u.DLL_CString::Mid_1
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call fcn.0106e8f8
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], bl
call sub.MFC42u.DLL_CString::CString
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
push ebx
push ebx
push dword [ebp - 0x18]
mov ecx, esi
call fcn.0102fb46
cmp dword [ebp - 0x10], ebx
je 0x102fefd
push dword [ebp - 0x10]
push edi
call fcn.010821b4
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call sub.MFC42u.DLL_CString::CString
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
push ebx
push ebx
push 0x1005aec
mov ecx, esi
call fcn.0102fb46
cmp dword [ebp - 0x10], ebx
je 0x102ff2c
push dword [ebp - 0x10]
push edi
call fcn.010821b4
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
push ebx
push ebx
push 0x1005ad4
mov ecx, esi
call fcn.0102fb46
cmp dword [ebp - 0x10], ebx
je 0x102ff4f
push dword [ebp - 0x10]
push edi
call fcn.010821b4
mov edi, dword [edi + 4]
cmp edi, ebx
jne 0x102fe6c
cmp word [ebp + 8], 5
jne 0x102ffcb
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax + 4]
jmp 0x102ffc7
push edi
call fcn.0107a1f9
lea ecx, [ebp - 0x10]
push ecx
push 1
push 1
push 0x1005aa8
mov ecx, esi
mov dword [ebp - 0x14], eax
call fcn.0102fb46
cmp dword [ebp - 0x10], ebx
je 0x102ff94
push dword [ebp - 0x10]
push edi
call fcn.010821b4
mov al, byte [edi + 0xa0]
and al, 7
cmp al, 3
jne 0x102ffc4
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
push 1
push ebx
push 0x1005a94
mov ecx, esi
call fcn.0102fb46
cmp dword [ebp - 0x10], ebx
je 0x102ffc4
push dword [ebp - 0x10]
push edi
call fcn.010821b4
mov edi, dword [edi + 4]
cmp edi, ebx
jne 0x102ff69
lea eax, [ebp - 0x24]
push eax
push ebx
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xa34]
push eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x20], 0x400
call fcn.010207ea
push eax
push dword [0x10d356c]
call fcn.010847b1
test ax, ax
jne 0x1030130
push dword [ebp - 0x14]
push dword [ebp - 0x1c]
call fcn.01084496
mov edi, eax
cmp edi, ebx
je 0x1030130
lea eax, [ebp - 0x10]
push eax
push ebx
xor esi, esi
inc esi
push esi
push 0x1005a78
call fcn.010207ea
mov ecx, eax
mov eax, dword [ebp - 0x14]
call fcn.0102fb46
cmp dword [ebp - 0x10], ebx
je 0x1030040
push dword [ebp - 0x10]
push edi
call fcn.010821b4
lea eax, [ebp - 0x10]
push eax
push ebx
push esi
push 0x1005a5c
call fcn.010207ea
mov ecx, eax
mov eax, dword [ebp - 0x14]
call fcn.0102fb46
cmp dword [ebp - 0x10], ebx
je 0x1030068
push dword [ebp - 0x10]
push edi
call fcn.010821b4
lea eax, [ebp - 0x10]
push eax
push ebx
push esi
push 0x1005a44
call fcn.010207ea
mov ecx, eax
mov eax, dword [ebp - 0x14]
call fcn.0102fb46
cmp dword [ebp - 0x10], ebx
je 0x1030090
push dword [ebp - 0x10]
push edi
call fcn.010821b4
lea eax, [ebp - 0x10]
push eax
push ebx
push esi
push 0x1005a28
call fcn.010207ea
mov ecx, eax
mov eax, dword [ebp - 0x14]
call fcn.0102fb46
cmp dword [ebp - 0x10], ebx
je 0x10300b8
push dword [ebp - 0x10]
push edi
call fcn.010821b4
lea eax, [ebp - 0x10]
push eax
push ebx
push ebx
push 0x1005a14
call fcn.010207ea
mov ecx, eax
mov eax, dword [ebp - 0x14]
call fcn.0102fb46
cmp dword [ebp - 0x10], ebx
je 0x10300e0
push dword [ebp - 0x10]
push edi
call fcn.010821b4
lea eax, [ebp - 0x10]
push eax
push ebx
push esi
push 0x10059f8
call fcn.010207ea
mov ecx, eax
mov eax, dword [ebp - 0x14]
call fcn.0102fb46
cmp dword [ebp - 0x10], ebx
je 0x1030108
push dword [ebp - 0x10]
push edi
call fcn.010821b4
lea eax, [ebp - 0x10]
push eax
push ebx
push esi
push 0x10059dc
call fcn.010207ea
mov ecx, eax
mov eax, dword [ebp - 0x14]
call fcn.0102fb46
cmp dword [ebp - 0x10], ebx
je 0x1030130
push dword [ebp - 0x10]
push edi
call fcn.010821b4
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xa34]
push eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x20], 0x400
call fcn.0104b905
push eax
push dword [0x10d356c]
call fcn.010847b1
test ax, ax
jne 0x10301a9
push dword [ebp - 0x14]
push dword [ebp - 0x1c]
call fcn.01084496
mov esi, eax
cmp esi, ebx
je 0x10301a9
lea eax, [ebp - 0xa34]
push eax
call fcn.0104b89c
lea eax, [ebp - 0x10]
push eax
push ebx
push ebx
call fcn.0104b8e7
push eax
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0xa34]
call fcn.0102fb46
cmp dword [ebp - 0x10], ebx
je 0x10301a9
push dword [ebp - 0x10]
push esi
call fcn.010821b4
call fcn.010207b0
mov edi, eax
lea eax, [ebp - 0x24]
push eax
push ebx
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xa34]
push eax
lea eax, [ebp - 0x14]
push eax
push edi
push dword [0x10d356c]
mov dword [ebp - 0x20], 0x400
call fcn.010847b1
test ax, ax
jne 0x1030218
push dword [ebp - 0x14]
push dword [ebp - 0x1c]
call fcn.01084496
mov esi, eax
cmp esi, ebx
je 0x1030218
push esi
call fcn.0107a1f9
cmp eax, ebx
je 0x1030218
lea ecx, [ebp - 0x10]
push ecx
push ebx
push 1
push 0x10059d0
mov ecx, edi
call fcn.0102fb46
cmp dword [ebp - 0x10], ebx
je 0x1030218
push dword [ebp - 0x10]
push esi
call fcn.010821b4
pop edi
pop esi
mov ecx, dword [ebp - 0xc]
xor ax, ax
pop ebx
mov dword fs:[0], ecx
leave
ret 4