Function at 0x417020
Capabilities:
Create directory
Get common file path

Disassembly:
mov eax, 0x1044
call fcn.0046d4a0
mov eax, dword [0x4bc7b8]
xor eax, esp
mov dword [esp + 0x103c], eax
mov eax, dword [esp + 0x1048]
push ebx
push ebp
push esi
push edi
xor ebp, ebp
push 0x206
mov esi, ecx
lea ecx, [esp + 0x1e]
push ebp
push ecx
mov dword [esp + 0x1c], eax
mov word [esp + 0x24], bp
call fcn.0046adc0
add esp, 0xc
push 0x206
lea edx, [esp + 0x42e]
push ebp
push edx
mov word [esp + 0x434], bp
call fcn.0046adc0
add esp, 0xc
push 0x206
lea eax, [esp + 0x226]
push ebp
push eax
mov word [esp + 0x22c], bp
call fcn.0046adc0
add esp, 0xc
push 0x3fe
lea ecx, [esp + 0x636]
push ebp
push ecx
mov word [esp + 0x63c], bp
call fcn.0046adc0
add esp, 0xc
push str.MakeSIShortCuts__
xor ebx, ebx
call fcn.00426a70
mov edi, eax
call fcn.00426f90
add esp, 4
push 0x49d8b4
push esi
call fcn.004296d0
add esp, 8
test eax, eax
je 0x4170e8
lea ebx, [ebp + 1]
lea edx, [esp + 0x18]
push edx
push ebp
push ebp
push 0x17
push ebp
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jl 0x41756d
push 0x206
lea eax, [esp + 0xa36]
push ebp
push eax
mov word [esp + 0xa3c], bp
call fcn.0046adc0
add esp, 0xc
cmp ebx, ebp
push 0x104
je 0x41712e
push str.P1100_SHORTCUT_DIRECTORY
jmp 0x417133
push str.P1600_SHORTCUT_DIRECTORY
call fcn.004277e0
push eax
lea edi, [esp + 0xa3c]
call fcn.00428060
mov edi, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push ebp
lea ecx, [esp + 0x1c]
push ecx
call edi
push 0x499dcc
lea edx, [esp + 0x1c]
push edx
push 0x498c0c
mov eax, edx
push 0x104
push eax
call fcn.00468098
add esp, 0x14
push ebp
lea ecx, [esp + 0x1c]
push ecx
call edi
lea edx, [esp + 0xa30]
push edx
lea eax, [esp + 0x1c]
push eax
push 0x498c0c
mov ecx, eax
push 0x104
push ecx
call fcn.00468098
add esp, 0x14
push ebp
lea edx, [esp + 0x1c]
push edx
call edi
mov eax, dword [esp + 0x10]
push str.Uninstall.exe
push eax
push 0x498c0c
lea ecx, [esp + 0x22c]
push 0x104
push ecx
call fcn.00468098
add esp, 0x14
call fcn.004330f0
push str.String_Not_Found
lea edx, [esp + 0x634]
push 0x200
push edx
mov edi, eax
mov word [esp + 0x63c], bp
call fcn.00467e2b
mov eax, dword [edi]
add esp, 0xc
cmp eax, ebp
jne 0x417204
mov ecx, edi
call fcn.00433150
mov eax, dword [edi]
cmp eax, ebp
je 0x41723d
push 0x200
lea ecx, [esp + 0x634]
push ecx
push 0xc8
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
jne 0x41723d
push str.LoadString_failed
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.00426a70
mov ecx, eax
call fcn.00427100
add esp, 4
lea edx, [esp + 0x630]
push edx
lea eax, [esp + 0x1c]
push eax
push str._s_s.lnk
lea ecx, [esp + 0x434]
push 0x104
push ecx
call fcn.00468098
add esp, 0x14
lea edx, [esp + 0x428]
push edx
lea eax, [esp + 0x224]
push eax
push str.__Create_shortcut__s_to_file__s
call fcn.00426a70
mov edi, eax
call fcn.00426f90
add esp, 0xc
lea ecx, [esp + 0x630]
push ecx
lea edx, [esp + 0x42c]
push edx
lea eax, [esp + 0x228]
push eax
call fcn.00433620
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x24]
add esp, 0xc
push ecx
mov ecx, esi
call fcn.00417730
add esp, 4
cmp esi, ebp
je 0x4172e7
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x4172c4
sub eax, edx
sar eax, 1
je 0x4172e7
push 0x493be0
push esi
call fcn.004677e7
add esp, 8
test eax, eax
jne 0x4172f0
call fcn.00417b80
test eax, eax
je 0x417302
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x18]
push edx
push eax
call fcn.00416e80
add esp, 8
cmp dword [esp + 0x105c], ebp
je 0x417413
mov ecx, dword [esp + 0x10]
push str.wificonfig.exe
push ecx
push 0x498c0c
lea edx, [esp + 0x22c]
push 0x104
push edx
call fcn.00468098
add esp, 0x14
call fcn.004330f0
push str.String_Not_Found
mov edi, eax
lea eax, [esp + 0x634]
push 0x200
push eax
mov word [esp + 0x63c], bp
call fcn.00467e2b
mov eax, dword [edi]
add esp, 0xc
cmp eax, ebp
jne 0x41736f
mov ecx, edi
call fcn.00433150
mov eax, dword [edi]
cmp eax, ebp
je 0x4173a8
push 0x200
lea ecx, [esp + 0x634]
push ecx
push 0x14a
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
jne 0x4173a8
push str.LoadString_failed
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.00426a70
mov ecx, eax
call fcn.00427100
add esp, 4
lea edx, [esp + 0x630]
push edx
lea eax, [esp + 0x1c]
push eax
push str._s_s.lnk
lea ecx, [esp + 0x434]
push 0x104
push ecx
call fcn.00468098
add esp, 0x14
lea edx, [esp + 0x428]
push edx
lea eax, [esp + 0x224]
push eax
push str.__Create_shortcut__s_to_file__s
call fcn.00426a70
mov edi, eax
call fcn.00426f90
add esp, 0xc
lea ecx, [esp + 0x630]
push ecx
lea edx, [esp + 0x42c]
push edx
lea eax, [esp + 0x228]
push eax
call fcn.00433620
add esp, 0xc
lea eax, [esp + 0xe40]
call fcn.0042d0e0
push 0x206
lea ecx, [esp + 0xc3e]
push ebp
push ecx
mov word [esp + 0xc44], bp
call fcn.0046adc0
add esp, 0xc
push 0x104
push str.INSTALL_NOTES_FILE
call fcn.004277e0
push eax
lea edi, [esp + 0xc44]
call fcn.00428060
call fcn.004330f0
push str.String_Not_Found
lea edx, [esp + 0x634]
push 0x200
push edx
mov edi, eax
mov word [esp + 0x63c], bp
call fcn.00467e2b
mov eax, dword [edi]
add esp, 0xc
cmp eax, ebp
jne 0x417495
mov ecx, edi
call fcn.00433150
mov eax, dword [edi]
cmp eax, ebp
je 0x4174ce
push 0x200
lea ecx, [esp + 0x634]
push ecx
push 0x21e
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
jne 0x4174ce
push str.LoadString_failed
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.00426a70
mov ecx, eax
call fcn.00427100
add esp, 4
lea edx, [esp + 0x630]
push edx
lea eax, [esp + 0x1c]
push eax
push str._s_s.lnk
lea ecx, [esp + 0x434]
push 0x104
push ecx
call fcn.00468098
mov ecx, dword [esp + 0x24]
add esp, 0x14
lea edx, [esp + 0xc38]
push edx
push str.Manuals_
lea eax, [esp + 0xe48]
push eax
push ecx
push 0x49d980
lea edx, [esp + 0x234]
push 0x104
push edx
call fcn.00468098
add esp, 0x1c
lea eax, [esp + 0x428]
push eax
lea ecx, [esp + 0x224]
push ecx
push str.__Create_shortcut__s_to_file__s
call fcn.00426a70
mov edi, eax
call fcn.00426f90
add esp, 0xc
lea edx, [esp + 0x630]
push edx
lea eax, [esp + 0x42c]
push eax
lea ecx, [esp + 0x228]
push ecx
call fcn.00433620
add esp, 0xc
mov ecx, dword [esp + 0x104c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
mov eax, 1
call fcn.004677d8
add esp, 0x1044
ret