Function at 0x140004480
Capabilities:
Check mutex on windows
Create thread

Disassembly:
push rbp
push rbx
push rsi
push r14
lea rbp, [rsp - 0x3f]
sub rsp, 0xd8
mov rax, qword [0x140026620]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rbx, r8
mov r14, rcx
lea r8, str.ASUSCONFIGURE
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x1400044d7
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x140004a90
mov qword [rsp + 0x108], rdi
mov qword [rsp + 0xd0], r12
lea rcx, str.AsusSGPlusMsg
mov qword [rsp + 0xc8], r13
mov qword [0x14003efa0], r14
mov qword [rsp + 0xc0], r15
call qword [sym.imp.USER32.dll_RegisterWindowMessageW]
mov dword [0x14003ef98], eax
call fcn.1400063d0
lea rcx, str.InstallModel
call fcn.140006490
lea rcx, str.HandWritingSetting
mov dword [0x14003ef94], eax
call fcn.140006490
xor edx, edx
mov rcx, r14
mov dword [0x14003f8e8], eax
call qword [sym.imp.AsusTPApi.dll_CreateTPSrv]
call qword [sym.imp.AsusTPApi.dll_GetPTPType]
mov ecx, dword [0x14002c6e4]
xor r13d, r13d
test eax, eax
cmove ecx, r13d
mov dword [0x14002c6e4], ecx
call fcn.14000f730
test eax, eax
je 0x140004593
cmp eax, 5
je 0x14000457d
cmp eax, 6
jne 0x140004593
mov dword [0x14003ef90], 1
mov dword [0x14003f9b8], 5
mov dword [0x14003ef9c], 1
jmp 0x14000459d
mov dword [0x14003f9b8], 7
call fcn.14000a850
mov rcx, rbx
call qword [sym.imp.MSVCR110.dll_atoi]
mov ebx, eax
call qword [sym.imp.AsusTPApi.dll_IsVirtualDriver]
mov dword [0x14003f8c8], eax
cmp ebx, 1
je 0x1400045c2
test eax, eax
je 0x1400045cc
mov dword [0x14002c6e8], 7
mov ebx, 1
mov ecx, ebx
call fcn.140006630
lea r9, [0x1400017d0]
lea edx, [rbx + 0x66]
xor r8d, r8d
mov rcx, r14
mov qword [rsp + 0x20], r13
call qword [sym.imp.USER32.dll_CreateDialogParamW]
lea rdx, [0x140015630]
mov rcx, rax
mov r15, rax
call qword [sym.imp.USER32.dll_SetWindowTextW]
lea r9d, [rbx + 0x1f]
lea edx, [rbx + 0x6a]
mov r8d, ebx
mov rcx, r14
mov dword [rsp + 0x28], 0x4000
mov dword [rsp + 0x20], 0x20
call qword [sym.imp.USER32.dll_LoadImageW]
lea edx, [rbx + 0x7f]
mov r8d, ebx
mov rcx, r15
mov r9, rax
call qword [sym.imp.USER32.dll_SendMessageW]
xor edx, edx
mov rcx, r15
mov qword [0x14003f9e0], r15
call qword [sym.imp.WTSAPI32.dll_WTSRegisterSessionNotification]
lea r9, [0x140001a50]
mov r8, r15
mov edx, 0x81
mov rcx, r14
mov qword [rsp + 0x20], r13
call qword [sym.imp.USER32.dll_CreateDialogParamW]
mov edi, 2
mov r9d, edi
mov r8b, 0xff
xor edx, edx
mov rcx, rax
mov r12, rax
mov qword [0x14003f9d8], rax
call qword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, ebx
mov dword [0x14003fa00], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov edx, dword [0x14003e6f4]
cmp dword [0x14003fa00], eax
mov dword [0x14003fa04], eax
cmovl edx, r13d
cmp dword [0x14003fa00], 0xf00
mov dword [0x14003e6f4], edx
jl 0x1400046e8
cmp eax, 0x870
jl 0x1400046e8
movss xmm0, dword [0x140019544]
mov dword [0x14003fcc0], r13d
movss dword [0x14003f9f8], xmm0
jmp 0x1400046ee
mov dword [0x14003fcc0], ebx
lea rdx, [rbp - 0x41]
lea rcx, [0x14003fd18]
xor r8d, r8d
mov dword [rbp - 0x41], ebx
mov qword [rbp - 0x39], r13
mov qword [rbp - 0x31], r13
call qword [sym.imp.gdiplus.dll_GdiplusStartup]
cmp dword [0x14003fcc0], ebx
jne 0x14000471f
call fcn.1400077c0
jmp 0x1400047b8
mov ecx, 0x18
call qword [sym.imp.gdiplus.dll_GdipAlloc]
mov rbx, rax
test rax, rax
je 0x14000475e
lea rax, vtable.Gdiplus::Bitmap.0
lea rdx, [rbp - 0x51]
lea rcx, str.._.._image_common_touchpad_window.png
mov qword [rbx], rax
mov qword [rbp - 0x51], r13
call qword [sym.imp.gdiplus.dll_GdipCreateBitmapFromFile]
mov rcx, qword [rbp - 0x51]
mov dword [rbx + 0x10], eax
mov qword [rbx + 8], rcx
jmp 0x140004761
mov rbx, r13
mov rcx, qword [rbx + 8]
lea rdx, [rbp - 0x59]
mov qword [0x14003f9f0], rbx
mov dword [rbp - 0x59], r13d
call qword [sym.imp.gdiplus.dll_GdipGetImageWidth]
test eax, eax
je 0x140004781
mov dword [rbx + 0x10], eax
mov rbx, qword [0x14003f9f0]
mov eax, dword [rbp - 0x59]
lea rdx, [rbp - 0x55]
mov rcx, qword [rbx + 8]
mov dword [0x14003fa10], eax
mov dword [rbp - 0x55], r13d
call qword [sym.imp.gdiplus.dll_GdipGetImageHeight]
test eax, eax
je 0x1400047aa
mov dword [rbx + 0x10], eax
mov eax, dword [rbp - 0x55]
mov ebx, 1
mov dword [0x14003fa08], eax
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
mov cl, 1
call fcn.1400126a0
mov dword [0x14003ef84], eax
call fcn.1400127c0
lea rcx, str...language_
call fcn.140012810
mov ecx, dword [0x14003ef84]
call fcn.140012830
call fcn.140006e90
call fcn.140008100
test eax, eax
jne 0x140004825
lea r8, str.Error
lea rdx, str.Failed_to_load_image_files_
xor r9d, r9d
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.140006ad0
xor eax, eax
jmp 0x140004a70
call fcn.140009c00
mov rcx, qword [0x14003f9d8]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_InvalidateRect]
mov dword [rsp + 0x30], 0x40
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r15
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
call qword [sym.imp.USER32.dll_SetWindowPos]
call fcn.14000aa80
mov rcx, r14
call fcn.1400060d0
mov rcx, qword [0x14003f9d8]
mov edx, 0xfffffff0
call qword [sym.imp.USER32.dll_GetWindowLongW]
mov rcx, qword [0x14003f9d8]
mov edx, 0xfffffff0
bts eax, 0x19
mov r8d, eax
call qword [sym.imp.USER32.dll_SetWindowLongW]
mov eax, dword [0x14002c6e8]
mov qword [0x14003fd20], r13
mov qword [0x14003fd28], r13
mov qword [0x14003fd30], r13
mov qword [0x14003fd38], r13
mov qword [0x14003fd40], r13
mov qword [0x14003fd48], r13
cmp eax, 7
jne 0x140004906
mov dword [0x14003e6f0], ebx
mov dword [0x1400266d4], 0x6a
mov eax, dword [0x1400266d4]
mov dword [0x1400266d8], eax
mov dword [0x1400266d0], 7
mov eax, dword [0x1400266d0]
mov edi, dword [0x14003e6f0]
mov dword [0x14002c6e8], eax
jmp 0x140004952
mov eax, dword [0x14003f9b8]
cmp eax, 7
jne 0x140004940
cmp dword [0x14002c6e4], r13d
je 0x140004936
mov dword [0x14003e6f0], edi
mov dword [0x1400266d8], 0x65
mov dword [0x1400266d4], 0x65
jmp 0x140004952
mov edi, ebx
mov dword [0x14003e6f0], ebx
jmp 0x140004952
mov edi, dword [0x14003e6f0]
cmp eax, 5
cmove edi, ebx
mov dword [0x14003e6f0], edi
mov edx, ebx
mov ecx, edi
call fcn.140006240
lea rax, [rbp - 0x49]
lea r8, [0x140006050]
mov qword [rsp + 0x28], rax
xor r9d, r9d
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], r13d
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, r15
call fcn.14000a650
lea rdx, [rbp + 7]
mov rcx, r15
call qword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [rbp + 0x13]
mov r9d, dword [rbp + 0xb]
mov r8d, dword [rbp + 7]
mov eax, dword [rbp + 0xf]
sub ecx, r9d
sub ecx, 0x14
sub eax, r8d
mov dword [rsp + 0x30], 0x40
mov dword [rsp + 0x28], ecx
sub eax, 0x14
add r9d, 0xa
add r8d, 0xa
xor edx, edx
mov rcx, r12
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_SetWindowPos]
lea r8, [0x140001760]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], r13
mov byte [0x14003f9cc], 1
mov dword [rsp + 0x20], r13d
call qword [sym.imp.KERNEL32.dll_CreateThread]
lea rcx, [rbp - 0x29]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov qword [0x14003ef88], rax
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x140004a59
cmp eax, 0xffffffff
je 0x140004aa9
mov rcx, qword [0x14003f9e0]
lea rdx, [rbp - 0x29]
call qword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
jne 0x140004a43
lea rcx, [rbp - 0x29]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp - 0x29]
call qword [sym.imp.USER32.dll_DispatchMessageW]
lea rcx, [rbp - 0x29]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jne 0x140004a11
call qword [sym.imp.ole32.dll_CoUninitialize]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.140006ad0
mov eax, dword [rbp - 0x19]
mov r13, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0x108]
mov r15, qword [rsp + 0xc0]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.140012ce0
add rsp, 0xd8
pop r14
pop rsi
pop rbx
pop rbp
ret
or eax, 0xffffffff
jmp 0x140004a70