Function at 0x140003890
Capabilities:
Accept command line arguments
Move file

Disassembly:
push rbp
push rsi
push r12
push r13
push r15
lea rbp, [rsp - 0x1c0]
sub rsp, 0x2c0
mov r15d, r9d
mov r12, r8
mov r13, rdx
mov rsi, rcx
call fcn.140041230
mov dword [0x1400da4a4], eax
call qword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov rcx, rax
lea rdx, str.PopUpReboot
call fcn.1400512d4
test rax, rax
je 0x140003909
call fcn.14000cc90
test eax, eax
je 0x1400038f2
mov ecx, 0x2710
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.140024460
call fcn.14000a580
xor eax, eax
add rsp, 0x2c0
pop r15
pop r13
pop r12
pop rsi
pop rbp
ret
call qword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov rcx, rax
lea rdx, str.UninstallPciFilter
call fcn.1400512d4
test rax, rax
je 0x140003948
call fcn.14000cc20
test eax, eax
je 0x140003931
call fcn.14002eda0
call fcn.14000a570
xor eax, eax
add rsp, 0x2c0
pop r15
pop r13
pop r12
pop rsi
pop rbp
ret
mov qword [rsp + 0x2f0], rbx
mov qword [rsp + 0x2f8], rdi
mov qword [rsp + 0x300], r14
xor r14d, r14d
mov ebx, r14d
call qword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov rcx, rax
lea edx, [r14 + 0x20]
mov rdi, rax
call fcn.1400510fc
test rax, rax
je 0x140003ab7
lea rcx, [rax + 1]
mov byte [rax], bl
call fcn.14005e46c
lea rdx, str.Rescan
mov rcx, rdi
mov r14, rax
call fcn.1400512d4
test rax, rax
je 0x140003aac
call fcn.14000cd10
test eax, eax
je 0x140003aa2
xor eax, eax
mov r9d, 6
mov qword [rsp + 0x60], rax
xor r8d, r8d
movzx eax, r14b
xor edx, edx
mov dword [rsp + 0x68], eax
xor ecx, ecx
mov eax, r14d
shr r14d, 0x10
shr eax, 8
movzx eax, al
mov dword [rsp + 0x64], eax
movzx eax, r14b
mov dword [rsp + 0x60], eax
call qword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsA]
xor edx, edx
lea rcx, [rsp + 0x60]
mov rbx, rax
call fcn.14001fbe0
cmp eax, 2
je 0x140003a26
test eax, eax
je 0x140003a64
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.14001fbe0
cmp eax, 2
jne 0x140003a06
mov ecx, 0x1b58
call qword [sym.imp.KERNEL32.dll_Sleep]
xor edx, edx
lea rcx, [rbp - 0x40]
mov r8d, 0x200
call fcn.1400514f0
mov r8d, 0x200
lea rdx, [rbp - 0x40]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xor edx, edx
lea rcx, [rbp - 0x40]
lea r8d, [rdx + 4]
call qword [sym.imp.KERNEL32.dll_MoveFileExA]
mov rcx, rbx
call qword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
call fcn.140041fe0
mov edx, 1
lea rcx, [rsp + 0x60]
call fcn.14001f100
test eax, eax
jne 0x140003aa2
mov rcx, qword [0x1400da5d8]
test rcx, rcx
je 0x140003aa2
lea r8, str.FindAndPnPStartStopAudioController:__fail_to_start_HD_audio_controller._n
mov edx, 0x200
call fcn.140040750
call fcn.14000a5a0
mov ebx, 1
test ebx, ebx
jne 0x140003e00
xor r14d, r14d
mov r9d, r15d
mov r8, r12
mov rdx, r13
mov rcx, rsi
call fcn.140037260
test eax, eax
jne 0x140003e00
mov r9d, r15d
mov r8, r12
mov rdx, r13
mov rcx, rsi
call fcn.14003a260
test eax, eax
jne 0x140003e00
call fcn.14000bd60
test eax, eax
je 0x140003dfb
movdqa xmm1, xmmword [0x1400a6650]
lea rax, [0x140002e40]
xorps xmm0, xmm0
mov qword [rsp + 0x78], rax
lea rdi, str.AMD_EEU_Client
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rsp + 0x70]
movdqa xmmword [rbp - 0x60], xmm1
mov qword [rbp - 0x50], rdi
mov rbx, r14
mov dword [rsp + 0x70], r14d
mov qword [rbp - 0x80], 0
mov qword [rbp - 0x78], rsi
call qword [sym.imp.USER32.dll_RegisterClassA]
test ax, ax
je 0x140003bb8
mov qword [rsp + 0x58], r14
mov r9d, 0x80000000
mov qword [rsp + 0x50], rsi
mov r8, rdi
mov qword [rsp + 0x48], r14
mov rdx, rdi
mov qword [rsp + 0x40], r14
mov ecx, 0x80
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov rbx, rax
test rax, rax
je 0x140003ba3
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, rbx
call qword [sym.imp.USER32.dll_UpdateWindow]
jmp 0x140003bdb
mov rcx, qword [0x1400da5d8]
test rcx, rcx
je 0x140003bdb
lea r9, str.CreateWindowEx_failed.
jmp 0x140003bcb
mov rcx, qword [0x1400da5d8]
test rcx, rcx
je 0x140003bdb
lea r9, str.RegisterClass_failed.
mov r8d, 1
mov edx, 0x60004002
call fcn.140040490
mov qword [0x1400da388], rbx
test rbx, rbx
je 0x140003dfb
xor edx, edx
mov rcx, rbx
mov edi, 1
call sub.WTSAPI32.dll_WTSRegisterSessionNotification
test eax, eax
jne 0x140003c21
mov rcx, qword [0x1400da5d8]
test rcx, rcx
je 0x140003c1e
lea r9, str.WTSRegisterSessionNotification_failed.
mov edx, 0x60004002
mov r8d, edi
call fcn.140040490
mov edi, r14d
movups xmm0, xmmword [0x1400a3b30]
lea r8, [0x1400da3a0]
mov rcx, rbx
lea rdx, [rsp + 0x60]
movaps xmmword [rsp + 0x60], xmm0
call fcn.140040fa0
test eax, eax
jne 0x140003c68
mov rcx, qword [0x1400da5d8]
test rcx, rcx
je 0x140003c65
lea r9, str.RegisterDeviceInterface_Monitor_failed_n
xor r8d, r8d
mov edx, 0x60004002
call fcn.140040490
mov edi, r14d
movups xmm0, xmmword [0x1400a3b40]
lea r8, [0x1400da3a8]
mov rcx, rbx
lea rdx, [rsp + 0x60]
movaps xmmword [rsp + 0x60], xmm0
call fcn.140040fa0
test eax, eax
jne 0x140003caf
mov rcx, qword [0x1400da5d8]
test rcx, rcx
je 0x140003cac
lea r9, str.RegisterDeviceInterface_Adapter_failed_n
xor r8d, r8d
mov edx, 0x60004002
call fcn.140040490
mov edi, r14d
mov rcx, rbx
call fcn.140042f00
mov dword [0x1400da390], eax
call fcn.140031c50
test eax, eax
jne 0x140003ce6
mov rcx, qword [0x1400da5d8]
test rcx, rcx
je 0x140003ce6
lea r9, str.HookWindowEvents_failed_n
xor r8d, r8d
mov edx, 0x60004002
call fcn.140040490
test edi, edi
je 0x140003dfb
mov edx, 1
mov qword [0x1400da398], rsi
mov ecx, 0x460
call qword [sym.imp.USER32.dll_ChangeWindowMessageFilter]
mov edx, 1
mov ecx, 0x461
call qword [sym.imp.USER32.dll_ChangeWindowMessageFilter]
mov edx, 1
mov ecx, 0x462
call qword [sym.imp.USER32.dll_ChangeWindowMessageFilter]
mov rcx, qword [0x1400da388]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8000
call qword [sym.imp.USER32.dll_PostMessageA]
xor r9d, r9d
lea rcx, [rsp + 0x70]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x140003d76
lea rcx, [rsp + 0x70]
call qword [sym.imp.USER32.dll_DispatchMessageA]
xor r9d, r9d
lea rcx, [rsp + 0x70]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
jne 0x140003d54
mov rcx, qword [0x1400da5d8]
test rcx, rcx
je 0x140003d93
lea r8, str.Client_exiting.
mov edx, 0x100
call fcn.140040750
mov rcx, qword [0x1400da3a0]
call fcn.140041170
mov rcx, qword [0x1400da3a8]
call fcn.140041170
call fcn.140031d50
mov rcx, qword [0x1400da3d0]
test rcx, rcx
je 0x140003dc9
call qword [sym.imp.USER32.dll_UnregisterPowerSettingNotification]
mov qword [0x1400da3d0], r14
mov rcx, qword [0x1400da3d8]
test rcx, rcx
je 0x140003de2
call qword [sym.imp.USER32.dll_UnregisterPowerSettingNotification]
mov qword [0x1400da3d8], r14
mov rcx, qword [0x1400da3e0]
test rcx, rcx
je 0x140003dfb
call qword [sym.imp.USER32.dll_UnregisterSuspendResumeNotification]
mov qword [0x1400da3e0], r14
call fcn.14000a480
mov rdi, qword [rsp + 0x2f8]
xor eax, eax
mov rbx, qword [rsp + 0x2f0]
mov r14, qword [rsp + 0x300]
add rsp, 0x2c0
pop r15
pop r13
pop r12
pop rsi
pop rbp
ret