Function at 0x14000c620
Capabilities:
Create directory
Enumerate gui resources
Get common file path
Read .ini file

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x120
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x140092060]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rdi, rcx
call fcn.14000b610
lea r9, [rbp - 0x70]
xor r8d, r8d
xor edx, edx
lea rcx, [0x140074740]
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
xor r12d, r12d
lea rbx, [r12 - 1]
test eax, eax
js 0x14000c7d2
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], r12w
mov rdx, qword [rbp - 0x70]
mov r8, rbx
inc r8
cmp word [rdx + r8*2], r12w
jne 0x14000c6a3
lea rcx, [rbp - 0x50]
call fcn.140002770
nop
mov r8d, 0x4b
lea rdx, str.PackagesB9ECED6F.ASUSPCAssistant_qmba6cd70vzyyLocalStateAsusOLEDShifter
lea rcx, [rbp - 0x50]
call fcn.1400082f0
movups xmm6, xmmword [rax]
movups xmmword [rsp + 0x40], xmm6
movups xmm7, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm7
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
lea rsi, [rdi + 0x230]
lea rax, [rsp + 0x40]
cmp rsi, rax
je 0x14000c74f
mov rdx, qword [rsi + 0x18]
cmp rdx, 8
jb 0x14000c73e
mov rcx, qword [rsi]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x14000c739
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000cede
mov rcx, r8
call fcn.140042ba4
mov qword [rsi + 0x18], 7
movups xmmword [rsi], xmm6
movups xmmword [rsi + 0x10], xmm7
jmp 0x14000c792
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x14000c792
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c78c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000cede
call fcn.140042ba4
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x14000c7d2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c7cd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000cee4
call fcn.140042ba4
lea r14, [rdi + 0x230]
mov rcx, r14
cmp qword [r14 + 0x18], 8
jb 0x14000c7e6
mov rcx, qword [r14]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x14000c858
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x14000c858
mov edx, 0x5c
lea rsi, str.C:Usersleonard_tsaiDesktopASUS_ProjAsusOLEDShifterAsusOLEDShifterAsusOLEDShifterOLEDShifterManager.cpp
mov rcx, rsi
call fcn.140044830
test rax, rax
je 0x14000c82a
mov edx, 0x5c
mov rcx, rsi
call fcn.140044830
inc rax
jmp 0x14000c82d
mov rax, rsi
lea rcx, str.CreateDirectory_failed.
mov qword [rsp + 0x20], rcx
mov r9d, 2
lea r8, str.InitRunningState
mov edx, 0x10a
mov rcx, rax
call fcn.140004920
jmp 0x14000cdc5
lea r8, str.config.ini
mov rdx, r14
lea rcx, [rsp + 0x40]
call fcn.140008480
mov rsi, rax
cmp qword [rax + 0x18], 8
jb 0x14000c879
mov rsi, qword [rax]
xor edx, edx
mov r8d, 0x208
mov rcx, qword [rdi]
call fcn.140045200
mov r8, rsi
mov edx, 0x104
mov rcx, qword [rdi]
call fcn.140049570
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x14000c8db
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c8d6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ceea
call fcn.140042ba4
lea r8, [0x140083cf8]
mov edx, 0x104
mov rcx, qword [rdi + 8]
call fcn.140049570
mov rax, qword [rdi]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
mov r9, qword [rdi + 8]
lea r8, [0x140083cf8]
lea rdx, str.RunningState
lea rcx, str.SystemInfo
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rdx, qword [rdi + 8]
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], r12w
nop dword [rax + rax]
inc rbx
cmp word [rdx + rbx*2], 0
jne 0x14000c940
mov r8, rbx
lea rcx, [rbp - 0x50]
call fcn.140002770
nop
lea r8, [rbp - 0x50]
mov r13, qword [rbp - 0x50]
mov r15, qword [rbp - 0x38]
cmp r15, 8
cmovae r8, r13
lea rsi, str.C:Usersleonard_tsaiDesktopASUS_ProjAsusOLEDShifterAsusOLEDShifterAsusOLEDShifterOLEDShifterManager.cpp
cmp qword [rbp - 0x40], 4
jne 0x14000cb87
mov edx, 4
lea rcx, str.true
sub r8, rcx
nop dword [rax]
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x14000cb87
add rcx, 2
sub rdx, 1
jne 0x14000c990
mov rcx, rdi
call fcn.14000d960
test eax, eax
je 0x14000cb87
mov edx, 0x5c
mov rcx, rsi
call fcn.140044830
test rax, rax
je 0x14000c9dc
mov edx, 0x5c
mov rcx, rsi
call fcn.140044830
inc rax
jmp 0x14000c9df
mov rax, rsi
lea rcx, str.Reset_wallpaper_setting_with_ini_data
mov qword [rsp + 0x20], rcx
mov r9d, 1
lea r8, str.InitRunningState
mov edx, 0xf4
mov rcx, rax
call fcn.140004920
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], r12w
lea r8d, [rax + 0xd]
lea rdx, str.WallpaperInfo
lea rcx, [rbp - 0x30]
call fcn.140002770
nop
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x68]
mov rcx, rdi
call fcn.140002af0
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x14000ca8d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ca88
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000cef0
call fcn.140042ba4
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], r12w
mov r14, qword [rbp - 0x60]
mov rax, r14
mov rbx, qword [rbp - 0x68]
sub rax, rbx
sar rax, 6
test rax, rax
je 0x14000cb23
xor r15d, r15d
nop dword [rax + rax]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x60], rax
shl r15, 6
lea rdx, [rbx + 0x20]
add rdx, r15
lea rcx, [rsp + 0x40]
call fcn.140009980
mov rbx, rax
mov rdx, qword [rbp - 0x68]
add rdx, r15
lea rcx, [rsp + 0x70]
call fcn.140009980
nop
mov r8, rbx
mov rdx, rax
mov rcx, rdi
call fcn.14000e870
inc r12d
mov r14, qword [rbp - 0x60]
mov rax, r14
mov rbx, qword [rbp - 0x68]
sub rax, rbx
sar rax, 6
movsxd r15, r12d
cmp r15, rax
jb 0x14000cac0
mov r15, qword [rbp - 0x38]
test rbx, rbx
je 0x14000cb7d
cmp rbx, r14
je 0x14000cb45
nop dword [rax]
mov rcx, rbx
call fcn.140002dc0
add rbx, 0x40
cmp rbx, r14
jne 0x14000cb30
mov rbx, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x58]
sub rdx, rbx
and rdx, 0xffffffffffffffc0
mov rax, rbx
cmp rdx, 0x1000
jb 0x14000cb75
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000cef6
mov rcx, rbx
call fcn.140042ba4
xor r12d, r12d
lea r14, [rdi + 0x230]
mov r9, qword [rdi]
lea r8, str.false
lea rdx, str.RunningState
lea rcx, str.SystemInfo
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov r9, qword [rdi]
xor r8d, r8d
lea rdx, str.ShiftInterval
lea rcx, str.SystemInfo
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
jle 0x14000cbcb
mov dword [rdi + 0x250], eax
jmp 0x14000cc41
mov edx, dword [rdi + 0x250]
lea rcx, [rsp + 0x40]
call fcn.14000ad50
cmp qword [rax + 0x18], 8
jb 0x14000cbe5
mov rax, qword [rax]
mov r9, qword [rdi]
mov r8, rax
lea rdx, str.ShiftInterval
lea rcx, str.SystemInfo
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x14000cc41
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000cc3c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000cefc
call fcn.140042ba4
mov r9, qword [rdi]
xor r8d, r8d
xor edx, edx
lea rcx, str.WallpaperInfo
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov r9, qword [rdi]
xor r8d, r8d
xor edx, edx
lea rcx, str.LastSetWallpaper
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea rax, [rbp - 0x68]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x40], r12
movdqa xmm0, xmmword [0x140086160]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r12w
mov r8d, 4
lea rdx, str..jpg
lea rcx, [rsp + 0x40]
call fcn.140002770
nop
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], r12
mov ecx, 0x20
call fcn.140042918
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
lea rbx, [rax + 0x20]
mov qword [rbp - 0x58], rbx
lea rcx, [rbp - 0x68]
mov qword [rsp + 0x60], rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
lea rcx, [rbp - 0x68]
mov qword [rbp - 0x20], rcx
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.140009980
nop
mov rdx, rbx
mov rcx, rbx
call fcn.140009250
mov qword [rbp - 0x60], rbx
mov rdx, r14
lea rcx, [rsp + 0x70]
call fcn.140009980
mov rbx, rax
mov eax, 4
mov rcx, qword gs:[0x58]
mov rdx, qword [rcx]
mov ecx, dword [rax + rdx]
cmp dword [0x1400966c8], ecx
jle 0x14000cd62
lea rcx, [0x1400966c8]
call fcn.140042808
cmp dword [0x1400966c8], 0xffffffff
jne 0x14000cd62
lea rcx, [0x140073780]
call fcn.140042b8c
lea rcx, [0x1400966c8]
call fcn.1400427a8
nop
lea r8, [rbp - 0x68]
mov rdx, rbx
call fcn.140019680
nop
lea r9, [fcn.1400026e0]
mov edx, 0x20
lea r8d, [rdx - 0x1f]
lea rcx, [rsp + 0x40]
call fcn.140042be8
nop
cmp r15, 8
jb 0x14000cdc5
lea rdx, [r15*2 + 2]
mov rax, r13
cmp rdx, 0x1000
jb 0x14000cdbd
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ced8
mov rcx, r13
call fcn.140042ba4
xor edx, edx
lea rcx, str.Progman
call qword [sym.imp.USER32.dll_FindWindowW]
xor r9d, r9d
lea r8, str.SHELLDLL_DefView
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_FindWindowExW]
lea r9, str.FolderView
lea r8, str.SysListView32
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_FindWindowExW]
mov qword [rdi + 0x2b8], rax
test rax, rax
jne 0x14000ce75
mov rdx, rdi
lea rcx, [0x14000b330]
call qword [sym.imp.USER32.dll_EnumWindows]
cmp qword [rdi + 0x2b8], 0
jne 0x14000ce75
mov edx, 0x5c
mov rcx, rsi
call fcn.140044830
test rax, rax
je 0x14000ce4b
mov edx, 0x5c
mov rcx, rsi
call fcn.140044830
lea rsi, [rax + 1]
lea rax, str.Fail_to_get_desktop_icon_hwnd
mov qword [rsp + 0x20], rax
mov r9d, 2
lea r8, str.FindDesktopIconHandle
mov edx, 0x122
mov rcx, rsi
call fcn.140004920
xor eax, eax
jmp 0x14000cea1
mov dword [rsp + 0x30], 5
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rdi + 0x2b8]
call qword [sym.imp.USER32.dll_SetWindowPos]
mov eax, 1
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140042660
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400494f8
nop
call fcn.1400494f8
nop
call fcn.1400494f8
int3
call fcn.1400494f8
nop
call fcn.1400494f8
nop
call fcn.1400494f8
int3
call fcn.1400494f8
int3