Function at 0x140040990
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x190]
sub rsp, 0x290
mov rax, qword [0x1401b7030]
xor rax, rsp
mov qword [rbp + 0x180], rax
mov rsi, rdx
lea rcx, [rbp + 0x80]
xor edx, edx
mov r8d, 0x100
call fcn.1401216a0
xor r15d, r15d
lea rdx, [rbp + 0x80]
mov ecx, 0x100
mov edi, r15d
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsA]
mov edx, 0x427
mov rcx, rsi
mov ebx, eax
call qword [sym.imp.USER32.dll_GetDlgItem]
xor r9d, r9d
mov qword [rsp + 0x20], r15
mov edx, 0x429
mov r8d, 0x184
mov rcx, rsi
mov r14, rax
call qword [sym.imp.USER32.dll_SendDlgItemMessageA]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1009
mov rcx, r14
call qword [sym.imp.USER32.dll_SendMessageA]
lea r8, [0x14019945a]
mov edx, 0x40f
mov rcx, rsi
call qword [sym.imp.USER32.dll_SetDlgItemTextA]
lea r12, [0x14019c5a0]
add ebx, 0xfffffffd
je 0x140040bc8
nop dword [rax]
mov eax, edi
lea r8, [rbp + 0x80]
add r8, rax
lea rcx, [rsp + 0x30]
mov edx, 4
call fcn.14012524c
lea r9, [rsp + 0x30]
mov byte [rsp + 0x32], r15b
lea r8, [0x14019c5a4]
mov qword [rsp + 0x20], r12
lea rdx, str._s_s_s
add edi, 4
lea rcx, [rbp]
call fcn.14002f550
lea r8, [0x14019c38c]
mov byte [rbp + 0x60], r15b
mov edx, 4
lea rcx, [rsp + 0x30]
call fcn.1401252ac
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeA]
sub eax, 2
je 0x140040b01
sub eax, 1
je 0x140040af8
sub eax, 1
je 0x140040aef
cmp eax, 1
je 0x140040ae6
lea r8, str.Unknown
jmp 0x140040b08
lea r8, str.CD_ROM
jmp 0x140040b08
lea r8, str.Network
jmp 0x140040b08
lea r8, str.Local_Disk
jmp 0x140040b08
lea r8, str.Removable
lea rdx, [0x14019c62c]
lea rcx, [rbp + 0x60]
call fcn.14002f550
lea rax, [rbp]
mov qword [rbp - 0x60], 3
lea r9, [rbp - 0x60]
mov qword [rbp - 0x48], rax
xor r8d, r8d
mov dword [rbp - 0x58], r15d
mov edx, 0x1007
mov dword [rbp - 0x3c], 2
mov rcx, r14
call qword [sym.imp.USER32.dll_SendMessageA]
lea r9, [rbp - 0x60]
mov dword [rbp - 0x60], 1
mov dword [rbp - 0x5c], eax
xor r8d, r8d
lea rax, [rbp + 0x60]
mov dword [rbp - 0x58], 1
mov edx, 0x1006
mov qword [rbp - 0x48], rax
mov rcx, r14
call qword [sym.imp.USER32.dll_SendMessageA]
lea r8, [0x14019c650]
mov edx, 0x20
lea rcx, [rbp]
call fcn.1401252ac
lea r8, [rbp + 0x60]
mov edx, 0x20
lea rcx, [rbp]
call fcn.1401252ac
mov edx, 0x429
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
lea r9, [rbp]
xor r8d, r8d
mov rcx, rax
mov edx, 0x143
call qword [sym.imp.USER32.dll_SendMessageA]
cmp edi, ebx
jb 0x140040a60
lea r9, str.My_Documents
mov qword [rsp + 0x40], 1
lea r8, [0x14019c5a4]
mov dword [rsp + 0x48], r15d
lea rdx, str._s_s_s
mov qword [rsp + 0x20], r12
lea rcx, [rbp + 0x20]
call fcn.14003c490
lea rax, [rbp + 0x20]
xor r8d, r8d
lea r9, [rsp + 0x40]
mov qword [rsp + 0x58], rax
mov edx, 0x1007
mov rcx, r14
call qword [sym.imp.USER32.dll_SendMessageA]
mov edx, 0x429
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
lea r9, [rbp + 0x20]
xor r8d, r8d
mov rcx, rax
mov edx, 0x143
call qword [sym.imp.USER32.dll_SendMessageA]
lea r9, str.Desktop
mov qword [rsp + 0x40], 1
lea r8, [0x14019c5a4]
mov dword [rsp + 0x48], r15d
lea rdx, str._s_s_s
mov qword [rsp + 0x20], r12
lea rcx, [rbp + 0x20]
call fcn.14003c490
lea rax, [rbp + 0x20]
xor r8d, r8d
lea r9, [rsp + 0x40]
mov qword [rsp + 0x58], rax
mov edx, 0x1007
mov rcx, r14
call qword [sym.imp.USER32.dll_SendMessageA]
mov edx, 0x429
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
lea r9, [rbp + 0x20]
xor r8d, r8d
mov rcx, rax
mov edx, 0x143
call qword [sym.imp.USER32.dll_SendMessageA]
lea r9, str.Network_Favorites
mov qword [rsp + 0x40], 1
lea r8, [0x14019c5a4]
mov dword [rsp + 0x48], r15d
lea rdx, str._s_s_s
mov qword [rsp + 0x20], r12
lea rcx, [rbp + 0x20]
call fcn.14003c490
lea rax, [rbp + 0x20]
xor r8d, r8d
lea r9, [rsp + 0x40]
mov qword [rsp + 0x58], rax
mov edx, 0x1007
mov rcx, r14
call qword [sym.imp.USER32.dll_SendMessageA]
mov edx, 0x429
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
lea r9, [rbp + 0x20]
xor r8d, r8d
mov rcx, rax
mov edx, 0x143
call qword [sym.imp.USER32.dll_SendMessageA]
mov edx, 0x429
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
xor r9d, r9d
mov edx, 0x14e
mov rcx, rax
lea r8, [r9 - 1]
call qword [sym.imp.USER32.dll_SendMessageA]
mov rcx, qword [rbp + 0x180]
xor rcx, rsp
call fcn.14011c340
lea r11, [rsp + 0x290]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret