Function at 0x2100590d0
Capabilities:
Get disk information

Disassembly:
push r15
mov eax, 0x20048
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.21021b550
sub rsp, rax
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov eax, dword [rax - 0x2cc8]
mov dword [rsp + 0x38], eax
lea r14, [rsp + 0x38]
mov r13, rcx
mov r12, rdx
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov rcx, r14
mov eax, dword [rax - 0x2cc4]
mov dword [rsp + 0x34], 0
mov dword [rsp + 0x3c], eax
call method.tmp_pathbuf.w_get__
mov rcx, r14
mov rsi, rax
call method.tmp_pathbuf.w_get__
mov edx, 1
mov r9d, 0x10000
mov rcx, r13
mov rbx, rax
lea rax, [rsp + 0x34]
mov qword [rsp + 0x20], rax
mov r8, rbx
call sym.NtQueryObject
mov edx, eax
test eax, eax
js 0x2100592f8
mov r13, qword [rbx + 8]
test r13, r13
je 0x210059270
movzx edi, word [rbx]
xor r11d, r11d
lea rdx, [0x210285430]
mov rcx, r13
mov rax, rdi
and rax, 0xfffffffffffffffe
mov word [r13 + rax], r11w
call sym.msys_2.0.dll_wcscasecmp
test eax, eax
je 0x2100595a0
lea rdx, str.DeviceAfd
mov rcx, r13
call sym.msys_2.0.dll_wcscasecmp
test eax, eax
je 0x210059390
mov r8d, 0x12
lea rdx, [0x2102853c0]
mov rcx, r13
call sym.msys_2.0.dll_wcsncasecmp
test eax, eax
jne 0x2100593b0
lea rcx, [r13 + 0x24]
mov r8d, 5
lea rdx, str.msys_
call sym.msys_2.0.dll_wcsncmp
test eax, eax
jne 0x210059590
mov rdx, qword [0x21023d810]
add r13, 0x2e
movzx ebx, word [rdx + 0x4210]
cmp bx, 1
ja 0x2100595f0
and rbx, 0xfffffffffffffffe
add r13, rbx
cmp word [r13], 0x2d
jne 0x210059590
lea r14, [r13 + 2]
mov r8d, 3
lea rdx, [0x210284b66]
mov rcx, r14
call sym.msys_2.0.dll_wcsncmp
test eax, eax
jne 0x21005969e
lea rcx, [r13 + 8]
mov r8d, 0xa
xor edx, edx
call sym.msys_2.0.dll_wcstol
lea rdx, [0x210284b6e]
mov rcx, r12
mov r8d, eax
call sym.__small_sprintf
mov eax, 1
jmp 0x2100592af
movzx eax, byte [0x210273880]
and eax, 1
jne 0x210059368
mov rdx, qword [str.some_disk_file]
mov qword [r12], rdx
mov edx, dword [0x210285458]
mov dword [r12 + 8], edx
movzx edx, word [0x21028545c]
mov word [r12 + 0xc], dx
movzx edx, byte [0x21028545e]
mov byte [r12 + 0xe], dl
mov ecx, dword [rsp + 0x38]
mov rdx, qword gs:[0x30]
mov rdx, qword [rdx + 8]
mov dword [rdx - 0x2cc8], ecx
mov ecx, dword [rsp + 0x3c]
mov rdx, qword gs:[0x30]
mov rdx, qword [rdx + 8]
mov dword [rdx - 0x2cc4], ecx
add rsp, 0x20048
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movzx eax, byte [0x210273880]
and eax, 1
je 0x210059280
mov dword [rsp + 0x20], edx
lea r9, str.NtQueryObject_failed___y
lea r8, str.bool_handle_to_fn_HANDLE__char_
mov edx, 0x40
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
mov rax, qword [str.some_disk_file]
mov qword [r12], rax
mov eax, dword [0x210285458]
mov dword [r12 + 8], eax
movzx eax, word [0x21028545c]
mov word [r12 + 0xc], ax
movzx eax, byte [0x21028545e]
mov byte [r12 + 0xe], al
xor eax, eax
jmp 0x2100592af
lea r9, str.nt__Name.Buffer__NULL
lea r8, str.bool_handle_to_fn_HANDLE__char_
mov edx, 0x40
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x21005932b
mov r9d, 0x3a6b
mov dword [r12], 0x636f733a
mov word [r12 + 4], r9w
mov byte [r12 + 6], 0
jmp 0x2100592af
mov r8d, 8
lea rdx, str.device_
mov rcx, r13
call sym.msys_2.0.dll_wcsncasecmp
movsxd rbx, eax
test ebx, ebx
jne 0x2100595c8
lea r15, [rsp + 0x40]
xor ecx, ecx
mov r8d, 0x10000
mov rdx, r15
call sym.QueryDosDeviceW
test eax, eax
je 0x2100595c8
xor r14d, r14d
cmp word [rsp + 0x40], 0
je 0x210059618
nop dword [rax]
mov r8d, 0x8000
mov rdx, rsi
mov rcx, r15
call sym.QueryDosDeviceW
test eax, eax
je 0x2100594c8
mov edx, 0x3a
mov rcx, r15
call sym.msys_2.0.dll_wcschr
test rax, rax
je 0x2100594c8
mov edx, 0x3b
mov rcx, rsi
call sym.msys_2.0.dll_wcsrchr
mov rdi, rax
test rax, rax
je 0x210059462
mov edx, 0x5c
mov rcx, rax
call sym.msys_2.0.dll_wcschr
test rax, rax
je 0x210059462
lea rdx, [rax + 2]
mov rcx, rdi
call sym.msys_2.0.dll_wcscpy
mov rcx, rsi
call sym.msys_2.0.dll_wcslen
movsxd rdx, eax
mov edi, eax
cmp word [rsi + rdx*2 - 2], 0x5c
jne 0x210059483
lea edi, [rax - 1]
xor ecx, ecx
movsxd rax, edi
mov word [rsi + rax*2], cx
cmp edi, ebx
jl 0x2100594c8
movsxd rbp, edi
mov rdx, r13
mov rcx, rsi
mov r8, rbp
call sym.msys_2.0.dll_wcsncmp
test eax, eax
jne 0x2100594c8
movzx eax, word [r13 + rbp*2]
cmp ax, 0x5c
je 0x2100594ad
test ax, ax
jne 0x2100594c8
lea rax, [0x210273880]
movsxd rbx, edi
mov r14, r15
test byte [rax], 1
jne 0x210059674
nop dword [rax + rax]
mov rcx, r15
xor edx, edx
call sym.msys_2.0.dll_wcschr
movzx edi, word [rax + 2]
lea r15, [rax + 2]
test di, di
jne 0x210059400
test ebx, ebx
je 0x210059618
lea rcx, [r13 + 0x10]
mov edx, 0x5c
call sym.msys_2.0.dll_wcschr
mov rcx, r14
mov rsi, rax
call sym.msys_2.0.dll_wcslen
test rsi, rsi
lea rsi, [rax + rax]
je 0x21005971c
cmp word [r14 + rax*2 - 2], 0x5c
jne 0x210059522
sub rax, 1
lea rsi, [rax + rax]
sub rbx, rax
mov edi, 0x5c
lea rbx, [r13 + rbx*2]
mov r8, rsi
mov rdx, r14
mov rcx, rbx
call sym.msys_2.0.dll_memcpy
mov word [rbx + rsi], di
mov r9d, 0x8000
mov r8, r12
mov rdx, rbx
mov ecx, 3
call sym.cygwin_conv_path_1
test byte [0x210273880], 1
je 0x210059590
mov qword [rsp + 0x28], r12
lea r9, str.derived_path__W__posix__s
lea r8, str.bool_handle_to_fn_HANDLE__char_
mov edx, 0x40
mov qword [rsp + 0x20], rbx
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
nop dword [rax]
xor eax, eax
jmp 0x2100592af
movabs rax, 0x6c756e2f7665642f
mov r10d, 0x6c
mov qword [r12], rax
xor eax, eax
mov word [r12 + 8], r10w
jmp 0x2100592af
shr rdi, 1
mov r8, r13
mov edx, 0x8000
mov rcx, r12
mov dword [rsp + 0x20], 1
mov r9, rdi
call sym._sys_wcstombs_char__unsigned_long__wchar_t_const__unsigned_long__bool_
xor eax, eax
jmp 0x2100592af
mov r8, rbx
mov rdx, qword [rdx + 0x4218]
mov rcx, r13
shr r8, 1
call sym.msys_2.0.dll_wcsncmp
test eax, eax
je 0x21005920f
xor eax, eax
jmp 0x2100592af
mov r8d, 0x19
lea rdx, str.DeviceLanmanRedirector_
mov rcx, r13
call sym.msys_2.0.dll_wcsncmp
test eax, eax
jne 0x2100596dc
mov edx, 0x5c
lea rbx, [r13 + 0x2e]
mov word [r13 + 0x2e], dx
test byte [0x210273880], 1
je 0x210059541
lea r9, str.remote_drive
lea r8, str.bool_handle_to_fn_HANDLE__char_
mov edx, 0x40
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x210059541
mov qword [rsp + 0x28], rsi
mov edx, 0x40
mov rcx, rax
lea r9, str.current_match__W___W_n
mov qword [rsp + 0x20], r15
lea r8, str.bool_handle_to_fn_HANDLE__char_
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x2100594c8
mov r8d, 4
lea rdx, str.pipe
mov rcx, r14
call sym.msys_2.0.dll_wcsncmp
test eax, eax
jne 0x210059590
movabs rax, 0x7069702f7665642f
mov r8d, 0x65
mov qword [r12], rax
xor eax, eax
mov word [r12 + 8], r8w
jmp 0x2100592af
mov r8d, 0x14
lea rdx, str.DeviceWinDfsRoot_
mov rcx, r13
mov rbx, r13
call sym.msys_2.0.dll_wcsncmp
test eax, eax
jne 0x210059541
mov eax, 0x5c
add rbx, 0x24
mov word [r13 + 0x24], ax
test byte [0x210273880], 1
je 0x210059541
jmp 0x210059650
mov rbx, r13
jmp 0x21005952f