Function at 0x140045020
Capabilities:
Get storage device properties
Reference wmi statements

Disassembly:
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1ff0
call fcn.1400722a0
sub rsp, rax
mov qword [rsp + 0x598], 0xfffffffffffffffe
mov qword [rsp + 0x2028], rbx
mov qword [rsp + 0x2030], rsi
mov rax, qword [0x14009a008]
xor rax, rsp
mov qword [rsp + 0x1fe0], rax
mov rsi, rcx
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0x2b8], rcx
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rcx
xor r15d, r15d
mov dword [rsp + 0x88], r15d
mov qword [rsp + 0xf0], r15
mov dword [rcx + 0x1c8], r8d
mov qword [rcx + 0x1cc], r15
mov r13d, 1
mov dword [rcx + 0x1d4], r13d
mov dword [rsp + 0x98], r15d
mov qword [rcx + 0x1e0], r15
lea rax, vtable.CArray_struct_CAtaSmart::DISK_POSITION__struct_CAtaSmart::DISK_POSITION_.0
mov qword [rsp + 0x8a8], rax
mov qword [rsp + 0x8b0], r15
mov qword [rsp + 0x8c8], r15
mov qword [rsp + 0x8c0], r15
mov qword [rsp + 0x8b8], r15
cmp qword [rcx + 0x10], r15
je 0x140045139
mov ebx, r15d
cmp qword [rcx + 0x18], rbx
jle 0x14004512b
mov eax, r15d
nop word [rax + rax]
imul rcx, rax, 0x1928
add rcx, qword [rsi + 0x10]
call fcn.14004ec20
inc ebx
movsxd rax, ebx
cmp rax, qword [rsi + 0x18]
jl 0x140045110
mov rcx, qword [rsi + 0x10]
call qword [0x140077aa8]
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x20], r15
mov qword [rsi + 0x18], r15
cmp qword [rsi + 0x38], 0
je 0x14004517e
mov ebx, r15d
cmp qword [rsi + 0x40], rbx
jle 0x140045170
mov rax, r15
shl rax, 4
add rax, qword [rsi + 0x38]
mov rcx, rax
call qword [0x140077f38]
inc ebx
movsxd rax, ebx
cmp rax, qword [rsi + 0x40]
jl 0x140045154
mov rcx, qword [rsi + 0x38]
call qword [0x140077aa8]
mov qword [rsi + 0x38], r15
mov qword [rsi + 0x48], r15
mov qword [rsi + 0x40], r15
lea rcx, [rsi + 0xd0]
lea rdx, [0x140079cd4]
call qword [0x140077c68]
lea rcx, [rsi + 0xd8]
or r8, 0xffffffffffffffff
xor edx, edx
call qword [0x140077e80]
lea rcx, [rsi + 0x100]
or r8, 0xffffffffffffffff
xor edx, edx
call qword [0x140077e80]
lea rcx, [rsi + 0x128]
or r8, 0xffffffffffffffff
xor edx, edx
call qword [0x140077e80]
lea rcx, [rsi + 0x150]
or r8, 0xffffffffffffffff
xor edx, edx
call qword [0x140077e80]
mov rcx, qword [rsi + 0x180]
test rcx, rcx
je 0x1400451ff
call qword [0x140077aa8]
mov qword [rsi + 0x180], r15
mov qword [rsi + 0x190], r15
mov qword [rsi + 0x188], r15
mov dword [rsp + 0xb0], r15d
mov rcx, qword [rsi + 0x1a8]
test rcx, rcx
je 0x14004522e
call qword [0x140077aa8]
mov qword [rsi + 0x1a8], r15
mov qword [rsi + 0x1b8], r15
mov qword [rsi + 0x1b0], r15
xor edx, edx
mov r8d, 0x400
lea rcx, [rsp + 0x9d0]
call fcn.1400721ae
mov dword [rsp + 0x6b0], r13d
mov qword [rsp + 0x5f8], r15
mov qword [rsp + 0x5f0], r15
mov qword [rsp + 0x5c8], r15
mov qword [rsp + 0x5d0], r15
mov qword [rsp + 0x5c0], r15
lea rdx, str.CAtaSmart::Init_WMI_on___Start
lea rcx, [rsp + 0x2d8]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
call fcn.140044b10
test al, al
jne 0x14004536b
lea rdx, str.Waiting..._Winmgmt
lea rcx, [rsp + 0x2e0]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
xor eax, eax
mov qword [rsp + 0x930], rax
mov qword [rsp + 0x938], rax
mov qword [rsp + 0x940], rax
mov qword [rsp + 0x948], rax
mov qword [rsp + 0x950], rax
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x930]
call qword [0x1400772c0]
test eax, eax
jne 0x140045327
call qword [0x140077298]
test eax, eax
jle 0x14004531d
movzx eax, ax
or eax, 0x80070000
test eax, eax
jns 0x140045327
mov ecx, eax
call fcn.1400446b0
int3
mov byte [rsp + 0x928], 0
call fcn.140044830
movzx ebx, al
lea rcx, [rsp + 0x930]
call qword [0x140077288]
test bl, bl
jne 0x14004536b
lea rdx, str.NG:WMI_Init_3
lea rcx, [rsp + 0x2e8]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
jmp 0x14004565b
lea rdx, str.CoInitializeSecurity__
lea rcx, [rsp + 0x2f0]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x38], r15d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
or edx, 0xffffffff
xor ecx, ecx
call qword [0x140077f68]
lea rdx, str.CoCreateInstance__
lea rcx, [rsp + 0x2f8]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
lea rax, [rsp + 0x5f8]
mov qword [rsp + 0x20], rax
lea r9, [0x140078270]
mov r8d, r13d
xor edx, edx
lea rcx, [0x140078260]
call qword [0x140077f78]
test eax, eax
jns 0x14004541e
lea rdx, str.NG:WMI_Init_1
lea rcx, [rsp + 0x300]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
jmp 0x14004564a
xor r8d, r8d
xor edx, edx
mov cx, 6
call fcn.140061580
mov edi, r15d
mov r12d, pe_nt_image_headers64
test eax, eax
cmovne edi, r12d
lea rdx, str.ConnectServer__
lea rcx, [rsp + 0x308]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
lea ecx, [r12 - 0x68]
call qword [0x140077aa0]
mov rbx, rax
mov qword [rsp + 0xb8], rax
test rax, rax
je 0x1400454a3
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r15
mov dword [rbx + 0x10], r13d
lea rcx, str.._rootcimv2
call qword [0x140077398]
mov qword [rbx], rax
test rax, rax
jne 0x1400454a6
mov ecx, 0x8007000e
call fcn.140071fd0
mov rbx, r15
mov qword [rsp + 0x590], rbx
test rbx, rbx
jne 0x1400454be
mov ecx, 0x8007000e
call fcn.140071fd0
nop
mov rcx, qword [rsp + 0x5f8]
mov rax, qword [rcx]
lea rdx, [rsp + 0x5f0]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbx]
call qword [rax + 0x18]
test eax, eax
sets dil
or eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140045539
mov rcx, qword [rbx]
test rcx, rcx
je 0x140045519
call qword [0x140077390]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14004552c
call qword [0x140077aa8]
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.1400714b0
test dil, dil
je 0x140045560
lea rdx, str.NG:WMI_Init_2
lea rcx, [rsp + 0x310]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
jmp 0x14004562f
lea rdx, str.CoSetProxyBlanket__
lea rcx, [rsp + 0x318]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
mov dword [rsp + 0x38], r15d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xa]
mov rcx, qword [rsp + 0x5f0]
call qword [0x140077f70]
mov ebx, eax
test eax, eax
jns 0x14004560b
lea rcx, [rsp + 0x858]
call qword [0x140077f48]
nop
mov r8d, ebx
lea rdx, str.NG:WMI_Init____08X
lea rcx, [rsp + 0x858]
call qword [0x140077ab8]
lea rdx, [rsp + 0x858]
lea rcx, [rsp + 0x320]
call qword [0x140077c78]
mov rcx, rax
call fcn.1400616b0
nop
lea rcx, [rsp + 0x858]
call qword [0x140077f38]
jmp 0x14004562f
mov dword [rsi + 0x1cc], r13d
lea rdx, str.OK:WMI_Init
lea rcx, [rsp + 0x328]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
mov rcx, qword [rsp + 0x5f8]
test rcx, rcx
je 0x14004564a
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x5f8], r15
jmp 0x14004565b
cmp dword [rsi + 0x1cc], 0
je 0x14004a477
xor eax, eax
mov qword [rsp + 0x880], rax
mov qword [rsp + 0x888], rax
mov qword [rsp + 0x890], rax
mov qword [rsp + 0x898], rax
mov qword [rsp + 0x8a0], rax
lea rcx, [rsp + 0x880]
call qword [0x140077e28]
nop
lea rcx, [rsp + 0x908]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x6a8]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x710]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x780]
call qword [0x140077f48]
nop
mov ecx, 0x18
call qword [0x140077aa0]
mov rbx, rax
mov qword [rsp + 0x90], rax
test rax, rax
je 0x140045728
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r15
mov dword [rbx + 0x10], r13d
lea rcx, str.select_DeviceName__DriverVersion_from_Win32_PnPSignedDriver
call qword [0x140077398]
mov qword [rbx], rax
test rax, rax
jne 0x14004572b
mov ecx, 0x8007000e
call fcn.140071fd0
mov rbx, r15
mov qword [rsp + 0x560], rbx
test rbx, rbx
jne 0x140045743
mov ecx, 0x8007000e
call fcn.140071fd0
nop
mov ecx, 0x18
call qword [0x140077aa0]
mov rdi, rax
mov qword [rsp + 0x90], rax
test rax, rax
je 0x14004578e
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r15
mov dword [rdi + 0x10], r13d
lea rcx, [0x14007f7d8]
call qword [0x140077398]
mov qword [rdi], rax
test rax, rax
jne 0x140045791
mov ecx, 0x8007000e
call fcn.140071fd0
mov rdi, r15
mov qword [rsp + 0x588], rdi
test rdi, rdi
jne 0x1400457a9
mov ecx, 0x8007000e
call fcn.140071fd0
nop
mov rcx, qword [rsp + 0x5f0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x5c8]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r15
mov r9d, 0x30
mov r8, qword [rbx]
mov rdx, qword [rdi]
call qword [rax + 0xa0]
mov r14d, eax
or ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
cmp ecx, 1
jne 0x14004581a
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400457f9
call qword [0x140077390]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14004580c
call qword [0x140077aa8]
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.1400714b0
nop
or eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140045858
mov rcx, qword [rbx]
test rcx, rcx
je 0x140045838
call qword [0x140077390]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14004584b
call qword [0x140077aa8]
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.1400714b0
test r14d, r14d
jns 0x140045862
jmp 0x14004a3c1
mov rcx, qword [rsp + 0x5c8]
test rcx, rcx
je 0x140045b9d
mov rax, qword [rcx]
lea rdx, [rsp + 0x6b0]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x5c0]
mov r8d, r13d
mov edx, 0x2710
call qword [rax + 0x20]
test eax, eax
js 0x140045b9d
cmp dword [rsp + 0x6b0], 1
jne 0x140045b9d
cmp r15d, 0x200
jge 0x140045b9d
inc r15d
lea rcx, [rsp + 0x678]
call qword [0x140077368]
lea rcx, [rsp + 0x7a0]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x758]
call qword [0x140077f48]
nop
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
xor ebx, ebx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x678]
xor r8d, r8d
lea rdx, str.DriverVersion
call qword [rax + 0x20]
test eax, eax
jne 0x140045947
cmp word [rsp + 0x678], 1
jbe 0x140045947
mov rdx, qword [rsp + 0x680]
lea rcx, [rsp + 0x758]
call qword [0x140077c68]
lea rcx, [rsp + 0x678]
call qword [0x140077388]
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x678]
xor r8d, r8d
lea rdx, str.DeviceName
call qword [rax + 0x20]
test eax, eax
jne 0x140045b7b
cmp word [rsp + 0x678], 1
jbe 0x140045b7b
mov rdx, qword [rsp + 0x680]
lea rcx, [rsp + 0x7a0]
call qword [0x140077c68]
xor r8d, r8d
lea rdx, str.AMD_RAID_Config
lea rcx, [rsp + 0x7a0]
call qword [0x140077c30]
test eax, eax
js 0x140045b6c
lea r8, [0x14007f84c]
lea rdx, [rsp + 0x7a0]
lea rcx, [rsp + 0x340]
call fcn.14005f280
nop
lea r8, [rsp + 0x758]
mov rdx, rax
lea rcx, [rsp + 0x338]
call fcn.14005f320
mov rcx, rax
call fcn.1400616b0
nop
lea rcx, [rsp + 0x340]
call qword [0x140077f38]
lea rcx, [rsp + 0x6e8]
call qword [0x140077f48]
nop
mov r9d, 0x2e
xor r8d, r8d
mov rdx, qword [rsp + 0x758]
lea rcx, [rsp + 0x6e8]
call qword [0x140077dd0]
mov rcx, qword [rsp + 0x6e8]
call qword [0x140077538]
mov ebx, eax
mov r9d, 0x2e
mov r8d, r13d
mov rdx, qword [rsp + 0x758]
lea rcx, [rsp + 0x6e8]
call qword [0x140077dd0]
mov rcx, qword [rsp + 0x6e8]
call qword [0x140077538]
mov r14d, eax
mov r9d, 0x2e
lea r8d, [r9 - 0x2c]
mov rdx, qword [rsp + 0x758]
lea rcx, [rsp + 0x6e8]
call qword [0x140077dd0]
mov rcx, qword [rsp + 0x6e8]
call qword [0x140077538]
mov r12d, eax
mov r9d, 0x2e
lea r8d, [r9 - 0x2b]
mov rdx, qword [rsp + 0x758]
lea rcx, [rsp + 0x6e8]
call qword [0x140077dd0]
mov rcx, qword [rsp + 0x6e8]
call qword [0x140077538]
lea ecx, [rbx + rbx*4]
lea edi, [r14 + rcx*2]
mov dword [rsp + 0x98], edi
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r12d
mov r9d, r14d
mov r8d, ebx
lea rdx, str.driverVersion_d._d._d._d
lea rcx, [rsp + 0x6e8]
call qword [0x140077ab8]
lea rdx, [rsp + 0x6e8]
lea rcx, [rsp + 0x348]
call qword [0x140077c78]
mov rcx, rax
call fcn.1400616b0
mov r8d, edi
lea rdx, str.AmdRaidDriverVersion_d
lea rcx, [rsp + 0x6e8]
call qword [0x140077ab8]
lea rdx, [rsp + 0x6e8]
lea rcx, [rsp + 0x350]
call qword [0x140077c78]
mov rcx, rax
call fcn.1400616b0
nop
lea rcx, [rsp + 0x6e8]
call qword [0x140077f38]
lea rcx, [rsp + 0x678]
call qword [0x140077388]
nop
lea rcx, [rsp + 0x758]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x7a0]
call qword [0x140077f38]
jmp 0x140045862
jmp 0x140045bad
xor r15d, r15d
lea ecx, [r15 + 0x18]
call qword [0x140077aa0]
mov rdi, rax
mov qword [rsp + 0x90], rax
test rax, rax
je 0x140045bfa
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r15
mov dword [rdi + 0x10], r13d
lea rcx, str.select_Name__DeviceID_from_Win32_IDEController
call qword [0x140077398]
mov qword [rdi], rax
test rax, rax
jne 0x140045bfd
mov ecx, 0x8007000e
call fcn.140071fd0
mov rdi, r15
mov qword [rsp + 0x580], rdi
test rdi, rdi
jne 0x140045c15
mov ecx, 0x8007000e
call fcn.140071fd0
nop
mov ecx, 0x18
call qword [0x140077aa0]
mov rbx, rax
mov qword [rsp + 0x90], rax
test rax, rax
je 0x140045c60
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r15
mov dword [rbx + 0x10], r13d
lea rcx, [0x14007f7d8]
call qword [0x140077398]
mov qword [rbx], rax
test rax, rax
jne 0x140045c63
mov ecx, 0x8007000e
call fcn.140071fd0
mov rbx, r15
mov qword [rsp + 0x578], rbx
test rbx, rbx
jne 0x140045c7b
mov ecx, 0x8007000e
call fcn.140071fd0
nop
mov rcx, qword [rsp + 0x5f0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x5c8]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r15
mov r9d, 0x30
mov r8, qword [rdi]
mov rdx, qword [rbx]
call qword [rax + 0xa0]
mov r14d, eax
or ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x140045cec
mov rcx, qword [rbx]
test rcx, rcx
je 0x140045ccb
call qword [0x140077390]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140045cde
call qword [0x140077aa8]
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.1400714b0
nop
or eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
cmp eax, 1
jne 0x140045d2a
mov rcx, qword [rdi]
test rcx, rcx
je 0x140045d0a
call qword [0x140077390]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140045d1d
call qword [0x140077aa8]
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.1400714b0
test r14d, r14d
jns 0x140045d34
jmp 0x14004a3c1
mov ebx, dword [rsp + 0x88]
xor r12d, r12d
nop
mov rcx, qword [rsp + 0x5c8]
test rcx, rcx
je 0x140046810
mov rax, qword [rcx]
lea rdx, [rsp + 0x6b0]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x5c0]
mov r8d, r13d
mov edx, 0x2710
call qword [rax + 0x20]
test eax, eax
js 0x140046810
cmp dword [rsp + 0x6b0], 1
jne 0x140046810
cmp r15d, 0x200
jge 0x140046810
inc r15d
lea rcx, [rsp + 0x660]
call qword [0x140077368]
lea rcx, [rsp + 0x6d0]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x768]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x7d0]
call qword [0x140077f48]
nop
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x660]
xor r8d, r8d
lea rdx, str.DeviceID
call qword [rax + 0x20]
test eax, eax
jne 0x140045eac
cmp word [rsp + 0x660], 1
jbe 0x140045eac
mov rdx, qword [rsp + 0x668]
lea rcx, [rsp + 0x768]
call qword [0x140077c68]
xor r8d, r8d
lea rdx, str.PCIIDEIDECHANNEL
lea rcx, [rsp + 0x768]
call qword [0x140077c30]
test eax, eax
jne 0x140045e82
mov r8d, r13d
lea rdx, [rsp + 0x360]
lea rcx, [rsp + 0x768]
call qword [0x140077c00]
nop
mov rdx, rax
lea rcx, [rsp + 0x7d0]
call qword [0x140077c70]
nop
lea rcx, [rsp + 0x360]
call qword [0x140077f38]
lea r8, [0x14007f930]
lea rdx, [0x14007eb60]
lea rcx, [rsp + 0x768]
call qword [0x140077f30]
lea rcx, [rsp + 0x660]
call qword [0x140077388]
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x660]
xor r8d, r8d
lea rdx, str.Name
call qword [rax + 0x20]
test eax, eax
jne 0x140045f99
cmp word [rsp + 0x660], 1
jbe 0x140045f99
mov rdx, qword [rsp + 0x668]
lea rcx, [rsp + 0x6d0]
call qword [0x140077c68]
mov rax, qword [rsp + 0x7d0]
cmp dword [rax - 0x10], 0
je 0x140045f75
lea r8, [rsp + 0x7d0]
lea rdx, [0x14007eb64]
lea rcx, [rsp + 0x370]
call fcn.14005f1e0
nop
lea r8, [0x14007eb6c]
mov rdx, rax
lea rcx, [rsp + 0x368]
call fcn.14005f280
nop
mov rdx, rax
lea rcx, [rsp + 0x6d0]
call qword [0x140077c50]
nop
lea rcx, [rsp + 0x368]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x370]
call qword [0x140077f38]
lea rcx, [rsi + 0x58]
lea r8, [rsp + 0x6d0]
mov rdx, qword [rcx + 0x10]
call qword [0x140077e88]
lea rcx, [rsp + 0x660]
call qword [0x140077388]
mov rcx, qword [rsp + 0x5c0]
test rcx, rcx
je 0x140045fb4
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x5c0], r12
xor r8d, r8d
mov rdx, qword [rsp + 0x6d0]
lea rcx, [rsp + 0x6a8]
call qword [0x140077c30]
cmp eax, 0xffffffff
je 0x140046015
lea r8, str.__ATA_
lea rdx, [rsp + 0x6d0]
lea rcx, [rsp + 0x378]
call fcn.14005f280
or ebx, 1
mov dword [rsp + 0x88], ebx
xor r8d, r8d
mov rdx, qword [rax]
lea rcx, [rsp + 0x6a8]
call qword [0x140077c30]
test eax, eax
jns 0x140046015
xor dil, dil
jmp 0x140046018
mov dil, 1
test bl, 1
je 0x140046035
and ebx, 0xfffffffe
mov dword [rsp + 0x88], ebx
lea rcx, [rsp + 0x378]
call qword [0x140077f38]
test dil, dil
je 0x1400460d5
lea r8, [rsp + 0x6a8]
mov rdx, qword [rsp + 0x890]
lea rcx, [rsp + 0x880]
call qword [0x140077e88]
lea r8, [rsp + 0x6d0]
lea rdx, [0x14007f988]
lea rcx, [rsp + 0x388]
call fcn.14005f1e0
nop
lea r8, str.__ATA_
mov rdx, rax
lea rcx, [rsp + 0x380]
call fcn.14005f280
nop
mov rdx, rax
lea rcx, [rsp + 0x6a8]
call qword [0x140077c70]
nop
lea rcx, [rsp + 0x380]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x388]
call qword [0x140077f38]
lea rdx, [0x14007f97c]
lea rcx, [rsp + 0x6a8]
call qword [0x140077c48]
mov r14d, r12d
lea rcx, [rsp + 0x860]
call qword [0x140077f48]
nop
mov r8, qword [rsp + 0x768]
lea rdx, str.ASSOCIATORS_OF_Win32_IDEController.DeviceID__s__WHERE_AssocClass__Win32_IDEControllerDevice
lea rcx, [rsp + 0x860]
call qword [0x140077ab8]
mov rbx, qword [rsp + 0x860]
mov ecx, 0x18
call qword [0x140077aa0]
mov rdi, rax
mov qword [rsp + 0x90], rax
test rax, rax
je 0x140046158
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r12
mov dword [rdi + 0x10], r13d
mov rcx, rbx
call qword [0x140077398]
mov qword [rdi], rax
test rax, rax
jne 0x14004615b
test rbx, rbx
je 0x14004615b
mov ecx, 0x8007000e
call fcn.140071fd0
mov rdi, r12
mov qword [rsp + 0x570], rdi
test rdi, rdi
jne 0x140046173
mov ecx, 0x8007000e
call fcn.140071fd0
nop
mov ecx, 0x18
call qword [0x140077aa0]
mov rbx, rax
mov qword [rsp + 0xc0], rax
test rax, rax
je 0x1400461be
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r12
mov dword [rbx + 0x10], r13d
lea rcx, [0x14007f7d8]
call qword [0x140077398]
mov qword [rbx], rax
test rax, rax
jne 0x1400461c1
mov ecx, 0x8007000e
call fcn.140071fd0
mov rbx, r12
mov qword [rsp + 0x538], rbx
test rbx, rbx
jne 0x1400461d9
mov ecx, 0x8007000e
call fcn.140071fd0
nop
mov rcx, qword [rsp + 0x5f0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x5d0]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r12
mov r9d, 0x30
mov r8, qword [rdi]
mov rdx, qword [rbx]
call qword [rax + 0xa0]
nop
or eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140046248
mov rcx, qword [rbx]
test rcx, rcx
je 0x140046227
call qword [0x140077390]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14004623a
call qword [0x140077aa8]
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.1400714b0
nop
or eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
cmp eax, 1
jne 0x140046286
mov rcx, qword [rdi]
test rcx, rcx
je 0x140046266
call qword [0x140077390]
mov qword [rdi], r12
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140046279
call qword [0x140077aa8]
mov qword [rdi + 8], r12
mov edx, 0x18
mov rcx, rdi
call fcn.1400714b0
mov ebx, dword [rsp + 0x88]
nop dword [rax]
mov rcx, qword [rsp + 0x5d0]
test rcx, rcx
je 0x140046799
mov rax, qword [rcx]
lea rdx, [rsp + 0x6b0]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x5c0]
mov r8d, r13d
mov edx, 0x2710
call qword [rax + 0x20]
test eax, eax
js 0x140046799
cmp dword [rsp + 0x6b0], 1
jne 0x140046799
cmp r14d, 0x100
jge 0x140046799
inc r14d
lea rcx, [rsp + 0x648]
call qword [0x140077368]
lea rcx, [rsp + 0x778]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x7e0]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x7c8]
call qword [0x140077f48]
nop
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x648]
xor r8d, r8d
lea rdx, str.DeviceID
call qword [rax + 0x20]
test eax, eax
jne 0x1400463dc
cmp word [rsp + 0x648], 1
jbe 0x1400463dc
mov rdx, qword [rsp + 0x650]
lea rcx, [rsp + 0x7e0]
call qword [0x140077c68]
xor r8d, r8d
lea rdx, str.PCIIDEIDECHANNEL
lea rcx, [rsp + 0x7e0]
call qword [0x140077c30]
test eax, eax
jne 0x1400463ce
mov r8d, r13d
lea rdx, [rsp + 0x390]
lea rcx, [rsp + 0x7e0]
call qword [0x140077c00]
nop
mov rdx, rax
lea rcx, [rsp + 0x7c8]
call qword [0x140077c70]
nop
lea rcx, [rsp + 0x390]
call qword [0x140077f38]
lea rcx, [rsp + 0x648]
call qword [0x140077388]
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x648]
xor r8d, r8d
lea rdx, str.Name
call qword [rax + 0x20]
test eax, eax
jne 0x1400464b3
cmp word [rsp + 0x648], 1
jbe 0x1400464b3
mov rdx, qword [rsp + 0x650]
lea rcx, [rsp + 0x778]
call qword [0x140077c68]
mov rax, qword [rsp + 0x7c8]
cmp dword [rax - 0x10], 0
je 0x1400464a5
lea r8, [rsp + 0x7c8]
lea rdx, [0x14007eb64]
lea rcx, [rsp + 0x3a0]
call fcn.14005f1e0
nop
lea r8, [0x14007eb6c]
mov rdx, rax
lea rcx, [rsp + 0x398]
call fcn.14005f280
nop
mov rdx, rax
lea rcx, [rsp + 0x778]
call qword [0x140077c50]
nop
lea rcx, [rsp + 0x398]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x3a0]
call qword [0x140077f38]
lea rcx, [rsp + 0x648]
call qword [0x140077388]
mov rcx, qword [rsp + 0x5c0]
test rcx, rcx
je 0x1400464ce
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x5c0], r12
xor r8d, r8d
lea rdx, str.NVIDIA
lea rcx, [rsp + 0x6d0]
call qword [0x140077c30]
test eax, eax
jne 0x1400464f1
mov dword [rsi + 0x1e0], r13d
xor r8d, r8d
lea rdx, str.Marvell
lea rcx, [rsp + 0x6d0]
call qword [0x140077c30]
test eax, eax
jne 0x140046514
mov dword [rsi + 0x1e4], r13d
lea r8, [rsp + 0x6d0]
lea rdx, [0x14007fa60]
lea rcx, [rsp + 0x3b0]
call fcn.14005f1e0
nop
or ebx, 2
mov dword [rsp + 0x88], ebx
xor r8d, r8d
mov rdx, qword [rax]
lea rcx, [rsp + 0x6a8]
call qword [0x140077c30]
test eax, eax
jns 0x14004658f
lea r8, [rsp + 0x6d0]
lea rdx, [0x14007fa88]
lea rcx, [rsp + 0x3a8]
call fcn.14005f1e0
or ebx, 4
xor r8d, r8d
mov rdx, qword [rax]
lea rcx, [rsp + 0x6a8]
call qword [0x140077c30]
test eax, eax
jns 0x14004658f
xor dil, dil
jmp 0x140046592
mov dil, 1
test bl, 4
je 0x1400465a9
and ebx, 0xfffffffb
lea rcx, [rsp + 0x3a8]
call qword [0x140077f38]
nop
and ebx, 0xfffffffd
mov dword [rsp + 0x88], ebx
lea rcx, [rsp + 0x3b0]
call qword [0x140077f38]
test dil, dil
je 0x1400466e7
lea r8, [rsp + 0x6d0]
lea rdx, [0x14007fa80]
lea rcx, [rsp + 0x3b8]
call fcn.14005f1e0
nop
mov rdx, rax
lea rcx, [rsp + 0x710]
call qword [0x140077c70]
nop
lea rcx, [rsp + 0x3b8]
call qword [0x140077f38]
lea r8, [rsp + 0x6d0]
lea rdx, [0x14007faac]
lea rcx, [rsp + 0x3c0]
call fcn.14005f1e0
nop
mov rdx, rax
lea rcx, [rsp + 0x780]
call qword [0x140077c70]
nop
lea rcx, [rsp + 0x3c0]
call qword [0x140077f38]
mov r8, qword [rsp + 0x780]
mov rdx, qword [rsp + 0x710]
lea rcx, [rsp + 0x6a8]
call qword [0x140077f30]
lea r8, str._r_n______
lea rdx, [rsp + 0x6d0]
lea rcx, [rsp + 0x3d0]
call fcn.14005f280
nop
lea r8, [rsp + 0x778]
mov rdx, rax
lea rcx, [rsp + 0x3c8]
call fcn.14005f320
nop
mov rdx, rax
lea rcx, [rsp + 0x710]
call qword [0x140077c70]
nop
lea rcx, [rsp + 0x3c8]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x3d0]
call qword [0x140077f38]
mov r8, qword [rsp + 0x710]
mov rdx, qword [rsp + 0x6d0]
lea rcx, [rsp + 0x6a8]
call qword [0x140077f30]
jmp 0x14004674b
lea r8, [rsp + 0x778]
lea rdx, [0x14007fa60]
lea rcx, [rsp + 0x3e0]
call fcn.14005f1e0
nop
lea r8, [0x14007f97c]
mov rdx, rax
lea rcx, [rsp + 0x3d8]
call fcn.14005f280
nop
mov rdx, rax
lea rcx, [rsp + 0x6a8]
call qword [0x140077c50]
nop
lea rcx, [rsp + 0x3d8]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x3e0]
call qword [0x140077f38]
lea r8, [0x14007fac0]
lea rdx, [0x14007f988]
lea rcx, [rsp + 0x6a8]
call qword [0x140077f30]
nop
lea rcx, [rsp + 0x7c8]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x7e0]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x778]
call qword [0x140077f38]
jmp 0x140046290
lea r8, [0x14007fab8]
lea rdx, [0x14007f988]
lea rcx, [rsp + 0x6a8]
call qword [0x140077f30]
mov rcx, qword [rsp + 0x5d0]
test rcx, rcx
je 0x1400467d0
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x5d0], r12
lea rcx, [rsp + 0x860]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x7d0]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x768]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x6d0]
call qword [0x140077f38]
jmp 0x140045d40
lea r8, [rsp + 0x6a8]
mov rdx, qword [rsp + 0x890]
lea rcx, [rsp + 0x880]
call qword [0x140077e88]
mov rcx, qword [rsp + 0x5c8]
test rcx, rcx
je 0x14004684e
mov rax, qword [rcx]
call qword [rax + 0x10]
xor r15d, r15d
mov qword [rsp + 0x5c8], r15
jmp 0x140046851
xor r15d, r15d
lea rdx, str.OK:Win32_IDEController
lea rcx, [rsp + 0x3e8]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
nop
jmp 0x140046880
lea rdx, [0x140079cd4]
lea rcx, [rsp + 0x6a8]
call qword [0x140077c68]
mov ecx, 0x18
call qword [0x140077aa0]
mov rdi, rax
mov qword [rsp + 0x90], rax
test rax, rax
je 0x1400468e0
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r15
mov dword [rdi + 0x10], r13d
lea rcx, str.select_Name__DeviceID_from_Win32_SCSIController
call qword [0x140077398]
mov qword [rdi], rax
test rax, rax
jne 0x1400468e3
mov ecx, 0x8007000e
call fcn.140071fd0
mov rdi, r15
mov qword [rsp + 0x5b8], rdi
test rdi, rdi
jne 0x1400468fb
mov ecx, 0x8007000e
call fcn.140071fd0
nop
mov ecx, 0x18
call qword [0x140077aa0]
mov rbx, rax
mov qword [rsp + 0x90], rax
test rax, rax
je 0x140046946
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r15
mov dword [rbx + 0x10], r13d
lea rcx, [0x14007f7d8]
call qword [0x140077398]
mov qword [rbx], rax
test rax, rax
jne 0x140046949
mov ecx, 0x8007000e
call fcn.140071fd0
mov rbx, r15
mov qword [rsp + 0x5b0], rbx
test rbx, rbx
jne 0x140046961
mov ecx, 0x8007000e
call fcn.140071fd0
nop
mov rcx, qword [rsp + 0x5f0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x5c8]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r15
mov r9d, 0x30
mov r8, qword [rdi]
mov rdx, qword [rbx]
call qword [rax + 0xa0]
mov r14d, eax
or ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x1400469d2
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400469b1
call qword [0x140077390]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400469c4
call qword [0x140077aa8]
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.1400714b0
nop
or eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
cmp eax, 1
jne 0x140046a10
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400469f0
call qword [0x140077390]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140046a03
call qword [0x140077aa8]
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.1400714b0
test r14d, r14d
jns 0x140046a1a
jmp 0x14004a3c1
mov edi, r15d
mov ebx, dword [rsp + 0x88]
mov rcx, qword [rsp + 0x5c8]
test rcx, rcx
je 0x1400475be
mov rax, qword [rcx]
lea rdx, [rsp + 0x6b0]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x5c0]
mov r8d, r13d
mov edx, 0x2710
call qword [rax + 0x20]
test eax, eax
js 0x1400475be
cmp dword [rsp + 0x6b0], 1
jne 0x1400475be
cmp edi, 0x100
jge 0x1400475be
inc edi
mov dword [rsp + 0x9c], edi
mov dword [rsp + 0xc0], r15d
mov r12d, r15d
mov r14d, r15d
mov dword [rsp + 0xa0], r15d
mov r13d, r15d
lea rcx, [rsp + 0x600]
call qword [0x140077368]
lea rcx, [rsp + 0x6c0]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x790]
call qword [0x140077f48]
nop
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x600]
xor r8d, r8d
lea rdx, str.DeviceID
call qword [rax + 0x20]
test eax, eax
jne 0x140046b41
cmp word [rsp + 0x600], 1
jbe 0x140046b41
mov rdx, qword [rsp + 0x608]
lea rcx, [rsp + 0x790]
call qword [0x140077c68]
lea r8, [0x14007f930]
lea rdx, [0x14007eb60]
lea rcx, [rsp + 0x790]
call qword [0x140077f30]
lea rcx, [rsp + 0x600]
call qword [0x140077388]
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x600]
xor r8d, r8d
lea rdx, str.Name
call qword [rax + 0x20]
test eax, eax
jne 0x140046dc9
cmp word [rsp + 0x600], 1
jbe 0x140046dc9
mov rdx, qword [rsp + 0x608]
lea rcx, [rsp + 0x6c0]
call qword [0x140077c68]
lea rcx, [rsi + 0x80]
lea r8, [rsp + 0x6c0]
mov rdx, qword [rcx + 0x10]
call qword [0x140077e88]
lea rcx, [rsp + 0x600]
call qword [0x140077388]
xor r8d, r8d
lea rdx, [0x14007fb28]
lea rcx, [rsp + 0x6c0]
call qword [0x140077c30]
test eax, eax
jns 0x140046bf7
xor r8d, r8d
lea rdx, [0x14007fba8]
lea rcx, [rsp + 0x6c0]
call qword [0x140077c30]
test eax, eax
js 0x140046c02
mov dword [rsp + 0xc0], 1
cmp dword [rsi + 0x1c8], 0
jne 0x140046c59
xor r8d, r8d
lea rdx, str.VIA_VT6410
lea rcx, [rsp + 0x6c0]
call qword [0x140077c30]
test eax, eax
jne 0x140046c2d
lea r12d, [rax + 1]
jmp 0x140046c59
cmp dword [rsi + 0x1c8], 0
jne 0x140046c59
xor r8d, r8d
lea rdx, str.ITE_IT8212
lea rcx, [rsp + 0x6c0]
call qword [0x140077c30]
test eax, eax
mov eax, 1
cmove r12d, eax
xor r8d, r8d
lea rdx, str.NVIDIA
lea rcx, [rsp + 0x6c0]
call qword [0x140077c30]
test eax, eax
jne 0x140046c7f
mov dword [rsi + 0x1e0], 1
xor r8d, r8d
lea rdx, str.Marvell
lea rcx, [rsp + 0x6c0]
call qword [0x140077c30]
test eax, eax
jne 0x140046ca5
mov dword [rsi + 0x1e4], 1
xor r8d, r8d
lea rdx, str.DVDFab_Virtual_Drive
lea rcx, [rsp + 0x6c0]
call qword [0x140077c30]
test eax, eax
jne 0x140046ce9
lea rcx, [rsp + 0x790]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x6c0]
call qword [0x140077f38]
mov r13d, 1
jmp 0x140046a24
xor r8d, r8d
lea rdx, str.Silicon_Image_SiI
lea rcx, [rsp + 0x6c0]
call qword [0x140077c30]
test eax, eax
jne 0x140046d75
mov r14d, 1
mov dword [rsp + 0xa0], r14d
lea rcx, [rsp + 0x7e8]
call qword [0x140077f48]
nop
lea rdx, [rsp + 0x6c0]
lea rcx, [rsp + 0x7e8]
call qword [0x140077c70]
lea r8, [0x140079cd4]
lea rdx, str.Silicon_Image_SiI
lea rcx, [rsp + 0x7e8]
call qword [0x140077f30]
mov rcx, qword [rsp + 0x7e8]
call qword [0x140077538]
mov r13d, eax
lea rcx, [rsp + 0x7e8]
call qword [0x140077f38]
jmp 0x140046dc9
xor r8d, r8d
lea rdx, str.BUFFALO_IFC_PCI2ES
lea rcx, [rsp + 0x6c0]
call qword [0x140077c30]
test eax, eax
jne 0x140046d99
mov r13d, 0xc28
jmp 0x140046dbb
xor r8d, r8d
lea rdx, str.BUFFALO_IFC_PCIE2SA
lea rcx, [rsp + 0x6c0]
call qword [0x140077c30]
test eax, eax
jne 0x140046dc9
mov r13d, 0xc3c
mov r14d, 1
mov dword [rsp + 0xa0], r14d
mov rcx, qword [rsp + 0x5c0]
test rcx, rcx
je 0x140046de4
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x5c0], r15
xor r8d, r8d
mov rdx, qword [rsp + 0x6c0]
lea rcx, [rsp + 0x6a8]
call qword [0x140077c30]
cmp eax, 0xffffffff
je 0x140046e45
lea r8, str.__SCSI_
lea rdx, [rsp + 0x6c0]
lea rcx, [rsp + 0x3f8]
call fcn.14005f280
or ebx, 8
mov dword [rsp + 0x88], ebx
xor r8d, r8d
mov rdx, qword [rax]
lea rcx, [rsp + 0x6a8]
call qword [0x140077c30]
test eax, eax
jns 0x140046e45
xor dil, dil
jmp 0x140046e48
mov dil, 1
test bl, 8
je 0x140046e65
and ebx, 0xfffffff7
mov dword [rsp + 0x88], ebx
lea rcx, [rsp + 0x3f8]
call qword [0x140077f38]
test dil, dil
je 0x140046f05
lea r8, [rsp + 0x6a8]
mov rdx, qword [rsp + 0x890]
lea rcx, [rsp + 0x880]
call qword [0x140077e88]
lea r8, [rsp + 0x6c0]
lea rdx, [0x14007f988]
lea rcx, [rsp + 0x408]
call fcn.14005f1e0
nop
lea r8, str.__SCSI_
mov rdx, rax
lea rcx, [rsp + 0x400]
call fcn.14005f280
nop
mov rdx, rax
lea rcx, [rsp + 0x6a8]
call qword [0x140077c70]
nop
lea rcx, [rsp + 0x400]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x408]
call qword [0x140077f38]
lea rdx, [0x14007f97c]
lea rcx, [rsp + 0x6a8]
call qword [0x140077c48]
lea rcx, [rsp + 0x870]
call qword [0x140077f48]
nop
mov r8, qword [rsp + 0x790]
lea rdx, str.ASSOCIATORS_OF_Win32_SCSIController.DeviceID__s__WHERE_AssocClass__Win32_SCSIControllerDevice
lea rcx, [rsp + 0x870]
call qword [0x140077ab8]
mov rbx, qword [rsp + 0x870]
mov ecx, 0x18
call qword [0x140077aa0]
mov rdi, rax
mov qword [rsp + 0x480], rax
test rdi, rdi
je 0x140046f89
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], rax
mov dword [rdi + 0x10], 1
mov rcx, rbx
call qword [0x140077398]
mov qword [rdi], rax
test rax, rax
jne 0x140046f89
test rbx, rbx
je 0x140046f89
mov ecx, 0x8007000e
call fcn.140071fd0
nop
mov qword [rsp + 0x5a0], rdi
test rdi, rdi
jne 0x140046fa1
mov ecx, 0x8007000e
call fcn.140071fd0
nop
mov ecx, 0x18
call qword [0x140077aa0]
mov rbx, rax
mov qword [rsp + 0xa8], rax
test rbx, rbx
je 0x140046ff0
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], rax
mov dword [rbx + 0x10], 1
lea rcx, [0x14007f7d8]
call qword [0x140077398]
mov qword [rbx], rax
test rax, rax
jne 0x140046ff0
mov ecx, 0x8007000e
call fcn.140071fd0
nop
mov qword [rsp + 0x568], rbx
test rbx, rbx
jne 0x140047008
mov ecx, 0x8007000e
call fcn.140071fd0
nop
mov rcx, qword [rsp + 0x5f0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x5d0]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], 0
mov r9d, 0x30
mov r8, qword [rdi]
mov rdx, qword [rbx]
call qword [rax + 0xa0]
nop
or eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140047083
mov rcx, qword [rbx]
test rcx, rcx
je 0x14004705e
call qword [0x140077390]
mov qword [rbx], 0
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140047075
call qword [0x140077aa8]
mov qword [rbx + 8], 0
mov edx, 0x18
mov rcx, rbx
call fcn.1400714b0
nop
or eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
cmp eax, 1
jne 0x1400470c9
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400470a5
call qword [0x140077390]
mov qword [rdi], 0
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400470bc
call qword [0x140077aa8]
mov qword [rdi + 8], 0
mov edx, 0x18
mov rcx, rdi
call fcn.1400714b0
mov ebx, dword [rsp + 0x88]
mov rcx, qword [rsp + 0x5d0]
test rcx, rcx
je 0x140047541
mov rax, qword [rcx]
lea rdx, [rsp + 0x6b0]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x5c0]
mov edx, 0x2710
mov r8d, 1
call qword [rax + 0x20]
test eax, eax
js 0x140047541
cmp dword [rsp + 0x6b0], 1
jne 0x140047541
cmp r15d, 0x100
jge 0x140047541
inc r15d
lea rcx, [rsp + 0x630]
call qword [0x140077368]
lea rcx, [rsp + 0x7d8]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x798]
call qword [0x140077f48]
nop
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
xor edi, edi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x630]
xor r8d, r8d
lea rdx, str.DeviceID
call qword [rax + 0x20]
test eax, eax
jne 0x14004724b
cmp word [rsp + 0x630], 1
jbe 0x14004724b
mov rdx, qword [rsp + 0x638]
lea rcx, [rsp + 0x798]
call qword [0x140077c68]
lea rcx, [rsp + 0x630]
call qword [0x140077388]
cmp dword [rsp + 0xc0], edi
je 0x1400471e2
lea rcx, [rsi + 0x150]
lea r8, [rsp + 0x798]
mov rdx, qword [rcx + 0x10]
call qword [0x140077e88]
test r12d, r12d
je 0x140047200
lea rcx, [rsi + 0x100]
lea r8, [rsp + 0x798]
mov rdx, qword [rcx + 0x10]
call qword [0x140077e88]
test r14d, r14d
je 0x14004724b
lea rcx, [rsi + 0x128]
lea r8, [rsp + 0x798]
mov rdx, qword [rcx + 0x10]
call qword [0x140077e88]
mov r14, qword [rsi + 0x188]
test r14, r14
jns 0x140047230
call qword [0x140077e10]
lea rdx, [r14 + 1]
lea rcx, [rsi + 0x178]
call fcn.14005fc80
mov rax, qword [rsi + 0x180]
mov dword [rax + r14*4], r13d
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x630]
xor r8d, r8d
lea rdx, str.Name
call qword [rax + 0x20]
test eax, eax
jne 0x1400472a8
cmp word [rsp + 0x630], 1
jbe 0x1400472a8
mov rdx, qword [rsp + 0x638]
lea rcx, [rsp + 0x7d8]
call qword [0x140077c68]
lea rcx, [rsp + 0x630]
call qword [0x140077388]
mov rcx, qword [rsp + 0x5c0]
test rcx, rcx
je 0x1400472c3
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x5c0], rdi
lea r8, [rsp + 0x6c0]
lea rdx, [0x14007fa60]
lea rcx, [rsp + 0x418]
call fcn.14005f1e0
nop
or ebx, 0x10
mov dword [rsp + 0x88], ebx
xor r8d, r8d
mov rdx, qword [rax]
lea rcx, [rsp + 0x6a8]
call qword [0x140077c30]
test eax, eax
jns 0x14004733e
lea r8, [rsp + 0x6c0]
lea rdx, [0x14007fa88]
lea rcx, [rsp + 0x410]
call fcn.14005f1e0
or ebx, 0x20
xor r8d, r8d
mov rdx, qword [rax]
lea rcx, [rsp + 0x6a8]
call qword [0x140077c30]
test eax, eax
jns 0x14004733e
xor dil, dil
jmp 0x140047341
mov dil, 1
test bl, 0x20
je 0x140047358
and ebx, 0xffffffdf
lea rcx, [rsp + 0x410]
call qword [0x140077f38]
nop
and ebx, 0xffffffef
mov dword [rsp + 0x88], ebx
lea rcx, [rsp + 0x418]
call qword [0x140077f38]
test dil, dil
je 0x140047496
lea r8, [rsp + 0x6c0]
lea rdx, [0x14007fa80]
lea rcx, [rsp + 0x420]
call fcn.14005f1e0
nop
mov rdx, rax
lea rcx, [rsp + 0x710]
call qword [0x140077c70]
nop
lea rcx, [rsp + 0x420]
call qword [0x140077f38]
lea r8, [rsp + 0x6c0]
lea rdx, [0x14007faac]
lea rcx, [rsp + 0x428]
call fcn.14005f1e0
nop
mov rdx, rax
lea rcx, [rsp + 0x780]
call qword [0x140077c70]
nop
lea rcx, [rsp + 0x428]
call qword [0x140077f38]
mov r8, qword [rsp + 0x780]
mov rdx, qword [rsp + 0x710]
lea rcx, [rsp + 0x6a8]
call qword [0x140077f30]
lea r8, str._r_n______
lea rdx, [rsp + 0x6c0]
lea rcx, [rsp + 0x438]
call fcn.14005f280
nop
lea r8, [rsp + 0x7d8]
mov rdx, rax
lea rcx, [rsp + 0x430]
call fcn.14005f320
nop
mov rdx, rax
lea rcx, [rsp + 0x710]
call qword [0x140077c70]
nop
lea rcx, [rsp + 0x430]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x438]
call qword [0x140077f38]
mov r8, qword [rsp + 0x710]
mov rdx, qword [rsp + 0x6c0]
lea rcx, [rsp + 0x6a8]
call qword [0x140077f30]
jmp 0x1400474fa
lea r8, [rsp + 0x7d8]
lea rdx, [0x14007fa60]
lea rcx, [rsp + 0x448]
call fcn.14005f1e0
nop
lea r8, [0x14007f97c]
mov rdx, rax
lea rcx, [rsp + 0x440]
call fcn.14005f280
nop
mov rdx, rax
lea rcx, [rsp + 0x6a8]
call qword [0x140077c50]
nop
lea rcx, [rsp + 0x440]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x448]
call qword [0x140077f38]
lea r8, [0x14007fac0]
lea rdx, [0x14007f988]
lea rcx, [rsp + 0x6a8]
call qword [0x140077f30]
nop
lea rcx, [rsp + 0x798]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x7d8]
call qword [0x140077f38]
mov r14d, dword [rsp + 0xa0]
jmp 0x1400470d0
lea r8, [0x14007fab8]
lea rdx, [0x14007f988]
lea rcx, [rsp + 0x6a8]
call qword [0x140077f30]
mov rcx, qword [rsp + 0x5d0]
test rcx, rcx
je 0x14004757d
mov rax, qword [rcx]
call qword [rax + 0x10]
xor r15d, r15d
mov qword [rsp + 0x5d0], r15
jmp 0x140047580
xor r15d, r15d
lea rcx, [rsp + 0x870]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x790]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x6c0]
call qword [0x140077f38]
mov edi, dword [rsp + 0x9c]
mov r13d, 1
jmp 0x140046a24
lea r8, [rsp + 0x6a8]
mov rdx, qword [rsp + 0x890]
lea rcx, [rsp + 0x880]
call qword [0x140077e88]
mov rcx, qword [rsp + 0x5c8]
test rcx, rcx
je 0x1400475f7
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x5c8], r15
lea rdx, str.OK:Win32_SCSIController
lea rcx, [rsp + 0x450]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
nop
jmp 0x140047626
mov ebx, r15d
mov rax, qword [rsp + 0x890]
test rax, rax
jle 0x14004767e
mov rcx, r15
nop dword [rax]
test rcx, rcx
js 0x140047677
cmp rcx, rax
jge 0x140047677
mov rax, qword [rsp + 0x888]
lea rdx, [rax + rcx*8]
lea rcx, [rsi + 0xd0]
call qword [0x140077c50]
inc ebx
movsxd rcx, ebx
mov rax, qword [rsp + 0x890]
cmp rcx, rax
jl 0x140047640
jmp 0x14004767e
call qword [0x140077e10]
int3
lea r8, [rsi + 0xd0]
lea rdx, str.__ControllerMap___r_n
lea rcx, [rsp + 0x460]
call fcn.14005f1e0
mov rcx, rax
call fcn.1400616b0
nop
mov ecx, 0x18
call qword [0x140077aa0]
mov rdi, rax
mov qword [rsp + 0xa8], rax
test rax, rax
je 0x1400476ed
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r15
mov dword [rdi + 0x10], r13d
lea rcx, str.select_Name__DeviceID_from_Win32_USBController
call qword [0x140077398]
mov qword [rdi], rax
test rax, rax
jne 0x1400476f0
mov ecx, 0x8007000e
call fcn.140071fd0
mov rdi, r15
mov qword [rsp + 0x550], rdi
test rdi, rdi
jne 0x140047708
mov ecx, 0x8007000e
call fcn.140071fd0
nop
mov ecx, 0x18
call qword [0x140077aa0]
mov rbx, rax
mov qword [rsp + 0xa8], rax
test rax, rax
je 0x140047753
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r15
mov dword [rbx + 0x10], r13d
lea rcx, [0x14007f7d8]
call qword [0x140077398]
mov qword [rbx], rax
test rax, rax
jne 0x140047756
mov ecx, 0x8007000e
call fcn.140071fd0
mov rbx, r15
mov qword [rsp + 0x548], rbx
test rbx, rbx
jne 0x14004776e
mov ecx, 0x8007000e
call fcn.140071fd0
nop
mov rcx, qword [rsp + 0x5f0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x5c8]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r15
mov r9d, 0x30
mov r8, qword [rdi]
mov rdx, qword [rbx]
call qword [rax + 0xa0]
mov r14d, eax
or ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x1400477df
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400477be
call qword [0x140077390]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400477d1
call qword [0x140077aa8]
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.1400714b0
nop
or eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
cmp eax, 1
jne 0x14004781d
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400477fd
call qword [0x140077390]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140047810
call qword [0x140077aa8]
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.1400714b0
test r14d, r14d
jns 0x140047830
jmp 0x14004a3c1
mov rcx, qword [rsp + 0x5c8]
test rcx, rcx
je 0x140047e9d
mov rax, qword [rcx]
lea rdx, [rsp + 0x6b0]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x5c0]
mov r8d, r13d
mov edx, 0x2710
call qword [rax + 0x20]
test eax, eax
js 0x140047e82
cmp dword [rsp + 0x6b0], 1
jne 0x140047e82
lea rcx, [rsp + 0x690]
call qword [0x140077368]
lea rcx, [rsp + 0x760]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x8d8]
call qword [0x140077f48]
nop
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x690]
xor r8d, r8d
lea rdx, str.DeviceID
call qword [rax + 0x20]
test eax, eax
jne 0x14004791f
cmp word [rsp + 0x690], 1
jbe 0x14004791f
mov rdx, qword [rsp + 0x698]
lea rcx, [rsp + 0x760]
call qword [0x140077c68]
lea r8, [0x14007f930]
lea rdx, [0x14007eb60]
lea rcx, [rsp + 0x760]
call qword [0x140077f30]
lea rcx, [rsp + 0x690]
call qword [0x140077388]
mov rcx, qword [rsp + 0x5c0]
test rcx, rcx
je 0x14004793a
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x5c0], r15
lea rcx, [rsp + 0x820]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x8e0]
call qword [0x140077f48]
nop
mov r8, qword [rsp + 0x760]
lea rdx, str.ASSOCIATORS_OF_Win32_USBController.DeviceID__s__WHERE_AssocClass__Win32_USBControllerDevice
lea rcx, [rsp + 0x820]
call qword [0x140077ab8]
mov rbx, qword [rsp + 0x820]
mov ecx, 0x18
call qword [0x140077aa0]
mov rdi, rax
mov qword [rsp + 0xa8], rax
test rax, rax
je 0x1400479c9
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r15
mov dword [rdi + 0x10], r13d
mov rcx, rbx
call qword [0x140077398]
mov qword [rdi], rax
test rax, rax
jne 0x1400479cc
test rbx, rbx
je 0x1400479cc
mov ecx, 0x8007000e
call fcn.140071fd0
mov rdi, r15
mov qword [rsp + 0x540], rdi
test rdi, rdi
jne 0x1400479e4
mov ecx, 0x8007000e
call fcn.140071fd0
nop
mov ecx, 0x18
call qword [0x140077aa0]
mov rbx, rax
mov qword [rsp + 0x480], rax
test rax, rax
je 0x140047a2f
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r15
mov dword [rbx + 0x10], r13d
lea rcx, [0x14007f7d8]
call qword [0x140077398]
mov qword [rbx], rax
test rax, rax
jne 0x140047a32
mov ecx, 0x8007000e
call fcn.140071fd0
mov rbx, r15
mov qword [rsp + 0x558], rbx
test rbx, rbx
jne 0x140047a4a
mov ecx, 0x8007000e
call fcn.140071fd0
nop
mov rcx, qword [rsp + 0x5f0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x5d0]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r15
mov r9d, 0x30
mov r8, qword [rdi]
mov rdx, qword [rbx]
call qword [rax + 0xa0]
nop
or eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140047ab9
mov rcx, qword [rbx]
test rcx, rcx
je 0x140047a98
call qword [0x140077390]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140047aab
call qword [0x140077aa8]
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.1400714b0
nop
or eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
cmp eax, 1
jne 0x140047b00
mov rcx, qword [rdi]
test rcx, rcx
je 0x140047ad7
call qword [0x140077390]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140047aea
call qword [0x140077aa8]
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.1400714b0
nop word [rax + rax]
mov rcx, qword [rsp + 0x5d0]
test rcx, rcx
je 0x140047e42
mov rax, qword [rcx]
lea rdx, [rsp + 0x6b0]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x5c0]
mov r8d, r13d
mov edx, 0x2710
call qword [rax + 0x20]
test eax, eax
js 0x140047e27
cmp dword [rsp + 0x6b0], 1
jne 0x140047e27
lea rcx, [rsp + 0x618]
call qword [0x140077368]
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x618]
xor r8d, r8d
lea rdx, str.DeviceID
call qword [rax + 0x20]
test eax, eax
jne 0x140047e03
cmp word [rsp + 0x618], 1
jbe 0x140047e03
mov rdx, qword [rsp + 0x620]
lea rcx, [rsp + 0x6a8]
call qword [0x140077c68]
lea rcx, [rsp + 0x618]
call qword [0x140077388]
xor r8d, r8d
lea rdx, str.USBSTOR
lea rcx, [rsp + 0x6a8]
call qword [0x140077c30]
test eax, eax
js 0x140047ded
lea rcx, [rsp + 0x7b8]
call qword [0x140077f48]
nop
mov qword [rsp + 0x7c0], 0
mov dword [rsp + 0x6e0], r15d
lea rcx, [rsp + 0x718]
call qword [0x140077f48]
nop
lea r9, [rsp + 0x6e0]
lea r8, [0x14007ff20]
lea rdx, [rsp + 0x468]
lea rcx, [rsp + 0x760]
call qword [0x140077c38]
nop
mov rdx, rax
lea rcx, [rsp + 0x718]
call qword [0x140077c70]
nop
lea rcx, [rsp + 0x468]
call qword [0x140077f38]
lea rdx, [0x140079cd4]
lea rcx, [rsp + 0x718]
call qword [0x140077c40]
test eax, eax
je 0x140047d2f
lea r8, [0x140079cd4]
lea rdx, str.VID_
lea rcx, [rsp + 0x718]
call qword [0x140077f30]
test eax, eax
jle 0x140047caf
xor edx, edx
lea r8d, [rdx + 0x10]
mov rcx, qword [rsp + 0x718]
call qword [0x140077550]
mov dword [rsp + 0x7c0], eax
jmp 0x140047cea
lea r8, [0x140079cd4]
lea rdx, str.PID_
lea rcx, [rsp + 0x718]
call qword [0x140077f30]
test eax, eax
jle 0x140047cea
xor edx, edx
lea r8d, [rdx + 0x10]
mov rcx, qword [rsp + 0x718]
call qword [0x140077550]
mov dword [rsp + 0x7c4], eax
lea r9, [rsp + 0x6e0]
lea r8, [0x14007ff20]
lea rdx, [rsp + 0x470]
lea rcx, [rsp + 0x760]
call qword [0x140077c38]
nop
mov rdx, rax
lea rcx, [rsp + 0x718]
call qword [0x140077c70]
nop
lea rcx, [rsp + 0x470]
jmp 0x140047c4f
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x618]
xor r8d, r8d
lea rdx, str.Name
call qword [rax + 0x20]
test eax, eax
jne 0x140047d8c
cmp word [rsp + 0x618], 1
jbe 0x140047d8c
mov rdx, qword [rsp + 0x620]
lea rcx, [rsp + 0x7b8]
call qword [0x140077c68]
lea rcx, [rsp + 0x618]
call qword [0x140077388]
lea rdx, [rsp + 0x7b8]
lea rcx, [rsp + 0x2c0]
call qword [0x140077c78]
mov eax, dword [rsp + 0x7c0]
mov dword [rsp + 0x2c8], eax
mov eax, dword [rsp + 0x7c4]
mov dword [rsp + 0x2cc], eax
lea rcx, [rsi + 0x30]
lea rdx, [rsp + 0x2c0]
call fcn.14005f6e0
nop
lea rcx, [rsp + 0x718]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x7b8]
call qword [0x140077f38]
lea rdx, [rsp + 0x6a8]
lea rcx, [rsp + 0x760]
call qword [0x140077c70]
mov rcx, qword [rsp + 0x5c0]
test rcx, rcx
je 0x140047b00
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x5c0], r15
jmp 0x140047b00
mov rcx, qword [rsp + 0x5d0]
test rcx, rcx
je 0x140047e42
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x5d0], r15
lea rcx, [rsp + 0x8e0]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x820]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x8d8]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x760]
call qword [0x140077f38]
jmp 0x140047830
mov rcx, qword [rsp + 0x5c8]
test rcx, rcx
je 0x140047e9d
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x5c8], r15
lea rdx, str.OK:Win32_USBController
lea rcx, [rsp + 0x478]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
mov ebx, r15d
nop dword [rax]
movsxd rax, ebx
cmp rax, qword [rsi + 0x40]
jge 0x140047f40
test ebx, ebx
js 0x140047f39
cmp rax, qword [rsi + 0x40]
jge 0x140047f39
mov rcx, rax
shl rcx, 4
add rcx, qword [rsi + 0x38]
test ebx, ebx
js 0x140047f33
cmp rax, qword [rsi + 0x40]
jge 0x140047f33
shl rax, 4
add rax, qword [rsi + 0x38]
mov r9d, dword [rcx + 0xc]
mov r8d, dword [rax + 8]
lea rdx, str.VID_04Xh__PID_04Xh
lea rcx, [rsp + 0x6a8]
call qword [0x140077ab8]
lea rdx, [rsp + 0x6a8]
lea rcx, [rsp + 0x1b8]
call qword [0x140077c78]
mov rcx, rax
call fcn.1400616b0
inc ebx
jmp 0x140047ec0
call qword [0x140077e10]
call qword [0x140077e10]
nop
jmp 0x140047f51
lea rdx, str.MAX_SEARCH_PHYSICAL_DRIVE
lea rcx, [rsp + 0x6a8]
call qword [0x140077ab8]
mov ebx, r15d
nop dword [rax]
mov dword [rsp + 0x878], r15d
mov dword [rsp + 0x8f0], r15d
xor eax, eax
mov qword [rsp + 0x8f4], rax
mov qword [rsp + 0x8fc], rax
mov dword [rsp + 0x904], eax
lea rcx, [rsp + 0x868]
call qword [0x140077f48]
nop
mov r8d, ebx
lea rdx, str..PhysicalDrive_d
lea rcx, [rsp + 0x868]
call qword [0x140077ab8]
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0xc0000000
lea r8d, [r9 + 3]
mov rcx, qword [rsp + 0x868]
call qword [0x140077248]
mov rdi, rax
lea rcx, [rsp + 0x868]
call qword [0x140077f38]
lea rcx, [rdi - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x1400480b7
mov qword [rsp + 0x38], r15
lea rax, [rsp + 0x878]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x18
lea rax, [rsp + 0x8f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x70000
mov rcx, rdi
call qword [0x140077258]
cmp dword [rsp + 0x8f8], 0xc
jne 0x1400480ae
lea rcx, [rsp + 0x7f8]
call qword [0x140077f48]
nop
mov r8d, ebx
lea rdx, str.WakeUp__d_
lea rcx, [rsp + 0x7f8]
call qword [0x140077ab8]
lea rdx, [rsp + 0x7f8]
lea rcx, [rsp + 0x490]
call qword [0x140077c78]
mov rcx, rax
call fcn.1400616b0
mov edx, ebx
mov rcx, rsi
call fcn.140053ad0
nop
lea rcx, [rsp + 0x7f8]
call qword [0x140077f38]
mov rcx, rdi
call qword [0x140077188]
inc ebx
cmp ebx, 0x38
jl 0x140047f70
lea rdx, str.CSMI
lea rcx, [rsp + 0x498]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
cmp dword [rsi + 0x21c], 0
je 0x140048153
cmp dword [rsp + 0x98], 0x5d
jl 0x140048153
lea rdx, str.AddDiskAMD_RC2
lea rcx, [rsp + 0x4a0]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
mov rcx, rsi
call fcn.14005ecf0
test eax, eax
jne 0x140048191
lea rdx, str.AMD_RAID__CSMI_
lea rcx, [rsp + 0x4a8]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
mov ebx, r15d
nop
mov edx, ebx
mov rcx, rsi
call fcn.14005b0e0
inc ebx
cmp ebx, 0x10
jl 0x140048140
jmp 0x140048191
cmp dword [rsp + 0x98], 0x5c
je 0x140048191
lea rdx, str.Intel_AMD_RAID__CSMI_
lea rcx, [rsp + 0x4b0]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
mov ebx, r15d
nop dword [rax]
mov edx, ebx
mov rcx, rsi
call fcn.14005b0e0
inc ebx
cmp ebx, 0x10
jl 0x140048180
cmp dword [rsi + 0x214], 0
je 0x1400481d1
lea rdx, str.MegaRAID
lea rcx, [rsp + 0x4b8]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
mov ebx, r15d
nop word [rax + rax]
mov edx, ebx
mov rcx, rsi
call fcn.14005c0e0
inc ebx
cmp ebx, 0x10
jl 0x1400481c0
lea rdx, str.DO:SELECT__FROM_Win32_DiskDrive
lea rcx, [rsp + 0x4c0]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
mov ecx, 0x18
call qword [0x140077aa0]
mov rdi, rax
mov qword [rsp + 0xa8], rax
test rax, rax
je 0x140048239
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r15
mov dword [rdi + 0x10], r13d
lea rcx, str.SELECT__FROM_Win32_DiskDrive
call qword [0x140077398]
mov qword [rdi], rax
test rax, rax
jne 0x14004823c
mov ecx, 0x8007000e
call fcn.140071fd0
mov rdi, r15
mov qword [rsp + 0x5a8], rdi
test rdi, rdi
jne 0x140048254
mov ecx, 0x8007000e
call fcn.140071fd0
nop
mov ecx, 0x18
call qword [0x140077aa0]
mov rbx, rax
mov qword [rsp + 0xa8], rax
test rax, rax
je 0x14004829f
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r15
mov dword [rbx + 0x10], r13d
lea rcx, [0x14007f7d8]
call qword [0x140077398]
mov qword [rbx], rax
test rax, rax
jne 0x1400482a2
mov ecx, 0x8007000e
call fcn.140071fd0
mov rbx, r15
mov qword [rsp + 0x80], rbx
test rbx, rbx
jne 0x1400482ba
mov ecx, 0x8007000e
call fcn.140071fd0
nop
mov rcx, qword [rsp + 0x5f0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x5c8]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r15
mov r9d, 0x30
mov r8, qword [rdi]
mov rdx, qword [rbx]
call qword [rax + 0xa0]
mov r14d, eax
or ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x14004832b
mov rcx, qword [rbx]
test rcx, rcx
je 0x14004830a
call qword [0x140077390]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14004831d
call qword [0x140077aa8]
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.1400714b0
nop
or eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
cmp eax, 1
jne 0x140048369
mov rcx, qword [rdi]
test rcx, rcx
je 0x140048349
call qword [0x140077390]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14004835c
call qword [0x140077aa8]
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.1400714b0
test r14d, r14d
jns 0x140048373
jmp 0x14004a3c1
lea rdx, str.OK1:SELECT__FROM_Win32_DiskDrive
lea rcx, [rsp + 0x4c8]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
mov rcx, qword [rsp + 0x5c8]
test rcx, rcx
jne 0x1400483c0
lea rdx, str.pEnumCOMDevs__NULL
lea rcx, [rsp + 0xe0]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
nop
jmp 0x14004a3c1
mov rax, qword [rcx]
lea rdx, [rsp + 0x6b0]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x5c0]
mov r8d, r13d
mov edx, 0x2710
call qword [rax + 0x20]
test eax, eax
js 0x14004a37b
cmp dword [rsp + 0x6b0], 1
je 0x140048417
lea rdx, str.uReturned___1
lea rcx, [rsp + 0x4d0]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
jmp 0x14004a37b
lea rdx, str.while_pEnumCOMDevs_...
lea rcx, [rsp + 0x4d8]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
lea rcx, [rsp + 0x8d0]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x8e8]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x6b8]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x740]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x788]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x730]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x738]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x6c8]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x810]
call qword [0x140077f48]
nop
or r12d, 0xffffffff
mov dword [rsp + 0x98], r12d
or ebx, r12d
mov dword [rsp + 0xa0], ebx
mov dword [rsp + 0x88], r12d
mov dword [rsp + 0x6f8], r12d
mov r13d, r15d
xor r14d, r14d
mov dword [rsp + 0xc0], r14d
mov dword [rsp + 0x6e0], r14d
mov dword [rsp + 0x9c], r14d
lea rcx, [rsp + 0x5d8]
call qword [0x140077368]
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x5d8]
xor r8d, r8d
lea rdx, str.Size
call qword [rax + 0x20]
test eax, eax
jne 0x14004858e
cmp word [rsp + 0x5d8], 1
jbe 0x14004858e
mov rdx, qword [rsp + 0x5e0]
lea rcx, [rsp + 0x788]
call qword [0x140077c68]
lea r8, [rsp + 0x788]
lea rdx, str.diskSize:
lea rcx, [rsp + 0x4e0]
call fcn.14005f1e0
mov rcx, rax
call fcn.1400616b0
lea rcx, [rsp + 0x5d8]
call qword [0x140077388]
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x5d8]
xor r8d, r8d
lea rdx, str.DeviceID
call qword [rax + 0x20]
test eax, eax
jne 0x1400486db
cmp word [rsp + 0x5d8], 1
jbe 0x1400486db
mov rdx, qword [rsp + 0x5e0]
lea rcx, [rsp + 0x740]
call qword [0x140077c68]
lea r8, [rsp + 0x740]
lea rdx, str.deviceId:
lea rcx, [rsp + 0x4e8]
call fcn.14005f1e0
mov rcx, rax
call fcn.1400616b0
lea r8, [0x14007f930]
lea rdx, [0x14007eb60]
lea rcx, [rsp + 0x740]
call qword [0x140077f30]
mov r8d, 2
lea rdx, [rsp + 0x4f0]
lea rcx, [rsp + 0x740]
call qword [0x140077c00]
mov rcx, qword [rax]
call qword [0x140077538]
cmp eax, 0xa
setge bl
lea rcx, [rsp + 0x4f0]
call qword [0x140077f38]
lea rcx, [rsp + 0x740]
test bl, bl
je 0x140048691
mov r8d, 2
lea rdx, [rsp + 0x4f8]
call qword [0x140077c00]
mov rcx, qword [rax]
call qword [0x140077538]
lea rcx, [rsp + 0x4f8]
jmp 0x1400486b6
mov r8d, 1
lea rdx, [rsp + 0x500]
call qword [0x140077c00]
mov rcx, qword [rax]
call qword [0x140077538]
lea rcx, [rsp + 0x500]
mov r12d, eax
mov dword [rsp + 0x98], eax
call qword [0x140077f38]
lea rcx, [rsp + 0x5d8]
call qword [0x140077388]
mov ebx, dword [rsp + 0xa0]
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x5d8]
xor r8d, r8d
lea rdx, str.Model
call qword [rax + 0x20]
test eax, eax
jne 0x14004875c
cmp word [rsp + 0x5d8], 1
jbe 0x14004875c
mov rdx, qword [rsp + 0x5e0]
lea rcx, [rsp + 0x6b8]
call qword [0x140077c68]
lea r8, [rsp + 0x6b8]
lea rdx, str.model:
lea rcx, [rsp + 0x508]
call fcn.14005f1e0
mov rcx, rax
call fcn.1400616b0
lea rcx, [rsp + 0x5d8]
call qword [0x140077388]
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x5d8]
xor r8d, r8d
lea rdx, str.FirmwareRevision
call qword [rax + 0x20]
test eax, eax
jne 0x1400487b9
cmp word [rsp + 0x5d8], 1
jbe 0x1400487b9
mov rdx, qword [rsp + 0x5e0]
lea rcx, [rsp + 0x810]
call qword [0x140077c68]
lea rcx, [rsp + 0x5d8]
call qword [0x140077388]
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x5d8]
xor r8d, r8d
lea rdx, str.SCSIPort
call qword [rax + 0x20]
test eax, eax
jne 0x14004880e
cmp word [rsp + 0x5d8], 1
jbe 0x14004880e
mov ebx, dword [rsp + 0x5e0]
mov dword [rsp + 0xa0], ebx
lea rcx, [rsp + 0x5d8]
call qword [0x140077388]
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x5d8]
xor r8d, r8d
lea rdx, str.SCSITargetId
call qword [rax + 0x20]
test eax, eax
jne 0x140048865
cmp word [rsp + 0x5d8], 1
jbe 0x140048865
mov edi, dword [rsp + 0x5e0]
mov dword [rsp + 0x88], edi
lea rcx, [rsp + 0x5d8]
call qword [0x140077388]
jmp 0x14004886c
mov edi, dword [rsp + 0x88]
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x5d8]
xor r8d, r8d
lea rdx, str.SCSIBus
call qword [rax + 0x20]
test eax, eax
jne 0x1400488c1
cmp word [rsp + 0x5d8], 1
jbe 0x1400488c1
mov eax, dword [rsp + 0x5e0]
mov dword [rsp + 0x6f8], eax
lea rcx, [rsp + 0x5d8]
call qword [0x140077388]
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x5d8]
xor r8d, r8d
lea rdx, str.MediaType
call qword [rax + 0x20]
test eax, eax
jne 0x140048a02
cmp word [rsp + 0x5d8], 1
jbe 0x140048a02
mov rdx, qword [rsp + 0x5e0]
lea rcx, [rsp + 0x730]
call qword [0x140077c68]
lea r8, [rsp + 0x730]
lea rdx, str.mediaType:
lea rcx, [rsp + 0x510]
call fcn.14005f1e0
mov rcx, rax
call fcn.1400616b0
lea rcx, [rsp + 0x730]
call qword [0x140077c20]
lea rcx, [rsp + 0x5d8]
call qword [0x140077388]
xor r8d, r8d
lea rdx, str.SanDisk_Extreme
lea rcx, [rsp + 0x6b8]
call qword [0x140077c30]
test eax, eax
jne 0x140048988
mov eax, 1
mov r13d, eax
mov dword [rsp + 0xb0], eax
jmp 0x140048a02
xor r8d, r8d
lea rdx, str.Kingston_DT_Ultimate
lea rcx, [rsp + 0x6b8]
call qword [0x140077c30]
test eax, eax
jne 0x1400489b5
mov eax, 1
mov r13d, eax
mov dword [rsp + 0xb0], eax
jmp 0x140048a02
cmp dword [rsi + 0x204], 0
je 0x1400489cf
mov eax, 1
mov r13d, eax
mov dword [rsp + 0xb0], eax
jmp 0x140048a02
xor r8d, r8d
lea rdx, str.removable
lea rcx, [rsp + 0x730]
call qword [0x140077c30]
test eax, eax
jns 0x1400489ff
mov rax, qword [rsp + 0x730]
cmp dword [rax - 0x10], 0
mov r13d, 1
jne 0x140048a02
mov r13d, r14d
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x5d8]
xor r8d, r8d
lea rdx, str.InterfaceType
call qword [rax + 0x20]
test eax, eax
jne 0x140048a83
cmp word [rsp + 0x5d8], 1
jbe 0x140048a83
mov rdx, qword [rsp + 0x5e0]
lea rcx, [rsp + 0x738]
call qword [0x140077c68]
lea r8, [rsp + 0x738]
lea rdx, str.interfaceTypeWmi:
lea rcx, [rsp + 0x518]
call fcn.14005f1e0
mov rcx, rax
call fcn.1400616b0
lea rcx, [rsp + 0x5d8]
call qword [0x140077388]
mov rcx, qword [rsp + 0x5c0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x5d8]
xor r8d, r8d
lea rdx, str.PNPDeviceID
call qword [rax + 0x20]
test eax, eax
jne 0x140048da7
cmp word [rsp + 0x5d8], 1
jbe 0x140048da7
mov rdx, qword [rsp + 0x5e0]
lea rcx, [rsp + 0x6c8]
call qword [0x140077c68]
lea r8, [rsp + 0x6c8]
lea rdx, str.pnpDeviceId:
lea rcx, [rsp + 0x520]
call fcn.14005f1e0
mov rcx, rax
call fcn.1400616b0
lea rcx, [rsp + 0x6c8]
call qword [0x140077c28]
lea rcx, [rsp + 0x5d8]
call qword [0x140077388]
mov ebx, r14d
nop dword [rax]
movsxd rcx, ebx
cmp rcx, qword [rsi + 0x160]
jge 0x140048ba0
test ebx, ebx
js 0x140048b8c
cmp rcx, qword [rsi + 0x160]
jge 0x140048b8c
mov rax, qword [rsi + 0x158]
lea rcx, [rax + rcx*8]
xor r8d, r8d
mov rdx, qword [rsp + 0x6c8]
call qword [0x140077c30]
test eax, eax
js 0x140048b88
lea r8, [rsp + 0x6c8]
lea rdx, str.UASPController:
lea rcx, [rsp + 0x528]
call fcn.14005f1e0
mov rcx, rax
call fcn.1400616b0
mov dword [rsp + 0xc0], 1
inc ebx
jmp 0x140048b20
call qword [0x140077e10]
nop dword [rax]
nop word [rax + rax]
movsxd rdi, r14d
cmp rdi, qword [rsi + 0x138]
jge 0x140048c4d
test r14d, r14d
js 0x140048c47
cmp rdi, qword [rsi + 0x138]
jge 0x140048c47
mov rax, qword [rsi + 0x130]
lea rbx, [rax + rdi*8]
lea rcx, [rsp + 0x6c8]
call qword [0x140077d00]
mov rdx, rax
xor r8d, r8d
mov rcx, rbx
call qword [0x140077c30]
test eax, eax
js 0x140048c3f
lea r8, [rsp + 0x6c8]
lea rdx, str.SiliconImageController:
lea rcx, [rsp + 0x530]
call fcn.14005f1e0
mov rcx, rax
call fcn.1400616b0
test r14d, r14d
js 0x140048c39
cmp rdi, qword [rsi + 0x188]
jge 0x140048c39
mov rax, qword [rsi + 0x180]
mov r12d, dword [rax + rdi*4]
mov dword [rsp + 0x9c], r12d
jmp 0x140048c3f
call qword [0x140077e10]
inc r14d
jmp 0x140048ba0
call qword [0x140077e10]
xor r14d, r14d
mov r12d, dword [rsp + 0x98]
nop dword [rax + rax]
movsxd rcx, r14d
cmp rcx, qword [rsi + 0xe8]
jge 0x140048d17
test r14d, r14d
js 0x140048d11
cmp rcx, qword [rsi + 0xe8]
jge 0x140048d11
mov rax, qword [rsi + 0xe0]
lea rbx, [rax + rcx*8]
lea rcx, [rsp + 0x6c8]
call qword [0x140077d00]
mov rdx, rax
xor r8d, r8d
mov rcx, rbx
call qword [0x140077c30]
test eax, eax
js 0x140048d09
lea r8, [rsp + 0x6c8]
lea rdx, str.BlackIdeController:
lea rcx, [rsp + 0x100]
call fcn.14005f1e0
mov rcx, rax
call fcn.1400616b0
mov rdi, qword [rsi + 0x1b0]
test rdi, rdi
jns 0x140048ce8
call qword [0x140077e10]
lea rdx, [rdi + 1]
lea rcx, [rsi + 0x1a0]
call fcn.14005fc80
mov rax, qword [rsi + 0x1a8]
mov dword [rax + rdi*4], r12d
mov r15d, 1
inc r14d
jmp 0x140048c60
call qword [0x140077e10]
xor r14d, r14d
mov edi, r14d
nop dword [rax]
movsxd rcx, edi
cmp rcx, qword [rsi + 0x110]
jge 0x140048d99
test edi, edi
js 0x140048d93
cmp rcx, qword [rsi + 0x110]
jge 0x140048d93
mov rax, qword [rsi + 0x108]
lea rbx, [rax + rcx*8]
lea rcx, [rsp + 0x6c8]
call qword [0x140077d00]
mov rdx, rax
xor r8d, r8d
mov rcx, rbx
call qword [0x140077c30]
test eax, eax
js 0x140048d8f
lea r8, [rsp + 0x6c8]
lea rdx, str.BlackScsiController:
lea rcx, [rsp + 0x108]
call fcn.14005f1e0
mov rcx, rax
call fcn.1400616b0
mov r15d, 1
inc edi
jmp 0x140048d20
call qword [0x140077e10]
mov ebx, dword [rsp + 0xa0]
mov edi, dword [rsp + 0x88]
mov rcx, qword [rsp + 0x5c0]
test rcx, rcx
je 0x140048dc2
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x5c0], r14
test r15d, r15d
jne 0x14004a2d5
lea rcx, [rsp + 0x6f0]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x730]
call qword [0x140077f50]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
mov r9d, ebx
mov r8d, r12d
lea rdx, str.DO:GetDiskInfo_pd_d__sp_d__st_d__mt_s
lea rcx, [rsp + 0x6f0]
call qword [0x140077ab8]
lea rdx, [rsp + 0x6f0]
lea rcx, [rsp + 0x110]
call qword [0x140077c78]
mov rcx, rax
call fcn.1400616b0
mov r12d, r14d
mov r15d, r14d
xor r8d, r8d
lea rdx, str.1394
lea rcx, [rsp + 0x738]
call qword [0x140077c30]
test eax, eax
jns 0x140048fd4
xor r8d, r8d
lea rdx, str._IEEE_1394_SBP2_Device
lea rcx, [rsp + 0x6b8]
call qword [0x140077c30]
test eax, eax
jg 0x140048fd4
xor r8d, r8d
lea rdx, [0x14007fb28]
lea rcx, [rsp + 0x738]
call qword [0x140077c30]
test eax, eax
jns 0x140048f6c
xor r8d, r8d
lea rdx, str._USB_Device
lea rcx, [rsp + 0x6b8]
call qword [0x140077c30]
test eax, eax
jg 0x140048f6c
cmp dword [rsp + 0xc0], 0
jne 0x140048f6c
xor r8d, r8d
lea rdx, [0x1400805d8]
lea rcx, [rsp + 0x6b8]
call qword [0x140077c30]
test eax, eax
jns 0x140048f39
xor r8d, r8d
lea rdx, str.NVME
lea rcx, [rsp + 0x6c8]
call qword [0x140077c30]
test eax, eax
jns 0x140048f39
xor r8d, r8d
lea rdx, str.Optane
lea rcx, [rsp + 0x6b8]
call qword [0x140077c30]
test eax, eax
jns 0x140048f39
xor r8d, r8d
lea rdx, str.OPTANE
lea rcx, [rsp + 0x6c8]
call qword [0x140077c30]
test eax, eax
jns 0x140048f39
mov r13d, 1
jmp 0x140048ff7
lea rdx, str.INTERFACE_TYPE_NVME
lea rcx, [rsp + 0x118]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
mov r12d, 6
mov dword [rsp + 0x6e0], 1
jmp 0x140048ff7
lea rdx, str.INTERFACE_TYPE_USB
lea rcx, [rsp + 0x120]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
mov r12d, 3
xor r8d, r8d
lea rdx, [0x1400805d8]
lea rcx, [rsp + 0x6b8]
call qword [0x140077c30]
test eax, eax
jns 0x140048fc7
xor r8d, r8d
lea rdx, str.NVME
lea rcx, [rsp + 0x6c8]
call qword [0x140077c30]
test eax, eax
js 0x140048ff7
mov dword [rsp + 0x6e0], 1
jmp 0x140048ff7
lea rdx, str.INTERFACE_TYPE_IEEE1394
lea rcx, [rsp + 0x128]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
mov r12d, 4
mov r8d, r12d
lea rdx, str.InterfaceTypeId_d
lea rcx, [rsp + 0x6f0]
call qword [0x140077ab8]
lea rdx, [rsp + 0x6f0]
lea rcx, [rsp + 0x130]
call qword [0x140077c78]
mov rcx, rax
call fcn.1400616b0
xor edi, edi
nop
movsxd rbx, edi
cmp rbx, qword [rsi + 0x40]
jge 0x1400490fb
test edi, edi
js 0x1400490f5
cmp rbx, qword [rsi + 0x40]
jge 0x1400490f5
mov rcx, rbx
shl rcx, 4
add rcx, qword [rsi + 0x38]
call qword [0x140077d00]
mov rdx, rax
xor r8d, r8d
lea rcx, [rsp + 0x6b8]
call qword [0x140077c30]
test eax, eax
jne 0x1400490ee
test edi, edi
js 0x1400490e8
cmp rbx, qword [rsi + 0x40]
jge 0x1400490e8
mov rax, rbx
shl rax, 4
add rax, qword [rsi + 0x38]
mov r15d, dword [rax + 8]
test edi, edi
js 0x1400490e2
cmp rbx, qword [rsi + 0x40]
jge 0x1400490e2
shl rbx, 4
add rbx, qword [rsi + 0x38]
mov r14d, dword [rbx + 0xc]
mov r9d, r14d
mov r8d, r15d
lea rdx, str.usbVendorId_04X__usbProductId_04X
lea rcx, [rsp + 0x6f0]
call qword [0x140077ab8]
lea rdx, [rsp + 0x6f0]
lea rcx, [rsp + 0x138]
call qword [0x140077c78]
mov rcx, rax
call fcn.1400616b0
jmp 0x1400490ee
call qword [0x140077e10]
call qword [0x140077e10]
inc edi
jmp 0x140049030
call qword [0x140077e10]
cmp dword [rsi + 0x1c8], 0
je 0x14004911d
lea rcx, [rsp + 0x730]
call qword [0x140077c98]
test al, al
mov eax, 1
cmovne r13d, eax
xor r8d, r8d
lea rdx, str.SAMSUNG_HD155UI
lea rcx, [rsp + 0x6b8]
call qword [0x140077c30]
test eax, eax
je 0x140049155
xor r8d, r8d
lea rdx, str.SAMSUNG_HD204UI
lea rcx, [rsp + 0x6b8]
call qword [0x140077c30]
test eax, eax
jne 0x140049183
xor r8d, r8d
lea rdx, str.1AQ10003
lea rcx, [rsp + 0x810]
call qword [0x140077c30]
test eax, eax
je 0x140049183
cmp dword [rsi + 0x1d0], 0
mov ebx, 0
cmovne r13d, ebx
jmp 0x140049185
xor ebx, ebx
xor r8d, r8d
lea rdx, str.FuzeDrive
lea rcx, [rsp + 0x6b8]
call qword [0x140077c30]
cmp eax, 0xffffffff
jne 0x1400491bf
xor r8d, r8d
lea rdx, str.StoreMI
lea rcx, [rsp + 0x6b8]
call qword [0x140077c30]
cmp eax, 0xffffffff
je 0x1400491c2
mov r13d, ebx
mov rax, qword [rsi + 0x18]
mov qword [rsp + 0xe0], rax
lea rdx, str.flagTarget__GetDiskInfo
lea rcx, [rsp + 0x140]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
test r13d, r13d
je 0x14004a2c6
lea rdx, [rsp + 0x6c8]
lea rcx, [rsp + 0x148]
call qword [0x140077c78]
mov ecx, dword [rsp + 0x6e0]
mov dword [rsp + 0x68], ecx
mov qword [rsp + 0x60], rax
mov eax, dword [rsi + 0x1e4]
mov dword [rsp + 0x58], eax
mov eax, dword [rsi + 0x1e0]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x6f8]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x20], r12d
mov r9d, dword [rsp + 0x88]
mov r8d, dword [rsp + 0xa0]
mov edx, dword [rsp + 0x98]
mov rcx, rsi
call fcn.140053bf0
test eax, eax
je 0x14004a2c6
lea rcx, [rsp + 0x770]
call qword [0x140077f48]
nop
mov r8, qword [rsi + 0x18]
dec r8d
lea rdx, str.index_d
lea rcx, [rsp + 0x770]
call qword [0x140077ab8]
lea rdx, [rsp + 0x770]
lea rcx, [rsp + 0x150]
call qword [0x140077c78]
mov rcx, rax
call fcn.1400616b0
mov r14, qword [rsi + 0x18]
dec r14d
mov dword [rsp + 0x98], r14d
lea eax, [r14 + 1]
mov rcx, qword [rsp + 0xe0]
cmp eax, ecx
jle 0x14004a2b7
mov r8, qword [rsi + 0x18]
dec r8d
mov r9d, ecx
lea rdx, str.index_d__previousCount_d
lea rcx, [rsp + 0x770]
call qword [0x140077ab8]
lea rdx, [rsp + 0x770]
lea rcx, [rsp + 0x158]
call qword [0x140077c78]
mov rcx, rax
call fcn.1400616b0
lea rcx, [rsp + 0x788]
call qword [0x140077c98]
test al, al
jne 0x1400494a5
movsxd rdi, r14d
test r14d, r14d
js 0x14004949d
cmp rdi, qword [rsi + 0x18]
jge 0x14004949d
imul rbx, rdi, 0x1928
add rbx, qword [rsi + 0x10]
lea rcx, [rsp + 0x788]
call qword [0x140077d00]
mov rcx, rax
call qword [0x140077548]
mov rcx, rax
movabs r8, 0x20c49ba5e353f7cf
mov rax, r8
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, r8
imul rdx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
sub edx, 0x31
mov dword [rbx + 0x178c], edx
test r14d, r14d
js 0x140049497
cmp rdi, qword [rsi + 0x18]
jge 0x140049497
imul rax, rdi, 0x1928
add rax, qword [rsi + 0x10]
cmp dword [rax + 0x1754], 0
jbe 0x140049403
test r14d, r14d
js 0x1400493fd
cmp rdi, qword [rsi + 0x18]
jge 0x1400493fd
imul rax, rdi, 0x1928
add rax, qword [rsi + 0x10]
cmp dword [rax + 0x1754], 0x3e8
jae 0x140049403
jmp 0x1400494a3
call qword [0x140077e10]
test r14d, r14d
js 0x140049491
cmp rdi, qword [rsi + 0x18]
jge 0x140049491
imul rax, rdi, 0x1928
add rax, qword [rsi + 0x10]
cmp dword [rax + 0x1754], 0x2710
jae 0x14004946f
test r14d, r14d
js 0x140049469
cmp rdi, qword [rsi + 0x18]
jge 0x140049469
imul rax, rdi, 0x1928
add rax, qword [rsi + 0x10]
test r14d, r14d
js 0x140049463
cmp rdi, qword [rsi + 0x18]
jge 0x140049463
imul rcx, rdi, 0x1928
add rcx, qword [rsi + 0x10]
mov eax, dword [rax + 0x178c]
mov dword [rcx + 0x1754], eax
jmp 0x1400494a3
call qword [0x140077e10]
call qword [0x140077e10]
test r14d, r14d
js 0x14004948b
cmp rdi, qword [rsi + 0x18]
jge 0x14004948b
test r14d, r14d
js 0x140049485
cmp rdi, qword [rsi + 0x18]
jl 0x1400494a3
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
xor ebx, ebx
mov r13d, ebx
movsxd rdi, r14d
test r14d, r14d
js 0x14004a2b0
cmp rdi, qword [rsi + 0x18]
jge 0x14004a2b0
imul rcx, rdi, 0x1928
add rcx, 0x18b8
add rcx, qword [rsi + 0x10]
lea rdx, [rsp + 0x6b8]
call qword [0x140077c70]
lea r8, [0x140079cd4]
lea rdx, str._SCSI_Disk_Device
lea rcx, [rsp + 0x6b8]
call qword [0x140077f30]
lea r8, [0x140079cd4]
lea rdx, str._SATA_Disk_Device
lea rcx, [rsp + 0x6b8]
call qword [0x140077f30]
lea r8, [0x140079cd4]
lea rdx, str._ATA_Disk_Device
lea rcx, [rsp + 0x6b8]
call qword [0x140077f30]
lea r8, [0x140079cd4]
lea rdx, str._SCSI_Device
lea rcx, [rsp + 0x6b8]
call qword [0x140077f30]
lea r8, [0x140079cd4]
lea rdx, str._SATA_Device
lea rcx, [rsp + 0x6b8]
call qword [0x140077f30]
lea r8, [0x140079cd4]
lea rdx, str._ATA_Device
lea rcx, [rsp + 0x6b8]
call qword [0x140077f30]
lea r8, [0x140079cd4]
lea rdx, str.NVMe
lea rcx, [rsp + 0x6b8]
call qword [0x140077f30]
cmp dword [rsp + 0xc0], 0
je 0x1400497f1
mov r14d, 1
mov r13d, r14d
test rdi, rdi
js 0x1400497eb
cmp rdi, qword [rsi + 0x18]
jge 0x1400497eb
imul rcx, rdi, 0x1928
add rcx, 0x18f0
add rcx, qword [rsi + 0x10]
call qword [0x140077f50]
mov r8, rax
lea rdx, str.UASP___s_
lea rcx, [rsp + 0x6f0]
call qword [0x140077ab8]
test rdi, rdi
js 0x1400497e5
cmp rdi, qword [rsi + 0x18]
jge 0x1400497e5
imul rcx, rdi, 0x1928
add rcx, 0x18f0
add rcx, qword [rsi + 0x10]
lea rdx, [rsp + 0x6f0]
call qword [0x140077c70]
test rdi, rdi
js 0x1400497df
cmp rdi, qword [rsi + 0x18]
jge 0x1400497df
imul rax, rdi, 0x1928
add rax, qword [rsi + 0x10]
mov dword [rax + 0x1820], 3
test rdi, rdi
js 0x1400497d9
cmp rdi, qword [rsi + 0x18]
jge 0x1400497d9
imul rax, rdi, 0x1928
add rax, qword [rsi + 0x10]
mov dword [rax + 0x173c], r14d
mov r12d, ebx
nop
movsxd r14, r12d
cmp r14, qword [rsi + 0x40]
jge 0x140049c8b
test rdi, rdi
js 0x1400497d3
cmp rdi, qword [rsi + 0x18]
jge 0x1400497d3
imul rcx, rdi, 0x1928
add rcx, 0x18b8
test r12d, r12d
js 0x1400497cd
cmp r14, qword [rsi + 0x40]
jge 0x1400497cd
mov rbx, r14
shl rbx, 4
add rbx, qword [rsi + 0x38]
add rcx, qword [rsi + 0x10]
call qword [0x140077d00]
mov rdx, rax
xor r8d, r8d
mov rcx, rbx
call qword [0x140077c30]
test eax, eax
jne 0x1400497c5
test r12d, r12d
js 0x1400497bf
cmp r14, qword [rsi + 0x40]
jge 0x1400497bf
mov rdx, r14
shl rdx, 4
add rdx, qword [rsi + 0x38]
test rdi, rdi
js 0x1400497b9
cmp rdi, qword [rsi + 0x18]
jge 0x1400497b9
imul rcx, rdi, 0x1928
add rcx, 0x18f8
add rcx, qword [rsi + 0x10]
call qword [0x140077c70]
test r12d, r12d
js 0x1400497b3
cmp r14, qword [rsi + 0x40]
jge 0x1400497b3
mov rax, r14
shl rax, 4
add rax, qword [rsi + 0x38]
test rdi, rdi
js 0x1400497ad
cmp rdi, qword [rsi + 0x18]
jge 0x1400497ad
imul rcx, rdi, 0x1928
add rcx, qword [rsi + 0x10]
mov eax, dword [rax + 8]
mov dword [rcx + 0x1830], eax
test r12d, r12d
js 0x1400497a7
cmp r14, qword [rsi + 0x40]
jge 0x1400497a7
shl r14, 4
add r14, qword [rsi + 0x38]
test rdi, rdi
js 0x1400497a1
cmp rdi, qword [rsi + 0x18]
jge 0x1400497a1
imul rdx, rdi, 0x1928
mov rcx, qword [rsi + 0x10]
mov eax, dword [r14 + 0xc]
mov dword [rcx + rdx + 0x1834], eax
jmp 0x1400497c5
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
inc r12d
jmp 0x140049680
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
lea r8, [0x140079cd4]
lea rdx, str._USB_Device
lea rcx, [rsp + 0x6b8]
call qword [0x140077f30]
test eax, eax
jg 0x140049a8b
xor r8d, r8d
lea rdx, [0x14007fb28]
lea rcx, [rsp + 0x738]
call qword [0x140077c30]
test eax, eax
jns 0x140049a8b
lea r8, [0x140079cd4]
lea rdx, str._IEEE_1394_SBP2_Device
lea rcx, [rsp + 0x6b8]
call qword [0x140077f30]
test eax, eax
jg 0x140049875
xor r8d, r8d
lea rdx, str.1394
lea rcx, [rsp + 0x738]
call qword [0x140077c30]
test eax, eax
js 0x140049c95
mov r13d, 1
test r14d, r14d
js 0x140049a85
cmp rdi, qword [rsi + 0x18]
jge 0x140049a85
imul rcx, rdi, 0x1928
add rcx, 0x18f0
add rcx, qword [rsi + 0x10]
call qword [0x140077f50]
mov r8, rax
lea rdx, str.IEEE_1394___s_
lea rcx, [rsp + 0x6f0]
call qword [0x140077ab8]
test r14d, r14d
js 0x140049a7f
cmp rdi, qword [rsi + 0x18]
jge 0x140049a7f
imul rcx, rdi, 0x1928
add rcx, 0x18f0
add rcx, qword [rsi + 0x10]
lea rdx, [rsp + 0x6f0]
call qword [0x140077c70]
test r14d, r14d
js 0x140049a79
cmp rdi, qword [rsi + 0x18]
jge 0x140049a79
imul rax, rdi, 0x1928
add rax, qword [rsi + 0x10]
mov dword [rax + 0x1820], 4
mov r12d, ebx
nop dword [rax]
movsxd r14, r12d
cmp r14, qword [rsi + 0x40]
jge 0x140049c8b
test rdi, rdi
js 0x140049a73
cmp rdi, qword [rsi + 0x18]
jge 0x140049a73
imul rcx, rdi, 0x1928
add rcx, 0x18b8
test r12d, r12d
js 0x140049a6d
cmp r14, qword [rsi + 0x40]
jge 0x140049a6d
mov rbx, r14
shl rbx, 4
add rbx, qword [rsi + 0x38]
add rcx, qword [rsi + 0x10]
call qword [0x140077d00]
mov rdx, rax
xor r8d, r8d
mov rcx, rbx
call qword [0x140077c30]
test eax, eax
jne 0x140049a65
test r12d, r12d
js 0x140049a5f
cmp r14, qword [rsi + 0x40]
jge 0x140049a5f
mov rdx, r14
shl rdx, 4
add rdx, qword [rsi + 0x38]
test rdi, rdi
js 0x140049a59
cmp rdi, qword [rsi + 0x18]
jge 0x140049a59
imul rcx, rdi, 0x1928
add rcx, 0x18f8
add rcx, qword [rsi + 0x10]
call qword [0x140077c70]
test r12d, r12d
js 0x140049a53
cmp r14, qword [rsi + 0x40]
jge 0x140049a53
mov rax, r14
shl rax, 4
add rax, qword [rsi + 0x38]
test rdi, rdi
js 0x140049a4d
cmp rdi, qword [rsi + 0x18]
jge 0x140049a4d
imul rcx, rdi, 0x1928
add rcx, qword [rsi + 0x10]
mov eax, dword [rax + 8]
mov dword [rcx + 0x1830], eax
test r12d, r12d
js 0x140049a47
cmp r14, qword [rsi + 0x40]
jge 0x140049a47
shl r14, 4
add r14, qword [rsi + 0x38]
test rdi, rdi
js 0x140049a41
cmp rdi, qword [rsi + 0x18]
jge 0x140049a41
imul rdx, rdi, 0x1928
mov rcx, qword [rsi + 0x10]
mov eax, dword [r14 + 0xc]
mov dword [rdx + rcx + 0x1834], eax
jmp 0x140049a65
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
inc r12d
jmp 0x140049920
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
mov r13d, 1
test r14d, r14d
js 0x14004a2aa
cmp rdi, qword [rsi + 0x18]
jge 0x14004a2aa
imul rcx, rdi, 0x1928
add rcx, 0x18f0
add rcx, qword [rsi + 0x10]
call qword [0x140077f50]
mov r8, rax
lea rdx, str.USB___s_
lea rcx, [rsp + 0x6f0]
call qword [0x140077ab8]
test r14d, r14d
js 0x14004a2a4
cmp rdi, qword [rsi + 0x18]
jge 0x14004a2a4
imul rcx, rdi, 0x1928
add rcx, 0x18f0
add rcx, qword [rsi + 0x10]
lea rdx, [rsp + 0x6f0]
call qword [0x140077c70]
test r14d, r14d
js 0x14004a29e
cmp rdi, qword [rsi + 0x18]
jge 0x14004a29e
imul rax, rdi, 0x1928
add rax, qword [rsi + 0x10]
mov dword [rax + 0x1820], 3
mov r12d, ebx
movsxd r14, r12d
cmp r14, qword [rsi + 0x40]
jge 0x140049c8b
test rdi, rdi
js 0x140049c85
cmp rdi, qword [rsi + 0x18]
jge 0x140049c85
imul rcx, rdi, 0x1928
add rcx, 0x18b8
test r12d, r12d
js 0x140049c7f
cmp r14, qword [rsi + 0x40]
jge 0x140049c7f
mov rbx, r14
shl rbx, 4
add rbx, qword [rsi + 0x38]
add rcx, qword [rsi + 0x10]
call qword [0x140077d00]
mov rdx, rax
xor r8d, r8d
mov rcx, rbx
call qword [0x140077c30]
test eax, eax
jne 0x140049c77
test r12d, r12d
js 0x140049c71
cmp r14, qword [rsi + 0x40]
jge 0x140049c71
mov rdx, r14
shl rdx, 4
add rdx, qword [rsi + 0x38]
test rdi, rdi
js 0x140049c6b
cmp rdi, qword [rsi + 0x18]
jge 0x140049c6b
imul rcx, rdi, 0x1928
add rcx, 0x18f8
add rcx, qword [rsi + 0x10]
call qword [0x140077c70]
test r12d, r12d
js 0x140049c65
cmp r14, qword [rsi + 0x40]
jge 0x140049c65
mov rax, r14
shl rax, 4
add rax, qword [rsi + 0x38]
test rdi, rdi
js 0x140049c5f
cmp rdi, qword [rsi + 0x18]
jge 0x140049c5f
imul rcx, rdi, 0x1928
add rcx, qword [rsi + 0x10]
mov eax, dword [rax + 8]
mov dword [rcx + 0x1830], eax
test r12d, r12d
js 0x140049c59
cmp r14, qword [rsi + 0x40]
jge 0x140049c59
shl r14, 4
add r14, qword [rsi + 0x38]
test rdi, rdi
js 0x140049c53
cmp rdi, qword [rsi + 0x18]
jge 0x140049c53
imul rdx, rdi, 0x1928
mov rcx, qword [rsi + 0x10]
mov eax, dword [r14 + 0xc]
mov dword [rcx + rdx + 0x1834], eax
jmp 0x140049c77
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
inc r12d
jmp 0x140049b32
call qword [0x140077e10]
call qword [0x140077e10]
xor ebx, ebx
mov r14d, dword [rsp + 0x98]
lea rcx, [rsp + 0x700]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x7b0]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x808]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x800]
call qword [0x140077f48]
nop
lea rdx, [rsp + 0x6b8]
lea rcx, [rsp + 0x700]
call qword [0x140077c70]
lea r8, [0x140079cd4]
lea rdx, [0x14007f84c]
lea rcx, [rsp + 0x700]
call qword [0x140077f30]
mov r8d, 8
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x700]
call qword [0x140077bf8]
nop
mov rdx, rax
lea rcx, [rsp + 0x7b0]
call qword [0x140077c70]
nop
lea rcx, [rsp + 0x160]
call qword [0x140077f38]
test rdi, rdi
js 0x14004a297
cmp rdi, qword [rsi + 0x18]
jge 0x14004a297
imul rdx, rdi, 0x1928
add rdx, 0x18a8
add rdx, qword [rsi + 0x10]
lea rcx, [rsp + 0x700]
call qword [0x140077c70]
lea r8, [0x140079cd4]
lea rdx, [0x14007f84c]
lea rcx, [rsp + 0x700]
call qword [0x140077f30]
mov r8d, 8
lea rdx, [rsp + 0x168]
lea rcx, [rsp + 0x700]
call qword [0x140077bf8]
nop
mov rdx, rax
lea rcx, [rsp + 0x808]
call qword [0x140077c70]
nop
lea rcx, [rsp + 0x168]
call qword [0x140077f38]
test rdi, rdi
js 0x14004a291
cmp rdi, qword [rsi + 0x18]
jge 0x14004a291
imul rdx, rdi, 0x1928
add rdx, 0x18b0
add rdx, qword [rsi + 0x10]
lea rcx, [rsp + 0x700]
call qword [0x140077c70]
lea r8, [0x140079cd4]
lea rdx, [0x14007f84c]
lea rcx, [rsp + 0x700]
call qword [0x140077f30]
mov r8d, 8
lea rdx, [rsp + 0x170]
lea rcx, [rsp + 0x700]
call qword [0x140077bf8]
nop
mov rdx, rax
lea rcx, [rsp + 0x800]
call qword [0x140077c70]
nop
lea rcx, [rsp + 0x170]
call qword [0x140077f38]
test rdi, rdi
js 0x14004a28b
cmp rdi, qword [rsi + 0x18]
jge 0x14004a28b
imul rcx, rdi, 0x1928
add rcx, 0x18a8
add rcx, qword [rsi + 0x10]
call qword [0x140077c98]
test al, al
je 0x140049f1c
lea r8, [rsp + 0x6b8]
lea rdx, str.WmiModel:
lea rcx, [rsp + 0x178]
call fcn.14005f1e0
mov rcx, rax
call fcn.1400616b0
test rdi, rdi
js 0x140049f16
cmp rdi, qword [rsi + 0x18]
jge 0x140049f16
imul r8, rdi, 0x1928
add r8, 0x1888
add r8, qword [rsi + 0x10]
lea rdx, str.SerialNumber:
lea rcx, [rsp + 0x180]
call fcn.14005f1e0
mov rcx, rax
call fcn.1400616b0
lea rdx, str.vars.RemoveAt_index____1
lea rcx, [rsp + 0x188]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
mov rdx, rdi
lea rcx, [rsi + 8]
call fcn.14005f530
jmp 0x14004a22d
call qword [0x140077e10]
test r13d, r13d
jne 0x14004a22d
lea rcx, [rsp + 0x6b8]
call qword [0x140077c98]
test al, al
jne 0x14004a22d
lea rcx, [rsp + 0x808]
call qword [0x140077d00]
mov rdx, rax
lea rcx, [rsp + 0x7b0]
call qword [0x140077c40]
test eax, eax
je 0x14004a22d
lea rcx, [rsp + 0x800]
call qword [0x140077d00]
mov rdx, rax
lea rcx, [rsp + 0x7b0]
call qword [0x140077c40]
test eax, eax
jne 0x14004a133
test rdi, rdi
js 0x14004a12d
cmp rdi, qword [rsi + 0x18]
jge 0x14004a12d
imul rcx, rdi, 0x1928
mov rdx, qword [rsi + 0x10]
add rdx, 0x1890
test rdi, rdi
js 0x14004a127
cmp rdi, qword [rsi + 0x18]
jge 0x14004a127
mov rax, qword [rsi + 0x10]
add rdx, rcx
add rax, 0x1888
add rcx, rax
call qword [0x140077c70]
test rdi, rdi
js 0x14004a121
cmp rdi, qword [rsi + 0x18]
jge 0x14004a121
imul rcx, rdi, 0x1928
mov rdx, qword [rsi + 0x10]
add rdx, 0x18a0
test rdi, rdi
js 0x14004a11b
cmp rdi, qword [rsi + 0x18]
jge 0x14004a11b
mov rax, qword [rsi + 0x10]
add rdx, rcx
add rax, 0x1898
add rcx, rax
call qword [0x140077c70]
test rdi, rdi
js 0x14004a115
cmp rdi, qword [rsi + 0x18]
jge 0x14004a115
imul rcx, rdi, 0x1928
mov rdx, qword [rsi + 0x10]
add rdx, 0x18b0
test rdi, rdi
js 0x14004a10f
cmp rdi, qword [rsi + 0x18]
jge 0x14004a10f
mov rax, qword [rsi + 0x10]
add rdx, rcx
add rax, 0x18a8
add rcx, rax
call qword [0x140077c70]
test rdi, rdi
js 0x14004a109
cmp rdi, qword [rsi + 0x18]
jge 0x14004a109
imul rcx, rdi, 0x1928
mov r9, qword [rsi + 0x10]
add r9, 0x1888
test rdi, rdi
js 0x14004a103
cmp rdi, qword [rsi + 0x18]
jge 0x14004a103
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
test rdi, rdi
js 0x14004a227
cmp rdi, qword [rsi + 0x18]
jge 0x14004a227
imul rax, rdi, 0x1928
add rax, qword [rsi + 0x10]
cmp dword [rax + 0x1820], 3
je 0x14004a22d
lea r8, [rsp + 0x6b8]
lea rdx, str.WmiModel:
lea rcx, [rsp + 0x198]
call fcn.14005f1e0
mov rcx, rax
call fcn.1400616b0
test rdi, rdi
js 0x14004a221
cmp rdi, qword [rsi + 0x18]
jge 0x14004a221
imul r8, rdi, 0x1928
add r8, 0x18a8
add r8, qword [rsi + 0x10]
lea rdx, str.Model:
lea rcx, [rsp + 0x1a0]
call fcn.14005f1e0
mov rcx, rax
call fcn.1400616b0
test rdi, rdi
js 0x14004a21b
cmp rdi, qword [rsi + 0x18]
jge 0x14004a21b
imul r8, rdi, 0x1928
add r8, 0x1888
add r8, qword [rsi + 0x10]
lea rdx, str.SerialNumber:
lea rcx, [rsp + 0x1a8]
call fcn.14005f1e0
mov rcx, rax
call fcn.1400616b0
lea rdx, str.DISABLED:_vars.RemoveAt_index____2
lea rcx, [rsp + 0x1b0]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
jmp 0x14004a22d
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
lea rdx, str.OK:Check_Model_Name
lea rcx, [rsp + 0x1c0]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
nop
lea rcx, [rsp + 0x800]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x808]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x7b0]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x700]
call qword [0x140077f38]
jmp 0x1400492c7
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
nop
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
call qword [0x140077e10]
nop
lea rcx, [rsp + 0x770]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x6f0]
call qword [0x140077f38]
nop
jmp 0x14004a2df
mov r13d, 1
xor r15d, r15d
lea rcx, [rsp + 0x810]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x6c8]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x738]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x730]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x788]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x740]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x6b8]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x8e8]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x8d0]
call qword [0x140077f38]
mov rcx, qword [rsp + 0x5c8]
jmp 0x1400483c0
mov rcx, qword [rsp + 0x5c8]
test rcx, rcx
je 0x14004a396
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x5c8], r15
lea rdx, str.OK2:SELECT__FROM_Win32_DiskDrive
lea rcx, [rsp + 0x1d0]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
nop
jmp 0x14004a3c1
mov rcx, qword [rsp + 0x5c0]
test rcx, rcx
je 0x14004a3dc
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x5c0], r15
mov rcx, qword [rsp + 0x5c8]
test rcx, rcx
je 0x14004a3f7
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x5c8], r15
mov rcx, qword [rsp + 0x5d0]
test rcx, rcx
je 0x14004a412
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x5d0], r15
mov rcx, qword [rsp + 0x5f0]
test rcx, rcx
je 0x14004a42d
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x5f0], r15
lea rcx, [rsp + 0x780]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x710]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x6a8]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x908]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x880]
call qword [0x140077ee0]
mov r14d, r15d
mov r13, qword [rsp + 0x1e0]
mov ecx, r15d
mov dword [rsp + 0x6f8], r15d
xor eax, eax
mov qword [rsp + 0x910], rax
mov qword [rsp + 0x918], rax
mov qword [rsp + 0x920], rax
mov r12d, r15d
mov r9d, r15d
mov r8, r15
lea r11d, [rax + 1]
cmp qword [rsi + 0x18], rax
jle 0x14004a4fe
mov rdx, r15
mov r10, qword [rsp + 0x1e8]
test rdx, rdx
js 0x14004ad57
cmp r8, qword [rsi + 0x18]
jge 0x14004ad57
mov rax, qword [rsi + 0x10]
cmp r14d, dword [rdx + rax + 0x1740]
cmove ecx, r11d
inc r9d
inc r8
add rdx, 0x1928
movsxd rax, r9d
cmp rax, qword [r10 + 0x18]
jl 0x14004a4c5
mov r8d, r15d
mov rdx, r15
cmp qword [rsi + 0x1b0], 0
jle 0x14004a547
nop
test rdx, rdx
js 0x14004ad5e
cmp rdx, qword [rsi + 0x1b0]
jge 0x14004ad5e
mov rax, qword [rsi + 0x1a8]
cmp r14d, dword [rax + rdx*4]
cmove ecx, r11d
inc r8d
inc rdx
movsxd rax, r8d
cmp rax, qword [r13 + 0x1b0]
jl 0x14004a510
test ecx, ecx
jne 0x14004ad49
lea rcx, [rsp + 0x818]
call qword [0x140077f48]
nop
mov r8d, r14d
lea rdx, str..PhysicalDrive_d
lea rcx, [rsp + 0x818]
call qword [0x140077ab8]
lea rcx, [rsp + 0x818]
call qword [0x140077d00]
mov rcx, rax
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0xc0000000
lea r8d, [r9 + 3]
call qword [0x140077248]
mov rdi, rax
lea rcx, [rsp + 0x818]
call qword [0x140077f38]
lea rcx, [rdi - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x14004ad49
mov qword [rsp + 0x38], r15
lea rax, [rsp + 0x6f8]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x18
lea rax, [rsp + 0x910]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x70000
mov rcx, rdi
call qword [0x140077258]
test eax, eax
je 0x14004ad40
cmp dword [rsp + 0x6f8], 0x18
jne 0x14004ad40
cmp dword [rsp + 0x918], 0xc
jne 0x14004ad40
mov dword [rsp + 0x7f0], r15d
mov ecx, 0x1000
call qword [0x140077ab0]
mov rbx, rax
xor eax, eax
mov qword [rsp + 0x838], rax
mov dword [rsp + 0x840], eax
lea rcx, [rsp + 0x708]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x748]
call qword [0x140077f48]
nop
test rbx, rbx
jne 0x14004a695
lea rcx, [rsp + 0x748]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x708]
call qword [0x140077f38]
jmp 0x14004ad49
xor edx, edx
mov r8d, 0x1000
mov rcx, rbx
call fcn.1400721ae
mov qword [rsp + 0x838], 0
mov byte [rsp + 0x840], 0
mov qword [rsp + 0x38], r15
lea rax, [rsp + 0x7f0]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x1000
mov qword [rsp + 0x20], rbx
mov r9d, 0xc
lea r8, [rsp + 0x838]
mov edx, 0x2d1400
mov rcx, rdi
call qword [0x140077258]
test eax, eax
jne 0x14004a72d
mov rcx, rbx
call qword [0x140077aa8]
mov rcx, rdi
call qword [0x140077188]
nop
lea rcx, [rsp + 0x748]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x708]
call qword [0x140077f38]
jmp 0x14004ad49
mov eax, dword [rbx + 0x10]
test eax, eax
je 0x14004a746
lea rdx, [rbx + rax]
lea rcx, [rsp + 0x708]
call qword [0x140077c60]
mov eax, dword [rbx + 0x14]
test eax, eax
je 0x14004a75f
lea rdx, [rbx + rax]
lea rcx, [rsp + 0x748]
call qword [0x140077c60]
mov r15d, 6
cmp dword [rbx + 0x1c], 0x11
mov eax, 0
cmovne r15d, eax
mov rcx, rbx
call qword [0x140077aa8]
xor r8d, r8d
lea rdx, str.SAMSUNG_HD155UI
lea rcx, [rsp + 0x708]
call qword [0x140077c30]
test eax, eax
je 0x14004a7b3
xor r8d, r8d
lea rdx, str.SAMSUNG_HD204UI
lea rcx, [rsp + 0x708]
call qword [0x140077c30]
test eax, eax
jne 0x14004a7fd
xor r8d, r8d
lea rdx, str.1AQ10003
lea rcx, [rsp + 0x748]
call qword [0x140077c30]
test eax, eax
je 0x14004a7fd
cmp dword [rsi + 0x1d0], 0
je 0x14004a7fd
lea rcx, [rsp + 0x748]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x708]
call qword [0x140077f38]
xor r15d, r15d
jmp 0x14004ad49
xor r8d, r8d
lea rdx, str.FuzeDrive
lea rcx, [rsp + 0x708]
call qword [0x140077c30]
cmp eax, 0xffffffff
jne 0x14004a7d8
xor r8d, r8d
lea rdx, str.StoreMI
lea rcx, [rsp + 0x708]
call qword [0x140077c30]
cmp eax, 0xffffffff
jne 0x14004a7d8
lea rdx, str.USB_HDD_Check
lea rcx, [rsp + 0x1f0]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
xor ebx, ebx
mov dword [rsp + 0x7f4], ebx
xor edx, edx
mov r8d, 0x1000
lea rcx, [rsp + 0xfe0]
call fcn.1400721ae
xor eax, eax
mov qword [rsp + 0x848], rax
mov qword [rsp + 0x84c], rax
mov dword [rsp + 0x848], ebx
mov byte [rsp + 0x850], al
mov qword [rsp + 0x38], rbx
lea rax, [rsp + 0x7f4]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x1000
lea rax, [rsp + 0xfe0]
mov qword [rsp + 0x20], rax
lea r9d, [rbx + 0xc]
lea r8, [rsp + 0x848]
mov edx, 0x2d1400
mov rcx, rdi
call qword [0x140077258]
test eax, eax
je 0x14004a925
lea rdx, str.Check_Bus_Type
lea rcx, [rsp + 0x1f8]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
cmp dword [rsp + 0xffc], 7
jne 0x14004a925
lea rdx, str.Bus_Type__USB
lea rcx, [rsp + 0x200]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
lea r15d, [rbx + 3]
mov r12d, 0xffff
mov rcx, rdi
call qword [0x140077188]
lea rdx, str.DO:GetDiskInfo
lea rcx, [rsp + 0x208]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
lea rdx, [0x140079cd4]
lea rcx, [rsp + 0x210]
call qword [0x140077f40]
mov dword [rsp + 0x68], ebx
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x40], 0xffffffff
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x20], r15d
or r9d, 0xffffffff
or r8d, r9d
mov edx, r14d
mov rcx, rsi
call fcn.140053bf0
test eax, eax
je 0x14004ad1e
lea rdx, str.OK:GetDiskInfo
lea rcx, [rsp + 0x218]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
mov rbx, qword [rsi + 0x18]
dec ebx
lea rcx, [rsp + 0x720]
call qword [0x140077f48]
nop
lea rcx, [rsp + 0x830]
call qword [0x140077f48]
nop
movsxd rbx, ebx
test rbx, rbx
js 0x14004adb2
cmp rbx, qword [rsi + 0x18]
jge 0x14004adb2
imul rdx, rbx, 0x1928
add rdx, 0x18a8
add rdx, qword [rsi + 0x10]
lea rcx, [rsp + 0x720]
call qword [0x140077c70]
lea rdx, str.Check_Reverse
lea rcx, [rsp + 0x220]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
xor r8d, r8d
lea rdx, str.DW_C
lea rcx, [rsp + 0x720]
call qword [0x140077c30]
test eax, eax
je 0x14004aae9
xor r8d, r8d
lea rdx, str.iHat
lea rcx, [rsp + 0x720]
call qword [0x140077c30]
test eax, eax
je 0x14004aae9
xor r8d, r8d
lea rdx, str.ASSM
lea rcx, [rsp + 0x720]
call qword [0x140077c30]
test eax, eax
je 0x14004aae9
xor r8d, r8d
lea rdx, str.aMtx
lea rcx, [rsp + 0x720]
call qword [0x140077c30]
test eax, eax
je 0x14004aae9
xor r8d, r8d
lea rdx, str.OTHS
lea rcx, [rsp + 0x720]
call qword [0x140077c30]
test eax, eax
je 0x14004aae9
xor r8d, r8d
lea rdx, str.UFIJ
lea rcx, [rsp + 0x720]
call qword [0x140077c30]
test eax, eax
jne 0x14004ac84
lea rdx, str.Reverse
lea rcx, [rsp + 0x228]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
test rbx, rbx
js 0x14004adab
cmp rbx, qword [rsi + 0x18]
jge 0x14004adab
imul rcx, rbx, 0x1928
mov rdx, qword [rsi + 0x10]
add rdx, 0x1890
test rbx, rbx
js 0x14004ada4
cmp rbx, qword [rsi + 0x18]
jge 0x14004ada4
mov rax, qword [rsi + 0x10]
add rdx, rcx
add rax, 0x1888
add rcx, rax
call qword [0x140077c70]
test rbx, rbx
js 0x14004ad9d
cmp rbx, qword [rsi + 0x18]
jge 0x14004ad9d
imul rcx, rbx, 0x1928
mov rdx, qword [rsi + 0x10]
add rdx, 0x18a0
test rbx, rbx
js 0x14004ad96
cmp rbx, qword [rsi + 0x18]
jge 0x14004ad96
mov rax, qword [rsi + 0x10]
add rdx, rcx
add rax, 0x1898
add rcx, rax
call qword [0x140077c70]
test rbx, rbx
js 0x14004ad8f
cmp rbx, qword [rsi + 0x18]
jge 0x14004ad8f
imul rcx, rbx, 0x1928
mov rdx, qword [rsi + 0x10]
add rdx, 0x18b0
test rbx, rbx
js 0x14004ad88
cmp rbx, qword [rsi + 0x18]
jge 0x14004ad88
mov rax, qword [rsi + 0x10]
add rdx, rcx
add rax, 0x18a8
add rcx, rax
call qword [0x140077c70]
test rbx, rbx
js 0x14004ad81
cmp rbx, qword [rsi + 0x18]
jge 0x14004ad81
imul rcx, rbx, 0x1928
mov r9, qword [rsi + 0x10]
add r9, 0x1888
test rbx, rbx
js 0x14004ad7a
cmp rbx, qword [rsi + 0x18]
jge 0x14004ad7a
mov r8, qword [rsi + 0x10]
add r9, rcx
add rcx, 0x18a8
add r8, rcx
lea rdx, [rsp + 0x230]
call fcn.14005e710
nop
test rbx, rbx
js 0x14004ad73
cmp rbx, qword [rsi + 0x18]
jge 0x14004ad73
imul rcx, rbx, 0x1928
add rcx, 0x18c0
add rcx, qword [rsi + 0x10]
mov rdx, rax
call qword [0x140077c70]
nop
lea rcx, [rsp + 0x230]
call qword [0x140077f38]
cmp r15d, 3
jne 0x14004ad00
test rbx, rbx
js 0x14004ad6c
cmp rbx, qword [rsi + 0x18]
jge 0x14004ad6c
imul rdi, rbx, 0x1928
mov rcx, qword [rsi + 0x10]
add rcx, 0x18f0
add rcx, rdi
call qword [0x140077f50]
mov r8, rax
lea rdx, str.USB___s_
lea rcx, [rsp + 0x830]
call qword [0x140077ab8]
test rbx, rbx
js 0x14004ad65
cmp rbx, qword [rsi + 0x18]
jge 0x14004ad65
mov rcx, qword [rsi + 0x10]
add rcx, 0x18f0
add rcx, rdi
lea rdx, [rsp + 0x830]
call qword [0x140077c70]
nop
lea rcx, [rsp + 0x830]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x720]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x748]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x708]
call qword [0x140077f38]
xor r15d, r15d
jmp 0x14004ad49
mov rcx, rdi
call qword [0x140077188]
inc r14d
cmp r14d, 0x38
jge 0x14004adb9
jmp 0x14004a482
call qword [0x140077e10]
int3
call qword [0x140077e10]
nop
call qword [0x140077e10]
int3
call qword [0x140077e10]
nop
call qword [0x140077e10]
nop
call qword [0x140077e10]
int3
call qword [0x140077e10]
int3
call qword [0x140077e10]
int3
call qword [0x140077e10]
int3
call qword [0x140077e10]
int3
call qword [0x140077e10]
int3
call qword [0x140077e10]
int3
call qword [0x140077e10]
int3
call qword [0x140077e10]
nop
lea rdx, str.OK:GetDiskInfo___PhysicalDrive
lea rcx, [rsp + 0x238]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
lea r9, [0x14004b8f0]
mov r8d, 0x1928
mov rdx, qword [rsi + 0x18]
mov rcx, qword [rsi + 0x10]
call qword [0x140077758]
lea rdx, str.OK:qsort
lea rcx, [rsp + 0x240]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
cmp dword [rsi + 0x1c8], 0
je 0x14004b18a
mov r14d, r15d
nop
mov edi, r15d
nop dword [rax]
nop word [rax + rax]
lea rdx, [0x140079cd4]
lea rcx, [rsp + 0x248]
call qword [0x140077f40]
mov dword [rsp + 0x68], r15d
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x58], r15d
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x40], 0xffffffff
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x20], r15d
mov r9d, edi
mov r8d, r14d
or edx, 0xffffffff
mov rcx, rsi
call fcn.140053bf0
test eax, eax
je 0x14004b10e
mov rbx, qword [rsi + 0x18]
dec ebx
lea rcx, [rsp + 0x728]
call qword [0x140077f48]
nop
movsxd rbx, ebx
test rbx, rbx
js 0x14004b166
cmp rbx, qword [rsi + 0x18]
jge 0x14004b166
imul rdx, rbx, 0x1928
add rdx, 0x18a8
add rdx, qword [rsi + 0x10]
lea rcx, [rsp + 0x728]
call qword [0x140077c70]
xor r8d, r8d
lea rdx, str.DW_C
lea rcx, [rsp + 0x728]
call qword [0x140077c30]
test eax, eax
je 0x14004af89
xor r8d, r8d
lea rdx, str.iHat
lea rcx, [rsp + 0x728]
call qword [0x140077c30]
test eax, eax
je 0x14004af89
xor r8d, r8d
lea rdx, str.ASSM
lea rcx, [rsp + 0x728]
call qword [0x140077c30]
test eax, eax
je 0x14004af89
xor r8d, r8d
lea rdx, str.aMtx
lea rcx, [rsp + 0x728]
call qword [0x140077c30]
test eax, eax
je 0x14004af89
xor r8d, r8d
lea rdx, str.OTHS
lea rcx, [rsp + 0x728]
call qword [0x140077c30]
test eax, eax
je 0x14004af89
xor r8d, r8d
lea rdx, str.UFIJ
lea rcx, [rsp + 0x728]
call qword [0x140077c30]
test eax, eax
jne 0x14004b100
test rbx, rbx
js 0x14004b15f
cmp rbx, qword [rsi + 0x18]
jge 0x14004b15f
imul rcx, rbx, 0x1928
mov rdx, qword [rsi + 0x10]
add rdx, 0x1890
test rbx, rbx
js 0x14004b158
cmp rbx, qword [rsi + 0x18]
jge 0x14004b158
mov rax, qword [rsi + 0x10]
add rdx, rcx
add rax, 0x1888
add rcx, rax
call qword [0x140077c70]
test rbx, rbx
js 0x14004b151
cmp rbx, qword [rsi + 0x18]
jge 0x14004b151
imul rcx, rbx, 0x1928
mov rdx, qword [rsi + 0x10]
add rdx, 0x18a0
test rbx, rbx
js 0x14004b14a
cmp rbx, qword [rsi + 0x18]
jge 0x14004b14a
mov rax, qword [rsi + 0x10]
add rdx, rcx
add rax, 0x1898
add rcx, rax
call qword [0x140077c70]
test rbx, rbx
js 0x14004b143
cmp rbx, qword [rsi + 0x18]
jge 0x14004b143
imul rcx, rbx, 0x1928
mov rdx, qword [rsi + 0x10]
add rdx, 0x18b0
test rbx, rbx
js 0x14004b13c
cmp rbx, qword [rsi + 0x18]
jge 0x14004b13c
mov rax, qword [rsi + 0x10]
add rdx, rcx
add rax, 0x18a8
add rcx, rax
call qword [0x140077c70]
test rbx, rbx
js 0x14004b135
cmp rbx, qword [rsi + 0x18]
jge 0x14004b135
imul rcx, rbx, 0x1928
mov r9, qword [rsi + 0x10]
add r9, 0x1888
test rbx, rbx
js 0x14004b12e
cmp rbx, qword [rsi + 0x18]
jge 0x14004b12e
mov r8, qword [rsi + 0x10]
add r9, rcx
add rcx, 0x18a8
add r8, rcx
lea rdx, [rsp + 0x250]
call fcn.14005e710
nop
test rbx, rbx
js 0x14004b127
cmp rbx, qword [rsi + 0x18]
jge 0x14004b127
imul rcx, rbx, 0x1928
add rcx, 0x18c0
add rcx, qword [rsi + 0x10]
mov rdx, rax
call qword [0x140077c70]
nop
lea rcx, [rsp + 0x250]
call qword [0x140077f38]
nop
lea rcx, [rsp + 0x728]
call qword [0x140077f38]
inc edi
cmp edi, 8
jl 0x14004ae30
inc r14d
cmp r14d, 0x10
jge 0x14004b16d
jmp 0x14004ae20
call qword [0x140077e10]
nop
call qword [0x140077e10]
int3
call qword [0x140077e10]
int3
call qword [0x140077e10]
int3
call qword [0x140077e10]
int3
call qword [0x140077e10]
int3
call qword [0x140077e10]
int3
call qword [0x140077e10]
int3
call qword [0x140077e10]
int3
call qword [0x140077e10]
nop
lea rdx, str.OK:GetDiskInfo___Scsi
lea rcx, [rsp + 0x258]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
lea rdx, str.Drive_Letter_Mapping___Start
lea rcx, [rsp + 0x260]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
mov r14d, 0x41
movsxd r12, dword [rsp + 0xb0]
nop word [rax + rax]
lea rcx, [rsp + 0x6d8]
call qword [0x140077f48]
nop
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0xdd0]
call fcn.1400721ae
movzx edi, r14w
mov r8d, edi
lea rdx, str._c:_
lea rcx, [rsp + 0xdd0]
call qword [0x140077460]
lea rdx, [rsp + 0xdd0]
lea rcx, [rsp + 0x6d8]
call qword [0x140077c68]
lea rdx, [rsp + 0x6d8]
lea rcx, [rsp + 0x268]
call qword [0x140077c78]
mov rcx, rax
call fcn.1400616b0
lea rcx, [rsp + 0x6d8]
call qword [0x140077d00]
mov rcx, rax
call qword [0x140077118]
cmp eax, 3
je 0x14004b29a
test r12, r12
je 0x14004b278
lea rcx, [rsp + 0x6d8]
call qword [0x140077d00]
mov rcx, rax
call qword [0x140077118]
cmp eax, 2
jne 0x14004b278
cmp r14w, 0x43
jae 0x14004b29a
lea rdx, str.Drive_Letter_Mapping_____DRIVE_FIXED
lea rcx, [rsp + 0x270]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
jmp 0x14004b4c3
mov r8d, edi
lea rdx, str.._c:
lea rcx, [rsp + 0xdd0]
call qword [0x140077460]
lea rdx, [rsp + 0xdd0]
lea rcx, [rsp + 0x6d8]
call qword [0x140077c68]
lea rdx, [rsp + 0x6d8]
lea rcx, [rsp + 0x278]
call qword [0x140077c78]
mov rcx, rax
call fcn.1400616b0
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], pe_nt_image_headers64
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0xc0000000
lea r8d, [r9 + 3]
lea rcx, [rsp + 0xdd0]
call qword [0x140077248]
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x14004b340
lea rdx, str.Drive_Letter_Mapping___INVALID_HANDLE_VALUE
lea rcx, [rsp + 0x280]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
jmp 0x14004b4c3
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rsp + 0x960]
call fcn.1400721ae
mov dword [rsp + 0x750], r15d
mov qword [rsp + 0x38], r15
lea rax, [rsp + 0x750]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x68
lea rax, [rsp + 0x960]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x560000
mov rcx, rbx
call qword [0x140077258]
mov r15d, eax
test rbx, rbx
je 0x14004b3a7
mov rcx, rbx
call qword [0x140077188]
test r15d, r15d
jne 0x14004b3e0
lea rdx, str.Drive_Letter_Mapping___bResult__FALSE
lea rcx, [rsp + 0x288]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
nop
lea rcx, [rsp + 0x6d8]
call qword [0x140077f38]
xor r15d, r15d
jmp 0x14004b4d1
mov r8d, dword [rsp + 0x960]
lea rdx, str.volumeDiskExtents.NumberOfDiskExtents___d
lea rcx, [rsp + 0x6d8]
call qword [0x140077ab8]
lea rdx, [rsp + 0x6d8]
lea rcx, [rsp + 0x290]
call qword [0x140077c78]
mov rcx, rax
call fcn.1400616b0
xor r15d, r15d
mov ebx, r15d
mov edx, dword [rsp + 0x960]
test edx, edx
je 0x14004b4c3
lea r12d, [r15 + 1]
cmp edx, 4
jae 0x14004b4bb
mov eax, ebx
lea rcx, [rax + rax*2]
cmp qword [rsp + rcx*8 + 0x978], r15
je 0x14004b4b1
mov r9d, dword [rsp + rcx*8 + 0x968]
cmp r9d, 0x100
jae 0x14004b474
lea rdx, [rsp + 0x9d0]
lea rdx, [rdx + r9*4]
lea ecx, [rdi - 0x41]
mov eax, r12d
shl eax, cl
or dword [rdx], eax
mov r8d, ebx
lea rdx, str.n___d__pDiskExtent__DiskNumber___d
lea rcx, [rsp + 0x6d8]
call qword [0x140077ab8]
lea rdx, [rsp + 0x6d8]
lea rcx, [rsp + 0x298]
call qword [0x140077c78]
mov rcx, rax
call fcn.1400616b0
mov edx, dword [rsp + 0x960]
inc ebx
cmp ebx, edx
jb 0x14004b434
movsxd r12, dword [rsp + 0xb0]
lea rcx, [rsp + 0x6d8]
call qword [0x140077f38]
inc r14w
cmp r14w, 0x5a
jbe 0x14004b1c0
lea rdx, str.Drive_Letter_Mapping___End
lea rcx, [rsp + 0x2a0]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
mov r12d, r15d
cmp qword [rsi + 0x18], 0
jle 0x14004b6d5
xor r14d, r14d
nop
test r14, r14
js 0x14004b6ce
cmp r15, qword [rsi + 0x18]
jge 0x14004b6ce
mov rax, qword [rsi + 0x10]
cmp dword [r14 + rax + 0x1740], 0
jl 0x14004b692
lea rdx, [0x140079cd4]
lea rcx, [rsp + 0x828]
call qword [0x140077f40]
nop
xor ebx, ebx
nop
cmp r15, qword [rsi + 0x18]
jge 0x14004b6c2
mov rax, qword [rsi + 0x10]
mov ecx, ebx
mov edi, 1
shl edi, cl
movsxd rax, dword [r14 + rax + 0x1740]
test dword [rsp + rax*4 + 0x9d0], edi
je 0x14004b624
lea rcx, [rsp + 0x7a8]
call qword [0x140077f48]
nop
lea r8d, [rbx + 0x41]
lea rdx, [0x140080ea4]
lea rcx, [rsp + 0x7a8]
call qword [0x140077ab8]
lea r8, [0x140080e9c]
lea rdx, [rsp + 0x7a8]
lea rcx, [rsp + 0x2a8]
call fcn.14005f280
nop
mov rdx, rax
lea rcx, [rsp + 0x828]
call qword [0x140077c50]
nop
lea rcx, [rsp + 0x2a8]
call qword [0x140077f38]
cmp r15, qword [rsi + 0x18]
jge 0x14004b6ad
mov rax, qword [rsi + 0x10]
add dword [r14 + rax + 0x1814], edi
lea rdx, [rsp + 0x7a8]
lea rcx, [rsp + 0x2b0]
call qword [0x140077c78]
mov rcx, rax
call fcn.1400616b0
nop
lea rcx, [rsp + 0x7a8]
call qword [0x140077f38]
inc ebx
cmp ebx, 0x1a
jl 0x14004b550
movsxd rbx, r12d
test r12d, r12d
js 0x14004b6bb
cmp rbx, qword [rsi + 0x18]
jge 0x14004b6bb
imul rdi, rbx, 0x1928
mov rcx, qword [rsi + 0x10]
add rcx, 0x18c8
add rcx, rdi
lea rdx, [rsp + 0x828]
call qword [0x140077cf0]
test r12d, r12d
js 0x14004b6b4
cmp rbx, qword [rsi + 0x18]
jge 0x14004b6b4
mov rcx, qword [rsi + 0x10]
add rcx, 0x18c8
add rcx, rdi
call qword [0x140077c18]
nop
lea rcx, [rsp + 0x828]
call qword [0x140077f38]
inc r12d
inc r15
add r14, 0x1928
movsxd rax, r12d
cmp rax, qword [rsi + 0x18]
jge 0x14004b6c9
jmp 0x14004b510
call qword [0x140077e10]
nop
call qword [0x140077e10]
int3
call qword [0x140077e10]
int3
call qword [0x140077e10]
nop
xor r15d, r15d
jmp 0x14004b6d5
call qword [0x140077e10]
int3
lea rcx, str.kernel32.dll
call qword [0x140077100]
test rax, rax
je 0x14004b700
lea rdx, str.GetTickCount64
mov rcx, rax
call qword [0x140077178]
test rax, rax
je 0x14004b700
call rax
jmp 0x14004b708
mov rax, qword [rsp + 0x80]
mov qword [rsi + 0x1d8], rax
lea rdx, str.CAtaSmart::Init___Complete
lea rcx, [rsp + 0xb8]
call qword [0x140077f40]
mov rcx, rax
call fcn.1400616b0
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x14004b895
mov rax, qword [rsi + 0x18]
mov rdx, qword [rsp + 0x8b8]
cmp rax, rdx
je 0x14004b759
mov dword [rcx], 1
jmp 0x14004b895
test rax, rax
jle 0x14004b895
mov r12, qword [rsp + 0x2b8]
xor ebx, ebx
xor edi, edi
mov r8, qword [rsp + 0x8b0]
lea r14, [r8 + 4]
nop word [rax + rax]
test rdi, rdi
js 0x14004b88e
cmp rbx, qword [rsi + 0x18]
jge 0x14004b88e
mov rcx, qword [rsi + 0x10]
cmp rbx, rdx
jge 0x14004b887
mov eax, dword [r14 - 4]
cmp dword [rcx + rdi + 0x1740], eax
jne 0x14004b877
cmp rbx, qword [rsi + 0x18]
jge 0x14004b870
mov eax, dword [r14 + 4]
cmp dword [rcx + rdi + 0x1748], eax
jne 0x14004b877
cmp rbx, qword [rsi + 0x18]
jge 0x14004b869
mov eax, dword [r14]
cmp dword [rcx + rdi + 0x1744], eax
jne 0x14004b877
movsxd rax, r15d
test r15d, r15d
js 0x14004b862
cmp rax, rdx
jge 0x14004b862
imul rdx, rax, 0x4c
add rdx, 0xc
test r15d, r15d
js 0x14004b85b
cmp rax, qword [rsi + 0x18]
jge 0x14004b85b
imul rcx, rax, 0x1928
add rcx, 0x1842
add rdx, r8
add rcx, qword [rsi + 0x10]
mov r8d, 0x40
call fcn.140072378
test eax, eax
jne 0x14004b877
inc r15d
inc rbx
add rdi, 0x1928
add r14, 0x4c
movsxd rax, r15d
cmp rax, qword [r12 + 0x18]
mov rdx, qword [rsp + 0x8b8]
mov r8, qword [rsp + 0x8b0]
jl 0x14004b780
jmp 0x14004b895
call qword [0x140077e10]
int3
call qword [0x140077e10]
int3
call qword [0x140077e10]
int3
call qword [0x140077e10]
int3
mov rax, qword [rsp + 0xf0]
mov dword [rax], 1
jmp 0x14004b895
call qword [0x140077e10]
int3
call qword [0x140077e10]
nop
mov rcx, qword [rsp + 0x8b0]
test rcx, rcx
je 0x14004b8a8
call qword [0x140077aa8]
mov rcx, qword [rsp + 0x1fe0]
xor rcx, rsp
call fcn.140070eb0
lea r11, [rsp + 0x1ff0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret