Function at 0x401d14
Capabilities:
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push 0x40f638
mov eax, dword [ebp + 0x10]
push eax
call fcn.00403f00
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x401d81
push str._DIR
call fcn.00403a90
add esp, 4
mov ecx, dword [ebp - 0x24]
add ecx, eax
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x24]
push edx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
test eax, eax
jne 0x401d81
mov eax, dword [ebp - 0x24]
push eax
push str.Could_not_set_current_directory_to___s_.
push 0x4105e0
call fcn.00403e64
add esp, 0xc
push 0x30
push str.NovaLogic_Local_File_Update_Wizard_v1.0.11d
push 0x4105e0
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [ebp + 0x10]
mov dword [0x410780], ecx
mov edx, dword [ebp + 8]
mov dword [0x410ae0], edx
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
push 0x104
push 0
push 0x4107a0
call fcn.004039a0
add esp, 0xc
push 0x104
push 0
push 0x410b80
call fcn.004039a0
add esp, 0xc
push 0x104
push 0
push 0x410940
call fcn.004039a0
add esp, 0xc
push 0x80
push 0
push 0x410560
call fcn.004039a0
add esp, 0xc
push 0x80
push 0
push 0x4108c0
call fcn.004039a0
add esp, 0xc
push 0x80
push 0
push 0x410a60
call fcn.004039a0
add esp, 0xc
push 0x80
push 0
push 0x410700
call fcn.004039a0
add esp, 0xc
push 0x410940
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
test eax, eax
jne 0x401e54
push 0x30
push str.NovaLogic_Local_File_Update_Wizard_v1.0.11d
push str.Error__Could_not_set_BaseDirectory_variable.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x401f74
xor eax, eax
test eax, eax
je 0x401ea2
push 0
push 0x4038a5
push 0
push 0x72
mov ecx, dword [0x410ae0]
push ecx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
test eax, eax
jne 0x401e7d
xor eax, eax
jmp 0x401f74
push 0x410ca0
call fcn.00401ca3
add esp, 4
mov dword [0x4106e0], eax
cmp dword [0x4106e0], 0x7c0751e1
je 0x401ea2
xor eax, eax
jmp 0x401f74
push 0
push 0x403789
push 0
push str.LICENSE
mov edx, dword [0x410ae0]
push edx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
test eax, eax
jne 0x401ec8
xor eax, eax
jmp 0x401f74
push 0
push 0x40203d
push 0
push 0x71
mov eax, dword [0x410ae0]
push eax
call dword [sym.imp.USER32.dll_CreateDialogParamA]
mov dword [0x410a4c], eax
cmp dword [0x410a4c], 0
jne 0x401efb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x401f74
push str.NovaLogic_Local_File_Update_Wizard_v1.0.11d
mov ecx, dword [0x410a4c]
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 5
mov edx, dword [0x410a4c]
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x410a4c]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0
push 0
push 0
lea ecx, [ebp - 0x20]
push ecx
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x401f5d
lea edx, [ebp - 0x20]
push edx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
cmp dword [0x41029c], 0
je 0x401f5b
jmp 0x401f5d
jmp 0x401f28
call fcn.004036fb
mov ecx, dword [0x410a4c]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
mov eax, dword [0x410a48]
mov esp, ebp
pop ebp
ret 0x10