Function at 0x14006f0c0
Capabilities:
Reference sql statements

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x238
mov rdi, qword [0x1400f6e30]
mov rax, qword [rdi]
mov qword [rsp + 0x228], rax
mov rax, qword [0x1400f6fb0]
mov ebx, ecx
mov qword [rsp + 0x60], r8
mov esi, edx
lea r14, [rsp + 0xa0]
mov qword [rsp + 0x68], r9
mov qword [rsp + 0xa0], 0
mov rcx, r14
movzx ebp, byte [rax]
call fcn.140064970
mov r12d, eax
test al, al
jne 0x14006f180
cmp bpl, 1
ja 0x14006f170
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x14006f139
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rsi, qword [0x1400f6e30]
mov rax, qword [rsp + 0x228]
sub rax, qword [rsi]
jne 0x14006ff4d
mov eax, r12d
add rsp, 0x238
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.WMI_connect_failed_n
call fcn.140002a70
jmp 0x14006f126
lea rax, [rsp + 0xe0]
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0x70], rax
mov qword [rsp + 0xd0], rax
mov byte [rsp + 0xe0], 0
mov qword [rsp + 0xa8], 0
cmp esi, 0x19
jbe 0x14006f230
test ebx, ebx
js 0x14006f220
lea rsi, [rsp + 0xa8]
mov r9d, ebx
lea r8, str.SELECT_Model_FROM_Win32_DiskDrive_WHERE_DeviceID_.PHYSICALDRIVE_d_
mov rcx, r14
mov rdx, rsi
call fcn.140064e00
test al, al
jne 0x14006f2d0
xor r12d, r12d
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x14006f1f9
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0x70]
cmp rcx, rax
je 0x14006f126
call fcn.1400a3f20
jmp 0x14006f126
xor r12d, r12d
jmp 0x14006f126
lea ebx, [rsi + 0x41]
lea rsi, [rsp + 0xa8]
mov rcx, r14
mov r9d, ebx
lea r8, str.ASSOCIATORS_OF_Win32_LogicalDisk.DeviceID__c:__WHERE_ResultClass__Win32_DiskPartition
mov rdx, rsi
call fcn.140064e00
test al, al
je 0x14006f1e3
lea rcx, [rsp + 0x190]
lea r8, str.DeviceID
mov rdx, rsi
call fcn.1400647b0
mov r9, qword [rsp + 0x190]
cmp bpl, 1
jbe 0x14006f292
mov r8, r9
mov edx, ebx
lea rcx, str._c:_______s______n
call fcn.140002a70
mov r9, qword [rsp + 0x190]
lea r8, str.ASSOCIATORS_OF_Win32_DiskPartition.DeviceID__s__WHERE_ResultClass__Win32_DiskDrive
mov rdx, rsi
mov rcx, r14
call fcn.140064e00
test al, al
jne 0x14006f6a0
mov rcx, qword [rsp + 0x190]
lea rax, [rsp + 0x1a0]
cmp rcx, rax
je 0x14006f1e3
call fcn.1400a3f20
jmp 0x14006f1e3
lea rax, [rsp + 0x1b0]
lea r8, str.Model
mov rdx, rsi
mov rcx, rax
mov qword [rsp + 0x38], rax
call fcn.1400647b0
mov rax, qword [rsp + 0x1b0]
lea rdi, [rsp + 0x1c0]
mov rcx, qword [rsp + 0xd0]
cmp rax, rdi
je 0x14006fd18
mov rdx, qword [rsp + 0x70]
cmp rcx, rdx
je 0x14006f776
mov rdx, qword [rsp + 0xe0]
mov qword [rsp + 0xd0], rax
movdqu xmm4, xmmword [rsp + 0x1b8]
movups xmmword [rsp + 0xd8], xmm4
test rcx, rcx
je 0x14006f78f
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x1c0], rdx
mov qword [rsp + 0x1b8], 0
mov byte [rcx], 0
mov rcx, qword [rsp + 0x1b0]
cmp rcx, rdi
je 0x14006f379
call fcn.1400a3f20
cmp bpl, 1
ja 0x14006fcc0
lea rax, [rsp + 0xb0]
mov rcx, r14
lea r8, str.SELECT_Antecedent_Dependent_FROM_Win32_USBControllerDevice
mov qword [rsp + 0xb0], 0
mov rdx, rax
mov qword [rsp + 0x40], rax
call fcn.140064dc0
mov r12d, eax
test al, al
je 0x14006fbc2
lea rax, [rsp + 0x100]
mov rcx, qword [rsp + 0x38]
xor r9d, r9d
xor r10d, r10d
mov qword [rsp + 0x80], rax
lea rdx, str..PnPEntity.DeviceID_______
mov qword [rsp + 0xf0], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x110], rax
lea rax, [rsp + 0x140]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x130], rax
lea rax, [rsp + 0x160]
mov word [rsp + 0x9c], r9w
mov word [rsp + 0x9e], r10w
mov qword [rsp + 0xf8], 0
mov byte [rsp + 0x100], 0
mov qword [rsp + 0x118], 0
mov byte [rsp + 0x120], 0
mov qword [rsp + 0x138], 0
mov byte [rsp + 0x140], 0
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], 0
mov byte [rsp + 0x160], 0
call fcn.1400580f0
xor eax, eax
xor edx, edx
mov word [rsp + 0x7e], ax
mov word [rsp + 0x7c], dx
nop word [rax + rax]
mov rcx, qword [rsp + 0x40]
mov rdx, rsi
call fcn.1400648d0
test al, al
je 0x14006fb30
lea r13, [rsp + 0x130]
lea rcx, [rsp + 0x110]
mov rdx, r13
call fcn.1400a0b80
lea rdi, [rsp + 0x190]
lea r8, str.Antecedent
mov rdx, rsi
mov rcx, rdi
call fcn.1400647b0
mov rax, qword [rsp + 0x190]
lea rbx, [rsp + 0x1a0]
mov rcx, qword [rsp + 0x130]
cmp rax, rbx
je 0x14006f800
mov rdx, qword [rsp + 0x48]
cmp rcx, rdx
je 0x14006f8a8
mov rdx, qword [rsp + 0x140]
mov qword [rsp + 0x130], rax
movdqu xmm0, xmmword [rsp + 0x198]
movups xmmword [rsp + 0x138], xmm0
test rcx, rcx
je 0x14006f8c1
mov qword [rsp + 0x190], rcx
mov qword [rsp + 0x1a0], rdx
mov qword [rsp + 0x198], 0
mov byte [rcx], 0
mov rcx, qword [rsp + 0x190]
cmp rcx, rbx
je 0x14006f571
call fcn.1400a3f20
lea r8, str.Dependent
mov rdx, rsi
mov rcx, rdi
call fcn.1400647b0
mov rax, qword [rsp + 0x190]
mov rcx, qword [rsp + 0x150]
cmp rax, rbx
je 0x14006f7b0
mov rdx, qword [rsp + 0x50]
cmp rcx, rdx
je 0x14006f870
mov rdx, qword [rsp + 0x160]
mov qword [rsp + 0x150], rax
movdqu xmm1, xmmword [rsp + 0x198]
movups xmmword [rsp + 0x158], xmm1
test rcx, rcx
je 0x14006f889
mov qword [rsp + 0x190], rcx
mov qword [rsp + 0x1a0], rdx
mov qword [rsp + 0x198], 0
mov byte [rcx], 0
mov rcx, qword [rsp + 0x190]
cmp rcx, rbx
je 0x14006f605
call fcn.1400a3f20
cmp bpl, 1
jbe 0x14006f640
mov r15, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x110]
cmp r8, qword [rsp + 0x118]
je 0x14006f850
mov rdx, r15
lea rcx, str.__s:_n
call fcn.140002a70
mov rdx, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x38]
lea r9, [rsp + 0xc0]
mov r8d, 2
call fcn.1400577c0
test al, al
je 0x14006f674
movsxd rdx, dword [rsp + 0xc8]
test edx, edx
jns 0x14006f8e0
cmp bpl, 1
jbe 0x14006f4a0
mov rdx, qword [rsp + 0x150]
lea rcx, str.______s___n
call fcn.140002a70
jmp 0x14006f4a0
lea rax, [rsp + 0x1b0]
lea r8, str.Model
mov rdx, rsi
mov rcx, rax
mov qword [rsp + 0x38], rax
call fcn.1400647b0
mov rax, qword [rsp + 0x1b0]
lea rdi, [rsp + 0x1c0]
mov rcx, qword [rsp + 0xd0]
cmp rax, rdi
je 0x14006fe5e
mov rbx, qword [rsp + 0x70]
cmp rcx, rbx
je 0x14006fea7
mov rdx, qword [rsp + 0xe0]
mov qword [rsp + 0xd0], rax
movdqu xmm5, xmmword [rsp + 0x1b8]
movups xmmword [rsp + 0xd8], xmm5
test rcx, rcx
je 0x14006fec0
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x1c0], rdx
mov qword [rsp + 0x1b8], 0
mov byte [rcx], 0
mov rcx, qword [rsp + 0x1b0]
cmp rcx, rdi
je 0x14006f749
call fcn.1400a3f20
cmp bpl, 1
ja 0x14006fe10
mov rcx, qword [rsp + 0x190]
lea rax, [rsp + 0x1a0]
cmp rcx, rax
je 0x14006f383
call fcn.1400a3f20
jmp 0x14006f383
movdqu xmm5, xmmword [rsp + 0x1b8]
mov qword [rsp + 0xd0], rax
movups xmmword [rsp + 0xd8], xmm5
mov qword [rsp + 0x1b0], rdi
lea rdi, [rsp + 0x1c0]
mov rcx, rdi
jmp 0x14006f358
mov r8, qword [rsp + 0x198]
test r8, r8
je 0x14006f7df
cmp r8, 1
je 0x14006fc00
mov rdx, rbx
call sub.msvcrt.dll_memcpy
mov r8, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x150]
mov qword [rsp + 0x158], r8
mov byte [rcx + r8], 0
mov rcx, qword [rsp + 0x190]
jmp 0x14006f5e4
mov r8, qword [rsp + 0x198]
test r8, r8
je 0x14006f82f
cmp r8, 1
je 0x14006fbe0
mov rdx, rbx
call sub.msvcrt.dll_memcpy
mov r8, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x130]
mov qword [rsp + 0x138], r8
mov byte [rcx + r8], 0
mov rcx, qword [rsp + 0x190]
jmp 0x14006f550
test r8, r8
je 0x14006f640
mov rcx, r15
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x14006f640
jmp 0x14006f631
movdqu xmm3, xmmword [rsp + 0x198]
mov qword [rsp + 0x150], rax
movups xmmword [rsp + 0x158], xmm3
mov qword [rsp + 0x190], rbx
lea rbx, [rsp + 0x1a0]
mov rcx, rbx
jmp 0x14006f5e4
movdqu xmm2, xmmword [rsp + 0x198]
mov qword [rsp + 0x130], rax
movups xmmword [rsp + 0x138], xmm2
mov qword [rsp + 0x190], rbx
lea rbx, [rsp + 0x1a0]
mov rcx, rbx
jmp 0x14006f550
mov eax, dword [rsp + 0xcc]
lea rcx, [rsp + 0x180]
mov qword [rsp + 0x58], rcx
sub eax, edx
mov qword [rsp + 0x170], rcx
cdqe
add rdx, qword [rsp + 0x150]
jne 0x14006f913
test rax, rax
jne 0x14006ff52
lea rcx, [rsp + 0x170]
lea r8, [rdx + rax]
call fcn.140066df0
mov r15, qword [rsp + 0x170]
mov r8d, 9
lea rdx, str.USBVID_
mov rcx, r15
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x14006fa80
mov r8d, 9
lea rdx, str.USBSTOR_
mov rcx, r15
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x14006f9a8
mov r8d, 6
lea rdx, str.SCSI_
mov rcx, r15
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x14006f9a8
cmp bpl, 1
ja 0x14006fce0
nop dword [rax]
mov rax, qword [rsp + 0x58]
cmp r15, rax
je 0x14006f4a0
mov rcx, r15
call fcn.1400a3f20
jmp 0x14006f4a0
cmp bpl, 1
jbe 0x14006f9c5
mov rdx, r15
lea rcx, str.________s__n
call fcn.140002a70
mov r15, qword [rsp + 0x170]
lea r13, [rsp + 0xb8]
mov r9, r15
lea r8, str.SELECT_Name_FROM_Win32_PnPEntity_WHERE_DeviceID__s_
mov rcx, r14
mov qword [rsp + 0xb8], 0
mov rdx, r13
call fcn.140064e00
test al, al
je 0x14006fa48
lea r8, str.Name
mov rdx, r13
mov rcx, rdi
call fcn.1400647b0
mov r15, qword [rsp + 0x190]
mov r8, qword [rsp + 0x198]
mov rdx, qword [rsp + 0xd0]
cmp r8, qword [rsp + 0xd8]
je 0x14006fc38
cmp bpl, 1
ja 0x14006fcf8
cmp r15, rbx
je 0x14006fa48
mov rcx, r15
call fcn.1400a3f20
nop dword [rax]
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x14006fa5b
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x58]
cmp rcx, rax
jne 0x14006f999
jmp 0x14006f4a0
lea rax, [rsp + 0xb8]
lea r9, [rsp + 0x9e]
mov rcx, r15
mov dword [rsp + 0xb8], 0xffffffff
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x9c]
lea rdx, str.USBVID__4hxPID__4hx_n
call fcn.1400934c0
cmp eax, 2
je 0x14006fc20
xor ecx, ecx
xor r8d, r8d
mov word [rsp + 0x9e], cx
mov word [rsp + 0x9c], r8w
lea rcx, [rsp + 0xf0]
mov rdx, r13
call fcn.1400a0b80
mov r15, qword [rsp + 0x170]
cmp bpl, 1
jbe 0x14006f988
movzx r9d, word [rsp + 0x9e]
mov rdx, r15
movzx r8d, word [rsp + 0x9c]
lea rcx, str._______s___0x_04x:0x_04x__n
call fcn.140002a70
mov r15, qword [rsp + 0x170]
jmp 0x14006f988
cmp word [rsp + 0x7c], 0
je 0x14006fcb4
mov rax, qword [rsp + 0x60]
movzx edi, word [rsp + 0x7c]
mov word [rax], di
mov rax, qword [rsp + 0x68]
movzx edi, word [rsp + 0x7e]
mov word [rax], di
mov rcx, qword [rsp + 0x38]
call fcn.140057350
mov rcx, qword [rsp + 0x150]
mov rax, qword [rsp + 0x50]
cmp rcx, rax
je 0x14006fb77
call fcn.1400a3f20
mov rcx, qword [rsp + 0x130]
mov rax, qword [rsp + 0x48]
cmp rcx, rax
je 0x14006fb8e
call fcn.1400a3f20
mov rcx, qword [rsp + 0x110]
mov rax, qword [rsp + 0x88]
cmp rcx, rax
je 0x14006fba8
call fcn.1400a3f20
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0x80]
cmp rcx, rax
je 0x14006fbc2
call fcn.1400a3f20
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x14006f1e6
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14006f1e6
movzx eax, byte [rsp + 0x1a0]
mov byte [rcx], al
mov r8, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x130]
jmp 0x14006f82f
movzx eax, byte [rsp + 0x1a0]
mov byte [rcx], al
mov r8, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x150]
jmp 0x14006f7df
cmp dword [rsp + 0xb8], 0x16
jne 0x14006fac0
jmp 0x14006fad6
test r8, r8
je 0x14006fc4d
mov rcx, r15
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x14006fa2a
mov rcx, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
mov rdx, qword [rsp + 0xf0]
cmp r8, qword [rsp + 0xf8]
je 0x14006fd61
cmp bpl, 1
ja 0x14006ff3c
cmp r15, rbx
je 0x14006fc8a
mov rcx, r15
call fcn.1400a3f20
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x14006fc9d
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x58]
cmp rcx, rax
je 0x14006fcb4
call fcn.1400a3f20
xor r12d, r12d
jmp 0x14006fb56
mov r8, qword [rsp + 0xd0]
mov edx, ebx
lea rcx, str..PHYSICALDRIVE_d_______s_:_n
call fcn.140002a70
jmp 0x14006f383
mov rdx, r15
lea rcx, str._______s__n
call fcn.140002a70
jmp 0x14006fb19
mov rdx, r15
lea rcx, str.__________s___n
call fcn.140002a70
mov r15, qword [rsp + 0x190]
jmp 0x14006fa34
mov r8, qword [rsp + 0x1b8]
test r8, r8
je 0x14006fd47
cmp r8, 1
je 0x14006fed8
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov r8, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0xd8], r8
mov byte [rcx + r8], 0
mov rcx, qword [rsp + 0x1b0]
jmp 0x14006f358
test r8, r8
je 0x14006fd73
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x14006fc73
movzx edi, word [rsp + 0x9c]
test di, di
je 0x14006fc73
cmp word [rsp + 0x7c], 0
je 0x14006fdaa
cmp di, word [rsp + 0x7c]
jne 0x14006ff16
movzx eax, word [rsp + 0x7e]
cmp word [rsp + 0x9e], ax
jne 0x14006ff16
movzx eax, word [rsp + 0x9e]
mov word [rsp + 0x7e], ax
cmp bpl, 1
ja 0x14006fdef
cmp r15, rbx
je 0x14006fdca
mov rcx, r15
call fcn.1400a3f20
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x14006fddd
mov rax, qword [rcx]
call qword [rax + 0x10]
mov word [rsp + 0x7c], di
mov r15, qword [rsp + 0x170]
jmp 0x14006f988
movzx r9d, ax
movzx r8d, di
mov rdx, r15
lea rcx, str.______s___0x_04x:0x_04x__n
call fcn.140002a70
mov r15, qword [rsp + 0x190]
jmp 0x14006fdbd
mov rcx, qword [rsp + 0x38]
lea r8, str.DeviceID
mov rdx, rsi
mov rbx, qword [rsp + 0xd0]
call fcn.1400647b0
mov rdx, qword [rsp + 0x1b0]
mov r8, rbx
lea rcx, str._s_______s_:_n
call fcn.140002a70
mov rcx, qword [rsp + 0x1b0]
cmp rcx, rdi
je 0x14006f753
call fcn.1400a3f20
jmp 0x14006f753
mov r8, qword [rsp + 0x1b8]
test r8, r8
je 0x14006fe8d
cmp r8, 1
je 0x14006fef7
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov r8, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0xd8], r8
mov byte [rcx + r8], 0
mov rcx, qword [rsp + 0x1b0]
jmp 0x14006f728
movdqu xmm5, xmmword [rsp + 0x1b8]
mov qword [rsp + 0xd0], rax
movups xmmword [rsp + 0xd8], xmm5
mov qword [rsp + 0x1b0], rdi
lea rdi, [rsp + 0x1c0]
mov rcx, rdi
jmp 0x14006f728
movzx eax, byte [rsp + 0x1c0]
mov byte [rcx], al
mov r8, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0xd0]
jmp 0x14006fd47
movzx eax, byte [rsp + 0x1c0]
mov byte [rcx], al
mov r8, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0xd0]
jmp 0x14006fe8d
cmp bpl, 1
jbe 0x14006fc7d
mov rdx, r15
lea rcx, str._________s___Error:_More_than_one_USB_ID_found__n
call fcn.140002a70
mov r15, qword [rsp + 0x190]
jmp 0x14006fc7d
mov rdx, r15
lea rcx, str._________s___Error:_No_USB_bridge_found__n
call fcn.140002a70
jmp 0x14006ff2f
call fcn.140082d70
lea rcx, [0x1400f2f80]
call fcn.1400a4d70
mov rcx, qword [rsp + 0x190]
mov rdi, rax
cmp rcx, rbx
je 0x14006ff73
call fcn.1400a3f20
mov rbx, rdi
mov rcx, r13
call fcn.140094530
mov rcx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x58]
cmp rcx, rax
jne 0x140070073
mov rcx, qword [rsp + 0x38]
call fcn.140057350
mov rcx, qword [rsp + 0x150]
mov rax, qword [rsp + 0x50]
cmp rcx, rax
je 0x14006ffb5
call fcn.1400a3f20
mov rcx, qword [rsp + 0x130]
mov rax, qword [rsp + 0x48]
cmp rcx, rax
je 0x14006ffcc
call fcn.1400a3f20
mov rcx, qword [rsp + 0x110]
mov rax, qword [rsp + 0x88]
cmp rcx, rax
je 0x14006ffe6
call fcn.1400a3f20
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0x80]
cmp rcx, rax
je 0x140070000
call fcn.1400a3f20
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x140070013
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, rsi
call fcn.140094530
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0x70]
cmp rcx, rax
je 0x140070032
call fcn.1400a3f20
mov rcx, r14
call fcn.140094500
mov rcx, rbx
call fcn.1400848e0
mov rcx, qword [rsp + 0x1b0]
mov rbx, rax
cmp rcx, rdi
je 0x140070057
call fcn.1400a3f20
mov rcx, qword [rsp + 0x190]
lea rax, [rsp + 0x1a0]
cmp rcx, rax
je 0x140070013
call fcn.1400a3f20
jmp 0x140070013
call fcn.1400a3f20
jmp 0x14006ff94