Function at 0x7ff74b31c34
Capabilities:
Get disk information

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x270
mov rax, qword [0x7ff74b58340]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov rsi, r9
mov rbp, r8
mov rdi, rdx
mov dword [rsp + 0x30], 0x220
cmp rcx, 3
jbe 0x7ff74b31ef3
cmp word [rdx + 2], 0x3a
jne 0x7ff74b31ef3
mov r11d, 0x5c
cmp word [rdx + 4], r11w
jne 0x7ff74b31ef3
xor r12d, r12d
lea rdx, [rsp + 0x38]
mov r10, rdi
lea ecx, [r11 - 0x58]
lea rax, [rsp + 0x38]
sub r10, rdx
mov r9d, r12d
lea rdx, [rcx - 1]
cmp rdx, r12
je 0x7ff74b31cc9
movzx r8d, word [r10 + rax]
cmp r8w, r12w
je 0x7ff74b31cc9
mov word [rax], r8w
add rax, 2
mov rcx, rdx
cmp rdx, r12
jne 0x7ff74b31ca5
cmp rcx, r12
jne 0x7ff74b31cd8
sub rax, 2
mov r9d, 0x8007007a
cmp r9d, r12d
mov word [rax], r12w
jge 0x7ff74b31ceb
mov eax, 0x80080004
jmp 0x7ff74b31ef8
xor ecx, ecx
mov word [rsp + 0x3c], r11w
mov word [rsp + 0x3e], r12w
call qword [sym.imp.RPCRT4.dll_RpcImpersonateClient]
cmp eax, r12d
je 0x7ff74b31d4e
mov ebx, 0x80080003
cmp dword [0x7ff74b582c8], r12d
je 0x7ff74b31d47
mov rcx, qword [0x7ff74b58350]
lea rax, [0x7ff74b58350]
cmp rcx, rax
je 0x7ff74b31d47
test byte [rcx + 0x1c], 1
je 0x7ff74b31d47
mov edx, 0x14
mov rcx, qword [rcx + 0x10]
lea r8, [0x7ff74b51840]
mov r9, rdi
mov dword [rsp + 0x20], ebx
call fcn.7ff74b298f0
mov eax, ebx
jmp 0x7ff74b31ef8
lea rcx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
mov ebx, eax
call qword [sym.imp.RPCRT4.dll_RpcRevertToSelf]
cmp ebx, 2
jbe 0x7ff74b31d83
cmp ebx, 3
je 0x7ff74b31e94
cmp ebx, 4
je 0x7ff74b31dd6
jbe 0x7ff74b31ef6
cmp ebx, 6
ja 0x7ff74b31ef6
cmp dword [0x7ff74b582c8], r12d
je 0x7ff74b31ce1
mov rcx, qword [0x7ff74b58350]
lea rax, [0x7ff74b58350]
cmp rcx, rax
je 0x7ff74b31ce1
test byte [rcx + 0x1c], 1
je 0x7ff74b31ce1
mov edx, 0x15
mov dword [rsp + 0x20], 0x80080004
mov rcx, qword [rcx + 0x10]
lea r8, [0x7ff74b51840]
mov r9, rdi
call fcn.7ff74b298f0
jmp 0x7ff74b31ce1
xor ecx, ecx
call qword [sym.imp.RPCRT4.dll_RpcImpersonateClient]
cmp eax, r12d
je 0x7ff74b31e20
mov ebx, 0x80080003
cmp dword [0x7ff74b582c8], r12d
je 0x7ff74b31d47
mov rcx, qword [0x7ff74b58350]
lea rax, [0x7ff74b58350]
cmp rcx, rax
je 0x7ff74b31d47
test byte [rcx + 0x1c], 1
je 0x7ff74b31d47
mov edx, 0x16
jmp 0x7ff74b31d30
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x40]
mov edx, 1
mov rcx, rdi
call fcn.7ff74b46ac8
mov ebx, eax
call qword [sym.imp.RPCRT4.dll_RpcRevertToSelf]
cmp ebx, r12d
je 0x7ff74b31e80
cmp dword [0x7ff74b582c8], r12d
je 0x7ff74b31ce1
mov rcx, qword [0x7ff74b58350]
lea rax, [0x7ff74b58350]
cmp rcx, rax
je 0x7ff74b31ce1
test byte [rcx + 0x1c], 1
je 0x7ff74b31ce1
mov edx, 0x17
mov dword [rsp + 0x20], ebx
jmp 0x7ff74b31dbe
mov r8, qword [rsp + 0x40]
mov edx, 0x105
mov rcx, rbp
call fcn.7ff74af051c
jmp 0x7ff74b31ee5
mov r9, qword [0x7ff74b58908]
cmp r9, r12
jne 0x7ff74b31ebf
lea rcx, [0x7ff74b58900]
call fcn.7ff74b32a58
mov r9, qword [0x7ff74b58908]
cmp r9, r12
jne 0x7ff74b31ebf
mov eax, 0x8007000e
jmp 0x7ff74b31ef8
movzx ecx, word [rsp + 0x38]
lea rax, [rdi + 6]
lea r8, str._Ls_Lc__Ls
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov edx, 0x105
mov rcx, rbp
call fcn.7ff74b043e4
cmp eax, r12d
jl 0x7ff74b31ce1
mov qword [rsi], rbp
jmp 0x7ff74b31ef6
mov qword [r9], rdx
xor eax, eax
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.7ff74ae3090
add rsp, 0x270
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret