Function at 0x1400079d0
Capabilities:
Get disk information

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x310
mov rax, qword [0x140193440]
xor rax, rsp
mov qword [rsp + 0x300], rax
mov eax, dword [0x1401568f8]
mov r14, r8
movsd xmm0, qword [str.:_autorun.inf]
mov rsi, rdx
mov dword [rsp + 0x60], eax
mov ebx, ecx
movzx eax, word [0x1401568fc]
xor r12d, r12d
mov word [rsp + 0x64], ax
xor edx, edx
movzx eax, byte [0x1401568fe]
mov r8d, 0x20a
mov dword [rsp + 0x44], ecx
mov r15d, r9d
lea rcx, [rsp + 0xf0]
mov byte [rsp + 0x66], al
mov dword [rsp + 0x40], 0x5c3a23
mov edi, r12d
movsd qword [rsp + 0x58], xmm0
call fcn.140136960
lea r13, str.NO_LABEL
xor r8d, r8d
mov rdx, rsi
mov qword [r14], r13
mov ecx, ebx
call fcn.1400070a0
test eax, eax
je 0x140007d93
movzx eax, byte [rsi]
mov ecx, ebx
test al, al
jne 0x140007b6a
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call fcn.140005a00
mov rbx, rax
test rax, rax
jne 0x140007aa5
lea rcx, str.No_logical_drive_found__unpartitioned__
call fcn.14004f910
jmp 0x140007ac0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.140005570
mov rcx, rbx
mov rdi, rax
call fcn.1400e9080
mov dword [rsp + 0x38], 0x40
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x50]
lea rax, [rsp + 0x48]
mov r8d, 0x40
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0xf0]
lea rax, [rsp + 0x4c]
mov rcx, rdi
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationByHandleW]
test eax, eax
je 0x140007b4e
mov qword [rsp + 0x38], r12
lea rsi, [0x1401d05a0]
mov qword [rsp + 0x30], r12
lea r8, [rsp + 0xf0]
mov dword [rsp + 0x28], 0x105
mov r9, 0xffffffffffffffff
xor edx, edx
mov qword [rsp + 0x20], rsi
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp byte [0x1401d05a0], r12b
cmovne r13, rsi
mov qword [r14], r13
lea rax, [rdi - 1]
cmp rax, 0xfffffffffffffffd
ja 0x140007d8e
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140007d8e
mov qword [rsp + 0x368], rbp
mov byte [rsp + 0x58], al
mov byte [rsp + 0x40], al
call fcn.140005900
mov r9d, 1
xor r8d, r8d
xor edx, edx
mov rcx, rax
mov rbx, rax
call fcn.140005570
mov rcx, rbx
mov rbp, rax
call fcn.1400e9080
mov qword [rsp + 0x38], r12
xor r9d, r9d
mov qword [rsp + 0x30], r12
xor r8d, r8d
mov dword [rsp + 0x28], r12d
mov edx, 0x2d4800
mov rcx, rbp
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x140007be8
mov r8d, 1
lea rdx, [rsp + 0x58]
lea rcx, str.label
call fcn.140026d90
mov rdi, rax
jmp 0x140007c0e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x15
jne 0x140007c0e
test r15d, r15d
jne 0x140007c0e
movsx ecx, byte [rsi]
call fcn.1400fc9f0
mov edx, eax
lea rcx, str.Ignoring_autorun.inf_label_for_drive__c:_No_media
call fcn.14004f910
lea rax, [rbp - 1]
cmp rax, 0xfffffffffffffffd
ja 0x140007c21
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rdi, rdi
je 0x140007c95
test r15d, r15d
jne 0x140007c44
movsx ecx, byte [rsi]
call fcn.1400fc9f0
mov edx, eax
lea rcx, str.Using_autorun.inf_label_for_drive__c:__s
mov r8, rdi
call fcn.14004f910
mov r9, 0xffffffffffffffff
nop dword [rax + rax]
cmp byte [rdi + r9 + 1], r12b
lea r9, [r9 + 1]
jne 0x140007c50
lea rax, [r9 + 1]
mov ebx, 0x105
cmp rax, rbx
lea rsi, [0x1401d05a0]
mov rdx, rdi
mov rcx, rsi
cmovb rbx, rax
mov r8, rbx
call fcn.1401362c0
mov rcx, rdi
mov byte [rbx + rsi - 1], r12b
call fcn.1400e9080
mov qword [r14], rsi
jmp 0x140007d86
lea rcx, [rsp + 0x40]
call fcn.140004b20
mov ebx, 0x105
mov edx, 2
mov ecx, ebx
mov rbp, rax
call fcn.1400c537c
mov dword [rsp + 0x38], r12d
xor r9d, r9d
mov qword [rsp + 0x30], r12
mov r8d, ebx
mov qword [rsp + 0x28], r12
mov rdx, rax
mov rcx, rbp
mov qword [rsp + 0x20], r12
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
mov r15d, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rsi, [0x1401d05a0]
mov r12d, eax
test r15d, r15d
je 0x140007d2d
xor eax, eax
mov r8, rdi
mov qword [rsp + 0x38], rax
xor edx, edx
mov qword [rsp + 0x30], rax
mov ecx, 0xfde9
mov dword [rsp + 0x28], ebx
lea r9, [rax - 1]
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jne 0x140007d2d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
xor r15d, r15d
test rdi, rdi
je 0x140007d3a
mov rcx, rdi
call fcn.1400e9080
test rbp, rbp
je 0x140007d47
mov rcx, rbp
call fcn.1400e9080
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_SetLastError]
test r15d, r15d
je 0x140007d62
cmp byte [0x1401d05a0], 0
jne 0x140007c8d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [rsp + 0x44]
mov ebx, eax
call fcn.140014c80
mov qword [r14], rax
test rax, rax
jne 0x140007d86
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov qword [r14], r13
mov rbp, qword [rsp + 0x368]
mov eax, 1
mov rcx, qword [rsp + 0x300]
xor rcx, rsp
call fcn.1400b1f80
add rsp, 0x310
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret