Function at 0x1400188a0
Capabilities:
Create directory
Query environment variable
Read .ini file
Set environment variable

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x6b0
mov rax, qword [0x140056b28]
xor rax, rsp
mov qword [rsp + 0x6a0], rax
mov rdi, rcx
xor edx, edx
add rcx, 8
call fcn.140010870
mov ecx, 0xc
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0xb
mov ebx, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov rcx, qword [0x140058ad8]
xor ebp, ebp
mov edx, 0x80
mov r9d, eax
lea r8d, [rbp + 1]
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], ebx
call qword [sym.imp.USER32.dll_LoadImageW]
mov rcx, qword [rdi + 8]
lea r8d, [rbp + 1]
mov r9, rax
mov edx, 0x80
call qword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [rbp + 0x32]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea ecx, [rbp + 0x31]
mov ebx, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov rcx, qword [0x140058ad8]
lea r8d, [rbp + 1]
mov edx, 0x80
mov r9d, eax
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], ebx
call qword [sym.imp.USER32.dll_LoadImageW]
mov rcx, qword [rdi + 8]
xor r8d, r8d
mov edx, 0x80
mov r9, rax
call qword [sym.imp.USER32.dll_SendMessageW]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rcx, [0x140058a60]
mov edx, eax
call fcn.1400150f0
lea rcx, [rdi + 0x40]
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x50], rcx
lea rcx, [rax + 8]
mov rbx, rax
call fcn.140014080
lea r11, [rdi + 0x48]
lea rcx, [rbx + 0x18]
lea rdx, [rsp + 0x48]
mov qword [rsp + 0x48], r11
call fcn.140014080
mov r11, qword [rdi + 8]
test r11, r11
je 0x1400189dd
mov eax, 4
lea rcx, [rdi + 0x58]
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x58], r11
mov word [rsp + 0x60], ax
call fcn.140014130
mov dword [rdi + 0x1c0], ebp
mov qword [rdi + 0xa8], rbp
mov dword [rdi + 0xb0], 1
lea rcx, str.TaskbarCreated
mov byte [rdi + 0x84], bpl
mov dword [rdi + 0x88], ebp
call qword [sym.imp.USER32.dll_RegisterWindowMessageW]
call fcn.14001f360
mov rcx, qword [rdi + 0x90]
mov rbx, rax
test rcx, rcx
je 0x140018a2f
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [rdi + 0x90], rbp
mov qword [rdi + 0x90], rbx
mov rcx, rbx
test rbx, rbx
je 0x140018a83
lea rdx, str.CreateInstance
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x140018aa4
lea r8, [rdi + 0x98]
lea rdx, [0x140044a70]
lea rcx, [0x140044a60]
call rbx
lea r8, [rdi + 0xa0]
lea rdx, [0x140044a80]
lea rcx, [0x140044a60]
call rbx
jmp 0x140018aa4
mov ecx, 0xbb8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rdi + 8]
xor r9d, r9d
lea r8d, [r9 + 1]
mov edx, VarUI4FromDisp
call qword [sym.imp.USER32.dll_PostMessageW]
mov rcx, rdi
call fcn.140013a90
mov rcx, rdi
call fcn.140012ef0
lea rcx, [rsp + 0x72]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x70], bp
call fcn.140024c30
lea rdx, [rsp + 0x70]
lea rcx, str._APPDATA_KZMount
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
lea rcx, [rsp + 0x70]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea rcx, [rsp + 0x282]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x280], bp
call fcn.140024c30
lea r8, [rsp + 0x70]
lea rcx, [rsp + 0x280]
mov edx, 0x104
call fcn.140025a10
lea r8, str.KZMount.ini
lea rcx, [rsp + 0x280]
mov edx, 0x104
call fcn.140024d1c
lea rcx, [rsp + 0x492]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x490], bp
call fcn.140024c30
lea r11, [rsp + 0x280]
lea r9, [rsp + 0x490]
mov qword [rsp + 0x28], r11
lea r8, [rsp + 0x70]
lea rdx, str.IndexPath
lea rcx, str.KZMount
mov dword [rsp + 0x20], 0x104
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rsp + 0x490]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea rdx, [rsp + 0x490]
lea rcx, str.KZMOUNT_INDEXPATH
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov rcx, qword [rdi + 0x98]
test rcx, rcx
je 0x140018cdf
mov byte [rsp + 0x30], bpl
mov rax, qword [rcx]
lea rdx, [rsp + 0x30]
call qword [rax + 0x18]
test eax, eax
jne 0x140018cbe
cmp byte [rsp + 0x30], bpl
je 0x140018bec
mov r9d, 0x27e7
jmp 0x140018c52
lea rcx, [rsp + 0x38]
call fcn.140022e10
lea rcx, [rsp + 0x38]
call fcn.140023090
test al, al
je 0x140018c98
mov edx, 0xd5
mov rcx, rdi
call fcn.140012fc0
mov rcx, qword [rdi + 0x98]
mov qword [rsp + 0x40], rcx
test rcx, rcx
je 0x140018c2c
mov rax, qword [rcx]
call qword [rax + 8]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x38]
call fcn.1400236e0
test al, al
je 0x140018c98
mov edx, 0x80
mov rcx, rdi
call fcn.140012fc0
mov r9d, 0x2816
mov edx, 0x27dd
mov rcx, rdi
mov r8d, edx
call fcn.1400137e0
mov rcx, qword [rdi + 0xa0]
test rcx, rcx
je 0x140018cdf
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, rdi
test eax, eax
jne 0x140018c82
call fcn.140018570
jmp 0x140018cdf
mov edx, 0x27dd
mov r8d, 0xd5
lea r9d, [rdx + 0x36]
call fcn.1400137e0
jmp 0x140018cdf
mov edx, 0xd4
mov rcx, rdi
call fcn.140012fc0
mov edx, 0x27dd
mov r8d, 0xbd
lea r9d, [rdx + 0x38]
mov rcx, rdi
call fcn.1400137e0
jmp 0x140018cdf
mov ecx, 0xbb8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rdi + 8]
xor r9d, r9d
lea r8d, [r9 + 1]
mov edx, VarUI4FromDisp
call qword [sym.imp.USER32.dll_PostMessageW]
movabs rax, 1
mov rcx, qword [rsp + 0x6a0]
xor rcx, rsp
call fcn.140025960
lea r11, [rsp + 0x6b0]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret