Function at 0x14005c990
Capabilities:
Check if file exists
Get disk information
Get disk information via ioctl

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x16d0]
mov eax, 0x17d0
call fcn.1400b3400
sub rsp, rax
mov rax, qword [0x140193440]
xor rax, rsp
mov qword [rbp + 0x1640], rax
lea rax, str.USBSTOR
mov qword [rsp + 0x1800], r12
mov qword [rbp + 0x210], rax
lea rax, str.RTSUER
mov qword [rbp + 0x218], rax
lea rax, str.CMIUCR
mov qword [rbp + 0x220], rax
lea rax, str.EUCR
mov qword [rbp + 0x228], rax
lea rax, str.UASPSTOR
mov qword [rbp + 0x230], rax
lea rax, str.VUSBSTOR
mov qword [rbp + 0x238], rax
lea rax, str.ETRONSTOR
mov qword [rbp + 0x240], rax
lea rax, str.ASUSSTPT
mov qword [rbp + 0x248], rax
lea rax, str.SCSI
mov qword [rbp + 0x50], rax
lea rax, [0x140170bf4]
mov qword [rbp + 0x58], rax
lea rax, str.PCISTOR
mov qword [rbp + 0x60], rax
lea rax, str.RTSOR
mov qword [rbp + 0x68], rax
lea rax, str.JMCR
mov qword [rbp + 0x70], rax
lea rax, str.JMCF
mov qword [rbp + 0x78], rax
lea rax, str.RIMMPTSK
mov qword [rbp + 0x80], rax
lea rax, str.RIMSPTSK
mov qword [rbp + 0x88], rax
lea rax, str.RISD
mov qword [rbp + 0x90], rax
lea rax, str.RIXDPTSK
mov qword [rbp + 0x98], rax
lea rax, str.TI21SONY
mov qword [rbp + 0xa0], rax
lea rax, str.ESD7SK
mov qword [rbp + 0xa8], rax
lea rax, str.ESM7SK
mov qword [rbp + 0xb0], rax
lea rax, str.O2MD
mov qword [rbp + 0xb8], rax
lea rax, str.O2SD
mov qword [rbp + 0xc0], rax
lea rax, str.VIACR
mov qword [rbp + 0xc8], rax
lea rax, str.GLREADER
mov qword [rbp + 0xd0], rax
lea rax, str._SD_
mov qword [rbp + 0x10], rax
lea rax, str._SDHC_
mov qword [rbp + 0x18], rax
lea rax, str._SDXC_
mov qword [rbp + 0x20], rax
lea rax, str._MMC_
mov qword [rbp + 0x28], rax
lea rax, str._MS_
mov qword [rbp + 0x30], rax
lea rax, str._MSPro_
mov qword [rbp + 0x38], rax
lea rax, str._xDPicture_
mov qword [rbp + 0x40], rax
lea rax, str._O2Media_
mov qword [rbp + 0x48], rax
lea rax, [0x140170cf4]
mov qword [rbp - 0x20], rax
lea rax, str.USB_1.0
mov qword [rbp - 0x18], rax
lea rax, str.USB_1.1
mov qword [rbp - 0x10], rax
lea rax, str.USB_2.0
mov qword [rbp - 8], rax
lea rax, str.USB_3.0
mov qword [rbp], rax
lea rax, str.USB_3.1
mov qword [rbp + 8], rax
mov qword [rsp + 0x1808], r13
mov dword [rbp - 0x4c], ecx
movups xmm0, xmmword [str._:EFIRufus_ntfs_x64.efi]
mov eax, dword [str.___:_]
xor ecx, ecx
mov dword [rbp + 0x1c0], eax
xorps xmm1, xmm1
movzx eax, word [0x140170d38]
mov r13d, ecx
movups xmmword [rbp + 0x1d8], xmm0
mov esi, ecx
mov word [rbp + 0x1c4], ax
movsd xmm0, qword [0x140170d50]
mov r12d, ecx
movzx eax, word [0x140170d58]
xor r9d, r9d
movsd qword [rbp + 0x1e8], xmm0
xor r8d, r8d
xorps xmm0, xmm0
mov qword [rsp + 0x78], rcx
mov dword [rsp + 0x54], ecx
mov edx, 0x14b
mov dword [rsp + 0x4c], ecx
mov r15d, 0x11
mov dword [rsp + 0x74], ecx
mov dword [rbp - 0x64], ecx
mov dword [rbp - 0x80], ecx
mov dword [rsp + 0x40], ecx
mov rcx, qword [0x1401e8690]
movups xmmword [rbp + 0x140], xmm0
mov dword [rbp - 0x68], 0x5c3a3f
movups xmmword [rbp + 0x150], xmm0
mov word [rbp + 0x1f0], ax
movups xmmword [rbp + 0x160], xmm1
movups xmmword [rbp + 0x170], xmm1
call qword [sym.imp.USER32.dll_SendMessageW]
lea r14, [0x14019f650]
mov rbx, r14
lea rdi, [0x1401a0450]
nop
cmp qword [rbx + 0x30], rsi
je 0x14005ccbb
mov rcx, qword [rbx]
call fcn.1400e8c70
mov rcx, qword [rbx + 8]
call fcn.1400e8c70
mov rcx, qword [rbx + 0x10]
call fcn.1400e8c70
mov rcx, qword [rbx + 0x18]
call fcn.1400e8c70
mov rcx, qword [rbx + 0x20]
call fcn.1400e8c70
add rbx, 0x38
cmp rbx, rdi
jl 0x14005cc80
xor edx, edx
mov r8d, 0xe00
mov rcx, r14
call fcn.140136540
mov r14d, 0x80
mov dword [rsp + 0x70], esi
mov ecx, r14d
mov dword [rsp + 0x60], r14d
mov edx, 8
call fcn.1400c4f6c
mov rdi, rax
mov qword [rbp - 0x60], rax
lea rax, [0x1401564ce]
test rdi, rdi
jne 0x14005cd08
lea rcx, str.Could_not_allocate_string_array
call fcn.14004f2f0
jmp 0x14005cd2e
mov rcx, rax
call fcn.1400fc834
mov qword [rdi], rax
test rax, rax
jne 0x14005cd26
lea rcx, str.Could_not_store_string_in_array
call fcn.14004f2f0
jmp 0x14005cd2e
mov dword [rsp + 0x70], 1
mov ecx, 0x104
call fcn.1400e8c84
mov rdi, rax
test rax, rax
je 0x14005dba3
mov r9d, 0x12
lea rcx, [0x140153108]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsA]
mov qword [rsp + 0x68], rax
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x14005d4e6
mov r15d, 0x101
mov ecx, 3
cmp r15d, 9
jbe 0x14005cd98
nop
xor edx, edx
mov eax, r15d
div ecx
test edx, edx
je 0x14005cd98
add ecx, 2
mov eax, ecx
imul eax, ecx
cmp eax, r15d
jb 0x14005cd80
xor edx, edx
mov eax, r15d
div ecx
test edx, edx
jne 0x14005cda9
add r15d, 2
jmp 0x14005cd74
lea ecx, [r15 + 1]
mov dword [rsp + 0x54], r15d
mov edx, 0x18
mov dword [rsp + 0x4c], r12d
call fcn.1400c4f6c
mov qword [rsp + 0x78], rax
mov r13, rax
test rax, rax
jne 0x14005cddf
lea rcx, str.Could_not_allocate_space_for_hash_table
call fcn.14004f2f0
jmp 0x14005d4d7
lea r8, [rbp + 0x100]
mov dword [rbp + 0x100], 0x20
xor edx, edx
mov dword [rsp + 0x44], esi
mov rcx, rbx
call qword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
test eax, eax
je 0x14005d4d7
cmp dword [0x1401e87c0], 0
je 0x14005ce1f
lea edx, [rsi + 1]
lea rcx, str.Processing_Hub__d:
call fcn.14004f2f0
lea rax, [rbp + 0x120]
mov dword [rbp + 0x120], 0x20
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8, [0x140153108]
mov rcx, rbx
lea rdx, [rbp + 0x100]
call qword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInterfaces]
test eax, eax
je 0x14005d4b2
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], r12
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp + 0x120]
mov rcx, rbx
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInterfaceDetailA]
test eax, eax
jne 0x14005d4b2
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14005d4b2
mov edx, dword [rsp + 0x50]
mov ecx, 1
call fcn.1400c4f6c
mov qword [rbp - 0x58], rax
mov r13, rax
test rax, rax
je 0x14005d4b2
mov dword [rax], 8
lea rdx, [rbp + 0x120]
mov r9d, dword [rsp + 0x50]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], r12
mov r8, r13
mov rcx, rbx
mov qword [rsp + 0x20], rax
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInterfaceDetailA]
test eax, eax
je 0x14005d4aa
mov edx, dword [rbp + 0x114]
lea rcx, [rsp + 0x48]
xor r8d, r8d
call qword [sym.imp.SETUPAPI.dll_CM_Get_Child]
test eax, eax
jne 0x14005d4aa
mov r15, qword [rbp - 0x60]
lea rbx, [r13 + 4]
mov byte [rdi], al
test r15, r15
je 0x14005cf5f
test rbx, rbx
je 0x14005cf5f
cmp dword [rsp + 0x70], r14d
jne 0x14005cfd8
add r14d, r14d
mov rcx, r15
mov edx, r14d
mov rsi, r15
shl rdx, 3
mov dword [rsp + 0x60], r14d
call fcn.1400c5b50
mov qword [rbp - 0x60], rax
mov r15, rax
test rax, rax
jne 0x14005cfd8
mov rcx, rsi
call fcn.1400e8c70
lea rcx, str.Could_not_reallocate_string_array
call fcn.14004f2f0
mov r12d, 0xffffffff
cmp dword [0x1401e87c0], 0
je 0x14005cf80
mov r8, rbx
lea rcx, str.__Hub__d____s
mov edx, r12d
call fcn.14004f2f0
test r12d, r12d
js 0x14005d49e
mov ecx, dword [rsp + 0x48]
xor r9d, r9d
mov r8d, 0x104
mov rdx, rdi
call qword [sym.imp.SETUPAPI.dll_CM_Get_Device_IDA]
test eax, eax
jne 0x14005d49e
mov r15, rdi
mov rbx, rdi
neg r15
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdi + rcx], 0
jne 0x14005cfb7
lea rax, [r15 + rbx]
cmp rax, rcx
jae 0x14005d007
movsx ecx, byte [rbx]
call fcn.1400fc5e0
mov byte [rbx], al
inc rbx
jmp 0x14005cfb0
mov rcx, rbx
call fcn.1400fc834
mov edx, dword [rsp + 0x70]
mov qword [r15 + rdx*8], rax
test rax, rax
jne 0x14005cff9
lea rcx, str.Could_not_store_string_in_array
jmp 0x14005cf5a
mov r12d, edx
inc edx
mov dword [rsp + 0x70], edx
jmp 0x14005cf65
movsx eax, byte [rdi]
xor ecx, ecx
mov rdx, rdi
test eax, eax
je 0x14005d033
nop dword [rax]
nop word [rax + rax]
imul ecx, ecx, 0x1003f
lea rdx, [rdx + 1]
add ecx, eax
movsx eax, byte [rdx]
test eax, eax
jne 0x14005d020
mov r14d, dword [rsp + 0x54]
test ecx, ecx
mov r11, qword [rsp + 0x78]
mov r8d, 1
mov eax, r8d
mov esi, r8d
cmovne eax, ecx
xor edx, edx
div r14d
test edx, edx
cmovne esi, edx
mov ebx, esi
lea rcx, [rsi + rsi*2]
mov eax, dword [r11 + rcx*8]
test eax, eax
je 0x14005d120
cmp eax, esi
jne 0x14005d0ab
mov rax, qword [r11 + rcx*8 + 8]
lea r8, str._NULL_
test rax, rax
cmovne r8, rax
mov rax, rdi
sub r8, rdi
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14005d0a3
inc rax
test ecx, ecx
jne 0x14005d090
test edx, edx
je 0x14005d1e1
lea ecx, [r14 - 2]
xor edx, edx
mov eax, esi
div ecx
lea r9d, [rdx + 1]
nop dword [rax]
cmp ebx, r9d
ja 0x14005d0cf
mov eax, r14d
sub eax, r9d
add ebx, eax
jmp 0x14005d0d2
sub ebx, r9d
cmp ebx, esi
je 0x14005d120
lea rax, [rbx + rbx*2]
mov r10d, dword [r11 + rax*8]
cmp r10d, esi
jne 0x14005d11b
mov rax, qword [r11 + rax*8 + 8]
lea r8, str._NULL_
test rax, rax
cmovne r8, rax
mov rax, rdi
sub r8, rdi
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14005d113
inc rax
test ecx, ecx
jne 0x14005d100
test edx, edx
je 0x14005d1e1
test r10d, r10d
jne 0x14005d0c0
cmp dword [rsp + 0x4c], r14d
jb 0x14005d158
mov r8d, 0xc8
lea rdx, str.D:_a_rufus_rufus_src_stdfn.c
lea rcx, str.htab__filled___htab__size
call fcn.1400fbe54
mov edx, r14d
lea rcx, str.Hash_table_is_full___d_entries_
call fcn.14004f2f0
xor esi, esi
mov ebx, esi
jmp 0x14005d1f3
lea r14, [rbx + rbx*2]
mov rcx, qword [r11 + r14*8 + 8]
call fcn.1400e8c70
mov rax, qword [rsp + 0x78]
mov rcx, 0xffffffffffffffff
mov qword [rax + r14*8 + 8], 0
mov dword [rax + r14*8], esi
nop
inc rcx
cmp byte [rdi + rcx], 0
jne 0x14005d180
inc rcx
call fcn.1400e8c84
mov rcx, qword [rsp + 0x78]
mov qword [rcx + r14*8 + 8], rax
test rax, rax
jne 0x14005d1b2
lea rcx, str.Could_not_duplicate_string_for_hash_table
call fcn.14004f2f0
xor esi, esi
mov ebx, esi
jmp 0x14005d1f3
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdi + r8], 0
jne 0x14005d1c0
inc r8
mov rdx, rdi
mov rcx, rax
call fcn.140135ea0
inc dword [rsp + 0x4c]
mov r11, qword [rsp + 0x78]
xor esi, esi
test ebx, ebx
je 0x14005d1f3
movsxd r8, r12d
lea rcx, [rbx + rbx*2]
mov qword [r11 + rcx*8 + 0x10], r8
cmp dword [0x1401e87c0], 0
je 0x14005d20d
mov r8, rdi
lea rcx, str.__Found_ID__03d_:__s
mov edx, ebx
call fcn.14004f2f0
mov edx, dword [rsp + 0x48]
lea rcx, [rsp + 0x48]
xor r8d, r8d
call qword [sym.imp.SETUPAPI.dll_CM_Get_Sibling]
test eax, eax
jne 0x14005d499
jmp 0x14005d232
xor esi, esi
mov byte [rdi], 0
xor r9d, r9d
mov ecx, dword [rsp + 0x48]
mov r8d, 0x104
mov rdx, rdi
call qword [sym.imp.SETUPAPI.dll_CM_Get_Device_IDA]
test eax, eax
jne 0x14005d47b
mov rbx, rdi
nop word [rax + rax]
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdi + rcx], 0
jne 0x14005d267
lea rax, [rbx + r15]
cmp rax, rcx
jae 0x14005d288
movsx ecx, byte [rbx]
call fcn.1400fc5e0
mov byte [rbx], al
inc rbx
jmp 0x14005d260
movsx eax, byte [rdi]
mov ecx, esi
mov rdx, rdi
test eax, eax
je 0x14005d2b3
nop dword [rax]
nop dword [rax + rax]
imul ecx, ecx, 0x1003f
lea rdx, [rdx + 1]
add ecx, eax
movsx eax, byte [rdx]
test eax, eax
jne 0x14005d2a0
mov r14d, dword [rsp + 0x54]
test ecx, ecx
mov r11, qword [rsp + 0x78]
mov r8d, 1
mov eax, r8d
mov esi, r8d
cmovne eax, ecx
xor edx, edx
div r14d
test edx, edx
cmovne esi, edx
mov ebx, esi
lea rcx, [rsi + rsi*2]
mov eax, dword [r11 + rcx*8]
test eax, eax
je 0x14005d3a0
lea r13, str._NULL_
cmp eax, esi
jne 0x14005d32b
mov rax, qword [r11 + rcx*8 + 8]
mov r8, r13
test rax, rax
cmovne r8, rax
mov rax, rdi
sub r8, rdi
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14005d323
inc rax
test ecx, ecx
jne 0x14005d310
test edx, edx
je 0x14005d451
lea ecx, [r14 - 2]
xor edx, edx
mov eax, esi
div ecx
lea r9d, [rdx + 1]
nop dword [rax]
cmp ebx, r9d
ja 0x14005d34f
mov eax, r14d
sub eax, r9d
add ebx, eax
jmp 0x14005d352
sub ebx, r9d
cmp ebx, esi
je 0x14005d3a0
lea rax, [rbx + rbx*2]
mov r10d, dword [r11 + rax*8]
cmp r10d, esi
jne 0x14005d39b
mov rax, qword [r11 + rax*8 + 8]
mov r8, r13
test rax, rax
cmovne r8, rax
mov rax, rdi
sub r8, rdi
nop dword [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14005d393
inc rax
test ecx, ecx
jne 0x14005d380
test edx, edx
je 0x14005d451
test r10d, r10d
jne 0x14005d340
cmp dword [rsp + 0x4c], r14d
jb 0x14005d3d6
mov r8d, 0xc8
lea rdx, str.D:_a_rufus_rufus_src_stdfn.c
lea rcx, str.htab__filled___htab__size
call fcn.1400fbe54
mov edx, r14d
lea rcx, str.Hash_table_is_full___d_entries_
call fcn.14004f2f0
xor ebx, ebx
jmp 0x14005d461
lea r14, [rbx + rbx*2]
mov rcx, qword [r11 + r14*8 + 8]
call fcn.1400e8c70
mov r13, qword [rsp + 0x78]
mov rcx, 0xffffffffffffffff
mov qword [r13 + r14*8 + 8], 0
mov dword [r13 + r14*8], esi
nop
inc rcx
cmp byte [rdi + rcx], 0
jne 0x14005d400
inc rcx
call fcn.1400e8c84
mov qword [r13 + r14*8 + 8], rax
test rax, rax
jne 0x14005d42b
lea rcx, str.Could_not_duplicate_string_for_hash_table
call fcn.14004f2f0
xor ebx, ebx
jmp 0x14005d461
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdi + r8], 0
jne 0x14005d432
inc r8
mov rdx, rdi
mov rcx, rax
call fcn.140135ea0
inc dword [rsp + 0x4c]
mov r11, r13
test ebx, ebx
je 0x14005d461
movsxd r8, r12d
lea rcx, [rbx + rbx*2]
mov qword [r11 + rcx*8 + 0x10], r8
cmp dword [0x1401e87c0], 0
je 0x14005d47b
mov r8, rdi
lea rcx, str.__Found_ID__03d_:__s
mov edx, ebx
call fcn.14004f2f0
mov edx, dword [rsp + 0x48]
lea rcx, [rsp + 0x48]
xor r8d, r8d
call qword [sym.imp.SETUPAPI.dll_CM_Get_Sibling]
test eax, eax
je 0x14005d230
mov r13, qword [rbp - 0x58]
mov r14d, dword [rsp + 0x60]
mov esi, dword [rsp + 0x44]
xor r12d, r12d
mov rbx, qword [rsp + 0x68]
mov rcx, r13
call fcn.1400e8c70
inc esi
lea r8, [rbp + 0x100]
mov edx, esi
mov dword [rsp + 0x44], esi
mov rcx, rbx
call qword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
test eax, eax
jne 0x14005ce07
mov r13, qword [rsp + 0x78]
mov rcx, rbx
call qword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
mov r15d, 0x11
mov rcx, rdi
call fcn.1400e8c70
mov r8d, 0x102
lea rdx, str.USBSTOR
lea rcx, [rbp + 0x140]
call qword [sym.imp.SETUPAPI.dll_CM_Get_Device_ID_List_SizeA]
xor r14d, r14d
test eax, eax
je 0x14005d51a
mov eax, r14d
mov dword [rbp + 0x140], eax
jmp 0x14005d520
mov eax, dword [rbp + 0x140]
test eax, eax
lea ebx, [rax - 1]
mov r8d, 0x102
lea rdx, str.RTSUER
lea rcx, [rbp + 0x144]
cmove ebx, r14d
call qword [sym.imp.SETUPAPI.dll_CM_Get_Device_ID_List_SizeA]
test eax, eax
je 0x14005d552
mov eax, r14d
mov dword [rbp + 0x144], eax
jmp 0x14005d558
mov eax, dword [rbp + 0x144]
test eax, eax
je 0x14005d560
dec ebx
add ebx, eax
mov r8d, 0x102
lea rdx, str.CMIUCR
lea rcx, [rbp + 0x148]
call qword [sym.imp.SETUPAPI.dll_CM_Get_Device_ID_List_SizeA]
test eax, eax
je 0x14005d589
mov eax, r14d
mov dword [rbp + 0x148], eax
jmp 0x14005d58f
mov eax, dword [rbp + 0x148]
test eax, eax
je 0x14005d597
dec ebx
add ebx, eax
mov r8d, 0x102
lea rdx, str.EUCR
lea rcx, [rbp + 0x14c]
call qword [sym.imp.SETUPAPI.dll_CM_Get_Device_ID_List_SizeA]
test eax, eax
je 0x14005d5c0
mov eax, r14d
mov dword [rbp + 0x14c], eax
jmp 0x14005d5c6
mov eax, dword [rbp + 0x14c]
test eax, eax
je 0x14005d5ce
dec ebx
add ebx, eax
mov r8d, 0x102
lea rdx, str.UASPSTOR
lea rcx, [rbp + 0x150]
call qword [sym.imp.SETUPAPI.dll_CM_Get_Device_ID_List_SizeA]
test eax, eax
je 0x14005d5f7
mov eax, r14d
mov dword [rbp + 0x150], eax
jmp 0x14005d5fd
mov eax, dword [rbp + 0x150]
test eax, eax
je 0x14005d605
dec ebx
add ebx, eax
mov r8d, 0x102
lea rdx, str.VUSBSTOR
lea rcx, [rbp + 0x154]
call qword [sym.imp.SETUPAPI.dll_CM_Get_Device_ID_List_SizeA]
test eax, eax
je 0x14005d62e
mov eax, r14d
mov dword [rbp + 0x154], eax
jmp 0x14005d634
mov eax, dword [rbp + 0x154]
test eax, eax
je 0x14005d63c
dec ebx
add ebx, eax
mov r8d, 0x102
lea rdx, str.ETRONSTOR
lea rcx, [rbp + 0x158]
call qword [sym.imp.SETUPAPI.dll_CM_Get_Device_ID_List_SizeA]
test eax, eax
je 0x14005d665
mov eax, r14d
mov dword [rbp + 0x158], eax
jmp 0x14005d66b
mov eax, dword [rbp + 0x158]
test eax, eax
je 0x14005d673
dec ebx
add ebx, eax
mov r8d, 0x102
lea rdx, str.ASUSSTPT
lea rcx, [rbp + 0x15c]
call qword [sym.imp.SETUPAPI.dll_CM_Get_Device_ID_List_SizeA]
test eax, eax
je 0x14005d69c
mov eax, r14d
mov dword [rbp + 0x15c], eax
jmp 0x14005d6a2
mov eax, dword [rbp + 0x15c]
test eax, eax
je 0x14005d6aa
dec ebx
add ebx, eax
mov edx, r14d
lea r9, [rbp + 0x50]
mov r10d, 0x53
mov r11d, 0x44
nop dword [rax]
mov r8, qword [r9]
movzx ecx, byte [r8]
sub ecx, r10d
jne 0x14005d6e1
movzx ecx, byte [r8 + 1]
sub ecx, r11d
jne 0x14005d6e1
movzx ecx, byte [r8 + 2]
movzx eax, r14b
sub ecx, eax
test ecx, ecx
mov eax, edx
cmovne eax, r15d
inc edx
add r9, 8
mov r15d, eax
cmp edx, 0x11
jb 0x14005d6c0
mov r12d, 1
mov dword [rbp - 0x48], eax
lea r9, str.IgnoreUsb_02d
mov dword [rsp + 0x20], r12d
mov edx, 0x20
lea rcx, [rbp + 0x1a0]
mov r8, 0xffffffffffffffff
call fcn.140004fd0
mov rdx, qword [0x14019f580]
mov byte [rbp + 0x1bf], 0
test rdx, rdx
je 0x14005d76a
mov r8d, r12d
lea rcx, [rbp + 0x1a0]
mov esi, r14d
call fcn.140026e40
mov rdi, rax
test rax, rax
je 0x14005d77f
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140102178
mov rcx, rdi
mov esi, eax
call fcn.1400e8c70
jmp 0x14005d77f
lea r9, [rsp + 0x44]
lea rdx, [rbp + 0x1a0]
call fcn.14005b730
mov esi, dword [rsp + 0x44]
lea r9, str.IgnoreUsb_02d
mov dword [rbp + 0x180], esi
mov edx, 0x20
mov dword [rsp + 0x20], 2
mov r8, 0xffffffffffffffff
lea rcx, [rbp + 0x1a0]
call fcn.140004fd0
mov rdx, qword [0x14019f580]
mov byte [rbp + 0x1bf], 0
test rdx, rdx
je 0x14005d7f2
mov r8d, r12d
lea rcx, [rbp + 0x1a0]
mov edi, r14d
call fcn.140026e40
mov rsi, rax
test rax, rax
je 0x14005d807
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140102178
mov rcx, rsi
mov edi, eax
call fcn.1400e8c70
jmp 0x14005d807
lea r9, [rsp + 0x44]
lea rdx, [rbp + 0x1a0]
call fcn.14005b730
mov edi, dword [rsp + 0x44]
lea r9, str.IgnoreUsb_02d
mov dword [rbp + 0x184], edi
mov edx, 0x20
mov dword [rsp + 0x20], 3
mov r8, 0xffffffffffffffff
lea rcx, [rbp + 0x1a0]
call fcn.140004fd0
mov rdx, qword [0x14019f580]
mov byte [rbp + 0x1bf], 0
test rdx, rdx
je 0x14005d87a
mov r8d, r12d
lea rcx, [rbp + 0x1a0]
mov edi, r14d
call fcn.140026e40
mov rsi, rax
test rax, rax
je 0x14005d88f
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140102178
mov rcx, rsi
mov edi, eax
call fcn.1400e8c70
jmp 0x14005d88f
lea r9, [rsp + 0x44]
lea rdx, [rbp + 0x1a0]
call fcn.14005b730
mov edi, dword [rsp + 0x44]
lea r9, str.IgnoreUsb_02d
mov dword [rbp + 0x188], edi
mov edx, 0x20
mov dword [rsp + 0x20], 4
mov r8, 0xffffffffffffffff
lea rcx, [rbp + 0x1a0]
call fcn.140004fd0
mov rdx, qword [0x14019f580]
mov byte [rbp + 0x1bf], 0
test rdx, rdx
je 0x14005d902
mov r8d, r12d
lea rcx, [rbp + 0x1a0]
mov esi, r14d
call fcn.140026e40
mov rdi, rax
test rax, rax
je 0x14005d917
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140102178
mov rcx, rdi
mov esi, eax
call fcn.1400e8c70
jmp 0x14005d917
lea r9, [rsp + 0x44]
lea rdx, [rbp + 0x1a0]
call fcn.14005b730
mov esi, dword [rsp + 0x44]
lea r9, str.IgnoreUsb_02d
mov dword [rbp + 0x18c], esi
mov edx, 0x20
mov dword [rsp + 0x20], 5
mov r8, 0xffffffffffffffff
lea rcx, [rbp + 0x1a0]
call fcn.140004fd0
mov rdx, qword [0x14019f580]
mov byte [rbp + 0x1bf], 0
test rdx, rdx
je 0x14005d98a
mov r8d, r12d
lea rcx, [rbp + 0x1a0]
mov edi, r14d
call fcn.140026e40
mov rsi, rax
test rax, rax
je 0x14005d99f
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140102178
mov rcx, rsi
mov edi, eax
call fcn.1400e8c70
jmp 0x14005d99f
lea r9, [rsp + 0x44]
lea rdx, [rbp + 0x1a0]
call fcn.14005b730
mov edi, dword [rsp + 0x44]
lea r9, str.IgnoreUsb_02d
mov dword [rbp + 0x190], edi
mov edx, 0x20
mov dword [rsp + 0x20], 6
mov r8, 0xffffffffffffffff
lea rcx, [rbp + 0x1a0]
call fcn.140004fd0
mov rdx, qword [0x14019f580]
mov byte [rbp + 0x1bf], 0
test rdx, rdx
je 0x14005da12
mov r8d, r12d
lea rcx, [rbp + 0x1a0]
mov esi, r14d
call fcn.140026e40
mov rdi, rax
test rax, rax
je 0x14005da27
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140102178
mov rcx, rdi
mov esi, eax
call fcn.1400e8c70
jmp 0x14005da27
lea r9, [rsp + 0x44]
lea rdx, [rbp + 0x1a0]
call fcn.14005b730
mov esi, dword [rsp + 0x44]
lea r9, str.IgnoreUsb_02d
mov dword [rbp + 0x194], esi
mov edx, 0x20
mov dword [rsp + 0x20], 7
mov r8, 0xffffffffffffffff
lea rcx, [rbp + 0x1a0]
call fcn.140004fd0
mov rdx, qword [0x14019f580]
mov byte [rbp + 0x1bf], 0
test rdx, rdx
je 0x14005da9a
mov r8d, r12d
lea rcx, [rbp + 0x1a0]
mov edi, r14d
call fcn.140026e40
mov rsi, rax
test rax, rax
je 0x14005daaf
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140102178
mov rcx, rsi
mov edi, eax
call fcn.1400e8c70
jmp 0x14005daaf
lea r9, [rsp + 0x44]
lea rdx, [rbp + 0x1a0]
call fcn.14005b730
mov edi, dword [rsp + 0x44]
lea r9, str.IgnoreUsb_02d
mov dword [rbp + 0x198], edi
mov edx, 0x20
mov dword [rsp + 0x20], 8
mov r8, 0xffffffffffffffff
lea rcx, [rbp + 0x1a0]
call fcn.140004fd0
mov rdx, qword [0x14019f580]
mov byte [rbp + 0x1bf], 0
test rdx, rdx
je 0x14005db28
mov r8d, r12d
lea rcx, [rbp + 0x1a0]
mov esi, r14d
call fcn.140026e40
mov rdi, rax
test rax, rax
je 0x14005db20
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140102178
mov rcx, rdi
mov esi, eax
call fcn.1400e8c70
mov dword [rbp + 0x19c], esi
jmp 0x14005db43
lea r9, [rsp + 0x44]
lea rdx, [rbp + 0x1a0]
call fcn.14005b730
mov eax, dword [rsp + 0x44]
mov dword [rbp + 0x19c], eax
lea eax, [r15 - 1]
cmp eax, 0xf
jbe 0x14005db65
mov r8d, 0x24b
lea rdx, str.D:_a_rufus_rufus_srcdev.c
lea rcx, str._card_start___0____card_start___ARRAYSIZE_genstor_name__
call fcn.1400fbe54
mov qword [rsp + 0x68], r14
mov r12, r14
test ebx, ebx
je 0x14005dd78
lea ecx, [rbx + 1]
call fcn.1400e8c84
mov qword [rsp + 0x68], rax
mov r9, rax
test rax, rax
jne 0x14005dc82
lea rcx, str.Could_not_allocate_Device_ID_list
call fcn.14004f2f0
mov esi, dword [rsp + 0x74]
mov r12, qword [rsp + 0x68]
xor r15d, r15d
mov rcx, qword [0x1401e89e8]
mov edx, 0x3eb
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, qword [0x1401e89e8]
mov edx, 0x28
mov r8, rax
mov r9d, 1
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, r12
call fcn.1400e8c70
mov r14, qword [rbp - 0x60]
mov r13, qword [rsp + 0x1808]
mov r12, qword [rsp + 0x1800]
test r14, r14
je 0x14005dc16
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x14005dc16
mov rbx, r14
mov edi, eax
mov rcx, qword [rbx]
call fcn.1400e8c70
mov qword [rbx], r15
lea rbx, [rbx + 8]
sub rdi, 1
jne 0x14005dc01
mov rcx, r14
call fcn.1400e8c70
mov r14, qword [rsp + 0x78]
test r14, r14
je 0x14005dc5a
mov eax, dword [rsp + 0x54]
add eax, 1
je 0x14005dc52
lea rbx, [r14 + 8]
mov edi, eax
cmp dword [rbx - 8], 0
je 0x14005dc48
mov rcx, qword [rbx]
call fcn.1400e8c70
mov qword [rbx], r15
add rbx, 0x18
sub rdi, 1
jne 0x14005dc37
mov rcx, r14
call fcn.1400e8c70
mov eax, esi
mov rcx, qword [rbp + 0x1640]
xor rcx, rsp
call fcn.1400b2a30
mov rbx, qword [rsp + 0x1810]
add rsp, 0x17d0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov edi, r14d
lea r12, [rbp + 0x210]
mov r15d, r14d
nop
mov r8d, dword [rbp + r14 + 0x140]
mov dword [rbp + r14 + 0x160], edi
cmp r8d, 1
jbe 0x14005dd5b
mov rsi, qword [r12]
mov ebx, edi
mov rcx, rsi
add rbx, r9
mov r9d, 0x102
mov rdx, rbx
call qword [sym.imp.SETUPAPI.dll_CM_Get_Device_ID_ListA]
test eax, eax
jne 0x14005dd56
cmp dword [0x1401e87c0], eax
je 0x14005dd1a
mov rdx, rsi
lea rcx, str.Processing_IDs_belonging_to__s:
call fcn.14004f2f0
cmp byte [rbx], 0
je 0x14005dd1a
nop dword [rax]
mov rdx, rbx
lea rcx, str.___s
call fcn.14004f2f0
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], 0
jne 0x14005dd06
inc rbx
add rbx, rax
cmp byte [rbx], 0
jne 0x14005dcf0
add edi, dword [rbp + r14 + 0x140]
mov r9, qword [rsp + 0x68]
cmp edi, 2
jbe 0x14005dd5b
mov edx, edi
add rdx, r9
lea eax, [rdi - 2]
cmp byte [rax + r9], 0
je 0x14005dd4a
lea eax, [rdi - 1]
cmp byte [rax + r9], 0
jne 0x14005dd4a
cmp byte [rdx], 0
je 0x14005dd5b
dec edi
dec rdx
cmp edi, 2
ja 0x14005dd31
jmp 0x14005dd5b
mov r9, qword [rsp + 0x68]
inc r15d
add r12, 8
add r14, 4
cmp r15d, 8
jb 0x14005dc90
mov r12, qword [rsp + 0x68]
xor r14d, r14d
mov r9d, 0x12
lea rcx, [0x140157bf0]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsA]
mov qword [rbp - 0x78], rax
mov r15, rax
cmp rax, 0xffffffffffffffff
jne 0x14005ddba
call fcn.14004fba0
mov rdx, rax
lea rcx, str.SetupDiGetClassDevs__Interface__failed:__s
call fcn.14004f2f0
mov esi, dword [rsp + 0x74]
jmp 0x14005dba3
mov rcx, qword [rbp + 0x170]
mov eax, r14d
mov ebx, dword [rsp + 0x40]
movaps xmmword [rsp + 0x17b0], xmm7
movaps xmmword [rsp + 0x17a0], xmm8
movsd xmm8, qword [0x140176f68]
movaps xmmword [rsp + 0x1790], xmm9
movsd xmm9, qword [0x140176fe0]
movaps xmmword [rsp + 0x1780], xmm10
movsd xmm10, qword [0x140176fc0]
movaps xmmword [rsp + 0x1770], xmm11
movsd xmm11, qword [0x140176f90]
movaps xmmword [rsp + 0x1760], xmm12
movsd xmm12, qword [0x140177010]
movaps xmmword [rsp + 0x1750], xmm13
movsd xmm13, qword [0x140176ff8]
movaps xmmword [rsp + 0x17c0], xmm6
mov dword [rbp + 0x100], 0x20
mov dword [rsp + 0x60], eax
mov qword [rbp - 0x58], r14
mov qword [rbp - 0x38], rcx
nop word [rax + rax]
lea r8, [rbp + 0x100]
mov edx, eax
mov rcx, r15
call qword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
test eax, eax
je 0x14005fac5
xor edx, edx
lea rcx, [rbp + 0x290]
mov r8d, 0x104
call fcn.140136540
xor eax, eax
lea r9, [rbp - 0x70]
mov qword [rbp + 0xf0], rax
lea rdx, [rbp + 0x100]
mov dword [rbp + 0xf8], eax
lea r14, [0x1401564ce]
lea rax, [rsp + 0x50]
xorps xmm0, xmm0
mov qword [rsp + 0x30], rax
xor esi, esi
lea rax, [rbp + 0x290]
mov dword [rsp + 0x28], 0x104
mov r8d, 0x16
mov qword [rsp + 0x20], rax
mov rcx, r15
mov qword [rbp - 0x40], rsi
movups xmmword [rbp + 0xe0], xmm0
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyA]
test eax, eax
jne 0x14005df09
call fcn.14004fba0
mov rdx, rax
lea rcx, str.SetupDiGetDeviceRegistryProperty__Enumerator_Name__failed:__s
call fcn.14004f2f0
jmp 0x14005faa1
mov ebx, esi
nop dword [rax + rax]
lea rdx, str.USBSTOR
lea rcx, [rbp + 0x290]
call fcn.140107d64
test eax, eax
je 0x14005df30
inc ebx
cmp ebx, 8
jb 0x14005df10
jmp 0x14005df53
mov byte [rbp + 0xf4], 1
test ebx, ebx
je 0x14005df53
movzx eax, byte [rbp + 0xf6]
cmp ebx, 4
mov ecx, 1
cmovb eax, ecx
mov byte [rbp + 0xf6], al
mov edi, esi
lea rbx, [rbp + 0x50]
nop dword [rax]
mov rax, qword [rbx]
lea rdx, str._NULL_
test rax, rax
lea rcx, [rbp + 0x290]
cmovne rdx, rax
call fcn.140107d64
test eax, eax
je 0x14005df93
inc edi
add rbx, 8
cmp edi, 0x11
jb 0x14005df60
mov ebx, 1
jmp 0x14005dfb2
movzx eax, byte [rbp + 0xf6]
mov ebx, 1
cmp edi, dword [rbp - 0x48]
mov byte [rbp + 0xf5], 1
cmovae eax, ebx
mov byte [rbp + 0xf6], al
mov eax, dword [0x1401e87c0]
test eax, eax
je 0x14005dfd5
lea rdx, [rbp + 0x290]
lea rcx, str.Processing__s_device:
call fcn.14004f2f0
mov eax, dword [0x1401e87c0]
cmp byte [rbp + 0xf4], sil
jne 0x14005dffb
cmp byte [rbp + 0xf5], sil
jne 0x14005dffb
test eax, eax
je 0x14005fa9d
lea rcx, str.__Unsupported_or_disabled_by_policy
jmp 0x14005fa98
xor edx, edx
lea rcx, [rbp + 0x290]
mov r8d, 0x104
call fcn.140136540
lea rax, [rsp + 0x50]
mov r8d, ebx
mov qword [rsp + 0x30], rax
lea r9, [rbp - 0x70]
lea rax, [rbp + 0x290]
mov dword [rsp + 0x28], 0x104
lea rdx, [rbp + 0x100]
mov qword [rsp + 0x20], rax
mov rcx, r15
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyA]
test eax, eax
je 0x14005e0da
lea rax, str.Arsenal_________Virtual_
mov edi, esi
mov qword [rbp + 0x210], rax
lea rbx, [rbp + 0x210]
lea rax, str.KernSafeVirtual_________
mov qword [rbp + 0x218], rax
lea rax, str.Msft____Virtual_Disk____
mov qword [rbp + 0x220], rax
lea rax, str.BHYVE__________SATA_DISK
mov qword [rbp + 0x228], rax
lea rax, str.VMware__VMware_Virtual_S
mov qword [rbp + 0x230], rax
nop dword [rax + rax]
mov rax, qword [rbx]
lea rdx, str._NULL_
test rax, rax
lea rcx, [rbp + 0x290]
cmovne rdx, rax
call fcn.1400b4230
test rax, rax
jne 0x14005e11f
inc edi
add rbx, 8
cmp dword [0x1401e8190], esi
mov eax, esi
setne al
add eax, 4
cmp edi, eax
jl 0x14005e0a0
mov byte [rbp + 0xf8], sil
cmp byte [rbp + 0xf6], sil
jne 0x14005e213
mov r8d, 7
lea rdx, str.SCSIDisk
lea rcx, [rbp + 0x290]
call fcn.1400fe258
test eax, eax
jne 0x14005e213
lea rdi, [rbp + 0x10]
mov rdx, qword [rdi]
test rdx, rdx
jne 0x14005e128
xor eax, eax
jmp 0x14005e139
mov byte [rbp + 0xf8], 1
jmp 0x14005e0e1
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rdx + rax], 0
jne 0x14005e130
inc rax
lea rcx, [rbp + 0x1c8]
mov ebx, 0x10
cmp rax, rbx
cmovb rbx, rax
mov r8, rbx
call fcn.140135ea0
lea rdx, [rbp + 0x1c8]
mov byte [rbp + rbx + 0x1c7], 0
lea rcx, [rbp + 0x290]
call fcn.1400b4230
test rax, rax
jne 0x14005e20c
lea rcx, [rbp + 0x1c8]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14005e190
cmp rax, 1
ja 0x14005e1b8
mov r8d, 0x2a2
lea rdx, str.D:_a_rufus_rufus_srcdev.c
lea rcx, str.strlen_scsi_card_name_copy____1
call fcn.1400fbe54
lea rcx, [rbp + 0x1c8]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
cmp byte [rcx + rax + 1], 0
lea rax, [rax + 1]
jne 0x14005e1d0
lea rdx, [rbp + 0x1c8]
mov byte [rbp + rax + 0x1c7], 0x26
lea rcx, [rbp + 0x290]
call fcn.1400b4230
test rax, rax
jne 0x14005e20c
inc esi
add rdi, 8
cmp esi, 8
jb 0x14005e113
jmp 0x14005e213
mov byte [rbp + 0xf6], 1
cmp dword [0x1401e87c0], 0
je 0x14005e22f
lea rdx, [rbp + 0x290]
lea rcx, str.__Hardware_ID:__s
call fcn.14004f2f0
lea rax, [rsp + 0x50]
mov r9d, 0x104
lea r8, [rbp + 0x530]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x100]
mov rcx, r15
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstanceIdA]
test eax, eax
jne 0x14005e288
call fcn.14004fba0
mov rdx, rax
lea rcx, str.SetupDiGetDeviceInstanceId_failed:__s
call fcn.14004f2f0
mov eax, dword [str._N_A_]
mov dword [rbp + 0x530], eax
movzx eax, word [0x140171014]
mov word [rbp + 0x534], ax
xor edx, edx
lea rcx, [rbp + 0x290]
mov r8d, 0x104
call fcn.140136540
lea rax, [rsp + 0x50]
mov r8d, 0x1f
mov qword [rsp + 0x30], rax
lea r9, [rbp - 0x70]
lea rax, [rbp + 0x290]
mov dword [rsp + 0x28], 0x104
lea rdx, [rbp + 0x100]
mov qword [rsp + 0x20], rax
mov rcx, r15
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyA]
test eax, eax
je 0x14005e2f1
mov eax, dword [rbp + 0x290]
sub eax, 2
je 0x14005e2e8
cmp eax, 1
jne 0x14005e2f1
mov byte [rbp + 0xf9], 1
jmp 0x14005e2f8
mov byte [rbp + 0xf9], 0
xor edx, edx
lea rcx, [rbp + 0x290]
mov r8d, 0x104
call fcn.140136540
mov edx, 2
mov ecx, 0x104
call fcn.1400c4f6c
mov rbx, rax
lea r9, [rbp - 0x70]
lea rax, [rsp + 0x50]
mov r8d, 0xc
mov qword [rsp + 0x30], rax
lea rdx, [rbp + 0x100]
mov dword [rsp + 0x28], 0x104
mov rcx, r15
mov qword [rsp + 0x20], rbx
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyW]
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test edi, edi
je 0x14005e3a3
xor eax, eax
mov r9d, 0xffffffff
mov qword [rsp + 0x38], rax
mov r8, rbx
mov qword [rsp + 0x30], rax
xor edx, edx
lea rax, [rbp + 0x290]
mov dword [rsp + 0x28], 0x104
mov ecx, 0xfde9
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jne 0x14005e3a3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
xor eax, eax
mov edi, eax
test rbx, rbx
je 0x14005e3b0
mov rcx, rbx
call fcn.1400e8c70
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
test edi, edi
jne 0x14005e436
call fcn.14004fba0
mov rdx, rax
lea rcx, str.SetupDiGetDeviceRegistryProperty__Friendly_Name__failed:__s
call fcn.14004f2f0
mov ecx, 0xbe5
call fcn.140021050
test rax, rax
jne 0x14005e3e4
mov rbx, rax
jmp 0x14005e3fe
mov ecx, 0xbe5
call fcn.140021050
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x14005e3f5
mov ecx, 0xbe5
inc rbx
call fcn.140021050
mov edi, 0x104
lea rcx, [rbp + 0x290]
cmp rbx, rdi
mov rdx, rax
cmovb rdi, rbx
mov r8, rdi
call fcn.140135ea0
mov byte [rbp + rdi + 0x28f], 0
jmp 0x14005e55f
cmp byte [rbp + 0xf8], 0
jne 0x14005e55f
test r12, r12
je 0x14005e55f
cmp byte [r12], 0
mov r15, r12
je 0x14005e55b
nop word [rax + rax]
xor r8d, r8d
lea rcx, [rbp - 0x6c]
mov rdx, r15
call qword [sym.imp.SETUPAPI.dll_CM_Locate_DevNodeA]
test eax, eax
je 0x14005e495
cmp dword [0x1401e87c0], 0
je 0x14005e53a
mov rdx, r15
lea rcx, str.Could_not_locate_device_node_for__s
call fcn.14004f2f0
jmp 0x14005e53a
mov edx, dword [rbp - 0x6c]
lea rcx, [rsp + 0x48]
xor r8d, r8d
call qword [sym.imp.SETUPAPI.dll_CM_Get_Child]
test eax, eax
je 0x14005e4c8
cmp dword [0x1401e87c0], 0
je 0x14005e53a
mov rdx, r15
lea rcx, str.Could_not_get_children_of__s
call fcn.14004f2f0
jmp 0x14005e53a
mov edx, dword [rsp + 0x48]
cmp edx, dword [rbp + 0x114]
je 0x14005e5fb
xor r8d, r8d
lea rcx, [rsp + 0x48]
call qword [sym.imp.SETUPAPI.dll_CM_Get_Sibling]
test eax, eax
jne 0x14005e52a
nop word [rax + rax]
mov eax, dword [rsp + 0x48]
cmp eax, dword [rbp + 0x114]
je 0x14005e512
xor r8d, r8d
lea rcx, [rsp + 0x48]
mov edx, eax
call qword [sym.imp.SETUPAPI.dll_CM_Get_Sibling]
test eax, eax
je 0x14005e4f0
jmp 0x14005e52a
cmp dword [0x1401e87c0], 0
je 0x14005e52e
mov rdx, r15
lea rcx, str.NOTE:_Matched_instance_from_sibling_for__s
call fcn.14004f2f0
mov eax, dword [rsp + 0x48]
cmp eax, dword [rbp + 0x114]
je 0x14005e5fb
mov rax, 0xffffffffffffffff
inc rax
cmp byte [r15 + rax], 0
jne 0x14005e541
inc r15
add r15, rax
cmp byte [r15], 0
jne 0x14005e460
mov r15, qword [rbp - 0x78]
lea rsi, [0x1401564ce]
movzx ecx, byte [rbp + 0xf7]
test cl, cl
je 0x14005e5d3
movups xmm0, xmmword [str.SCSI_Disk_Device]
movzx eax, byte [0x140171118]
lea rdx, [rbp + 0x1f8]
movsd xmm6, qword [str.UAS_Device]
lea rcx, [rbp + 0x290]
movzx ebx, word [0x140171128]
movzx edi, byte [0x14017112a]
movups xmmword [rbp + 0x1f8], xmm0
mov byte [rbp + 0x208], al
call fcn.1400b4230
test rax, rax
je 0x14005e5cc
cmp byte [rax + 0x11], 0
jne 0x14005e5cc
movsd qword [rax], xmm6
mov word [rax + 8], bx
mov byte [rax + 0xa], dil
movzx ecx, byte [rbp + 0xf7]
cmp byte [rbp + 0xf8], 0
je 0x14005ebe2
lea rdx, [rbp + 0x290]
lea rcx, str.Found_VHD_device__s
call fcn.14004f2f0
xor r13d, r13d
jmp 0x14005ee46
mov ecx, dword [rbp - 0x38]
lea rax, [r15 + 2]
xor edi, edi
add rcx, r12
cmp rax, rcx
mov r14d, edi
mov rbx, r15
setae byte [rbp + 0xf7]
nop word [rax + rax]
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [r15 + rcx], dil
jne 0x14005e627
mov rax, rbx
sub rax, r15
cmp rax, rcx
jae 0x14005e64a
movsx ecx, byte [rbx]
call fcn.1400fc5e0
mov byte [rbx], al
inc rbx
jmp 0x14005e620
mov ecx, edi
mov rax, r15
test r13, r13
je 0x14005e801
movsx edx, byte [r15]
test edx, edx
je 0x14005e673
imul ecx, ecx, 0x1003f
lea rax, [rax + 1]
add ecx, edx
movsx edx, byte [rax]
test edx, edx
jne 0x14005e660
mov r12d, dword [rsp + 0x54]
test ecx, ecx
mov r8d, 1
mov eax, r8d
mov edi, r8d
cmovne eax, ecx
xor edx, edx
div r12d
test edx, edx
cmovne edi, edx
mov esi, edi
lea rcx, [rdi + rdi*2]
mov eax, dword [r13 + rcx*8]
test eax, eax
je 0x14005e75c
lea r11, str._NULL_
cmp eax, edi
jne 0x14005e6ee
mov rax, qword [r13 + rcx*8 + 8]
mov r8, r11
test rax, rax
cmovne r8, rax
mov rax, r15
sub r8, r15
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14005e6e3
inc rax
test ecx, ecx
jne 0x14005e6d0
test edx, edx
jne 0x14005e6ee
xor edi, edi
jmp 0x14005e808
lea ecx, [r12 - 2]
xor edx, edx
mov eax, edi
div ecx
lea r10d, [rdx + 1]
nop dword [rax]
cmp esi, r10d
ja 0x14005e70f
mov eax, r12d
sub eax, r10d
add esi, eax
jmp 0x14005e712
sub esi, r10d
cmp esi, edi
je 0x14005e75c
lea rax, [rsi + rsi*2]
mov r9d, dword [r13 + rax*8]
cmp r9d, edi
jne 0x14005e757
mov rax, qword [r13 + rax*8 + 8]
mov r8, r11
test rax, rax
cmovne r8, rax
mov rax, r15
sub r8, r15
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14005e753
inc rax
test ecx, ecx
jne 0x14005e740
test edx, edx
je 0x14005e6e7
test r9d, r9d
jne 0x14005e700
cmp dword [rsp + 0x4c], r12d
jb 0x14005e78f
mov r8d, 0xc8
lea rdx, str.D:_a_rufus_rufus_src_stdfn.c
lea rcx, str.htab__filled___htab__size
call fcn.1400fbe54
mov edx, r12d
lea rcx, str.Hash_table_is_full___d_entries_
call fcn.14004f2f0
xor edi, edi
jmp 0x14005e806
lea rbx, [rsi + rsi*2]
mov rcx, qword [r13 + rbx*8 + 8]
call fcn.1400e8c70
xor eax, eax
mov rcx, 0xffffffffffffffff
mov qword [r13 + rbx*8 + 8], rax
mov dword [r13 + rbx*8], edi
inc rcx
cmp byte [r15 + rcx], al
jne 0x14005e7b0
inc rcx
call fcn.1400e8c84
mov qword [r13 + rbx*8 + 8], rax
test rax, rax
jne 0x14005e7db
lea rcx, str.Could_not_duplicate_string_for_hash_table
call fcn.14004f2f0
xor edi, edi
jmp 0x14005e806
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r15 + r8], r14b
jne 0x14005e7e2
inc r8
mov rdx, r15
mov rcx, rax
call fcn.140135ea0
inc dword [rsp + 0x4c]
xor edi, edi
jmp 0x14005e808
mov r12d, dword [rsp + 0x54]
mov esi, edi
cmp dword [0x1401e87c0], r14d
je 0x14005e822
mov r8, r15
lea rcx, str.__Matched_with_ID__03d_:__s
mov edx, esi
call fcn.14004f2f0
mov ebx, edi
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [r15 + rax], r14b
jne 0x14005e830
test rax, rax
je 0x14005e8b6
mov r12d, 1
cmp edi, 2
jae 0x14005e8b1
mov eax, ebx
movzx ecx, byte [rax + r15]
cmp cl, 0x5c
jne 0x14005e85a
mov r14d, r12d
jmp 0x14005e88e
test r14d, r14d
je 0x14005e88e
cmp cl, 0x5f
jne 0x14005e88e
lea ecx, [rbx + 1]
xor edx, edx
add rcx, r15
mov r8d, 0x10
call fcn.1401022e0
movzx ecx, ax
mov eax, edi
inc edi
mov dword [rbp + 0xe4], ecx
test eax, eax
jne 0x14005e88e
mov dword [rbp + 0xe0], ecx
inc ebx
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
inc rcx
cmp byte [r15 + rcx], 0
jne 0x14005e8a0
mov eax, ebx
cmp rax, rcx
jb 0x14005e844
mov r12d, dword [rsp + 0x54]
cmp dword [rbp + 0xe0], 0
lea rax, [0x1401564ce]
lea r14, str._ID_
cmove r14, rax
mov eax, esi
lea rcx, [rax + rax*2]
cmp qword [r13 + rcx*8 + 0x10], 0
jne 0x14005eb71
mov edx, dword [rbp - 0x6c]
lea rcx, [rbp - 0x44]
xor r8d, r8d
call qword [sym.imp.SETUPAPI.dll_CM_Get_Parent]
test eax, eax
jne 0x14005eb71
mov ecx, dword [rbp - 0x44]
lea rdx, [rbp + 0x3a0]
xor r9d, r9d
mov r8d, 0x104
call qword [sym.imp.SETUPAPI.dll_CM_Get_Device_IDA]
test eax, eax
jne 0x14005eb71
xor edx, edx
lea r15, [rbp + 0x3a0]
mov ebx, edx
lea r14, str._GP_
nop dword [rax]
lea rcx, [rbp + 0x3a0]
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x14005e940
cmp rbx, rax
jae 0x14005e967
movsx ecx, byte [rbp + rbx + 0x3a0]
call fcn.1400fc5e0
mov byte [rbp + rbx + 0x3a0], al
inc rbx
jmp 0x14005e930
xor edx, edx
lea rax, [rbp + 0x3a0]
mov ecx, edx
test r13, r13
je 0x14005eb51
movsx edx, byte [rbp + 0x3a0]
test edx, edx
je 0x14005e9a3
nop word [rax + rax]
imul ecx, ecx, 0x1003f
lea rax, [rax + 1]
add ecx, edx
movsx edx, byte [rax]
test edx, edx
jne 0x14005e990
test ecx, ecx
mov r8d, 1
mov eax, r8d
mov edi, r8d
cmovne eax, ecx
xor edx, edx
div r12d
test edx, edx
cmovne edi, edx
mov esi, edi
lea rcx, [rdi + rdi*2]
mov eax, dword [r13 + rcx*8]
test eax, eax
je 0x14005ea90
lea r11, str._NULL_
cmp eax, edi
jne 0x14005ea1b
mov rax, qword [r13 + rcx*8 + 8]
mov r8, r11
test rax, rax
cmovne r8, rax
lea rax, [rbp + 0x3a0]
sub r8, rax
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14005ea13
inc rax
test ecx, ecx
jne 0x14005ea00
test edx, edx
je 0x14005eb53
lea ecx, [r12 - 2]
xor edx, edx
mov eax, edi
div ecx
lea r10d, [rdx + 1]
nop word [rax + rax]
cmp esi, r10d
ja 0x14005ea3f
mov eax, r12d
sub eax, r10d
add esi, eax
jmp 0x14005ea42
sub esi, r10d
cmp esi, edi
je 0x14005ea90
lea rax, [rsi + rsi*2]
mov r9d, dword [r13 + rax*8]
cmp r9d, edi
jne 0x14005ea8b
mov rax, qword [r13 + rax*8 + 8]
mov r8, r11
test rax, rax
cmovne r8, rax
lea rax, [rbp + 0x3a0]
sub r8, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14005ea83
inc rax
test ecx, ecx
jne 0x14005ea70
test edx, edx
je 0x14005eb53
test r9d, r9d
jne 0x14005ea30
cmp dword [rsp + 0x4c], r12d
jb 0x14005eac8
mov r8d, 0xc8
lea rdx, str.D:_a_rufus_rufus_src_stdfn.c
lea rcx, str.htab__filled___htab__size
call fcn.1400fbe54
mov edx, r12d
lea rcx, str.Hash_table_is_full___d_entries_
call fcn.14004f2f0
xor eax, eax
mov esi, eax
jmp 0x14005eb53
lea rbx, [rsi + rsi*2]
mov rcx, qword [r13 + rbx*8 + 8]
call fcn.1400e8c70
xor r12d, r12d
lea rax, [rbp + 0x3a0]
mov qword [r13 + rbx*8 + 8], r12
mov rcx, 0xffffffffffffffff
mov dword [r13 + rbx*8], edi
inc rcx
cmp byte [rax + rcx], r12b
jne 0x14005eaf1
inc rcx
call fcn.1400e8c84
mov qword [r13 + rbx*8 + 8], rax
test rax, rax
jne 0x14005eb1d
lea rcx, str.Could_not_duplicate_string_for_hash_table
call fcn.14004f2f0
mov esi, r12d
jmp 0x14005eb53
lea rcx, [rbp + 0x3a0]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rcx + r8], r12b
jne 0x14005eb30
inc r8
lea rdx, [rbp + 0x3a0]
mov rcx, rax
call fcn.140135ea0
inc dword [rsp + 0x4c]
jmp 0x14005eb53
mov esi, edx
cmp dword [0x1401e87c0], 0
je 0x14005eb71
lea r8, [rbp + 0x3a0]
mov edx, esi
lea rcx, str.__Matched_with__GP__ID__03d_:__s
call fcn.14004f2f0
mov eax, esi
lea rbx, [rax + rax*2]
mov rdx, qword [r13 + rbx*8 + 0x10]
test rdx, rdx
je 0x14005e55b
cmp dword [0x1401e87c0], 0
mov rdi, qword [rbp - 0x60]
je 0x14005eba2
mov r8, qword [rdi + rdx*8]
lea rcx, str.__Matched_with_Hub__d_:__s
call fcn.14004f2f0
mov rcx, qword [r13 + rbx*8 + 0x10]
lea r8, [rbp + 0xe0]
mov rdx, r15
mov rcx, qword [rdi + rcx*8]
call fcn.14005ba30
mov r15, qword [rbp - 0x78]
lea rsi, [0x1401564ce]
test eax, eax
je 0x14005e566
mov rax, qword [r13 + rbx*8 + 0x10]
mov r14, rsi
mov rcx, qword [rdi + rax*8]
mov qword [rbp - 0x40], rcx
jmp 0x14005e566
cmp byte [rbp + 0xf6], 0
movzx eax, byte [rbp + 0xf4]
je 0x14005ec23
test al, al
je 0x14005ec08
cmp dword [rbp + 0xe0], 0
jne 0x14005ec23
cmp dword [rbp + 0xe4], 0
jne 0x14005ec23
lea rdx, [rbp + 0x290]
lea rcx, str.Found_card_reader_device__s
call fcn.14004f2f0
xor r13d, r13d
jmp 0x14005ee46
test al, al
jne 0x14005ec7c
test cl, cl
jne 0x14005ec7c
cmp byte [rbp + 0xf9], cl
je 0x14005ec7c
cmp dword [0x1401a045c], 0
lea rdx, [rbp + 0x290]
jne 0x14005ec68
lea rcx, str.Found_non_USB_removable_device__s___Eliminated
call fcn.14004f2f0
cmp dword [0x1401e87c0], 0
je 0x14005fa9d
lea rcx, str.If_you_REALLY_need__you_can_enable_listing_of_this_device_with__Ctrl__Alt__F_
jmp 0x14005fa98
lea rcx, str.Found_non_USB_removable_device__s
call fcn.14004f2f0
xor r13d, r13d
jmp 0x14005ee46
cmp dword [rbp + 0xe0], 0
jne 0x14005ece4
cmp dword [rbp + 0xe4], 0
jne 0x14005ece4
test al, al
jne 0x14005ecb7
cmp dword [0x1401e87c0], 0
je 0x14005fa9d
lea rdx, [rbp + 0x290]
lea rcx, str.Found_non_USB_non_removable_device__s___Eliminated
call fcn.14004f2f0
jmp 0x14005fa9d
movzx eax, word [0x140171258]
xor r13d, r13d
movsd xmm0, qword [str.____:____]
mov word [rbp + 0x3a8], ax
mov byte [rbp + 0x3a9], 0
movsd qword [rbp + 0x3a0], xmm0
jmp 0x14005edcb
mov eax, dword [rbp + 0xe4]
lea r9, str._04X:_04X
mov dword [rsp + 0x28], eax
lea rcx, [rbp + 0x3a0]
mov eax, dword [rbp + 0xe0]
mov edx, 0x104
mov r8, 0xffffffffffffffff
mov dword [rsp + 0x20], eax
call fcn.140004fd0
cmp dword [0x14019f604], 0
mov r9d, dword [rbp + 0xe4]
mov r8d, dword [rbp + 0xe0]
mov byte [rbp + 0x4a3], 0
je 0x14005ed6f
cmp r8d, 0x525
jne 0x14005ed47
cmp r9d, 0x622b
jmp 0x14005ed69
cmp r8d, 0x781
jne 0x14005ed59
cmp r9d, 0x75a0
jmp 0x14005ed69
cmp r8d, 0x10d6
jne 0x14005ed6f
cmp r9d, 0x1101
je 0x14005fa9d
xor r13d, r13d
lea rdx, [rbp + 0x180]
mov ebx, r13d
nop dword [rax]
mov ecx, dword [rdx]
mov eax, ecx
shr eax, 0x10
cmp r8d, eax
jne 0x14005ed94
movzx eax, cx
cmp r9d, eax
je 0x14005eda1
inc ebx
add rdx, 4
cmp ebx, 8
jb 0x14005ed80
jmp 0x14005edbb
lea r8, [rbp + 0x3a0]
lea rdx, [rbp + 0x290]
lea rcx, str.Ignoring__s___s___per_user_settings
call fcn.14004f2f0
cmp ebx, 8
jb 0x14005fa9d
movzx ecx, byte [rbp + 0xf7]
mov eax, dword [rbp + 0xe8]
lea rdx, [0x140171298]
cmp eax, 6
mov qword [rsp + 0x30], r14
mov r9, rsi
cmovae eax, r13d
test cl, cl
mov r8d, eax
lea rcx, str.Found__s_s_s_device__s___s___s
mov dword [rbp + 0xe8], eax
cmovne r9, rdx
lea rax, str.UAS__
mov rdx, rsi
cmovne rdx, rax
lea rax, [rbp + 0x3a0]
mov r8, qword [rbp + r8*8 - 0x20]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x290]
mov qword [rsp + 0x20], rax
call fcn.14004f2f0
mov edx, dword [rbp + 0xec]
test edx, edx
je 0x14005ee46
add edx, 0x2f
lea rcx, str.NOTE:_This_device_is_a_USB_3._c_device_operating_at_lower_speed...
call fcn.14004f2f0
xor ecx, ecx
mov dword [rbp + 0x120], 0x20
mov esi, r13d
call fcn.1400e8c70
lea rax, [rbp + 0x120]
xor r9d, r9d
lea r8, [0x140157bf0]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x100]
mov rcx, r15
call qword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInterfaces]
test eax, eax
je 0x14005f0d5
nop dword [rax + rax]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], r13
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp + 0x120]
mov rcx, r15
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInterfaceDetailA]
test eax, eax
jne 0x14005f118
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14005f0ff
mov edx, dword [rsp + 0x50]
mov ecx, 1
call fcn.1400c4f6c
mov qword [rsp + 0x58], rax
test rax, rax
jne 0x14005eefa
lea rcx, str.Unable_to_allocate_data_for_SP_DEVICE_INTERFACE_DETAIL_DATA
call fcn.14004f2f0
mov r14, qword [rsp + 0x58]
jmp 0x14005f09d
lea rcx, [rsp + 0x50]
mov dword [rax], 8
mov r9d, dword [rsp + 0x50]
lea rdx, [rbp + 0x120]
mov qword [rsp + 0x28], r13
mov r8, rax
mov qword [rsp + 0x20], rcx
mov rcx, r15
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInterfaceDetailA]
test eax, eax
jne 0x14005ef49
call fcn.14004fba0
mov rdx, rax
lea rcx, str.SetupDiGetDeviceInterfaceDetail__actual__failed:__s
call fcn.14004f2f0
mov r14, qword [rsp + 0x58]
jmp 0x14005f09d
mov r14, qword [rsp + 0x58]
xor r9d, r9d
mov qword [rsp + 0x30], r13
mov edx, 0xc0000000
mov dword [rsp + 0x28], 0x80
mov r8d, 3
mov dword [rsp + 0x20], 3
lea rcx, [r14 + 4]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x14005efa1
call fcn.14004fba0
mov r8, rax
lea rdx, [r14 + 4]
lea rcx, str.Could_not_open__s:__s
call fcn.14004f2f0
jmp 0x14005f09d
lea rdx, [r14 + 4]
mov rcx, rdi
call fcn.1400075f0
mov rcx, rdi
mov r15d, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test r15d, r15d
js 0x14005f099
lea r12d, [r15 + 0x80]
mov ecx, r12d
mov dword [rbp - 0x50], r12d
call fcn.140005f90
mov r9d, 1
xor r8d, r8d
xor edx, edx
mov rcx, rax
mov rbx, rax
call fcn.140005bf0
mov rcx, rbx
mov rdi, rax
call fcn.1400e8c70
mov qword [rsp + 0x38], r13
lea rax, [rsp + 0x44]
mov qword [rsp + 0x30], rax
xor r9d, r9d
lea rax, [rbp + 0x210]
mov dword [rsp + 0x28], 0x80
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov edx, 0x700a0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x14005f03f
cmp dword [rsp + 0x44], 0
jbe 0x14005f03f
mov ebx, 1
jmp 0x14005f042
mov ebx, r13d
lea rax, [rdi - 1]
cmp rax, 0xfffffffffffffffd
ja 0x14005f055
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
je 0x14005fa7b
mov ecx, r12d
call fcn.140008480
mov qword [rbp - 0x28], rax
mov r13, rax
cmp rax, 0x800000
jb 0x14005f984
xor r9d, r9d
lea r8, [rbp - 0x30]
lea rdx, [rbp + 0x160]
mov ecx, r12d
call fcn.140008090
test eax, eax
jne 0x14005f12c
xor r13d, r13d
mov r15, qword [rbp - 0x78]
mov rcx, r14
inc esi
call fcn.1400e8c70
lea rax, [rbp + 0x120]
mov r9d, esi
lea r8, [0x140157bf0]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x100]
mov rcx, r15
call qword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInterfaces]
test eax, eax
jne 0x14005ee90
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x103
je 0x14005fa91
call fcn.14004fba0
mov rdx, rax
lea rcx, str.SetupDiEnumDeviceInterfaces_failed:__s
call fcn.14004f2f0
jmp 0x14005fa9d
call fcn.14004fba0
mov rdx, rax
lea rcx, str.SetupDiGetDeviceInterfaceDetail__dummy__failed:__s
call fcn.14004f2f0
mov r14, r13
jmp 0x14005f09d
lea rcx, str.SetupDiGetDeviceInterfaceDetail__dummy____no_data_was_allocated
call fcn.14004f2f0
mov r14, r13
jmp 0x14005f09d
cmp byte [rbp + 0xf5], 0
movzx r14d, byte [rbp + 0x160]
je 0x14005f1b1
cmp byte [rbp + 0xf7], 0
jne 0x14005f1b1
cmp byte [rbp + 0xf8], 0
jne 0x14005f1b1
cmp byte [rbp + 0xf9], 0
jne 0x14005f167
mov rcx, qword [rsp + 0x58]
call fcn.1400e8c70
jmp 0x14005fa9d
cmp dword [0x1401a045c], 0
jne 0x14005f1b1
lea rbx, [rbp + 0x160]
test r14b, r14b
je 0x14005f238
movzx eax, r14b
nop dword [rax]
nop dword [rax + rax]
lea rcx, [rbp - 0x68]
mov byte [rbp - 0x68], al
call qword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 2
jne 0x14005f238
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x14005f190
cmp dword [0x14019f644], 0
jne 0x14005f38d
cmp byte [rbp + 0xf8], 0
jne 0x14005f269
cmp byte [rbp + 0xf6], 0
jne 0x14005f276
movzx r8d, word [rbp + 0xe4]
lea r9, [rbp + 0x290]
movzx edx, word [rbp + 0xe0]
mov ecx, r12d
call fcn.14004a0a0
test eax, eax
jle 0x14005f25c
mov edx, eax
lea rcx, str.Device_eliminated_because_it_was_detected_as_a_Hard_Drive__score__d___0_
call fcn.14004f2f0
cmp dword [0x1401a045c], 0
jne 0x14005f21d
lea rcx, str.If_this_device_is_not_a_Hard_Drive__please_e_mail_the_author_of_this_application
call fcn.14004f2f0
lea rcx, str.NOTE:_You_can_enable_the_listing_of_Hard_Drives_under_advanced_drive_properties
call fcn.14004f2f0
mov rcx, qword [rsp + 0x58]
call fcn.1400e8c70
jmp 0x14005fa9d
cmp byte [rbx], 0
je 0x14005f1b1
lea rcx, str.Device_eliminated_because_it_contains_a_mounted_partition_that_is_set_as_non_removable
call fcn.14004f2f0
mov rcx, qword [rsp + 0x58]
call fcn.1400e8c70
jmp 0x14005fa9d
cmp dword [0x14019f644], 0
jne 0x14005f38d
cmp byte [rbp + 0xf6], 0
je 0x14005f38d
movabs rax, 0x7d00000000
cmp r13, rax
jbe 0x14005f38d
cmp dword [0x14019f590], 0
lea rdi, [0x140166140]
mov rsi, qword [0x14019f560]
lea rax, [0x1401564ce]
cmove rdi, rax
movaps xmm7, xmm12
xor r14d, r14d
mov ebx, r14d
comisd xmm9, xmm7
ja 0x14005f2c8
inc rbx
mulsd xmm7, xmm8
cmp rbx, 5
jl 0x14005f2b3
test rbx, rbx
jne 0x14005f2ef
mov rax, qword [rsi + 0xa0]
lea r9, str._s_d_s__s
mov qword [rsp + 0x38], rax
cvttsd2si ecx, xmm7
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], ecx
jmp 0x14005f337
movaps xmm6, xmm7
movaps xmm0, xmm7
mulsd xmm6, xmm10
call fcn.140135bc0
lea rax, str._s_0.0f_s__s
mulsd xmm0, xmm10
lea r9, str._s_0.1f_s__s
subsd xmm6, xmm0
comisd xmm11, xmm6
cmova r9, rax
mov rax, qword [rsi + rbx*8 + 0xa0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
movsd qword [rsp + 0x28], xmm7
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rdi
mov edx, 0x20
lea rcx, [0x1401e2e30]
call fcn.140004fd0
lea rdx, [0x1401e2e30]
mov byte [0x1401e2e4f], r14b
lea rcx, str.Device_eliminated_because_it_was_detected_as_a_card_larger_than__s
call fcn.14004f2f0
lea rcx, str.To_use_such_a_card__check_List_USB_Hard_Drives_under_advanced_drive_properties
call fcn.14004f2f0
mov rcx, qword [rsp + 0x58]
call fcn.1400e8c70
mov ebx, dword [rsp + 0x40]
jmp 0x14005faa4
cmp byte [rbp + 0xf8], 0
je 0x14005f51b
xor eax, eax
lea rcx, [rbp + 0x640]
xor edx, edx
mov dword [rsp + 0x74], eax
mov r8d, 0x1000
mov edi, eax
call fcn.140136540
mov ecx, r12d
call fcn.140005f90
mov r9d, 1
xor r8d, r8d
xor edx, edx
mov rcx, rax
mov rbx, rax
call fcn.140005bf0
mov rcx, rbx
mov rsi, rax
call fcn.1400e8c70
cmp rsi, 0xffffffffffffffff
je 0x14005f51b
lea rax, [rsp + 0x74]
xor ebx, ebx
mov qword [rsp + 0x38], rbx
xor r9d, r9d
mov qword [rsp + 0x30], rax
xor r8d, r8d
lea rax, [rbp + 0x640]
mov dword [rsp + 0x28], 0x1000
mov edx, 0x70050
mov qword [rsp + 0x20], rax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x14005f4ee
cmp dword [rsp + 0x74], ebx
jbe 0x14005f4ee
cmp dword [rbp + 0x640], 1
jne 0x14005f4ee
cmp dword [rbp + 0x644], 2
jne 0x14005f4ee
mov rcx, qword [rbp + 0x690]
sub rcx, qword [0x140158020]
jne 0x14005f46c
mov rcx, qword [rbp + 0x698]
sub rcx, qword [0x140158028]
test rcx, rcx
mov eax, ebx
sete al
test eax, eax
je 0x14005f4ee
mov rcx, qword [rbp + 0x720]
sub rcx, qword [0x140158030]
jne 0x14005f496
mov rcx, qword [rbp + 0x728]
sub rcx, qword [0x140158038]
test rcx, rcx
mov eax, ebx
sete al
test eax, eax
je 0x14005f4ee
movabs rax, 0x500000000
cmp qword [rbp + 0x710], rax
jl 0x14005f4ee
mov rdx, qword [rbp + 0x708]
mov rcx, rsi
call fcn.1400096a0
mov rdx, rax
lea r8, str.ReFS
mov rax, rbx
movzx ecx, byte [rdx + rax]
inc rax
cmp cl, byte [r8 + rax - 1]
jne 0x14005f4ea
cmp rax, 5
jne 0x14005f4d1
cmp cl, byte [r8 + rax - 1]
sete dil
test rsi, rsi
je 0x14005f4fc
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x14005f51b
lea rcx, str.Device_eliminated_because_it_was_detected_as_a_Microsoft_Dev_Drive
call fcn.14004f2f0
mov rcx, qword [rsp + 0x58]
call fcn.1400e8c70
jmp 0x14005fa9d
mov r12, qword [rbp - 0x30]
lea rax, str._NULL_
test r12, r12
lea rdx, str.PortableBaseLayer
mov rcx, r12
cmove rcx, rax
call fcn.140113550
test eax, eax
jne 0x14005f55b
lea rcx, str.Device_eliminated_because_it_is_a_Windows_Sandbox_VHD
call fcn.14004f2f0
mov rcx, qword [rsp + 0x58]
call fcn.1400e8c70
jmp 0x14005fa9d
cmp byte [rbp + 0xf8], 0
je 0x14005f588
cmp dword [0x140196f74], 0
jne 0x14005f588
lea rcx, str.Device_eliminated_because_listing_of_VHDs_is_disabled__Alt_G_
call fcn.14004f2f0
mov rcx, qword [rsp + 0x58]
call fcn.1400e8c70
jmp 0x14005fa9d
test r14b, r14b
jne 0x14005f5b9
mov r8d, dword [0x1401e82d8]
xor edx, edx
mov rcx, r13
call fcn.14004ffe0
mov r9, rax
mov r8d, r15d
mov rdx, r12
mov ecx, 0xbe6
call fcn.140021050
mov rdi, rax
jmp 0x14005f8ab
xor r14d, r14d
mov edi, r14d
nop
mov eax, edi
lea rcx, [rbp + 0x1d8]
movzx ebx, byte [rbp + rax + 0x160]
mov byte [rbp + 0x1d8], bl
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x14005f60f
mov r8d, edi
test bl, bl
je 0x14005f60d
nop dword [rax + rax]
lea edx, [r8 + 1]
mov eax, r8d
movzx ecx, byte [rbp + rdx + 0x160]
mov r8d, edx
mov byte [rbp + rax + 0x160], cl
test cl, cl
jne 0x14005f5f0
dec edi
inc edi
cmp byte [rbp + rdi + 0x160], r14b
jne 0x14005f5c0
movzx esi, byte [rbp + 0x160]
movzx edi, byte [rbp + 0x161]
test sil, sil
je 0x14005f63f
test dil, dil
je 0x14005f63f
mov ecx, 0xbe7
call fcn.140021050
jmp 0x14005f642
mov rax, r12
test rax, rax
jne 0x14005f64c
mov rbx, r14
jmp 0x14005f679
test sil, sil
je 0x14005f662
test dil, dil
je 0x14005f662
mov ecx, 0xbe7
call fcn.140021050
jmp 0x14005f665
mov rax, r12
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [rax + rbx], r14b
jne 0x14005f670
test sil, sil
je 0x14005f692
test dil, dil
je 0x14005f692
mov ecx, 0xbe7
call fcn.140021050
mov rdx, rax
jmp 0x14005f695
mov rdx, r12
lea rax, [rbx + 1]
mov ebx, 0x80
cmp rax, rbx
lea rcx, [rbp + 0x4b0]
cmovb rbx, rax
mov r8, rbx
call fcn.140135ea0
mov byte [rbp + rbx + 0x4af], r14b
mov r13d, r14d
mov r15d, r14d
test sil, sil
je 0x14005f821
nop dword [rax + rax]
test r15d, r15d
jne 0x14005f7da
cmp dword [0x14019f590], r15d
mov eax, r13d
movsx r14d, byte [rbp + rax + 0x160]
mov byte [rbp + 0x1c2], r14b
je 0x14005f714
mov r9, 0xffffffffffffffff
lea r8, [0x1401716c0]
mov edx, 0x80
lea rcx, [rbp + 0x4b0]
call fcn.1400e8d6c
mov r9, 0xffffffffffffffff
lea r8, [rbp + 0x1c0]
mov edx, 0x80
lea rcx, [rbp + 0x4b0]
call fcn.1400e8d6c
lea rcx, [0x1401e81c0]
call fcn.14005b490
mov rcx, rax
mov rbx, rax
call qword [sym.imp.SHLWAPI.dll_PathGetDriveNumberW]
mov esi, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test rbx, rbx
je 0x14005f762
mov rcx, rbx
call fcn.1400e8c70
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea eax, [rsi + 0x41]
mov edi, r14d
cmp r14d, eax
lea rcx, [0x1401e8320]
mov eax, 1
cmove r15d, eax
call fcn.14005b490
mov rcx, rax
mov rbx, rax
call qword [sym.imp.SHLWAPI.dll_PathGetDriveNumberW]
mov esi, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14d, eax
test rbx, rbx
je 0x14005f7ac
mov rcx, rbx
call fcn.1400e8c70
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea eax, [rsi + 0x41]
cmp edi, eax
mov eax, 2
cmove r15d, eax
inc r13d
cmp byte [rbp + r13 + 0x160], 0
jne 0x14005f6d0
test r15d, r15d
je 0x14005f821
lea rax, str.disk_from_which_Rufus_is_running
cmp r15d, 1
lea rbx, str.system_disk
cmove rbx, rax
lea eax, [r13 - 1]
movsx ecx, byte [rbp + rax + 0x160]
call fcn.1400fc5e0
mov edx, eax
lea rcx, str.Removing__c:_from_the_list:_This_is_the__s_
mov r8, rbx
call fcn.14004f2f0
mov rcx, qword [rsp + 0x58]
call fcn.1400e8c70
jmp 0x14005fa9d
lea rcx, [rbp + 0x4b0]
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x14005f830
mov r13, qword [rbp - 0x28]
lea rbx, [rbp + 0x4b0]
mov r8d, dword [0x1401e82d8]
mov edi, 0x7f
mov rcx, r13
xor edx, edx
sub rdi, rax
add rbx, rax
call fcn.14004ffe0
cmp dword [0x14019f590], 0
lea rdx, [0x1401716c0]
mov rcx, rax
lea r9, str._s___s_
mov qword [rsp + 0x28], rcx
lea rax, [0x1401564ce]
cmovne rax, rdx
mov r8, 0xffffffffffffffff
mov rdx, rdi
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140004fd0
mov byte [rbx + rdi - 1], 0
lea rdi, [rbp + 0x4b0]
mov eax, dword [rbp - 0x50]
lea r15, [0x14019f650]
mov rsi, qword [rbp - 0x58]
lea rcx, [rbp + 0x530]
imul rbx, rsi, 0x38
mov dword [rbx + r15 + 0x28], eax
call fcn.1400fc834
lea rcx, [rbp + 0x290]
mov qword [rbx + r15], rax
call fcn.1400fc834
mov qword [rbx + r15 + 8], rax
test rdi, rdi
jne 0x14005f8f0
xor r14d, r14d
mov eax, r14d
jmp 0x14005f8fb
mov rcx, rdi
call fcn.1400fc834
xor r14d, r14d
mov qword [rbx + r15 + 0x10], rax
test r12, r12
jne 0x14005f90a
mov rcx, r14
jmp 0x14005f915
mov rcx, r12
call fcn.1400fc834
mov rcx, rax
lea rdx, [r15 + 0x18]
add rdx, rbx
lea rax, [r15 + 0x30]
add rax, rbx
mov qword [rdx], rcx
mov qword [rax], r13
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x14005f94a
mov rcx, rax
call fcn.1400fc834
mov qword [rbx + r15 + 0x20], rax
mov eax, dword [rbp + 0xf0]
mov dword [rbx + r15 + 0x2c], eax
mov eax, dword [rsp + 0x40]
inc rsi
inc eax
mov qword [rbp - 0x58], rsi
mov dword [rsp + 0x40], eax
cmp eax, 0x40
jl 0x14005f971
mov edx, 0x40
lea rcx, str.Warning:_Found_more_than__d_drives___ignoring_remaining_ones...
call fcn.14004f2f0
mov rcx, qword [rsp + 0x58]
call fcn.1400e8c70
mov ebx, dword [rsp + 0x40]
jmp 0x14005faa4
cmp dword [0x14019f590], 0
lea rdi, [0x140166140]
mov rsi, qword [0x14019f560]
lea rax, [0x1401564ce]
cmove rdi, rax
movaps xmm7, xmm13
xor r14d, r14d
mov ebx, r14d
nop
comisd xmm9, xmm7
ja 0x14005f9c5
inc rbx
mulsd xmm7, xmm8
cmp rbx, 5
jl 0x14005f9b0
test rbx, rbx
jne 0x14005f9ec
mov rax, qword [rsi + 0xa0]
lea r9, str._s_d_s__s
mov qword [rsp + 0x38], rax
cvttsd2si ecx, xmm7
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], ecx
jmp 0x14005fa34
movaps xmm6, xmm7
movaps xmm0, xmm7
mulsd xmm6, xmm10
call fcn.140135bc0
lea rax, str._s_0.0f_s__s
mulsd xmm0, xmm10
lea r9, str._s_0.1f_s__s
subsd xmm6, xmm0
comisd xmm11, xmm6
cmova r9, rax
mov rax, qword [rsi + rbx*8 + 0xa0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
movsd qword [rsp + 0x28], xmm7
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rdi
mov edx, 0x20
lea rcx, [0x1401e2e30]
call fcn.140004fd0
lea rdx, [0x1401e2e30]
mov byte [0x1401e2e4f], r14b
lea rcx, str.Device_eliminated_because_it_is_smaller_than__s
call fcn.14004f2f0
mov rcx, qword [rsp + 0x58]
call fcn.1400e8c70
mov ebx, dword [rsp + 0x40]
jmp 0x14005faa4
lea rcx, str.Device_eliminated_because_it_appears_to_contain_no_media
call fcn.14004f2f0
mov rcx, r14
call fcn.1400e8c70
jmp 0x14005fa9d
lea rcx, str.A_device_was_eliminated_because_it_didnt_report_itself_as_a_disk
call fcn.14004f2f0
mov ebx, dword [rsp + 0x40]
xor r14d, r14d
mov eax, dword [rsp + 0x60]
mov r13, qword [rsp + 0x78]
inc eax
mov r12, qword [rsp + 0x68]
mov r15, qword [rbp - 0x78]
mov dword [rsp + 0x60], eax
cmp ebx, 0x40
jl 0x14005de60
mov rcx, r15
call qword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
movaps xmm13, xmmword [rsp + 0x1750]
lea eax, [rbx - 1]
movaps xmm12, xmmword [rsp + 0x1760]
movaps xmm11, xmmword [rsp + 0x1770]
movaps xmm10, xmmword [rsp + 0x1780]
movaps xmm9, xmmword [rsp + 0x1790]
movaps xmm8, xmmword [rsp + 0x17a0]
movaps xmm7, xmmword [rsp + 0x17b0]
movaps xmm6, xmmword [rsp + 0x17c0]
movsxd rdi, ebx
test eax, eax
jle 0x14005fbe8
mov rbx, r14
mov esi, eax
lea r14, [0x14019f650]
mov r10, r14
mov r8, qword [r10 + 0x30]
lea rdx, [rbx + 1]
mov r11, rbx
cmp rdx, rdi
jge 0x14005fbd7
lea r9, [r10 + 0x68]
nop dword [rax]
mov rcx, qword [r9]
lea r9, [r9 + 0x38]
cmp rcx, r8
mov rax, rdx
cmovae rax, r11
inc rdx
cmp rcx, r8
mov r11, rax
cmovae rcx, r8
mov r8, rcx
cmp rdx, rdi
jl 0x14005fb50
cmp rax, rbx
je 0x14005fbd7
movups xmm3, xmmword [r10]
movups xmm4, xmmword [r10 + 0x10]
movups xmm5, xmmword [r10 + 0x20]
movsd xmm2, qword [r10 + 0x30]
imul rax, r11, 0x38
movups xmm0, xmmword [rax + r14]
movups xmmword [r10], xmm0
movups xmm1, xmmword [rax + r14 + 0x10]
movups xmmword [r10 + 0x10], xmm1
movups xmm0, xmmword [rax + r14 + 0x20]
movups xmmword [r10 + 0x20], xmm0
movsd xmm1, qword [rax + r14 + 0x30]
movsd qword [r10 + 0x30], xmm1
movups xmmword [rax + r14], xmm3
movups xmmword [rax + r14 + 0x10], xmm4
movups xmmword [rax + r14 + 0x20], xmm5
movsd qword [rax + r14 + 0x30], xmm2
inc rbx
add r10, 0x38
sub rsi, 1
jne 0x14005fb31
mov r12d, dword [rbp - 0x80]
test rdi, rdi
jle 0x14005fc87
lea rsi, [0x14019f660]
nop dword [rax]
mov rcx, qword [rsi]
mov rbx, qword [0x1401e8690]
call fcn.14005b490
mov r9, rax
xor r8d, r8d
mov edx, 0x143
mov rcx, rbx
mov r14, rax
call qword [sym.imp.USER32.dll_SendMessageW]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r15d, eax
test r14, r14
je 0x14005fc3f
mov rcx, r14
call fcn.1400e8c70
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r9d, dword [rsi + 0x18]
mov edx, 0x151
mov rcx, qword [0x1401e8690]
movsxd r8, ebx
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, qword [rsi]
call fcn.140055cd0
cmp r12d, eax
jg 0x14005fc79
mov rdx, qword [rsi]
call fcn.140055cd0
mov r12d, eax
add rsi, 0x38
sub rdi, 1
jne 0x14005fc00
mov rcx, qword [0x1401e8690]
xor r9d, r9d
movsxd r8, r12d
mov edx, 0x160
call qword [sym.imp.USER32.dll_SendMessageW]
mov edi, dword [rbp - 0x4c]
xor r15d, r15d
cmp edi, 0x80
jb 0x14005fd15
mov rcx, qword [0x1401e8690]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x146
mov ebx, r15d
call qword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x14005fd19
nop dword [rax]
mov rcx, qword [0x1401e8690]
xor r9d, r9d
movsxd r8, ebx
mov edx, 0x150
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, edi
je 0x14005fd0c
mov rcx, qword [0x1401e8690]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x146
inc ebx
call qword [sym.imp.USER32.dll_SendMessageW]
cmp ebx, eax
jb 0x14005fcd0
jmp 0x14005fd19
mov dword [rbp - 0x64], 1
jmp 0x14005fd19
mov ebx, dword [rsp + 0x60]
cmp dword [rbp - 0x64], 0
mov eax, r15d
mov rcx, qword [0x1401e8690]
mov edx, 0x14e
cmovne eax, ebx
xor r9d, r9d
movsxd r8, eax
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [0x1401e89e8]
xor r9d, r9d
mov edx, 0x111
mov r8d, 0x103e9
call qword [sym.imp.USER32.dll_SendMessageW]
mov r12, qword [rsp + 0x68]
mov esi, 1
jmp 0x14005dba6