Function at 0x1400045a0
Capabilities:
Get storage device properties

Disassembly:
push rdi
mov eax, 0x28e0
call fcn.1400b09c0
sub rsp, rax
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rsp + 0x2900], rbx
mov qword [rsp + 0x2908], rsi
mov rax, qword [0x14014ee68]
xor rax, rsp
mov qword [rsp + 0x28d0], rax
mov rdi, rdx
mov ebx, ecx
mov rdx, qword [0x14014c7e0]
lea rcx, [rsp + 0x88]
call fcn.14008c260
nop
mov rcx, rax
call fcn.14008c1e0
mov rdx, rax
mov r8d, ebx
lea rcx, [rsp + 0xc0]
call fcn.14001f8e0
nop
lea rcx, [rsp + 0x88]
call fcn.14008c220
xor esi, esi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor edx, edx
lea r8d, [rsi + 3]
lea rcx, [rsp + 0xc0]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140004867
mov dword [rsp + 0x40], esi
mov qword [rsp + 0xa8], send
mov qword [rsp + 0xa0], rsi
mov byte [rsp + 0x90], sil
mov qword [rsp + 0x80], send
mov qword [rsp + 0x78], rsi
mov byte [rsp + 0x68], sil
xor eax, eax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x54], esi
xor edx, edx
mov r8d, 0x2710
lea rcx, [rsp + 0x1c0]
call fcn.14001ed20
mov qword [rsp + 0x38], rsi
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x2710
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x20], rax
lea r9d, [rsi + 0xc]
lea r8, [rsp + 0x50]
mov edx, 0x2d1400
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x14000479e
mov eax, dword [rsp + 0x1cc]
test eax, eax
je 0x14000471b
cmp eax, dword [rsp + 0x40]
ja 0x14000471b
lea rdx, [rsp + rax + 0x1c0]
lea rcx, [rdi + 4]
lea r8d, [rsi + 0x63]
call fcn.14001fab0
mov eax, dword [rsp + 0x1d0]
test eax, eax
je 0x140004743
cmp eax, dword [rsp + 0x40]
ja 0x140004743
lea rdx, [rsp + rax + 0x1c0]
lea rcx, [rdi + 0x68]
mov r8d, 0x63
call fcn.14001fab0
mov eax, dword [rsp + 0x1d4]
test eax, eax
je 0x14000476e
cmp eax, dword [rsp + 0x40]
ja 0x14000476e
lea rdx, [rsp + rax + 0x1c0]
lea rcx, [rdi + 0x130]
mov r8d, 0x63
call fcn.14001fab0
mov eax, dword [rsp + 0x1d8]
test eax, eax
je 0x14000479e
cmp eax, 0xffffffff
je 0x14000479e
cmp eax, dword [rsp + 0x40]
ja 0x14000479e
lea rdx, [rsp + rax + 0x1c0]
lea rcx, [rdi + 0xcc]
mov r8d, 0x63
call fcn.14001fab0
cmp qword [rsp + 0xa0], rsi
jne 0x140004813
xor edx, edx
mov r8d, 0x2710
lea rcx, [rsp + 0x1c0]
call fcn.14001ed20
mov qword [rsp + 0x38], rsi
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x2710
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x2d0c10
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x140004813
lea rcx, [rdi + 0xcc]
mov r8d, 0x63
lea rdx, [rsp + 0x1d0]
call fcn.14001fab0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rsp + 0x80], 0x10
jb 0x140004831
mov rcx, qword [rsp + 0x68]
call fcn.14000fdf8
mov qword [rsp + 0x80], send
mov qword [rsp + 0x78], rsi
mov byte [rsp + 0x68], sil
cmp qword [rsp + 0xa8], 0x10
jb 0x140004863
mov rcx, qword [rsp + 0x90]
call fcn.14000fdf8
mov eax, esi
jmp 0x14000486c
mov eax, esi
jmp 0x14000486c
mov eax, reloc.WS2_32.dll_inet_addr
mov rcx, qword [rsp + 0x28d0]
xor rcx, rsp
call fcn.14001e7c0
lea r11, [rsp + 0x28e0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret