Function at 0x14000b2a0
Capabilities:
Check if file exists
Copy file
Read .ini file

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x210]
sub rsp, 0x310
mov rax, qword [0x14004e060]
xor rax, rsp
mov qword [rbp + 0x200], rax
mov r13, rcx
movsxd rax, edx
lea rdi, [rax + rax*2]
shl rdi, 9
mov rdx, qword [rcx + 0x298]
add rdx, rdi
xor r14d, r14d
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x68], r14
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], r14w
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rdx + r8*2], r14w
jne 0x14000b310
lea rcx, [rbp - 0x78]
call fcn.1400036a0
nop
lea r8, [rbp - 0x78]
mov r9, qword [rbp - 0x78]
mov r10, qword [rbp - 0x60]
cmp r10, 8
cmovae r8, r9
mov rdx, qword [rbp - 0x68]
test rdx, rdx
je 0x14000b364
mov rcx, rdx
mov rax, r8
nop word [rax + rax]
cmp word [rax], 0x23
je 0x14000b6dd
add rax, 2
sub rcx, 1
jne 0x14000b350
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], 7
cmp rdx, rcx
jb 0x14000bc64
sub rdx, rcx
mov r8, 0xffffffffffffffff
cmp rdx, r8
cmovb r8, rdx
lea rax, [rbp - 0x78]
cmp r10, 8
cmovae rax, r9
lea rdx, [rax + rcx*2]
lea rcx, [rsp + 0x68]
call fcn.1400036a0
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x14000b3f5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000b3f0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000bc6a
call fcn.140010990
movups xmm0, xmmword [rsp + 0x68]
movups xmmword [rbp - 0x78], xmm0
movups xmm1, xmmword [rsp + 0x78]
movups xmmword [rbp - 0x68], xmm1
lea r9, [rbp - 0x78]
movq rcx, xmm0
psrldq xmm1, 8
movq rax, xmm1
cmp rax, 8
cmovae r9, rcx
lea rbx, [r13 + 0x230]
mov r8, rbx
cmp qword [rbx + 0x18], 8
jb 0x14000b436
mov r8, qword [rbx]
mov eax, dword [r13 + 0x2d0]
mov dword [rsp + 0x20], eax
lea rdx, str._sWallpaper_s__d.jpg
lea rcx, [rbp - 0x10]
call qword [sym.imp.USER32.dll_wsprintfW]
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
cmp qword [rbx + 0x18], 8
jb 0x14000b46a
mov rbx, qword [rbx]
mov rcx, qword [r13 + 0x298]
add rcx, 0x400
add rcx, rdi
mov r8, rbx
lea rdx, str._sWallpaper_s_
call qword [sym.imp.USER32.dll_wsprintfW]
lea rcx, [rbp - 0x10]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14000bbf7
lea rsi, [r13 + 0x250]
mov rcx, rsi
cmp qword [rsi + 0x18], 8
jb 0x14000b4b1
mov rcx, qword [rsi]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea rbx, str.D:WorkMyASUSAbout_AsusOLEDShifterReleaseAsusOLEDShifterAsusOLEDShifterAsusOLEDShifterOLEDShifterManager.cpp
test eax, eax
jne 0x14000b69a
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r14w
xor r8d, r8d
lea rdx, [0x140045498]
lea rcx, [rsp + 0x68]
call fcn.1400036a0
nop
lea rdx, [rsp + 0x30]
call fcn.14000dfd0
mov rdi, rax
cmp qword [rax + 0x18], 8
jb 0x14000b50a
mov rdi, qword [rax]
lea r8, [0x140045498]
mov edx, 0x104
mov rcx, qword [r13 + 0x10]
call fcn.140018740
mov rax, qword [r13 + 8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
mov r9, qword [r13 + 0x10]
lea r8, [0x140045498]
mov rdx, rdi
lea rcx, str.WallpaperInfo
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov rdx, qword [r13 + 0x10]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x14000b560
lea rcx, [rsp + 0x68]
call fcn.1400036a0
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x14000b5b8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000b5b3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000bc70
call fcn.140010990
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rcx, qword [rsp + 0x68]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
jne 0x14000b659
mov rdx, rsi
cmp qword [rsi + 0x18], 8
jb 0x14000b5e4
mov rdx, qword [rsi]
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rcx, qword [rsp + 0x68]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileW]
mov edx, 0x5c
mov rcx, rbx
call fcn.14001275c
mov rcx, rbx
test rax, rax
je 0x14000b620
mov edx, 0x5c
call fcn.14001275c
lea rcx, [rax + 1]
lea rax, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rax, qword [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rax, str.Recopy_wallpaper__s
mov qword [rsp + 0x20], rax
mov r9d, 1
lea r8, str.ProcessingWallpaper
mov edx, 0x16b
call fcn.140005160
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x14000b69a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000b695
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000bc76
call fcn.140010990
mov r15, rsi
cmp qword [rsi + 0x18], 8
jb 0x14000b6a7
mov r15, qword [rsi]
mov ecx, 0x18
call qword [sym.imp.gdiplus.dll_GdipAlloc]
mov rdi, rax
test rax, rax
je 0x14000b6e8
mov qword [rax + 0x10], r14
lea rax, vtable.Gdiplus::Image.0
mov qword [rdi], rax
lea rdx, [rdi + 8]
mov qword [rdx], r14
mov rcx, r15
call qword [sym.imp.gdiplus.dll_GdipLoadImageFromFile]
mov dword [rdi + 0x10], eax
jmp 0x14000b6eb
sub rax, r8
sar rax, 1
jmp 0x14000b36b
mov rdi, r14
cmp qword [rsi + 0x18], 8
jb 0x14000b6f5
mov rsi, qword [rsi]
mov rdx, rsi
call fcn.140002650
cmp eax, 8
ja case.default.0x14000b71a
cdqe
lea r8, [0x140000000]
mov ecx, dword [r8 + rax*4 + 0xbc7c]
add rcx, r8
jmp rcx
mov edx, 0x5c
mov rcx, rbx
call fcn.14001275c
test rax, rax
je 0x14000b73f
mov edx, 0x5c
mov rcx, rbx
call fcn.14001275c
lea rbx, [rax + 1]
lea rax, str.ParsingFailed.
mov edx, 0x178
jmp 0x14000b9ce
mov edx, 0x5c
mov rcx, rbx
call fcn.14001275c
test rax, rax
je 0x14000b773
mov edx, 0x5c
mov rcx, rbx
call fcn.14001275c
lea rbx, [rax + 1]
lea r9, str.RotateNoneFlipNone.
lea r8, str.ProcessingWallpaper
mov edx, 0x17e
mov rcx, rbx
call fcn.1400050b0
xor edx, edx
mov rcx, qword [rdi + 8]
call qword [sym.imp.gdiplus.dll_GdipImageRotateFlip]
test eax, eax
je 0x14000b9e8
mov dword [rdi + 0x10], eax
jmp 0x14000b9e8
mov edx, 0x5c
mov rcx, rbx
call fcn.14001275c
test rax, rax
je 0x14000b7cd
mov edx, 0x5c
mov rcx, rbx
call fcn.14001275c
lea rbx, [rax + 1]
lea r9, str.RotateNoneFlipX.
lea r8, str.ProcessingWallpaper
mov edx, 0x185
mov rcx, rbx
call fcn.1400050b0
mov edx, 4
jmp 0x14000b790
mov edx, 0x5c
mov rcx, rbx
call fcn.14001275c
test rax, rax
je 0x14000b812
mov edx, 0x5c
mov rcx, rbx
call fcn.14001275c
lea rbx, [rax + 1]
lea r9, str.Rotate180FlipNone.
lea r8, str.ProcessingWallpaper
mov edx, 0x18c
mov rcx, rbx
call fcn.1400050b0
mov edx, 2
jmp 0x14000b790
mov edx, 0x5c
mov rcx, rbx
call fcn.14001275c
test rax, rax
je 0x14000b85a
mov edx, 0x5c
mov rcx, rbx
call fcn.14001275c
lea rbx, [rax + 1]
lea r9, str.Rotate180FlipX.
lea r8, str.ProcessingWallpaper
mov edx, 0x193
mov rcx, rbx
call fcn.1400050b0
mov edx, 6
jmp 0x14000b790
mov edx, 0x5c
mov rcx, rbx
call fcn.14001275c
test rax, rax
je 0x14000b8a2
mov edx, 0x5c
mov rcx, rbx
call fcn.14001275c
lea rbx, [rax + 1]
lea r9, str.Rotate90FlipX.
lea r8, str.ProcessingWallpaper
mov edx, 0x19a
mov rcx, rbx
call fcn.1400050b0
mov edx, 5
jmp 0x14000b790
mov edx, 0x5c
mov rcx, rbx
call fcn.14001275c
test rax, rax
je 0x14000b8ea
mov edx, 0x5c
mov rcx, rbx
call fcn.14001275c
lea rbx, [rax + 1]
lea r9, str.Rotate90FlipNone.
lea r8, str.ProcessingWallpaper
mov edx, 0x1a1
mov rcx, rbx
call fcn.1400050b0
mov edx, 1
jmp 0x14000b790
mov edx, 0x5c
mov rcx, rbx
call fcn.14001275c
test rax, rax
je 0x14000b932
mov edx, 0x5c
mov rcx, rbx
call fcn.14001275c
lea rbx, [rax + 1]
lea r9, str.Rotate270FlipX.
lea r8, str.ProcessingWallpaper
mov edx, 0x1a8
mov rcx, rbx
call fcn.1400050b0
mov edx, 7
jmp 0x14000b790
mov edx, 0x5c
mov rcx, rbx
call fcn.14001275c
test rax, rax
je 0x14000b97a
mov edx, 0x5c
mov rcx, rbx
call fcn.14001275c
lea rbx, [rax + 1]
lea r9, str.Rotate270FlipNone.
lea r8, str.ProcessingWallpaper
mov edx, 0x1af
mov rcx, rbx
call fcn.1400050b0
mov edx, 3
jmp 0x14000b790
mov edx, 0x5c
mov rcx, rbx
call fcn.14001275c
test rax, rax
je 0x14000b9c2
mov edx, 0x5c
mov rcx, rbx
call fcn.14001275c
lea rbx, [rax + 1]
lea rax, str.Unknown_Orientation_value.
mov edx, 0x1b6
mov qword [rsp + 0x20], rax
mov r9d, 2
lea r8, str.ProcessingWallpaper
mov rcx, rbx
call fcn.140005160
mov dword [rsp + 0x50], r14d
lea rdx, [rsp + 0x50]
mov rcx, qword [rdi + 8]
call qword [sym.imp.gdiplus.dll_GdipGetImageHeight]
test eax, eax
je 0x14000ba03
mov dword [rdi + 0x10], eax
mov ebx, dword [rsp + 0x50]
mov dword [rsp + 0x60], r14d
lea rdx, [rsp + 0x60]
mov rcx, qword [rdi + 8]
call qword [sym.imp.gdiplus.dll_GdipGetImageWidth]
test eax, eax
je 0x14000ba22
mov dword [rdi + 0x10], eax
mov qword [rsp + 0x58], r14
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
mov r9d, 0x26200a
xor r8d, r8d
mov edx, ebx
mov ecx, dword [rsp + 0x60]
call qword [sym.imp.gdiplus.dll_GdipCreateBitmapFromScan0]
mov qword [rsp + 0x50], r14
lea rdx, [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
call qword [sym.imp.gdiplus.dll_GdipGetImageGraphicsContext]
mov edx, 0xff000000
mov r15, qword [rsp + 0x50]
mov rcx, r15
call qword [sym.imp.gdiplus.dll_GdipGraphicsClear]
mov dword [rsp + 0x50], r14d
lea rdx, [rsp + 0x50]
mov rcx, qword [rdi + 8]
call qword [sym.imp.gdiplus.dll_GdipGetImageHeight]
test eax, eax
je 0x14000ba91
mov dword [rdi + 0x10], eax
mov ebx, dword [rsp + 0x50]
mov dword [rsp + 0x60], r14d
lea rdx, [rsp + 0x60]
mov rcx, qword [rdi + 8]
call qword [sym.imp.gdiplus.dll_GdipGetImageWidth]
test eax, eax
je 0x14000bab0
mov dword [rdi + 0x10], eax
movsxd rcx, dword [r13 + 0x2d0]
mov rax, qword [r13 + 0x2b0]
mov r9d, dword [rax + rcx*8 + 4]
mov r8d, dword [rax + rcx*8]
mov dword [rsp + 0x28], ebx
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x20], eax
mov rdx, qword [rdi + 8]
mov rcx, r15
call qword [sym.imp.gdiplus.dll_GdipDrawImageRectI]
mov dword [rsp + 0x50], r14d
mov dword [rsp + 0x60], r14d
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
call qword [sym.imp.gdiplus.dll_GdipGetImageEncodersSize]
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x14000bb93
mov ecx, eax
call fcn.14001c8a8
mov rbx, rax
test rax, rax
je 0x14000bb93
mov r8, rax
mov edx, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x50]
call qword [sym.imp.gdiplus.dll_GdipGetImageEncoders]
mov r9d, dword [rsp + 0x50]
test r9d, r9d
je 0x14000bb8b
lea r10, str.image_jpeg
nop word [rax + rax]
mov r8d, r14d
imul rax, r8, 0x68
mov rdx, qword [rax + rbx + 0x40]
mov rcx, 0xffffffffffffffff
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r10 + rcx*2 + 2]
jne 0x14000bb75
add rcx, 2
cmp rcx, 0xb
je 0x14000bb7f
movzx eax, word [rdx + rcx*2]
cmp ax, word [r10 + rcx*2]
je 0x14000bb53
inc r14d
cmp r14d, r9d
jae 0x14000bb8b
jmp 0x14000bb40
imul rax, r8, 0x68
movups xmm0, xmmword [rax + rbx]
movups xmmword [rbp - 0x28], xmm0
mov rcx, rbx
call fcn.1400170e8
mov dword [rbp - 0x58], 0x64
mov dword [rbp - 0x50], 1
movups xmm0, xmmword [0x1400389e0]
movups xmmword [rbp - 0x48], xmm0
mov dword [rbp - 0x34], 4
mov dword [rbp - 0x38], 1
lea rax, [rbp - 0x58]
mov qword [rbp - 0x30], rax
lea r9, [rbp - 0x50]
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x10]
mov rcx, rsi
call qword [sym.imp.gdiplus.dll_GdipSaveImageToFile]
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [rax]
mov rcx, r15
call qword [sym.imp.gdiplus.dll_GdipDeleteGraphics]
mov rcx, rsi
call qword [sym.imp.gdiplus.dll_GdipDisposeImage]
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x14000bc33
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000bc2e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000bc5e
call fcn.140010990
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.140010720
lea r11, [rsp + 0x310]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rbp
ret
call fcn.14001750c
nop
call fcn.14000eaa0
nop
call fcn.14001750c
nop
call fcn.14001750c
nop
call fcn.14001750c
int3