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

Disassembly:
push rbp
push r14
lea rbp, [rsp - 0x1c8]
sub rsp, 0x2c8
mov r14, rcx
call fcn.140032f10
mov dword [0x1400b8134], eax
call qword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov rcx, rax
lea rdx, str.PopUpReboot
call fcn.14003a868
test rax, rax
je 0x140002cbf
call fcn.14000a720
test eax, eax
je 0x140002cad
mov ecx, 0x7d0
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x1400b8134], 7
jge 0x140002cad
call fcn.140020630
call fcn.140008d20
xor eax, eax
add rsp, 0x2c8
pop r14
pop rbp
ret
call qword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov rcx, rax
lea rdx, str.UninstallPciFilter
call fcn.14003a868
test rax, rax
je 0x140002cf9
call fcn.14000a6b0
test eax, eax
je 0x140002ce7
call fcn.14002aef0
call fcn.140008d10
xor eax, eax
add rsp, 0x2c8
pop r14
pop rbp
ret
mov qword [rsp + 0x2e0], rbx
mov qword [rsp + 0x2f0], rdi
mov qword [rsp + 0x2c0], r15
xor r15d, r15d
mov ebx, r15d
call qword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov rcx, rax
lea edx, [r15 + 0x20]
mov rdi, rax
call fcn.14003a690
test rax, rax
je 0x140002e76
lea rcx, [rax + 1]
mov qword [rsp + 0x2e8], rsi
mov byte [rax], bl
call fcn.1400479fc
lea rdx, str.Rescan
mov rcx, rdi
mov rsi, rax
call fcn.14003a868
test rax, rax
je 0x140002e66
call fcn.14000a7a0
test eax, eax
je 0x140002e5c
xor eax, eax
lea r9d, [r15 + 6]
mov qword [rsp + 0x60], rax
xor r8d, r8d
movzx eax, sil
xor edx, edx
mov dword [rsp + 0x68], eax
xor ecx, ecx
mov eax, esi
shr esi, 0x10
shr eax, 8
movzx eax, al
mov dword [rsp + 0x64], eax
movzx eax, sil
mov dword [rsp + 0x60], eax
call qword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsA]
xor edx, edx
lea rcx, [rsp + 0x60]
mov rbx, rax
call fcn.14001bea0
cmp eax, 2
je 0x140002de0
nop dword [rax + rax]
test eax, eax
je 0x140002e1e
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.14001bea0
cmp eax, 2
jne 0x140002dc0
mov ecx, 0x1b58
call qword [sym.imp.KERNEL32.dll_Sleep]
xor edx, edx
lea rcx, [rbp - 0x40]
mov r8d, 0x200
call fcn.14003aa80
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.1400335c0
mov edx, 1
lea rcx, [rsp + 0x60]
call fcn.14001b610
test eax, eax
jne 0x140002e5c
mov rcx, qword [0x1400b80b8]
test rcx, rcx
je 0x140002e5c
lea r8, str.FindAndPnPStartStopAudioController:__fail_to_start_HD_audio_controller._n
mov edx, 0x200
call fcn.140032710
call fcn.140008d40
mov ebx, 1
mov rsi, qword [rsp + 0x2e8]
test ebx, ebx
jne 0x14000315a
call fcn.140009ef0
test eax, eax
je 0x140003155
movdqa xmm1, xmmword [0x14008d050]
lea rax, [0x140002320]
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, r15
mov dword [rsp + 0x70], r15d
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], r14
call qword [sym.imp.USER32.dll_RegisterClassA]
test ax, ax
je 0x140002f41
mov qword [rsp + 0x58], r15
mov r9d, 0x80000000
mov qword [rsp + 0x50], r14
mov r8, rdi
mov qword [rsp + 0x48], r15
mov rdx, rdi
mov qword [rsp + 0x40], r15
mov ecx, 0x80
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov rbx, rax
test rax, rax
je 0x140002f2c
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, rbx
call qword [sym.imp.USER32.dll_UpdateWindow]
jmp 0x140002f64
mov rcx, qword [0x1400b80b8]
test rcx, rcx
je 0x140002f64
lea r9, str.CreateWindowEx_failed.
jmp 0x140002f54
mov rcx, qword [0x1400b80b8]
test rcx, rcx
je 0x140002f64
lea r9, str.RegisterClass_failed.
mov r8d, 1
mov edx, 0x60004002
call fcn.1400324f0
mov qword [0x1400b8048], rbx
test rbx, rbx
je 0x140003155
xor edx, edx
mov rcx, rbx
mov edi, 1
call sub.WTSAPI32.dll_WTSRegisterSessionNotification
test eax, eax
jne 0x140002faa
mov rcx, qword [0x1400b80b8]
test rcx, rcx
je 0x140002fa7
lea r9, str.WTSRegisterSessionNotification_failed.
mov edx, 0x60004002
mov r8d, edi
call fcn.1400324f0
mov edi, r15d
movups xmm0, xmmword [0x140089b70]
lea r8, [0x1400b8060]
mov rcx, rbx
lea rdx, [rsp + 0x60]
movaps xmmword [rsp + 0x60], xmm0
call fcn.140032c90
test eax, eax
jne 0x140002ff1
mov rcx, qword [0x1400b80b8]
test rcx, rcx
je 0x140002fee
lea r9, str.RegisterDeviceInterface_Monitor_failed_n
xor r8d, r8d
mov edx, 0x60004002
call fcn.1400324f0
mov edi, r15d
movups xmm0, xmmword [0x140089b80]
lea r8, [0x1400b8068]
mov rcx, rbx
lea rdx, [rsp + 0x60]
movaps xmmword [rsp + 0x60], xmm0
call fcn.140032c90
test eax, eax
jne 0x140003038
mov rcx, qword [0x1400b80b8]
test rcx, rcx
je 0x140003035
lea r9, str.RegisterDeviceInterface_Adapter_failed_n
xor r8d, r8d
mov edx, 0x60004002
call fcn.1400324f0
mov edi, r15d
mov rcx, rbx
call fcn.1400344d0
mov dword [0x1400b8050], eax
call fcn.14002bcf0
test eax, eax
jne 0x14000306f
mov rcx, qword [0x1400b80b8]
test rcx, rcx
je 0x14000306f
lea r9, str.HookWindowEvents_failed_n
xor r8d, r8d
mov edx, 0x60004002
call fcn.1400324f0
test edi, edi
je 0x140003155
mov edx, 1
mov qword [0x1400b8058], r14
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 [0x1400b8048]
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 0x140003102
nop dword [rax]
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 0x1400030e0
mov rcx, qword [0x1400b80b8]
test rcx, rcx
je 0x14000311f
lea r8, str.Client_exiting.
mov edx, 0x100
call fcn.140032710
mov rcx, qword [0x1400b8060]
call fcn.140032e50
mov rcx, qword [0x1400b8068]
call fcn.140032e50
call fcn.14002bdf0
mov rcx, qword [0x1400b8080]
test rcx, rcx
je 0x140003155
call qword [sym.imp.USER32.dll_UnregisterPowerSettingNotification]
mov qword [0x1400b8080], r15
call fcn.140008bb0
mov rdi, qword [rsp + 0x2f0]
xor eax, eax
mov rbx, qword [rsp + 0x2e0]
mov r15, qword [rsp + 0x2c0]
add rsp, 0x2c8
pop r14
pop rbp
ret