Function at 0x140033500
Capabilities:
Get disk information

Disassembly:
mov byte [rsp + 8], cl
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov eax, dword [0x140042b34]
xor ebx, ebx
movsx edi, byte [0x140042b55]
add eax, 0xffffffd6
movzx edx, byte [0x140042b82]
mov r14d, 0x19f
movzx r11d, byte [0x140042b80]
add edx, eax
mov r12d, dword [0x140042b68]
test r11b, r11b
mov eax, ebx
mov dword [rsp + 0x98], r14d
sete al
mov dword [rsp + 0x28], edx
or dword [0x140042b60], eax
mov r13d, 0x2a
mov dword [0x140042b34], edx
mov esi, 0xd3
mov r9d, edi
test dil, 0x93
jne 0x140033582
cmp r12d, r14d
je 0x140033582
xor r8b, r8b
jmp 0x140033585
mov r8b, 1
imul ecx, dword [0x140042b3c], 0xb3
mov eax, 0xcccccccd
mov r15d, dword [0x140042b48]
mov ebp, 1
mov byte [0x140042b65], r8b
mul ecx
movzx ecx, byte [0x140042b57]
mov byte [rsp + 0x88], cl
shr edx, 2
test cl, cl
movzx edx, dl
mov ecx, dword [0x140042a8c]
setne al
or byte [0x140042b66], al
mov eax, dword [0x140042b40]
or eax, 1
mov dword [rsp + 0x24], eax
mov dword [0x140042b40], eax
mov eax, ebx
shr eax, cl
mov ecx, dword [0x140042b84]
add ecx, eax
mov eax, 0xffffffb0
mov dword [rsp + 0x20], ecx
mov dword [0x140042b84], ecx
mov ecx, edx
shr eax, cl
mov ecx, dword [0x140042b44]
shl eax, cl
lea ecx, [r15*4 + 0x2a]
and eax, r9d
or dword [0x140042a64], eax
mov eax, 0x38e38e39
mul ecx
shr edx, 1
lea eax, [rdx + rdx*8]
sub ecx, eax
je 0x140033672
sub ecx, ebp
je 0x14003365b
sub ecx, ebp
je 0x140033653
cmp ecx, ebp
je 0x140033648
mov eax, dword [0x140042b58]
add eax, 0xfffffe01
mov dword [0x140042a64], eax
jmp 0x1400336a3
mov r9d, ebx
mov dword [0x140042b30], ebx
jmp 0x1400336aa
mov dword [0x140042b28], ebp
jmp 0x1400336a3
movzx eax, byte [0x140042a88]
mov r12d, ebx
or al, 0xa3
mov dword [0x140042b68], ebx
and r11b, al
jmp 0x1400336a3
imul r14d, r12d, 0x2ca
mov eax, 0xcccccccd
mul r14d
shr edx, 2
lea eax, [rdx + rdx*4]
sub r14d, eax
mov eax, dword [0x140042b28]
add eax, 0xfffffeef
mov dword [rsp + 0x98], r14d
mov dword [0x140042b6c], eax
mov r9d, dword [0x140042b30]
cmp r8b, 0x63
mov r10d, ebx
mov r8d, dword [0x140042b7c]
mov ecx, 0x77
sete r10b
mov dword [0x140042b78], r10d
dec ecx
test dil, dil
je 0x1400336e0
mov eax, r9d
sub eax, r14d
add eax, esi
xor eax, 0x233
mov eax, ebp
jne 0x1400336e2
mov eax, ebx
sub r8d, eax
test ecx, ecx
jne 0x1400336c8
lea eax, [r12 + r12*8]
mov dword [0x140042b7c], r8d
shl eax, 4
xor r8b, 0xc0
cdq
mov edi, 0x1f5
and edx, 3
lea r12d, [rdx + rax]
mov eax, dword [0x140042b44]
add al, 3
sar r12d, 2
movzx ecx, al
movzx eax, byte [0x140042a86]
sub ecx, 0xab
xor ecx, 0x90
cmp r9d, ecx
sete byte [rsp + 0x80]
movzx r14d, byte [rsp + 0x80]
imul ecx, eax, 0x2ca
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea eax, [rdx + rdx*4]
sub ecx, eax
mov dword [rsp + 0x90], ecx
lea ecx, [r9 + 0x34]
lea eax, [rcx + 0x70]
or al, byte [0x140042a63]
or al, byte [0x140042b81]
or al, cl
movsx eax, al
imul edx, eax, 0xfffffff5
add byte [0x140042b88], dl
movzx edx, byte [0x140042b64]
mov ecx, r13d
xor r10b, r8b
movzx eax, r9b
mov byte [0x140042a87], r10b
shl al, cl
sub r11b, r14b
and al, 0x90
mov r13d, r12d
and dl, al
cmp dword [0x140042b6c], ebx
je 0x1400337b1
lea eax, [r9 + 0x34]
cmp eax, esi
mov eax, ebp
je 0x1400337b3
mov eax, ebx
and r15d, eax
sub rdi, rbp
jne 0x140033782
mov eax, dword [rsp + 0x20]
mov r14d, dword [rsp + 0x98]
and eax, r13d
movzx ecx, byte [rsp + 0x88]
xor cl, byte [0x140042b81]
mov dword [0x140042b2c], eax
xor cl, 0xf4
mov byte [0x140042b64], dl
mov eax, 0xaaaaaaab
mov dword [0x140042b48], r15d
imul r15d, r14d
mul r15d
shr edx, 1
lea eax, [rdx + rdx*2]
sub r15d, eax
mov eax, dword [rsp + 0x24]
or al, 0x33
and r11b, al
mov eax, ebx
cmp dword [0x140042a64], ebp
mov byte [0x140042b80], r11b
sete al
and cl, r13b
xor dword [0x140042a8c], eax
mov eax, 0x66666667
imul r15d
movzx r12d, cl
sar edx, 1
mov eax, edx
mov byte [0x140042b57], cl
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub r12d, eax
add r12d, r15d
or r9d, r13d
setne al
or byte [0x140042b67], al
mov eax, dword [rsp + 0x28]
sub eax, r14d
sub eax, esi
or dword [0x140042a88], eax
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
movzx r8d, byte [0x140042b66]
mov r10d, dword [0x140042b68]
test r10d, r10d
sete al
xor r8b, al
cmp dword [0x140042b84], ebx
mov byte [0x140042b66], r8b
jne 0x14003389a
mov eax, ebx
test r13b, 0x90
je 0x14003389c
mov eax, ebp
sub dword [0x140042b60], eax
mov ecx, ebx
movzx edx, byte [0x140042a62]
mov edi, dword [0x140042b40]
or dl, bpl
movzx r9d, byte [0x140042b83]
cmp r15d, 0xb3
mov r11d, dword [0x140042b5c]
movsx eax, r8b
setl cl
mov r8d, dword [0x140042b6c]
mov byte [0x140042a62], dl
cmp ecx, eax
jle 0x1400339a5
movzx eax, byte [0x140042a64]
mov ecx, ebx
and al, 0x8a
or r9b, al
lea eax, [r13 + 0x1b1]
or eax, 0x90
mov byte [0x140042b83], r9b
cmp edi, eax
movsx eax, dl
sete cl
and eax, 0x2bf
xor dword [0x140042b30], ecx
add r11d, eax
cmp dword [0x140042b4c], ebx
mov eax, ebx
mov ecx, dword [0x140042b28]
setne al
mov dword [0x140042b5c], r11d
and ecx, eax
mov eax, r8d
sub eax, r15d
mov dword [0x140042b28], ecx
add eax, esi
jne 0x14003394d
mov eax, ebx
test ecx, ecx
je 0x14003394f
mov eax, ebp
xor r10d, eax
mov dword [0x140042b68], r10d
mov r10d, dword [0x140042b58]
test r15d, r15d
jne 0x14003396c
mov eax, ebx
test r10d, r10d
je 0x14003396e
mov eax, ebp
and r8d, eax
movzx eax, byte [0x140042b57]
imul ecx, eax, 0x2bf
mov eax, 0x66666667
imul ecx
mov esi, edx
sar esi, 1
mov eax, esi
shr eax, 0x1f
add esi, eax
mov eax, ebx
cmp byte [0x140042b66], al
setne al
and r10d, eax
mov dword [0x140042b58], r10d
movzx r10d, byte [0x140042b81]
mov eax, r10d
sub eax, r12d
and eax, dword [0x140042b84]
and eax, esi
and eax, 0x2bf
sub r8d, eax
mov dword [0x140042b6c], r8d
movzx r8d, r9b
or r8d, r14d
mov dword [0x140042b84], r8d
cmp r12d, 0x1ff
jbe 0x140033a48
cmp byte [0x140042a63], bl
jne 0x1400339f5
lea eax, [rdi + 1]
xor eax, 0x2ca
mov eax, ebx
je 0x1400339f7
mov eax, ebp
and dword [0x140042b2c], eax
mov eax, 0xcccccccd
imul ecx, dword [0x140042b48], 0x1ff
mov r9d, dword [0x140042a64]
mov byte [0x140042b54], bpl
mul ecx
movzx ecx, byte [0x140042b65]
mov esi, edx
shr esi, 2
cmp r9d, r12d
sete al
sub cl, al
test r10b, r10b
jne 0x140033a3c
mov eax, ebx
test r12d, r12d
je 0x140033a3e
mov eax, ebp
and cl, al
mov byte [0x140042b65], cl
jmp 0x140033a4f
mov r9d, dword [0x140042a64]
xor dword [0x140042b38], 0x2bf
mov eax, ebx
movzx r14d, byte [0x140042b82]
mov edx, ebx
inc r14d
mov ecx, ebx
cmp r15d, r11d
setg al
cmp eax, r12d
movsx eax, byte [0x140042b56]
seta dl
cmp eax, r15d
setg cl
cmp ecx, edx
jne 0x140033a9b
imul ecx, r8d, 0x175
mov eax, 0xaaaaaaab
mul ecx
mov r14d, edx
shr r14d, 1
mov edi, esi
and edi, 0x80000003
jge 0x140033aac
dec edi
or edi, 0xfffffffc
inc edi
mov r13d, dword [0x140042b68]
add edi, r9d
add r13d, 3
mov dword [rsp + 0x88], r13d
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
movzx eax, byte [0x140042b2c]
mov edx, 0xb9
movsx r10d, byte [0x140042b56]
or al, 0xb1
movzx r11d, byte [0x140042b88]
add r10d, esi
mov r8d, dword [0x140042b30]
or r10d, r13d
mov r13d, dword [0x140042b6c]
mov r9d, dword [0x140042b38]
mov byte [rsp + 0x80], al
mov byte [0x140042b83], al
nop
dec dx
cmp byte [0x140042b64], bl
jne 0x140033b2a
mov eax, edi
mov dword [0x140042b5c], ebx
xor eax, 0xb3
je 0x140033b30
mov dword [0x140042b5c], ebp
sub r8d, r10d
test r13d, r13d
je 0x140033b54
cmp esi, ebp
jle 0x140033b54
test r11b, r11b
je 0x140033b4f
mov ecx, r12d
mov eax, r14d
shl eax, cl
test eax, eax
mov eax, ebp
jne 0x140033b51
mov eax, ebx
and r9d, eax
test dx, dx
jne 0x140033b10
mov r12d, dword [rsp + 0x88]
mov r13d, dword [rsp + 0x90]
mov dword [0x140042b30], r8d
mov dword [0x140042b38], r9d
cmp r12d, r14d
jae 0x140033bbf
movzx eax, byte [0x140042b66]
cmp edi, 0x2ca
sete cl
sub edi, esi
or edi, dword [0x140042b58]
and cl, r13b
sub al, cl
mov dword [0x140042b2c], edi
xor byte [0x140042a86], al
mov eax, dword [0x140042b60]
movzx edi, byte [rsp + 0x80]
sub eax, r14d
mov dword [0x140042b4c], eax
add edi, 3
call qword [sym.imp.KERNEL32.dll_GetConsoleAliasExesLengthW]
mov eax, 0x90
movzx r13d, r13b
cmp eax, r12d
mov ecx, ebx
movsx eax, byte [0x140042a63]
mov r12d, r13d
setne cl
imul r12d, dword [0x140042b2c]
add eax, ecx
movzx ecx, byte [0x140042b57]
xor dword [0x140042b84], eax
and r12d, 3
test cl, cl
jne 0x140033c0c
lea eax, [r15 + 0x1b1]
test eax, eax
jne 0x140033c0c
mov ebp, ebx
and cl, bpl
sar esi, 0x1f
mov ebp, dword [0x140042a8c]
mov eax, 0xaaaaaaab
or esi, dword [0x140042b4c]
add dword [0x140042b6c], esi
mov byte [0x140042b57], cl
movsx ecx, byte [0x140042a62]
imul ebp, r12d
inc ecx
and ecx, 0xb3
mov dword [0x140042b58], ecx
mul ebp
shr edx, 1
lea eax, [rdx + rdx*2]
sub ebp, eax
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov esi, dword [0x140042b7c]
mov ecx, dword [rsp + 0x90]
cmp r13d, r14d
jae 0x140033c7e
cmp r13d, 0xab
sete al
and al, sil
and al, cl
or byte [0x140042b83], al
cmp byte [0x140042b64], bl
movsx eax, byte [0x140042b56]
setne bl
mov dword [0x140042a88], ebx
lea r11d, [rax + rax*8]
shl r11d, 4
and r11d, 0x80000003
jge 0x140033caf
dec r11d
or r11d, 0xfffffffc
inc r11d
movzx r9d, byte [0x140042a87]
add cl, r12b
movzx r8d, byte [0x140042b54]
mov eax, 0x2c3
sub eax, dword [0x140042b40]
movzx edx, byte [0x140042b82]
movzx r10d, byte [0x140042b48]
shr edx, cl
sub r10b, r11b
or dword [0x140042b38], edx
mov ecx, r14d
lea edx, [r14 + r9]
mov byte [0x140042b56], r10b
cmp edx, eax
lea eax, [rbp + 0x33]
sete dl
and al, bpl
and dl, byte [0x140042b66]
sub dl, al
mov eax, ebp
add dl, byte [0x140042b80]
shl eax, cl
mov ecx, ebp
cmp dword [0x140042b5c], eax
movzx eax, r10b
mov byte [0x140042b66], dl
sete dl
and al, 0x33
xor dl, al
xor r10b, r9b
and byte [0x140042b57], dl
lea eax, [r11 + r8]
movzx edx, byte [0x140042b67]
or esi, eax
movzx eax, byte [0x140042b58]
mov r11d, 0x90
sub al, 0x33
mov dword [0x140042b7c], esi
shl al, cl
xor r10b, 0x33
movzx ecx, dl
mov byte [0x140042a87], r10b
shr r11b, cl
lea ecx, [rdi - 0x4f]
shr r8b, cl
and al, r11b
mov ecx, dword [0x140042b2c]
sar r15d, cl
and r8b, r15b
mov byte [0x140042b65], al
xor dl, r8b
mov byte [0x140042b67], dl
call fcn.140032ca0
mov eax, r12d
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret