Function at 0x140122525
Capabilities:
Get disk information

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2a8
movaps xmmword [rsp + 0x290], xmm6
mov rbx, rdx
mov rdi, rcx
mov rax, qword [0x1401c6028]
xor rax, rsp
mov qword [rsp + 0x288], rax
lea rsi, [rsp + 0x70]
mov rcx, rsi
call fcn.1400279c4
mov rcx, rsi
call fcn.140121d0c
mov ebp, eax
cmp byte [rsi + 0x17], 0
jns 0x140122577
mov rcx, qword [rsp + 0x70]
call fcn.140150da4
mov sil, 1
test bpl, bpl
jne 0x140122820
movaps xmm6, xmmword [0x1401990c0]
lea rsi, [rsp + 0x50]
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
mov rcx, rsi
mov rdx, rdi
call fcn.14012201d
cmp byte [rsi + 0x18], 0
je 0x1401225e6
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x30]
mov qword [rdi + 0x10], rax
movaps xmmword [rdi], xmm6
mov rcx, rdi
mov rdx, rbx
call fcn.1400279c4
movzx r9d, byte [rdi + 0x17]
test r9b, r9b
js 0x1401225ed
test r9, r9
je 0x14012288b
cmp word [rsp + r9*2 + 0x2e], 0x5c
je 0x140122609
jmp 0x140122661
xor esi, esi
jmp 0x140122820
mov r9, qword [rsp + 0x38]
test r9, r9
je 0x14012288b
mov rax, qword [rsp + 0x30]
cmp word [rax + r9*2 - 2], 0x5c
jne 0x14012265c
dec r9
lea rax, [rsp + 0x280]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x70]
lea rdi, [rsp + 0x30]
mov rdx, rdi
xor r8d, r8d
call fcn.1400511b6
cmp byte [rdi + 0x17], 0
jns 0x14012263e
mov rcx, qword [rsp + 0x30]
call fcn.140150da4
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x40], rax
movups xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x30], xmm0
cmp byte [rsp + 0x47], 0
jns 0x140122661
mov rdi, qword [rsp + 0x30]
cmp byte [rsp + 0x67], 0
jns 0x14012266d
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
mov rdx, rdi
call fcn.14016d15c
test eax, eax
je 0x140122705
lea rsi, [rsp + 0x30]
mov rcx, rsi
mov rdx, rsi
call fcn.140122367
mov ebx, eax
mov rcx, rsi
call fcn.140122422
test al, al
jne 0x14012270d
test bl, bl
je 0x14012270d
xorps xmm0, xmm0
movaps xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x80], 0
cmp byte [rsp + 0x68], 0
je 0x14012288e
lea rcx, [rsp + 0x50]
lea rdi, [rsp + 0x70]
mov rdx, rdi
call fcn.14012246a
test al, al
je 0x140122744
cmp byte [rsp + 0x47], 0
jns 0x1401226e3
mov rsi, qword [rsp + 0x30]
cmp byte [rsp + 0x87], 0
jns 0x1401226f2
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
mov rdx, rsi
call fcn.14016d15c
test eax, eax
sete sil
jmp 0x140122746
mov sil, 1
jmp 0x1401227f7
test al, al
je 0x1401227f5
mov qword [rsp + 0x280], 0
lea rsi, [rsp + 0x70]
mov r8d, 0x208
mov rcx, rsi
mov dl, 0xaa
call fcn.1401543c0
cmp byte [rsp + 0x47], 0
jns 0x140122763
mov rax, qword [rsp + 0x30]
jmp 0x140122768
xor esi, esi
cmp byte [rsp + 0x87], 0
jns 0x1401227f7
mov rcx, qword [rsp + 0x70]
call fcn.140150da4
jmp 0x1401227f7
lea rax, [rsp + 0x30]
mov eax, dword [rax]
lea rcx, [rsp + 0x280]
mov dword [rcx], eax
mov rdx, rsi
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
xor esi, esi
cmp eax, 2
jb 0x1401227f7
cmp eax, 0x104
je 0x1401227f7
lea rcx, [rsp + 0x70]
call fcn.140171c94
cmp byte [rsp + 0x68], 0
je 0x140122891
mov esi, eax
movzx eax, byte [rsp + 0x47]
test al, al
jns 0x1401227b6
mov rax, qword [rsp + 0x38]
lea rcx, [rsi + rax]
add rcx, 0xfffffffffffffffe
movzx eax, byte [rsp + 0x67]
mov rdx, rax
test al, al
jns 0x1401227cf
mov rdx, qword [rsp + 0x58]
cmp rcx, rdx
jne 0x1401227f5
test al, al
jns 0x1401227df
mov rcx, qword [rsp + 0x50]
jmp 0x1401227e4
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x70]
mov r8, rsi
call fcn.14016d318
test eax, eax
je 0x140122846
xor esi, esi
cmp byte [rsp + 0x47], 0
jns 0x140122808
mov rcx, qword [rsp + 0x30]
call fcn.140150da4
cmp byte [rsp + 0x68], 0
je 0x140122820
cmp byte [rsp + 0x67], 0
jns 0x140122820
mov rcx, qword [rsp + 0x50]
call fcn.140150da4
mov rcx, qword [rsp + 0x288]
xor rcx, rsp
call fcn.140152280
mov eax, esi
movaps xmm6, xmmword [rsp + 0x290]
add rsp, 0x2a8
pop rbx
pop rbp
pop rdi
pop rsi
ret
cmp byte [rsp + 0x68], 0
je 0x140122894
cmp byte [rsp + 0x47], 0
jns 0x14012285b
mov rdx, qword [rsp + 0x30]
jmp 0x140122860
lea rdx, [rsp + 0x30]
add rdx, 4
cmp byte [rsp + 0x67], 0
jns 0x140122872
mov rax, qword [rsp + 0x50]
jmp 0x140122877
lea rax, [rsp + 0x50]
lea rcx, [rax + rsi*2]
call fcn.14016d15c
test eax, eax
sete sil
jmp 0x1401227f7
int3
int3
int3
int3