Function at 0x140001000
Capabilities:
Accept command line arguments

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xf8
xor eax, eax
mov dword [rsp + 0x64], eax
lea rdi, [rsp + 0x94]
lea r13, [rsp + 0x78]
call qword [sym.imp.KERNEL32.DLL_GetCommandLineW]
lea rdx, [rsp + 0x64]
mov rcx, rax
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
xor r8d, r8d
xor edx, edx
mov r9d, 0x12
mov rsi, rax
lea rcx, [0x1400028d0]
call qword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsW]
mov ecx, 7
xor edx, edx
or r9d, 0xffffffff
mov qword [rsp + 0x50], rax
xor eax, eax
lea r8, str._Enable
rep stosd dword [rdi], eax
mov ecx, 0x10
lea rdi, [rsp + 0xb0]
mov qword [rsp + 0x6c], rdx
rep stosd dword [rdi], eax
lea rdi, [rsp + 0x78]
mov ecx, 6
or edx, 0xffffffff
rep stosd dword [rdi], eax
xor ecx, ecx
mov dword [rsp + 0x68], 1
mov rdi, qword [sym.imp.KERNEL32.DLL_CompareStringOrdinal]
mov dword [rsp + 0x74], ecx
mov rcx, qword [rsi + 8]
mov dword [rsp + 0x90], 0x20
mov dword [rsp + 0x20], 1
call rdi
mov ebx, eax
cmp eax, 2
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x58], rax
jne 0x1400010f1
cmp ebx, 2
mov r14, qword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
lea r15, str..PHYSICALDRIVE_d
sete r12b
xor edi, edi
jmp 0x140001271
mov rcx, qword [rsi + 8]
or r9d, 0xffffffff
or edx, 0xffffffff
mov dword [rsp + 0x20], 1
lea r8, str._Disable
call rdi
cmp eax, 2
jne 0x14000128e
jmp 0x1400010d5
xor eax, eax
xor r9d, r9d
mov rcx, qword [rsp + 0x50]
mov r8d, 0x20
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x68]
mov rdx, rbx
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyW]
mov rcx, qword [rsp + 0x58]
mov r8d, edi
mov rdx, r15
call qword [sym.imp.USER32.dll_wsprintfW]
xor eax, eax
xor r9d, r9d
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov r8d, 3
mov edx, 0xc0000000
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.DLL_CreateFileW]
cmp dword [rsp + 0x68], 1
mov qword [rsp + 0x48], rax
jne 0x140001264
xor edx, edx
mov rbp, qword [sym.imp.KERNEL32.DLL_DeviceIoControl]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x38], rdx
mov rcx, rax
lea rbx, [rsp + 0x6c]
mov qword [rsp + 0x30], rdx
mov edx, 0x740d4
mov dword [rsp + 0x28], 0x18
mov qword [rsp + 0x20], r13
call rbp
xor ecx, ecx
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x38], rcx
mov edx, 0x740e0
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x28], 0xc
mov qword [rsp + 0x20], rbx
call rbp
xor r8d, r8d
xor r9d, r9d
xor r10d, r10d
mov qword [rsp + 0x38], r8
mov rcx, qword [rsp + 0x48]
mov edx, 0x7c0d8
mov qword [rsp + 0x30], r8
mov r8, r13
mov dword [rsp + 0x28], r9d
mov r9d, 0x18
mov byte [rsp + 0x7a], r12b
mov byte [rsp + 0x74], r12b
mov qword [rsp + 0x20], r10
call rbp
xor eax, eax
xor r11d, r11d
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x28], eax
xor eax, eax
mov r8, rbx
mov edx, 0x7c0e4
mov qword [rsp + 0x38], r11
mov r9d, 0xc
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x20], rax
call rbp
mov rcx, qword [rsp + 0x48]
inc edi
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
lea rbx, [rsp + 0x90]
mov rcx, qword [rsp + 0x50]
mov edx, edi
mov r8, rbx
call r14
test eax, eax
jne 0x140001118
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
mov rcx, rsi
call qword [sym.imp.KERNEL32.DLL_LocalFree]
xor eax, eax
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret