Function at 0x140028c90
Capabilities:
Get disk information via ioctl
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3648]
mov eax, 0x3748
call fcn.1400e0110
sub rsp, rax
mov r13, rcx
xor r15d, r15d
mov esi, r15d
mov dword [rsp + 0x58], r15d
mov dword [rbp + 0x36a8], r15d
mov dword [rbp - 0x80], 0x20
call fcn.140008400
mov r8, qword [rax]
lea rdx, str.CMSCDeviceEnumerator::GetMSCDevices
mov rcx, rax
call qword [r8 + 0x20]
mov qword [rbp - 0x78], rax
mov byte [rbp - 0x70], 1
lea rax, vtable.JRTimer.0
mov qword [rbp - 0x68], rax
xor eax, eax
mov qword [rbp - 0x60], rax
lea rcx, [rbp - 0x68]
call fcn.140025db0
mov dword [rbp - 0x58], 0x8a33f231
cmp byte [rbp - 0x70], r15b
je 0x140028d5c
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x140028d63
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x140028d5c
mov r10, qword [rax]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
lea r9, str.Start
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
mov rcx, qword [0x14019a6b8]
mov qword [rbp + 0x118], r15
mov dword [rbp + 0x120], 0xffffffff
mov qword [rbp + 0x128], r15
lea rax, vtable.JRStringArray.0
mov qword [rbp + 0x110], rax
lea r12, vtable.JRCoreArray_class_JRString__class_JRString_const____ptr64__0_.0
cmp qword [r13 + 0xf0], 0
jne 0x140028da1
xor bl, bl
jmp 0x14002c238
test rcx, rcx
je 0x140028db3
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x48]
mov rcx, rax
jmp 0x140028db6
mov rcx, r15
mov rax, qword [rcx]
mov edx, 0x97
call qword [rax + 0xb8]
mov ecx, r15d
test al, al
setne cl
add ecx, 2
mov dword [rbp + 0xdc], ecx
movups xmm0, xmmword [0x14011dad0]
movups xmmword [rbp + 0x130], xmm0
mov edi, r15d
mov dword [rbp - 0x20], r15d
mov r14d, dword [rbp + 0x3690]
mov dword [rsp + 0x60], r14d
mov rcx, qword [0x14019a6b8]
nop dword [rax]
test edi, edi
jne 0x140028e45
test rcx, rcx
je 0x140028ec9
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x140028ec9
mov r10, qword [rax]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
lea r9, str.Enumerating_GUID_DEVINTERFACE_VOLUME...
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
jmp 0x140028ec9
cmp edi, 1
jne 0x140028e87
test rcx, rcx
je 0x140028e7e
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x140028e7e
mov r10, qword [rax]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
lea r9, str.Enumerating_GUID_DEVINTERFACE_DISK...
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
movups xmm0, xmmword [0x14011da40]
jmp 0x140028ec2
test rcx, rcx
je 0x140028ebb
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x140028ebb
mov r10, qword [rax]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
lea r9, str.Enumerating_GUID_DEVINTERFACE_USBRAW...
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
movups xmm0, xmmword [0x1401300a0]
movups xmmword [rbp + 0x130], xmm0
mov r9d, 0x12
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x130]
call qword [r13 + 0xf0]
mov rbx, rax
mov qword [rbp + 0xf8], rax
cmp rax, 0xffffffffffffffff
jne 0x140028f3a
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x14002c21e
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x14002c217
mov r10, qword [rax]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
lea r9, str.Invalid_device_class
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
jmp 0x14002c217
xor edi, edi
mov r15d, edi
mov dword [rbp + 0x30], edi
movsxd r12, r14d
mov qword [rbp - 0x18], r12
nop dword [rax]
mov dword [rbp + 0xf60], edi
movaps xmm0, xmmword [rbp + 0xf60]
movdqa xmmword [rbp + 0xfc0], xmm0
mov dword [rbp + 0xf70], edi
movaps xmm1, xmmword [rbp + 0xf70]
movdqa xmmword [rbp + 0xfb0], xmm1
mov dword [rbp + 0xf80], edi
movaps xmm0, xmmword [rbp + 0xf80]
movdqa xmmword [rbp + 0xfa0], xmm0
mov dword [rbp + 0x340], 4
mov eax, r15d
mov qword [rbp + 0x348], rax
movaps xmm0, xmmword [rbp + 0x340]
movdqa xmmword [rbp + 0xf90], xmm0
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x14002902f
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x14002902f
lea rcx, [rbp + 0xf90]
mov qword [rbp + 0x610], rcx
lea rcx, [rbp + 0xfa0]
mov qword [rbp + 0x618], rcx
lea rcx, [rbp + 0xfb0]
mov qword [rbp + 0x620], rcx
lea rcx, [rbp + 0xfc0]
mov qword [rbp + 0x628], rcx
mov r10, qword [rax]
mov dword [rsp + 0x28], 4
lea rcx, [rbp + 0x610]
mov qword [rsp + 0x20], rcx
lea r9, str.Analyzing_device__d
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
xorps xmm0, xmm0
movups xmmword [rbp + 0x360], xmm0
movups xmmword [rbp + 0x370], xmm0
mov dword [rbp + 0x360], 0x20
lea rax, [rbp + 0x360]
mov qword [rsp + 0x20], rax
mov r9d, r15d
lea r8, [rbp + 0x130]
xor edx, edx
mov rcx, rbx
call qword [r13 + 0x108]
test eax, eax
je 0x14002c1cd
xorps xmm0, xmm0
movups xmmword [rbp + 0x380], xmm0
movups xmmword [rbp + 0x390], xmm0
mov dword [rbp + 0x380], 0x20
mov qword [rsp + 0x28], rdi
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x360]
mov rcx, rbx
call qword [r13 + 0x110]
mov dword [rbp + 0x1110], 8
lea rax, [rbp + 0x380]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
mov r9d, 0x104
lea r8, [rbp + 0x1110]
lea rdx, [rbp + 0x360]
mov rcx, rbx
call qword [r13 + 0x110]
mov edi, eax
xor ecx, ecx
mov dword [rbp + 0xfd0], ecx
movaps xmm0, xmmword [rbp + 0xfd0]
movdqa xmmword [rbp + 0x1020], xmm0
mov dword [rbp + 0xfe0], ecx
movaps xmm1, xmmword [rbp + 0xfe0]
movdqa xmmword [rbp + 0x1010], xmm1
mov dword [rbp + 0x350], 2
lea rax, [rbp + 0x1114]
mov qword [rbp + 0x358], rax
movaps xmm0, xmmword [rbp + 0x350]
movdqa xmmword [rbp + 0x1000], xmm0
mov dword [rbp + 0x3a0], 4
test edi, edi
setne cl
mov qword [rbp + 0x3a8], rcx
movaps xmm0, xmmword [rbp + 0x3a0]
movdqa xmmword [rbp + 0xff0], xmm0
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x1400291e8
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x1400291e8
lea rcx, [rbp + 0xff0]
mov qword [rbp + 0x3d0], rcx
lea rcx, [rbp + 0x1000]
mov qword [rbp + 0x3d8], rcx
lea rcx, [rbp + 0x1010]
mov qword [rbp + 0x3e0], rcx
lea rcx, [rbp + 0x1020]
mov qword [rbp + 0x3e8], rcx
mov r10, qword [rax]
mov dword [rsp + 0x28], 4
lea rcx, [rbp + 0x3d0]
mov qword [rsp + 0x20], rcx
lea r9, str.GetDeviceInterfaceDetailData_returned__d_for__s
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
call fcn.140008400
mov r10, qword [rax]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, 0xffffffff
mov r8d, r9d
lea rdx, [rbp + 0x1114]
mov rcx, rax
call qword [r10 + 0x28]
mov rbx, rax
mov qword [rbp + 0x108], rax
mov r14d, dword [rbp - 0x20]
cmp r14d, 2
jne 0x14002934c
cmp dword [rax - 0x10], 0
jle 0x14002934c
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x14002934c
mov rax, qword [rcx]
mov dl, 1
call qword [rax + 0x28]
test rax, rax
je 0x14002934c
mov r10, qword [rax]
lea r9d, [r14 + 1]
lea r8, str.usbvid_05ac
mov rdx, rbx
mov rcx, rax
call qword [r10 + 0xc0]
test eax, eax
js 0x14002934c
xor eax, eax
mov r14d, eax
mov r8d, dword [rbp + 0x118]
test r8d, r8d
jle 0x140029309
mov esi, eax
mov rcx, qword [0x14019a6b8]
nop word [rax + rax]
mov rax, qword [rbp + 0x128]
mov rdx, qword [rax + rsi]
lea rdi, [0x140129d58]
test rdx, rdx
cmovne rdi, rdx
cmp dword [rbx - 0x10], 0
jle 0x1400292fd
test rcx, rcx
je 0x1400292fd
mov rax, qword [rcx]
mov dl, 1
call qword [rax + 0x28]
test rax, rax
je 0x1400292ef
mov r10, qword [rax]
mov r9d, 3
mov r8, rdi
mov rdx, rbx
mov rcx, rax
call qword [r10 + 0xc0]
cmp eax, 0xffffffff
jg 0x140029318
mov r8d, dword [rbp + 0x118]
mov rcx, qword [0x14019a6b8]
inc r14d
add rsi, 8
cmp r14d, r8d
jl 0x1400292a0
mov rax, qword [rbp + 0x36a0]
test rax, rax
je 0x140029318
mov byte [rax], 1
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140029347
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002933d
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140029347
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x14002c1af
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp - 0x30], rax
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp - 0x38], rax
test edi, edi
je 0x14002c113
lea r9, [rbp - 0x38]
lea r8, [rbp - 0x30]
mov edx, dword [rbp + 0x394]
mov rcx, r13
call fcn.14002c270
test al, al
je 0x14002c113
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rsp + 0x68], rax
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rsp + 0x78], rax
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp - 0x10], rax
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rsp + 0x70], rax
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp - 0x40], rax
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp + 0x28], rax
xor edi, edi
mov dword [rsp + 0x5c], edi
mov dword [rbp + 0x36a8], edi
mov rbx, qword [rbp - 0x30]
cmp dword [rbx - 0x10], edi
jle 0x1400296c8
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x1400296c8
mov rax, qword [rcx]
mov dl, 1
call qword [rax + 0x28]
test rax, rax
je 0x1400296c8
mov r10, qword [rax]
lea r9d, [rdi + 3]
lea r8, str.APPLE_COMPUTER__INC.IPOD
mov rdx, rbx
mov rcx, rax
call qword [r10 + 0xc0]
test eax, eax
js 0x1400296c8
xor r9d, r9d
lea rdx, str.iPod
lea rcx, [rsp + 0x68]
call fcn.140038290
lea r9d, [rdi + 0xa]
xor r8d, r8d
mov edx, 0x5ac
lea rcx, [rbp - 0x10]
call fcn.140036ec0
lea r15, [0x14012fb84]
mov rbx, r15
movzx eax, byte [rbx]
inc rbx
test al, al
jne 0x140029495
sub ebx, r15d
dec ebx
lea rcx, [rsp + 0x70]
test ebx, ebx
jle 0x14002951f
xor r9d, r9d
mov r8b, 1
mov edx, ebx
call fcn.140033580
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
mov r9d, ebx
mov r8, r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rdx, eax
mov rcx, qword [rsp + 0x70]
cmp edx, 0xffffffff
jne 0x140029506
test rcx, rcx
jne 0x1400294e9
mov edx, edi
jmp 0x14002950a
mov rdx, rcx
nop dword [rax]
movzx eax, word [rdx]
add rdx, 2
test ax, ax
jne 0x1400294f0
sub rdx, rcx
sar rdx, 1
dec edx
jmp 0x14002950a
mov word [rcx + rdx*2], di
mov dword [rcx - 0x10], edx
mov eax, dword [rcx - 8]
cmp eax, 0xffffffff
jne 0x140029524
mov eax, 1
xchg dword [rcx - 8], eax
jmp 0x140029524
call fcn.1400336e0
mov rbx, r15
nop word [rax + rax]
movzx eax, byte [rbx]
inc rbx
test al, al
jne 0x140029530
sub ebx, r15d
dec ebx
lea rcx, [rbp - 0x40]
test ebx, ebx
jle 0x1400295bf
xor r9d, r9d
mov r8b, 1
mov edx, ebx
call fcn.140033580
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
mov r9d, ebx
mov r8, r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rdx, eax
mov rcx, qword [rbp - 0x40]
cmp edx, 0xffffffff
jne 0x1400295a6
test rcx, rcx
jne 0x140029582
mov edx, edi
jmp 0x1400295aa
mov rdx, rcx
nop word [rax + rax]
movzx eax, word [rdx]
add rdx, 2
test ax, ax
jne 0x140029590
sub rdx, rcx
sar rdx, 1
dec edx
jmp 0x1400295aa
mov word [rcx + rdx*2], di
mov dword [rcx - 0x10], edx
mov eax, dword [rcx - 8]
cmp eax, 0xffffffff
jne 0x1400295c4
mov eax, 1
xchg dword [rcx - 8], eax
jmp 0x1400295c4
call fcn.1400336e0
mov dword [rsp + 0x5c], edi
mov dword [rbp + 0x36a8], 0x5ac
mov rax, qword [rbp - 0x38]
mov edi, dword [rax - 0x10]
lea edx, [rdi - 1]
movsxd rcx, edx
test edx, edx
js 0x1400296b3
cmp word [rax + rcx*2], 0x5c
je 0x14002960b
dec edx
sub rcx, 1
jns 0x1400295e7
lea rdx, [rbp + 0x28]
lea rcx, [rsp + 0x78]
call fcn.1400333a0
xor edi, edi
jmp 0x140029858
test edx, edx
jle 0x1400296b3
lea ecx, [rdx + 1]
cmp ecx, edi
cmovg ecx, edi
xor edx, edx
test ecx, ecx
cmovns edx, ecx
mov ecx, edi
sub ecx, edx
cmp edi, ecx
cmovg edi, ecx
movsxd rcx, edx
lea rbx, [rax + rcx*2]
call fcn.140008400
mov r10, qword [rax]
xor r8d, r8d
test edi, edi
cmovns r8d, edi
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, 0xffffffff
mov rdx, rbx
mov rcx, rax
call qword [r10 + 0x28]
mov rbx, rax
mov qword [rbp + 0x160], rax
or esi, 0xc
mov dword [rsp + 0x58], esi
lea rdx, [rbp + 0x160]
lea rcx, [rbp + 0x28]
call fcn.1400333a0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400296b3
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400296a9
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400296b3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rdx, [rbp + 0x28]
lea rcx, [rsp + 0x78]
call fcn.1400333a0
xor edi, edi
jmp 0x140029858
lea r9, [0x14012fb88]
mov r8, qword [rbp - 0x30]
lea rdx, [rbp + 0x168]
call fcn.140027a70
nop
mov rdx, rax
lea rcx, [rbp - 0x10]
call fcn.1400333a0
nop
mov rdx, qword [rbp + 0x168]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140029723
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140029719
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140029723
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea r9, str.PID_
mov r8, qword [rbp - 0x30]
lea rdx, [rbp + 0x170]
call fcn.140027a70
nop
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.1400333a0
nop
mov rdx, qword [rbp + 0x170]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002977f
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140029775
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002977f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea r9, str.REV_
mov r8, qword [rbp - 0x38]
lea rdx, [rbp + 0x1a8]
call fcn.140027a70
nop
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.1400333a0
nop
mov rdx, qword [rbp + 0x1a8]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400297da
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400297d0
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400297da
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea r8, [rsp + 0x5c]
lea rdx, [0x14012fbb4]
mov rcx, qword [rsp + 0x70]
call fcn.14002d470
lea r8, [rbp + 0x36a8]
lea rdx, [0x14012fbb4]
mov rcx, qword [rbp - 0x10]
call fcn.14002d470
cmp dword [rbp + 0x36a8], 0x5ac
jne 0x140029858
xor r9d, r9d
lea rdx, str.iPod
lea rcx, [rsp + 0x68]
call fcn.140038290
movsxd rdx, dword [rbp + 0x36a8]
mov r9d, 0xa
xor r8d, r8d
lea rcx, [rbp - 0x10]
call fcn.140036ec0
movsxd rdx, dword [rsp + 0x5c]
mov r9d, 0xa
xor r8d, r8d
lea rcx, [rsp + 0x70]
call fcn.140036ec0
mov dword [rbp + 0x1030], edi
movaps xmm0, xmmword [rbp + 0x1030]
movdqa xmmword [rbp + 0x1070], xmm0
mov dword [rbp + 0x3b0], 3
lea rax, [rbp - 0x40]
mov qword [rbp + 0x3b8], rax
movaps xmm0, xmmword [rbp + 0x3b0]
movdqa xmmword [rbp + 0x1060], xmm0
mov dword [rbp + 0x1c0], 3
lea rax, [rsp + 0x70]
mov qword [rbp + 0x1c8], rax
movaps xmm0, xmmword [rbp + 0x1c0]
movdqa xmmword [rbp + 0x1050], xmm0
mov dword [rbp + 0x1d0], 3
lea rax, [rbp - 0x10]
mov qword [rbp + 0x1d8], rax
movaps xmm0, xmmword [rbp + 0x1d0]
movdqa xmmword [rbp + 0x1040], xmm0
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x140029957
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x140029957
lea rcx, [rbp + 0x1040]
mov qword [rbp + 0x3f0], rcx
lea rcx, [rbp + 0x1050]
mov qword [rbp + 0x3f8], rcx
lea rcx, [rbp + 0x1060]
mov qword [rbp + 0x400], rcx
lea rcx, [rbp + 0x1070]
mov qword [rbp + 0x408], rcx
mov r10, qword [rax]
mov dword [rsp + 0x28], 4
lea rcx, [rbp + 0x3f0]
mov qword [rsp + 0x20], rcx
lea r9, str.Data:_VID__s__PID__s__REV__s
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
call fcn.140008400
mov r10, qword [rax]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, 0xffffffff
mov r8d, r9d
lea rdx, [rbp + 0x1114]
mov rcx, rax
call qword [r10 + 0x28]
mov qword [rbp + 0x50], rax
mov edx, 0x5c
lea r8d, [rdx - 0x38]
lea rcx, [rbp + 0x50]
call fcn.1400346a0
mov qword [rbp], rdi
lea rax, vtable.CDeviceInfo.0
mov qword [rbp - 8], rax
mov qword [rbp + 0x10], 0
mov dword [rbp + 0x18], 0xffffffff
mov qword [rbp + 0x20], rdi
lea rax, vtable.JRStringArray.0
mov qword [rbp + 8], rax
lea rcx, [rbp - 8]
call fcn.140001f60
nop
mov rax, qword [rbp - 8]
mov r10, qword [rax + 0x40]
lea r15, [fcn.140007f40]
xor r9d, r9d
lea r8, [rsp + 0x68]
lea rdx, str.DeviceName
lea rcx, [rbp - 8]
cmp r10, r15
jne 0x140029a00
call fcn.140007f40
jmp 0x140029a03
call r10
mov rax, qword [rbp - 8]
mov r10, qword [rax + 0x40]
xor r9d, r9d
lea r8, [rbp + 0x50]
lea rdx, str.DeviceUID
lea rcx, [rbp - 8]
cmp r10, r15
jne 0x140029a29
call fcn.140007f40
jmp 0x140029a2c
call r10
mov rax, qword [rbp - 8]
mov r9, qword [rax + 0x48]
lea rbx, [fcn.140007480]
mov r8d, dword [rsp + 0x5c]
lea rdx, str.ProductID
lea rcx, [rbp - 8]
cmp r9, rbx
jne 0x140029a57
call fcn.140007480
jmp 0x140029a5a
call r9
mov rax, qword [rbp - 8]
mov r9, qword [rax + 0x48]
mov r8d, dword [rbp + 0x36a8]
lea rdx, str.VendorID
lea rcx, [rbp - 8]
cmp r9, rbx
jne 0x140029a80
call fcn.140007480
jmp 0x140029a83
call r9
mov rax, qword [rbp - 8]
mov r10, qword [rax + 0x40]
xor r9d, r9d
lea r8, [rbp - 0x40]
lea rdx, str.FirmwareVersion
lea rcx, [rbp - 8]
cmp r10, r15
jne 0x140029aa9
call fcn.140007f40
jmp 0x140029aac
call r10
mov rax, qword [rbp - 8]
mov r10, qword [rax + 0x40]
xor r9d, r9d
lea r8, [rbp - 0x38]
lea rdx, str.USBSTOR
lea rcx, [rbp - 8]
cmp r10, r15
jne 0x140029ad2
call fcn.140007f40
jmp 0x140029ad5
call r10
mov r8d, edi
cmp dword [rbp + 0x36a8], 0x5ac
sete r8b
mov rax, qword [rbp - 8]
mov r9, qword [rax + 0x48]
lea rdx, str.IsIpod
lea rcx, [rbp - 8]
cmp r9, rbx
jne 0x140029b05
call fcn.140007480
jmp 0x140029b08
call r9
cmp dword [rbp + 0x36a8], 0x5ac
jne 0x140029c34
mov dword [rbp + 0x1080], edi
movaps xmm0, xmmword [rbp + 0x1080]
movdqa xmmword [rbp + 0x10e0], xmm0
mov dword [rbp + 0x1090], edi
movaps xmm1, xmmword [rbp + 0x1090]
movdqa xmmword [rbp + 0x10d0], xmm1
mov dword [rbp + 0x10a0], edi
movaps xmm0, xmmword [rbp + 0x10a0]
movdqa xmmword [rbp + 0x10c0], xmm0
mov dword [rbp + 0x1e0], 4
movsxd rax, dword [rsp + 0x5c]
mov qword [rbp + 0x1e8], rax
movaps xmm0, xmmword [rbp + 0x1e0]
movdqa xmmword [rbp + 0x10b0], xmm0
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp + 0x80], rax
lea rax, [rbp + 0x10b0]
mov qword [rbp + 0x410], rax
lea rax, [rbp + 0x10c0]
mov qword [rbp + 0x418], rax
lea rax, [rbp + 0x10d0]
mov qword [rbp + 0x420], rax
lea rax, [rbp + 0x10e0]
mov qword [rbp + 0x428], rax
lea r9, [rbp + 0x80]
mov r8d, 4
lea rdx, [rbp + 0x410]
lea rcx, str.pid__04x
call fcn.14005db80
nop
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x110]
call fcn.140007580
nop
mov rdx, qword [rbp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140029c34
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140029c2a
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140029c34
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x78]
cmp dword [rax - 0x10], 0
jne 0x140029e19
mov rax, qword [rbp - 0x30]
mov esi, dword [rax - 0x10]
lea r8d, [rsi - 1]
movsxd rcx, r8d
test r8d, r8d
js 0x140029c74
nop word [rax + rax]
mov rax, qword [rbp - 0x30]
cmp word [rax + rcx*2], 0x5c
je 0x140029c7a
dec r8d
sub rcx, 1
jns 0x140029c60
mov r8d, 0xffffffff
mov rax, qword [rbp - 0x38]
mov edi, dword [rax - 0x10]
lea edx, [rdi - 1]
movsxd rcx, edx
test edx, edx
js 0x140029ca3
nop dword [rax + rax]
cmp word [rax + rcx*2], 0x5c
je 0x140029d5a
dec edx
sub rcx, 1
jns 0x140029c90
test r8d, r8d
jle 0x140029e05
lea eax, [r8 + 1]
cmp eax, esi
cmovg eax, esi
xor edi, edi
mov ecx, edi
test eax, eax
cmovns ecx, eax
mov eax, esi
sub eax, ecx
cmp esi, eax
cmovg esi, eax
movsxd rcx, ecx
mov rax, qword [rbp - 0x30]
lea rbx, [rax + rcx*2]
call fcn.140008400
mov r10, qword [rax]
mov r8d, edi
test esi, esi
cmovns r8d, esi
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], dil
mov byte [rsp + 0x20], dil
lea r9d, [rdi - 1]
mov rdx, rbx
mov rcx, rax
call qword [r10 + 0x28]
mov rbx, rax
mov qword [rbp + 0x180], rax
mov esi, dword [rsp + 0x58]
or esi, 0x180
lea rdx, [rbp + 0x180]
lea rcx, [rsp + 0x78]
call fcn.1400333a0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140029d55
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140029d4b
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140029d55
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140029e19
test edx, edx
jle 0x140029ca3
lea ecx, [rdx + 1]
cmp ecx, edi
cmovg ecx, edi
xor edx, edx
test ecx, ecx
cmovns edx, ecx
mov ecx, edi
sub ecx, edx
cmp edi, ecx
cmovg edi, ecx
movsxd rcx, edx
lea rbx, [rax + rcx*2]
call fcn.140008400
mov r10, qword [rax]
xor r8d, r8d
test edi, edi
cmovns r8d, edi
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, 0xffffffff
mov rdx, rbx
mov rcx, rax
call qword [r10 + 0x28]
mov rbx, rax
mov qword [rbp + 0x178], rax
mov esi, dword [rsp + 0x58]
or esi, 0x30
lea rdx, [rbp + 0x178]
lea rcx, [rsp + 0x78]
call fcn.1400333a0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140029e03
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140029df9
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140029e03
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140029e17
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x78]
call fcn.1400333a0
mov esi, dword [rsp + 0x58]
xor edi, edi
mov rax, qword [rbp - 8]
mov r10, qword [rax + 0x40]
xor r9d, r9d
lea r8, [rsp + 0x78]
lea rdx, str.DeviceID
lea rcx, [rbp - 8]
cmp r10, r15
jne 0x140029e40
call fcn.140007f40
jmp 0x140029e43
call r10
mov rax, qword [rbp - 8]
mov r10, qword [rax + 0x10]
lea rax, [fcn.140008180]
xor r9d, r9d
lea r8, str.DeviceID
lea rdx, [rbp + 0x88]
lea rcx, [rbp - 8]
cmp r10, rax
jne 0x140029e73
call fcn.140008180
jmp 0x140029e76
call r10
or esi, 2
mov dword [rsp + 0x58], esi
lea r8, [rbp + 0x88]
mov rdx, qword [rbp + 0x3698]
call fcn.14002c970
mov rbx, rax
mov qword [rbp - 0x48], rax
mov rdx, qword [rbp + 0x88]
add rdx, 0xffffffffffffffe8
mov ecx, dword [rdx + 0x10]
cmp ecx, 0x7ffffc17
je 0x140029ece
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140029ec4
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140029ece
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea r15, [rbp - 8]
test rbx, rbx
cmovne r15, rbx
mov qword [rbp + 0x68], r15
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rsp + 0x50], rax
mov rcx, qword [0x14019a6b8]
test r14d, r14d
jne 0x14002a25e
test rcx, rcx
je 0x140029f33
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x140029f33
mov r10, qword [rax]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
lea r9, str.Calling_GetLocalInformation...
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
lea rdx, [rbp - 8]
call fcn.140027d70
lea rcx, [rbp + 0x1114]
movzx eax, word [rcx]
add rcx, 2
test ax, ax
jne 0x140029f43
lea rax, [rbp + 0x1114]
sub rcx, rax
sar rcx, 1
movsxd rax, ecx
mov dword [rbp + rax*2 + 0x1112], 0x5c
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x140029fa4
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x140029fa4
mov r10, qword [rax]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
lea r9, str.Getting_drive_letter_from_mount_points...
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
mov r8d, 0x104
lea rdx, [rbp + 0x1220]
lea rcx, [rbp + 0x1114]
call qword [r13 + 0x98]
test eax, eax
je 0x14002ba05
mov r14d, edi
mov dword [rsp + 0x60], edi
mov r12, rdi
mov qword [rbp - 0x18], rdi
mov rax, qword [rsp + 0x50]
cmp dword [rax - 0x10], 0
jne 0x14002ba05
lea rbx, [r13 + 0x16c]
nop dword [rax + rax]
cmp r14d, dword [r13 + 0x168]
jge 0x14002ba01
movsxd rax, r14d
imul rax, rax, 0x218
add rax, 0x16e
add rax, r13
lea r8, [rbp + 0x1220]
sub r8, rax
nop word [rax + rax]
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x14002a034
add rax, 2
test ecx, ecx
jne 0x14002a020
test edx, edx
jne 0x14002a234
mov dword [rbp + 0x10f0], edi
movaps xmm0, xmmword [rbp + 0x10f0]
movdqa xmmword [rbp + 0x710], xmm0
mov dword [rbp + 0x1100], edi
movaps xmm1, xmmword [rbp + 0x1100]
movdqa xmmword [rbp + 0x700], xmm1
mov dword [rbp + 0x6d0], edi
movaps xmm0, xmmword [rbp + 0x6d0]
movdqa xmmword [rbp + 0x6f0], xmm0
mov dword [rbp + 0x1f0], 4
movzx eax, word [rbx]
mov qword [rbp + 0x1f8], rax
movaps xmm0, xmmword [rbp + 0x1f0]
movdqa xmmword [rbp + 0x6e0], xmm0
lea rax, [rbp + 0x6e0]
mov qword [rbp + 0x430], rax
lea rax, [rbp + 0x6f0]
mov qword [rbp + 0x438], rax
lea rax, [rbp + 0x700]
mov qword [rbp + 0x440], rax
lea rax, [rbp + 0x710]
mov qword [rbp + 0x448], rax
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp + 0x90], rax
lea r9, [rbp + 0x90]
mov r8d, 4
lea rdx, [rbp + 0x430]
lea rcx, [0x14012fc48]
call fcn.14005db80
lea rdx, [rbp + 0x90]
lea rcx, [rsp + 0x50]
call fcn.1400333a0
nop
mov rdx, qword [rbp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002a153
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002a149
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002a153
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov dword [rbp + 0x720], edi
movaps xmm0, xmmword [rbp + 0x720]
movdqa xmmword [rbp + 0x780], xmm0
mov dword [rbp + 0x730], edi
movaps xmm1, xmmword [rbp + 0x730]
movdqa xmmword [rbp + 0x770], xmm1
mov dword [rbp + 0x740], edi
movaps xmm0, xmmword [rbp + 0x740]
movdqa xmmword [rbp + 0x760], xmm0
mov dword [rbp + 0x200], 3
lea rax, [rsp + 0x50]
mov qword [rbp + 0x208], rax
movaps xmm0, xmmword [rbp + 0x200]
movdqa xmmword [rbp + 0x750], xmm0
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x14002a234
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x14002a234
lea rcx, [rbp + 0x750]
mov qword [rbp + 0x450], rcx
lea rcx, [rbp + 0x760]
mov qword [rbp + 0x458], rcx
lea rcx, [rbp + 0x770]
mov qword [rbp + 0x460], rcx
lea rcx, [rbp + 0x780]
mov qword [rbp + 0x468], rcx
mov r10, qword [rax]
mov dword [rsp + 0x28], 4
lea rcx, [rbp + 0x450]
mov qword [rsp + 0x20], rcx
lea r9, str.Assigning_drive_letter__s
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
inc r14d
mov dword [rsp + 0x60], r14d
inc r12
mov qword [rbp - 0x18], r12
add rbx, 0x218
mov rax, qword [rsp + 0x50]
cmp dword [rax - 0x10], 0
je 0x140029ff0
jmp 0x14002ba01
test rcx, rcx
je 0x14002a291
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x14002a291
mov r10, qword [rax]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
lea r9, str.Getting_device_name...
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
mov dword [rbp + 0x78], edi
test rbx, rbx
je 0x14002a2cb
mov rax, qword [r15]
xor r9d, r9d
lea r8, str.DeviceName
lea rdx, [rbp + 0x100]
mov rcx, r15
call qword [rax + 0x10]
or esi, 0x41
mov dword [rsp + 0x58], esi
mov rax, qword [rbp + 0x100]
cmp dword [rax - 0x10], 0
je 0x14002a2d2
xor bl, bl
jmp 0x14002a2d4
mov rax, qword [rbp + 0x100]
mov bl, 1
test sil, 1
je 0x14002a310
and esi, 0xfffffffe
mov dword [rsp + 0x58], esi
lea rdx, [rax - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002a310
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002a306
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002a310
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
test bl, bl
je 0x14002a445
lea rax, [rbp - 0x28]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x208
lea rax, [rbp + 0x1430]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x78]
mov r8d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rdx, [rbp + 0x380]
mov rcx, qword [rbp + 0xf8]
call qword [r13 + 0x118]
test eax, eax
je 0x14002a445
call fcn.140008400
mov r10, qword [rax]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, 0xffffffff
mov r8d, r9d
lea rdx, [rbp + 0x1430]
mov rcx, rax
call qword [r10 + 0x28]
mov rbx, rax
mov qword [rbp + 0x188], rax
lea rdx, [rbp + 0x188]
lea rcx, [rsp + 0x68]
call fcn.1400333a0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002a3d5
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002a3cb
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002a3d5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rax, [0x140129d58]
mov qword [rbp + 0x190], rax
lea rax, str.USB_Device
mov qword [rbp + 0x198], rax
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rdi
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x20], 1
mov r9d, 1
lea r8, [rbp + 0x190]
lea rdx, [rbp + 0x198]
lea rcx, [rsp + 0x68]
call fcn.140033e10
lea rcx, [rsp + 0x68]
call fcn.140034d70
mov rax, qword [r15]
xor r9d, r9d
lea r8, [rsp + 0x68]
lea rdx, str.DeviceName
mov rcx, r15
call qword [rax + 0x40]
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x14002a47f
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x14002a47f
mov r10, qword [rax]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
lea r9, str.Getting_drive_letter_from_DevicePath...
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x2000000
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x20000
lea rcx, [rbp + 0x1114]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
xor esi, esi
mov dword [rbp + 0x790], esi
movaps xmm0, xmmword [rbp + 0x790]
movdqa xmmword [rbp + 0x7f0], xmm0
mov dword [rbp + 0x7a0], esi
movaps xmm1, xmmword [rbp + 0x7a0]
movdqa xmmword [rbp + 0x7e0], xmm1
mov dword [rbp + 0x7b0], esi
movaps xmm0, xmmword [rbp + 0x7b0]
movdqa xmmword [rbp + 0x7d0], xmm0
mov dword [rbp + 0x210], 4
mov qword [rbp + 0x218], rax
movaps xmm0, xmmword [rbp + 0x210]
movdqa xmmword [rbp + 0x7c0], xmm0
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x14002a58d
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x14002a58d
lea rcx, [rbp + 0x7c0]
mov qword [rbp + 0x470], rcx
lea rcx, [rbp + 0x7d0]
mov qword [rbp + 0x478], rcx
lea rcx, [rbp + 0x7e0]
mov qword [rbp + 0x480], rcx
lea rcx, [rbp + 0x7f0]
mov qword [rbp + 0x488], rcx
mov r10, qword [rax]
mov dword [rsp + 0x28], 4
lea rcx, [rbp + 0x470]
mov qword [rsp + 0x20], rcx
lea r9, [0x14012fcb0]
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
test rdi, rdi
je 0x14002a845
mov qword [rsp + 0x38], rsi
lea rax, [rbp - 0x28]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rax, [rbp + 0x3c0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x2d1080
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x14002a83c
mov r14d, esi
mov dword [rsp + 0x60], esi
mov r12, rsi
mov qword [rbp - 0x18], rsi
mov rax, qword [rsp + 0x50]
cmp dword [rax - 0x10], esi
jne 0x14002a83c
lea rbx, [r13 + 0x16c]
nop word [rax + rax]
cmp r14d, dword [r13 + 0x168]
jge 0x14002a833
mov eax, dword [rbp + 0x3c4]
cmp dword [rbx + 0x210], eax
jne 0x14002a817
mov dword [rbp + 0x800], esi
movaps xmm0, xmmword [rbp + 0x800]
movdqa xmmword [rbp + 0x860], xmm0
mov dword [rbp + 0x810], esi
movaps xmm1, xmmword [rbp + 0x810]
movdqa xmmword [rbp + 0x850], xmm1
mov dword [rbp + 0x820], esi
movaps xmm0, xmmword [rbp + 0x820]
movdqa xmmword [rbp + 0x840], xmm0
mov dword [rbp + 0x220], 4
movzx eax, word [rbx]
mov qword [rbp + 0x228], rax
movaps xmm0, xmmword [rbp + 0x220]
movdqa xmmword [rbp + 0x830], xmm0
lea rax, [rbp + 0x830]
mov qword [rbp + 0x490], rax
lea rax, [rbp + 0x840]
mov qword [rbp + 0x498], rax
lea rax, [rbp + 0x850]
mov qword [rbp + 0x4a0], rax
lea rax, [rbp + 0x860]
mov qword [rbp + 0x4a8], rax
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp + 0x98], rax
lea r9, [rbp + 0x98]
mov r8d, 4
lea rdx, [rbp + 0x490]
lea rcx, [0x14012fc48]
call fcn.14005db80
lea rdx, [rbp + 0x98]
lea rcx, [rsp + 0x50]
call fcn.1400333a0
nop
mov rdx, qword [rbp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002a736
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002a72c
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002a736
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov dword [rbp + 0x870], esi
movaps xmm0, xmmword [rbp + 0x870]
movdqa xmmword [rbp + 0x8d0], xmm0
mov dword [rbp + 0x880], esi
movaps xmm1, xmmword [rbp + 0x880]
movdqa xmmword [rbp + 0x8c0], xmm1
mov dword [rbp + 0x890], esi
movaps xmm0, xmmword [rbp + 0x890]
movdqa xmmword [rbp + 0x8b0], xmm0
mov dword [rbp + 0x230], 3
lea rax, [rsp + 0x50]
mov qword [rbp + 0x238], rax
movaps xmm0, xmmword [rbp + 0x230]
movdqa xmmword [rbp + 0x8a0], xmm0
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x14002a817
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x14002a817
lea rcx, [rbp + 0x8a0]
mov qword [rbp + 0x4b0], rcx
lea rcx, [rbp + 0x8b0]
mov qword [rbp + 0x4b8], rcx
lea rcx, [rbp + 0x8c0]
mov qword [rbp + 0x4c0], rcx
lea rcx, [rbp + 0x8d0]
mov qword [rbp + 0x4c8], rcx
mov r10, qword [rax]
mov dword [rsp + 0x28], 4
lea rcx, [rbp + 0x4b0]
mov qword [rsp + 0x20], rcx
lea r9, str.Assigning_drive_letter__s
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
inc r14d
inc r12
add rbx, 0x218
mov rax, qword [rsp + 0x50]
cmp dword [rax - 0x10], 0
je 0x14002a600
mov qword [rbp - 0x18], r12
mov dword [rsp + 0x60], r14d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rsp + 0x50]
cmp dword [rax - 0x10], 0
jne 0x14002b24b
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x14002a88e
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x14002a88e
mov r10, qword [rax]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
lea r9, str.Getting_drive_letter_from_SBP2_info...
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp + 0xb8], rax
mov dword [rbp + 0x8e0], esi
movaps xmm0, xmmword [rbp + 0x8e0]
movdqa xmmword [rbp + 0x940], xmm0
mov dword [rbp + 0x8f0], esi
movaps xmm1, xmmword [rbp + 0x8f0]
movdqa xmmword [rbp + 0x930], xmm1
mov dword [rbp + 0x900], esi
movaps xmm0, xmmword [rbp + 0x900]
movdqa xmmword [rbp + 0x920], xmm0
mov dword [rbp + 0x330], 3
lea rax, [rbp - 0x38]
mov qword [rbp + 0x338], rax
movaps xmm0, xmmword [rbp + 0x330]
movdqa xmmword [rbp + 0x910], xmm0
lea rax, [rbp + 0x910]
mov qword [rbp + 0x4d0], rax
lea rax, [rbp + 0x920]
mov qword [rbp + 0x4d8], rax
lea rax, [rbp + 0x930]
mov qword [rbp + 0x4e0], rax
lea rax, [rbp + 0x940]
mov qword [rbp + 0x4e8], rax
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp + 0xa0], rax
lea r9, [rbp + 0xa0]
mov r8d, 4
lea rdx, [rbp + 0x4d0]
lea rcx, str.SYSTEMCurrentControlSetEnum_s
call fcn.14005db80
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0xb8]
call fcn.1400333a0
nop
mov rdx, qword [rbp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002a9bd
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002a9b3
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002a9bd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rbx, qword [rbp + 0xb8]
mov rdx, rbx
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14002b21c
xor edx, edx
mov r8d, 0x2000
lea rcx, [rbp + 0x1640]
call fcn.1400e24f0
mov dword [rbp - 0x24], 0x2000
lea rax, [rbp - 0x24]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x1640]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.ParentIdPrefix
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp + 0x58], rax
call fcn.140008400
mov r10, qword [rax]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, 0xffffffff
mov r8d, r9d
lea rdx, [rbp + 0x1640]
mov rcx, rax
call qword [r10 + 0x28]
mov rbx, rax
mov qword [rbp + 0x1a0], rax
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x58]
call fcn.1400333a0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002aac9
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002aabf
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002aac9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov dword [rbp + 0x950], esi
movaps xmm0, xmmword [rbp + 0x950]
movdqa xmmword [rbp + 0x9b0], xmm0
mov dword [rbp + 0x960], esi
movaps xmm1, xmmword [rbp + 0x960]
movdqa xmmword [rbp + 0x9a0], xmm1
mov dword [rbp + 0x970], esi
movaps xmm0, xmmword [rbp + 0x970]
movdqa xmmword [rbp + 0x990], xmm0
mov dword [rbp + 0x240], 3
lea rax, [rbp + 0x58]
mov qword [rbp + 0x248], rax
movaps xmm0, xmmword [rbp + 0x240]
movdqa xmmword [rbp + 0x980], xmm0
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x14002aba9
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x14002aba9
lea rcx, [rbp + 0x980]
mov qword [rbp + 0x4f0], rcx
lea rcx, [rbp + 0x990]
mov qword [rbp + 0x4f8], rcx
lea rcx, [rbp + 0x9a0]
mov qword [rbp + 0x500], rcx
lea rcx, [rbp + 0x9b0]
mov qword [rbp + 0x508], rcx
mov r10, qword [rax]
mov dword [rsp + 0x28], 4
lea rcx, [rbp + 0x4f0]
mov qword [rsp + 0x20], rcx
lea r9, str.ParentIdPrefix:__s
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SYSTEMMountedDevices
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14002b1e2
mov r14d, esi
mov rax, qword [rsp + 0x50]
cmp dword [rax - 0x10], esi
jne 0x14002b1d7
nop dword [rax + rax]
cmp r14d, dword [r13 + 0x168]
jge 0x14002b1d3
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp + 0x70], rax
mov dword [rbp + 0x9c0], esi
movaps xmm0, xmmword [rbp + 0x9c0]
movdqa xmmword [rbp + 0xa20], xmm0
mov dword [rbp + 0x9d0], esi
movaps xmm1, xmmword [rbp + 0x9d0]
movdqa xmmword [rbp + 0xa10], xmm1
mov dword [rbp + 0x9e0], esi
movaps xmm0, xmmword [rbp + 0x9e0]
movdqa xmmword [rbp + 0xa00], xmm0
imul rsi, r12, 0x218
mov dword [rbp + 0x250], 4
movzx eax, word [rsi + r13 + 0x16c]
mov qword [rbp + 0x258], rax
movaps xmm0, xmmword [rbp + 0x250]
movdqa xmmword [rbp + 0x9f0], xmm0
lea rax, [rbp + 0x9f0]
mov qword [rbp + 0x510], rax
lea rax, [rbp + 0xa00]
mov qword [rbp + 0x518], rax
lea rax, [rbp + 0xa10]
mov qword [rbp + 0x520], rax
lea rax, [rbp + 0xa20]
mov qword [rbp + 0x528], rax
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp + 0xa8], rax
lea r9, [rbp + 0xa8]
mov r8d, 4
lea rdx, [rbp + 0x510]
lea rcx, str.DosDevices_c:
call fcn.14005db80
lea rdx, [rbp + 0xa8]
lea rcx, [rbp + 0x70]
call fcn.1400333a0
nop
mov rdx, qword [rbp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002ad32
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002ad28
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002ad32
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
xor edx, edx
mov r8d, 0x2000
lea rcx, [rbp + 0x1640]
call fcn.1400e24f0
mov dword [rbp - 0x24], 0x2000
lea rax, [rbp - 0x24]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x1640]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp + 0x38], rax
call fcn.140008400
mov r10, qword [rax]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, 0xffffffff
mov r8d, r9d
lea rdx, [rbp + 0x1640]
mov rcx, rax
call qword [r10 + 0x28]
mov rbx, rax
mov qword [rbp + 0x1b8], rax
lea rdx, [rbp + 0x1b8]
lea rcx, [rbp + 0x38]
call fcn.1400333a0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002ae00
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002adf6
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002ae00
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
xor r15d, r15d
mov dword [rbp + 0xa30], r15d
movaps xmm0, xmmword [rbp + 0xa30]
movdqa xmmword [rbp + 0xa80], xmm0
mov dword [rbp + 0xa40], r15d
movaps xmm1, xmmword [rbp + 0xa40]
movdqa xmmword [rbp + 0xa70], xmm1
mov dword [rbp + 0x260], 3
lea rax, [rbp + 0x38]
mov qword [rbp + 0x268], rax
movaps xmm0, xmmword [rbp + 0x260]
movdqa xmmword [rbp + 0xa60], xmm0
mov dword [rbp + 0x270], 3
lea rax, [rbp + 0x70]
mov qword [rbp + 0x278], rax
movaps xmm0, xmmword [rbp + 0x270]
movdqa xmmword [rbp + 0xa50], xmm0
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x14002aefb
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x14002aef4
lea rcx, [rbp + 0xa50]
mov qword [rbp + 0x530], rcx
lea rcx, [rbp + 0xa60]
mov qword [rbp + 0x538], rcx
lea rcx, [rbp + 0xa70]
mov qword [rbp + 0x540], rcx
lea rcx, [rbp + 0xa80]
mov qword [rbp + 0x548], rcx
mov r10, qword [rax]
mov dword [rsp + 0x28], 4
lea rcx, [rbp + 0x530]
mov qword [rsp + 0x20], rcx
lea r9, str.Checking__s____s
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
mov rcx, qword [0x14019a6b8]
mov rdi, qword [rbp + 0x58]
cmp dword [rdi - 0x10], r15d
jle 0x14002b156
mov rbx, qword [rbp + 0x38]
cmp dword [rbx - 0x10], r15d
jle 0x14002b15a
test rcx, rcx
je 0x14002b15a
mov rax, qword [rcx]
mov dl, 1
call qword [rax + 0x28]
test rax, rax
je 0x14002b156
mov r10, qword [rax]
mov r9d, 3
mov r8, rdi
mov rdx, rbx
mov rcx, rax
call qword [r10 + 0xc0]
test eax, eax
js 0x14002b156
mov dword [rbp + 0xa90], r15d
movaps xmm0, xmmword [rbp + 0xa90]
movdqa xmmword [rbp + 0xaf0], xmm0
mov dword [rbp + 0xaa0], r15d
movaps xmm1, xmmword [rbp + 0xaa0]
movdqa xmmword [rbp + 0xae0], xmm1
mov dword [rbp + 0xab0], r15d
movaps xmm0, xmmword [rbp + 0xab0]
movdqa xmmword [rbp + 0xad0], xmm0
mov dword [rbp + 0x280], 4
movzx eax, word [rsi + r13 + 0x16c]
mov qword [rbp + 0x288], rax
movaps xmm0, xmmword [rbp + 0x280]
movdqa xmmword [rbp + 0xac0], xmm0
lea rax, [rbp + 0xac0]
mov qword [rbp + 0x550], rax
lea rax, [rbp + 0xad0]
mov qword [rbp + 0x558], rax
lea rax, [rbp + 0xae0]
mov qword [rbp + 0x560], rax
lea rax, [rbp + 0xaf0]
mov qword [rbp + 0x568], rax
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp + 0xb0], rax
lea r9, [rbp + 0xb0]
mov r8d, 4
lea rdx, [rbp + 0x550]
lea rcx, [0x14012fc48]
call fcn.14005db80
lea rdx, [rbp + 0xb0]
lea rcx, [rsp + 0x50]
call fcn.1400333a0
nop
mov rdx, qword [rbp + 0xb0]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002b072
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002b068
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002b072
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov dword [rbp + 0xb00], r15d
movaps xmm0, xmmword [rbp + 0xb00]
movdqa xmmword [rbp + 0xb60], xmm0
mov dword [rbp + 0xb10], r15d
movaps xmm1, xmmword [rbp + 0xb10]
movdqa xmmword [rbp + 0xb50], xmm1
mov dword [rbp + 0xb20], r15d
movaps xmm0, xmmword [rbp + 0xb20]
movdqa xmmword [rbp + 0xb40], xmm0
mov dword [rbp + 0x290], 3
lea rax, [rsp + 0x50]
mov qword [rbp + 0x298], rax
movaps xmm0, xmmword [rbp + 0x290]
movdqa xmmword [rbp + 0xb30], xmm0
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x14002b156
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x14002b156
lea rcx, [rbp + 0xb30]
mov qword [rbp + 0x570], rcx
lea rcx, [rbp + 0xb40]
mov qword [rbp + 0x578], rcx
lea rcx, [rbp + 0xb50]
mov qword [rbp + 0x580], rcx
lea rcx, [rbp + 0xb60]
mov qword [rbp + 0x588], rcx
mov r10, qword [rax]
mov dword [rsp + 0x28], 4
lea rcx, [rbp + 0x570]
mov qword [rsp + 0x20], rcx
lea r9, str.Assigning_drive_letter__s
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
mov rbx, qword [rbp + 0x38]
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002b189
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002b17f
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002b189
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002b1bc
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002b1b2
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002b1bc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
inc r14d
mov rax, qword [rsp + 0x50]
cmp dword [rax - 0x10], 0
mov esi, 0
je 0x14002abf0
mov r15, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002b215
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002b20b
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002b215
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rbx, qword [rbp + 0xb8]
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002b24b
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002b241
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002b24b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x50]
cmp dword [rax - 0x10], 0
jne 0x14002b9ff
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x14002b298
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
xor edi, edi
test rax, rax
je 0x14002b29a
mov r10, qword [rax]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
lea r9, str.Getting_drive_letter_by_searching_for_matching_sysinfo...
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
jmp 0x14002b29a
xor edi, edi
mov r14d, edi
mov rax, qword [rsp + 0x50]
cmp dword [rax - 0x10], 0
jne 0x14002ba01
lea rsi, [r13 + 0x16c]
lea r12, [0x140129d58]
lea r15, str.FirewireGuid:
cmp r14d, dword [r13 + 0x168]
jge 0x14002b9f5
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp + 0x60], rax
mov dword [rbp + 0xb70], edi
movaps xmm0, xmmword [rbp + 0xb70]
movdqa xmmword [rbp + 0xbd0], xmm0
mov dword [rbp + 0xb80], edi
movaps xmm1, xmmword [rbp + 0xb80]
movdqa xmmword [rbp + 0xbc0], xmm1
mov dword [rbp + 0xb90], edi
movaps xmm0, xmmword [rbp + 0xb90]
movdqa xmmword [rbp + 0xbb0], xmm0
mov dword [rbp + 0x2a0], 4
movzx eax, word [rsi]
mov qword [rbp + 0x2a8], rax
movaps xmm0, xmmword [rbp + 0x2a0]
movdqa xmmword [rbp + 0xba0], xmm0
lea rax, [rbp + 0xba0]
mov qword [rbp + 0x590], rax
lea rax, [rbp + 0xbb0]
mov qword [rbp + 0x598], rax
lea rax, [rbp + 0xbc0]
mov qword [rbp + 0x5a0], rax
lea rax, [rbp + 0xbd0]
mov qword [rbp + 0x5a8], rax
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp + 0xc0], rax
lea r9, [rbp + 0xc0]
mov r8d, 4
lea rdx, [rbp + 0x590]
lea rcx, str._c:iPod_ControlDeviceSysInfo
call fcn.14005db80
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x60]
call fcn.1400333a0
nop
mov rdx, qword [rbp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002b3f6
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002b3ec
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002b3f6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov dword [rbp + 0xbe0], edi
movaps xmm0, xmmword [rbp + 0xbe0]
movdqa xmmword [rbp + 0xc40], xmm0
mov dword [rbp + 0xbf0], edi
movaps xmm1, xmmword [rbp + 0xbf0]
movdqa xmmword [rbp + 0xc30], xmm1
mov dword [rbp + 0xc00], edi
movaps xmm0, xmmword [rbp + 0xc00]
movdqa xmmword [rbp + 0xc20], xmm0
mov dword [rbp + 0x2b0], 3
lea rax, [rbp + 0x60]
mov qword [rbp + 0x2b8], rax
movaps xmm0, xmmword [rbp + 0x2b0]
movdqa xmmword [rbp + 0xc10], xmm0
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x14002b4d6
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x14002b4d6
lea rcx, [rbp + 0xc10]
mov qword [rbp + 0x5b0], rcx
lea rcx, [rbp + 0xc20]
mov qword [rbp + 0x5b8], rcx
lea rcx, [rbp + 0xc30]
mov qword [rbp + 0x5c0], rcx
lea rcx, [rbp + 0xc40]
mov qword [rbp + 0x5c8], rcx
mov r10, qword [rax]
mov dword [rsp + 0x28], 4
lea rcx, [rbp + 0x5b0]
mov qword [rsp + 0x20], rcx
lea r9, str.Checking_system_info_file__path:__s_
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xe8], xmm0
mov qword [rbp + 0xe0], rdi
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x140]
call fcn.1400080e0
nop
lea rax, vtable.JRPropertyMap.0
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x150], rdi
mov byte [rbp + 0x158], 1
xor edx, edx
lea rcx, [rbp + 0x140]
call fcn.140045f20
nop
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0xe0]
call fcn.14004be20
movzx ebx, al
lea rax, vtable.JRPropertyMap.0
mov qword [rbp + 0x148], rax
mov rcx, qword [rbp + 0x150]
test rcx, rcx
je 0x14002b566
mov r8, qword [rcx]
mov edx, 1
call qword [r8]
mov qword [rbp + 0x150], rdi
mov rdx, qword [rbp + 0x140]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002b59c
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002b592
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002b59c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
test bl, bl
je 0x14002b983
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x14002b5de
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x14002b5de
mov r10, qword [rax]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
lea r9, str.System_info_file_loaded..._parsing
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
mov rcx, r15
movzx eax, byte [rcx]
inc rcx
test al, al
jne 0x14002b5e1
sub ecx, r15d
dec ecx
movsxd r8, ecx
mov rdx, r15
lea rcx, [rbp + 0xe0]
call fcn.14004c0f0
cmp eax, 0xffffffff
je 0x14002b983
xor ecx, ecx
mov dword [rbp - 0x50], ecx
mov byte [rbp - 0x4c], cl
add eax, 0x13
movsxd rcx, eax
js 0x14002b650
lea rax, [rcx + 5]
cmp rax, qword [rbp + 0xe8]
jg 0x14002b650
mov rax, qword [rbp + 0xe0]
test rax, rax
je 0x14002b641
cmp rcx, qword [rbp + 0xf0]
lea rdx, [rax + rcx]
jl 0x14002b644
mov rdx, rdi
mov eax, dword [rdx]
mov dword [rbp - 0x50], eax
movzx eax, byte [rdx + 4]
mov byte [rbp - 0x4c], al
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp + 0x48], rax
lea rax, [rbp - 0x50]
mov ebx, edi
cmp byte [rax], 0
je 0x14002b677
inc ebx
inc rax
cmp ebx, 5
jl 0x14002b668
lea rcx, [rbp + 0x48]
test ebx, ebx
jle 0x14002b6f1
xor r9d, r9d
mov r8b, 1
mov edx, ebx
call fcn.140033580
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
mov r9d, ebx
lea r8, [rbp - 0x50]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rdx, eax
mov rcx, qword [rbp + 0x48]
cmp edx, 0xffffffff
jne 0x14002b6d6
test rcx, rcx
jne 0x14002b6bb
mov eax, edi
jmp 0x14002b6dc
mov rax, rcx
nop
movzx edx, word [rax]
add rax, 2
test dx, dx
jne 0x14002b6c0
sub rax, rcx
sar rax, 1
dec eax
jmp 0x14002b6dc
mov word [rcx + rdx*2], di
mov eax, edx
mov dword [rcx - 0x10], eax
mov eax, dword [rcx - 8]
cmp eax, 0xffffffff
jne 0x14002b6f6
mov eax, 1
xchg dword [rcx - 8], eax
jmp 0x14002b6f6
call fcn.1400336e0
mov rax, qword [rbp + 0x48]
mov rbx, r12
test rax, rax
cmovne rbx, rax
mov rdi, qword [rbp + 0x28]
cmp dword [rdi - 0x10], 0
jle 0x14002b94e
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x14002b94e
mov rax, qword [rcx]
mov dl, 1
call qword [rax + 0x28]
test rax, rax
je 0x14002b94e
mov r10, qword [rax]
mov r9d, 3
mov r8, rbx
mov rdx, rdi
mov rcx, rax
call qword [r10 + 0xc0]
xor edi, edi
test eax, eax
js 0x14002b950
mov dword [rbp + 0xc50], edi
movaps xmm0, xmmword [rbp + 0xc50]
movdqa xmmword [rbp + 0xcb0], xmm0
mov dword [rbp + 0xc60], edi
movaps xmm1, xmmword [rbp + 0xc60]
movdqa xmmword [rbp + 0xca0], xmm1
mov dword [rbp + 0xc70], edi
movaps xmm0, xmmword [rbp + 0xc70]
movdqa xmmword [rbp + 0xc90], xmm0
mov dword [rbp + 0x2c0], 4
movzx eax, word [rsi]
mov qword [rbp + 0x2c8], rax
movaps xmm0, xmmword [rbp + 0x2c0]
movdqa xmmword [rbp + 0xc80], xmm0
lea rax, [rbp + 0xc80]
mov qword [rbp + 0x5d0], rax
lea rax, [rbp + 0xc90]
mov qword [rbp + 0x5d8], rax
lea rax, [rbp + 0xca0]
mov qword [rbp + 0x5e0], rax
lea rax, [rbp + 0xcb0]
mov qword [rbp + 0x5e8], rax
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp + 0xc8], rax
lea r9, [rbp + 0xc8]
lea r8d, [rdi + 4]
lea rdx, [rbp + 0x5d0]
lea rcx, [0x14012fc48]
call fcn.14005db80
lea rdx, [rbp + 0xc8]
lea rcx, [rsp + 0x50]
call fcn.1400333a0
nop
mov rdx, qword [rbp + 0xc8]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002b86b
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002b861
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002b86b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov dword [rbp + 0xcc0], edi
movaps xmm0, xmmword [rbp + 0xcc0]
movdqa xmmword [rbp + 0xd20], xmm0
mov dword [rbp + 0xcd0], edi
movaps xmm1, xmmword [rbp + 0xcd0]
movdqa xmmword [rbp + 0xd10], xmm1
mov dword [rbp + 0xce0], edi
movaps xmm0, xmmword [rbp + 0xce0]
movdqa xmmword [rbp + 0xd00], xmm0
mov dword [rbp + 0x2d0], 3
lea rax, [rsp + 0x50]
mov qword [rbp + 0x2d8], rax
movaps xmm0, xmmword [rbp + 0x2d0]
movdqa xmmword [rbp + 0xcf0], xmm0
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x14002b950
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x14002b950
lea rcx, [rbp + 0xcf0]
mov qword [rbp + 0x5f0], rcx
lea rcx, [rbp + 0xd00]
mov qword [rbp + 0x5f8], rcx
lea rcx, [rbp + 0xd10]
mov qword [rbp + 0x600], rcx
lea rcx, [rbp + 0xd20]
mov qword [rbp + 0x608], rcx
mov r10, qword [rax]
mov dword [rsp + 0x28], 4
lea rcx, [rbp + 0x5f0]
mov qword [rsp + 0x20], rcx
lea r9, str.Assigning_drive_letter__s
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
jmp 0x14002b950
xor edi, edi
mov rdx, qword [rbp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002b983
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002b979
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002b983
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp + 0xe0]
test rcx, rcx
je 0x14002b99b
call fcn.1400df720
mov qword [rbp + 0xe0], rdi
mov qword [rbp + 0xf0], rdi
mov qword [rbp + 0xe8], rdi
mov rdx, qword [rbp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002b9dc
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002b9d2
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002b9dc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
inc r14d
add rsi, 0x218
mov rax, qword [rsp + 0x50]
cmp dword [rax - 0x10], 0
je 0x14002b2c1
mov r15, qword [rbp + 0x68]
mov r12, qword [rbp - 0x18]
jmp 0x14002ba01
xor edi, edi
mov rbx, qword [rbp - 0x48]
cmp dword [rbp + 0x36a8], 0x5ac
jne 0x14002bab3
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp + 0xd0], rax
lea rax, [rbp + 0x28]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xd0]
lea r8, [rbp + 0x108]
lea rdx, [rsp + 0x50]
call fcn.14002cb20
mov rax, qword [r15]
xor r9d, r9d
lea r8, [rbp + 0x28]
lea rdx, str.FireWireGUID
mov rcx, r15
call qword [rax + 0x40]
mov rax, qword [r15]
xor r9d, r9d
lea r8, [rbp + 0xd0]
lea rdx, str.SerialNumber
mov rcx, r15
call qword [rax + 0x40]
nop
mov rdx, qword [rbp + 0xd0]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002bab3
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002baa9
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002bab3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov dword [rbp + 0xd30], edi
movaps xmm0, xmmword [rbp + 0xd30]
movdqa xmmword [rbp + 0xf50], xmm0
mov dword [rbp + 0xd40], edi
movaps xmm1, xmmword [rbp + 0xd40]
movdqa xmmword [rbp + 0xf40], xmm1
mov dword [rbp + 0xd50], edi
movaps xmm0, xmmword [rbp + 0xd50]
movdqa xmmword [rbp + 0xf30], xmm0
mov dword [rbp + 0xd60], edi
movaps xmm1, xmmword [rbp + 0xd60]
movdqa xmmword [rbp + 0xf20], xmm1
mov dword [rbp + 0xd70], edi
movaps xmm0, xmmword [rbp + 0xd70]
movdqa xmmword [rbp + 0xf10], xmm0
mov dword [rbp + 0xd80], edi
movaps xmm1, xmmword [rbp + 0xd80]
movdqa xmmword [rbp + 0xf00], xmm1
mov dword [rbp + 0xd90], edi
movaps xmm0, xmmword [rbp + 0xd90]
movdqa xmmword [rbp + 0xef0], xmm0
mov dword [rbp + 0xda0], edi
movaps xmm1, xmmword [rbp + 0xda0]
movdqa xmmword [rbp + 0xee0], xmm1
mov dword [rbp + 0xdb0], edi
movaps xmm0, xmmword [rbp + 0xdb0]
movdqa xmmword [rbp + 0xed0], xmm0
mov dword [rbp + 0xdc0], edi
movaps xmm1, xmmword [rbp + 0xdc0]
movdqa xmmword [rbp + 0xec0], xmm1
mov dword [rbp + 0xdd0], edi
movaps xmm0, xmmword [rbp + 0xdd0]
movdqa xmmword [rbp + 0xeb0], xmm0
mov dword [rbp + 0xde0], edi
movaps xmm1, xmmword [rbp + 0xde0]
movdqa xmmword [rbp + 0xea0], xmm1
mov dword [rbp + 0xdf0], edi
movaps xmm0, xmmword [rbp + 0xdf0]
movdqa xmmword [rbp + 0xe90], xmm0
mov dword [rbp + 0xe00], edi
movaps xmm1, xmmword [rbp + 0xe00]
movdqa xmmword [rbp + 0xe80], xmm1
mov dword [rbp + 0xe10], edi
movaps xmm0, xmmword [rbp + 0xe10]
movdqa xmmword [rbp + 0xe70], xmm0
mov dword [rbp + 0x2e0], 4
mov rax, rdi
test rbx, rbx
sete al
mov qword [rbp + 0x2e8], rax
movaps xmm0, xmmword [rbp + 0x2e0]
movdqa xmmword [rbp + 0xe60], xmm0
mov dword [rbp + 0x2f0], 3
lea rax, [rsp + 0x50]
mov qword [rbp + 0x2f8], rax
movaps xmm0, xmmword [rbp + 0x2f0]
movdqa xmmword [rbp + 0xe50], xmm0
mov dword [rbp + 0x300], 3
lea rax, [rsp + 0x78]
mov qword [rbp + 0x308], rax
movaps xmm0, xmmword [rbp + 0x300]
movdqa xmmword [rbp + 0xe40], xmm0
mov dword [rbp + 0x310], 3
lea rax, [rsp + 0x70]
mov qword [rbp + 0x318], rax
movaps xmm0, xmmword [rbp + 0x310]
movdqa xmmword [rbp + 0xe30], xmm0
mov dword [rbp + 0x320], 3
lea rax, [rbp - 0x10]
mov qword [rbp + 0x328], rax
movaps xmm0, xmmword [rbp + 0x320]
movdqa xmmword [rbp + 0xe20], xmm0
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x14002be0e
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
mov rcx, rax
test rax, rax
je 0x14002be0e
lea rax, [rbp + 0xe20]
mov qword [rbp + 0x630], rax
lea rax, [rbp + 0xe30]
mov qword [rbp + 0x638], rax
lea rax, [rbp + 0xe40]
mov qword [rbp + 0x640], rax
lea rax, [rbp + 0xe50]
mov qword [rbp + 0x648], rax
lea rax, [rbp + 0xe60]
mov qword [rbp + 0x650], rax
lea rax, [rbp + 0xe70]
mov qword [rbp + 0x658], rax
lea rax, [rbp + 0xe80]
mov qword [rbp + 0x660], rax
lea rax, [rbp + 0xe90]
mov qword [rbp + 0x668], rax
lea rax, [rbp + 0xea0]
mov qword [rbp + 0x670], rax
lea rax, [rbp + 0xeb0]
mov qword [rbp + 0x678], rax
lea rax, [rbp + 0xec0]
mov qword [rbp + 0x680], rax
lea rax, [rbp + 0xed0]
mov qword [rbp + 0x688], rax
lea rax, [rbp + 0xee0]
mov qword [rbp + 0x690], rax
lea rax, [rbp + 0xef0]
mov qword [rbp + 0x698], rax
lea rax, [rbp + 0xf00]
mov qword [rbp + 0x6a0], rax
lea rax, [rbp + 0xf10]
mov qword [rbp + 0x6a8], rax
lea rax, [rbp + 0xf20]
mov qword [rbp + 0x6b0], rax
lea rax, [rbp + 0xf30]
mov qword [rbp + 0x6b8], rax
lea rax, [rbp + 0xf40]
mov qword [rbp + 0x6c0], rax
lea rax, [rbp + 0xf50]
mov qword [rbp + 0x6c8], rax
mov rax, qword [rcx]
mov dword [rsp + 0x28], 0x14
lea rdx, [rbp + 0x630]
mov qword [rsp + 0x20], rdx
lea r9, str.Found_device__vendor:__s__product:__s__device_id:__s__drive_letter:__s__add_new:__d_
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x50]
cmp dword [rax - 0x10], 0
jle 0x14002bf3c
lea r13, [r15 + 0x10]
mov qword [rbp + 0x1b0], r13
mov r14d, edi
movsxd r12, dword [r15 + 0x18]
test r12d, r12d
jle 0x14002bea3
mov r15, r12
mov r13, qword [rbp + 0x68]
lea r12, [0x140129d58]
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r13 + 0x28]
mov rcx, qword [rsp + 0x50]
mov rsi, qword [rax + rdi*8]
cmp rsi, rcx
je 0x14002be8e
mov rbx, r12
test rcx, rcx
cmovne rbx, rcx
call fcn.140008400
mov rcx, rax
mov r8, rbx
mov rdx, rsi
call fcn.140008570
test eax, eax
je 0x14002be8e
inc r14d
inc rdi
cmp rdi, r15
jl 0x14002be50
cmp r14d, r15d
mov r13, qword [rbp + 0x1b0]
mov rbx, qword [rbp - 0x48]
jge 0x14002bea3
test r14d, r14d
jns 0x14002beb0
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.140007580
xor edi, edi
mov r8d, edi
mov r13, qword [rbp + 0x3690]
movsxd rcx, dword [r13 + 0x168]
test ecx, ecx
jle 0x14002bf23
mov rax, qword [rsp + 0x50]
mov r9d, dword [rax - 0x10]
mov r10, rcx
lea rdx, [r13 + 0x16c]
nop word [rax + rax]
test r9d, r9d
jle 0x14002beea
movzx ecx, word [rax]
jmp 0x14002beec
mov ecx, edi
cmp cx, word [rdx]
je 0x14002bf02
inc r8
add rdx, 0x218
cmp r8, r10
jl 0x14002bee0
jmp 0x14002bf23
imul rax, r8, 0x218
mov rcx, qword [rbp + 0x68]
mov r9, qword [rcx]
mov r8d, dword [rax + r13 + 0x37c]
lea rdx, str.PhysicalDriveNumber
call qword [r9 + 0x48]
test rbx, rbx
jne 0x14002bf38
lea rdx, [rbp - 8]
mov rcx, qword [rbp + 0x3698]
call fcn.140005910
mov r12, qword [rbp - 0x18]
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002bf70
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002bf66
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002bf70
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rax, vtable.JRCoreArray_class_JRString__class_JRString_const____ptr64__0_.0
mov qword [rbp + 8], rax
lea rcx, [rbp + 8]
call fcn.1400076b0
nop
lea rax, vtable.JRPropertyMap.0
mov qword [rbp - 8], rax
mov rcx, qword [rbp]
test rcx, rcx
je 0x14002bfa7
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rbp], rdi
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002bfda
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002bfd0
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002bfda
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002c00d
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002c003
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002c00d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002c040
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002c036
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002c040
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002c074
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002c06a
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002c074
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002c0a7
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002c09d
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002c0a7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002c0db
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002c0d1
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002c0db
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002c10f
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002c105
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002c10f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov r15d, dword [rbp + 0x30]
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002c146
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002c13c
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002c146
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002c179
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002c16f
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002c179
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x108]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14002c1af
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14002c1a5
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002c1af
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
inc r15d
mov dword [rbp + 0x30], r15d
mov r14d, dword [rsp + 0x60]
mov esi, dword [rsp + 0x58]
mov rbx, qword [rbp + 0xf8]
xor edi, edi
jmp 0x140028f50
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x14002c207
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
test rax, rax
je 0x14002c207
mov r10, qword [rax]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
lea r9, str.Device_interface_invalid
mov r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
mov rcx, rax
call qword [r10 + 0x10]
mov rcx, rbx
call qword [r13 + 0xf8]
mov edi, dword [rbp - 0x20]
xor r15d, r15d
mov rcx, qword [0x14019a6b8]
inc edi
mov dword [rbp - 0x20], edi
cmp edi, dword [rbp + 0xdc]
jl 0x140028e00
mov bl, 1
lea r12, vtable.JRCoreArray_class_JRString__class_JRString_const____ptr64__0_.0
mov qword [rbp + 0x110], r12
lea rcx, [rbp + 0x110]
call fcn.1400076b0
nop
lea rcx, [rbp - 0x80]
call fcn.14003f2b0
movzx eax, bl
add rsp, 0x3748
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret