Function at 0x140056760
Capabilities:
Get disk information

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1d0]
sub rsp, 0x2d0
mov qword [rbp - 0x80], 0xfffffffffffffffe
mov qword [rsp + 0x320], rbx
mov rax, qword [0x140325af8]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
mov qword [rsp + 0x78], rdx
mov r12, rcx
xor edi, edi
mov r14d, edi
mov dword [rsp + 0x50], edi
mov r15d, edi
mov word [rbp - 0x50], di
lea rdx, [rbp - 0x50]
mov ecx, 0x103
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
test eax, eax
je 0x140056cb8
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], di
mov rdx, qword [r12 + 0x10]
test rdx, rdx
jne 0x1400567f0
mov qword [rbp - 0x68], rdx
mov word [rbp + rdx*2 - 0x78], di
jmp 0x140056826
cmp rdx, 7
ja 0x140056815
mov qword [rbp - 0x68], rdx
test rdx, rdx
je 0x14005680e
movzx eax, di
lea rdi, [rbp - 0x78]
mov rcx, rdx
rep stosw word [rdi], ax
xor edi, edi
mov word [rbp + rdx*2 - 0x78], di
jmp 0x140056826
mov word [rsp + 0x20], di
mov r9, rdx
lea rcx, [rbp - 0x78]
call fcn.14000d970
mov eax, dword [0x1402e103c]
mov dword [rbp - 0x58], eax
movzx eax, word [0x1402e1040]
mov word [rbp - 0x54], ax
lea rsi, [rbp - 0x50]
movzx eax, word [rbp - 0x50]
mov r13, 0xffffffffffffffff
nop dword [rax]
mov word [rbp - 0x58], ax
lea rdx, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae rdx, qword [rbp - 0x78]
mov r8d, dword [rbp - 0x68]
lea rcx, [rbp - 0x58]
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
test eax, eax
je 0x140056ab1
lea rax, [rbp - 0x78]
mov rcx, qword [rbp - 0x78]
mov rdi, qword [rbp - 0x60]
cmp rdi, 8
cmovae rax, rcx
mov rbx, r13
nop
inc rbx
cmp word [rax + rbx*2], 0
jne 0x140056890
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], ax
mov rdx, rbx
mov rax, qword [rbp - 0x68]
cmp rax, rbx
cmovb rdx, rax
lea r9, [rbp - 0x78]
cmp rdi, 8
cmovae r9, rcx
lea rcx, [rsp + 0x30]
cmp rdx, 7
ja 0x1400568f3
mov qword [rsp + 0x40], rdx
lea rdi, [rdx + rdx]
mov r8, rdi
mov rdx, r9
call fcn.1401db870
xor r10d, r10d
mov word [rsp + rdi + 0x30], r10w
jmp 0x1400568f8
call fcn.14000c3b0
or r14d, 4
lea rcx, [rbp - 0x78]
call fcn.14000cdc0
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp - 0x78], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp - 0x68], xmm1
cmp qword [r12 + 0x10], rbx
jbe 0x140056ab1
xor r15d, r15d
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], r15w
mov r9, r12
cmp qword [r12 + 0x18], 8
jb 0x140056948
mov r9, qword [r12]
lea rcx, [rsp + 0x30]
cmp rbx, 7
ja 0x14005696f
mov qword [rsp + 0x40], rbx
lea rdi, [rbx + rbx]
mov r8, rdi
mov rdx, r9
call fcn.1401db870
mov word [rsp + rdi + 0x30], r15w
jmp 0x140056978
mov rdx, rbx
call fcn.14000c3b0
nop
or r14d, 9
mov dword [rsp + 0x50], r14d
lea rdx, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae rdx, qword [rbp - 0x78]
lea rcx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rcx, qword [rsp + 0x30]
call fcn.1401ecb68
test eax, eax
jne 0x140056a02
lea r9d, [rax + 1]
mov r8, rbx
lea rdx, [rsp + 0x58]
mov rcx, r12
call fcn.14000d670
or r14d, 2
mov rdi, rax
cmp qword [rax + 0x18], 8
jb 0x1400569ce
mov rdi, qword [rax]
cmp qword [rax + 0x10], 1
jne 0x140056a02
mov edx, 1
lea rax, [0x1402d4ac8]
mov rcx, rax
sub rdi, rax
movzx eax, word [rcx]
cmp word [rdi + rcx], ax
jne 0x140056a02
add rcx, 2
sub rdx, 1
jne 0x1400569e7
xor edi, edi
lea r15d, [rdx + 1]
jmp 0x140056a07
xor edi, edi
mov r15d, edi
test r14b, 2
je 0x140056a66
and r14d, 0xfffffffd
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x140056a53
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140056a4e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140056ceb
call fcn.1401d94a8
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], di
and r14d, 0xfffffffe
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x140056aac
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140056aa7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140056cf1
call fcn.1401d94a8
test r15d, r15d
jne 0x140056ad7
movzx eax, word [rsi]
add rsi, 2
test ax, ax
jne 0x140056ab1
test r15d, r15d
jne 0x140056c7c
movzx eax, word [rsi]
test ax, ax
je 0x140056c7c
jmp 0x140056850
mov rcx, qword [r12 + 0x10]
lea rdx, [rbp - 0x58]
mov rax, r13
inc rax
cmp word [rdx + rax*2], 0
jne 0x140056ae3
sub rcx, rbx
inc rcx
add rcx, rax
mov rsi, qword [rsp + 0x78]
mov r8, qword [rsi + 0x10]
cmp rcx, r8
ja 0x140056b1b
mov qword [rsi + 0x10], rcx
mov rax, rsi
cmp qword [rsi + 0x18], 8
jb 0x140056b15
mov rax, qword [rsi]
mov word [rax + rcx*2], di
jmp 0x140056b75
mov rdx, rcx
sub rdx, r8
mov rdi, qword [rsi + 0x18]
mov rax, rdi
sub rax, r8
cmp rdx, rax
ja 0x140056b61
mov qword [rsi + 0x10], rcx
mov r9, rsi
cmp rdi, 8
jb 0x140056b40
mov r9, qword [rsi]
lea rdi, [r9 + r8*2]
xor r10d, r10d
test rdx, rdx
je 0x140056b56
movzx eax, r10w
mov rcx, rdx
rep stosw word [rdi], ax
lea rax, [r8 + rdx]
mov word [r9 + rax*2], r10w
jmp 0x140056b75
xor r10d, r10d
mov word [rsp + 0x20], r10w
mov r9, rdx
mov rcx, rsi
call fcn.14000d970
mov r9, qword [r12 + 0x10]
sub r9, rbx
mov r8, rbx
lea rdx, [rsp + 0x58]
mov rcx, r12
call fcn.14000d670
cmp qword [rax + 0x18], 8
jb 0x140056b97
mov rax, qword [rax]
mov rcx, rsi
cmp qword [rsi + 0x18], 8
jb 0x140056ba4
mov rcx, qword [rsi]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x58]
lea r8, str._s_s
mov rdx, qword [rsi + 0x10]
call fcn.140053810
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x140056bff
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140056bfa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140056cf7
call fcn.1401d94a8
mov rax, rsi
cmp qword [rsi + 0x18], 8
jb 0x140056c10
mov rax, qword [rsi]
nop dword [rax]
inc r13
cmp word [rax + r13*2], 0
jne 0x140056c10
mov r9, r13
xor r8d, r8d
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.14000d670
mov rdx, rax
mov rcx, rsi
call fcn.140005d40
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x140056c7c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140056c76
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140056cfd
call fcn.1401d94a8
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x140056cb8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140056cb3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140056ce5
call fcn.1401d94a8
mov eax, r15d
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.1401d9c30
mov rbx, qword [rsp + 0x320]
add rsp, 0x2d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1401e4d9c
nop
call fcn.1401e4d9c
nop
call fcn.1401e4d9c
int3
call fcn.1401e4d9c
int3
call fcn.1401e4d9c
int3