Function at 0x42b570
Capabilities:
Get disk information

Disassembly:
mov r11, rsp
sub rsp, 0x2d8
mov rax, qword [0x00434018]
mov qword [rsp + 0x2b0], rax
mov qword [r11 + 0x18], rbx
mov rbx, rdx
mov qword [r11 - 8], rsi
lea rdx, [0x00430b68]
mov rsi, rcx
call fcn.00429120
test rax, rax
je 0x42b5c8
call fcn.0041ed00
mov dword [rax], 2
call fcn.0041ed30
mov dword [rax], 2
mov eax, 0xffffffff
jmp 0x42b8fe
cmp byte [rsi + 1], 0x3a
mov qword [rsp + 0x2c0], r12
jne 0x42b611
movzx eax, byte [rsi]
test al, al
je 0x42b603
cmp byte [rsi + 2], 0
jne 0x42b603
call fcn.0041ed00
mov dword [rax], 2
call fcn.0041ed30
mov dword [rax], 2
mov eax, 0xffffffff
jmp 0x42b8f6
movsx ecx, al
call fcn.0042bdb0
lea r12d, [rax - 0x60]
jmp 0x42b619
call fcn.0042bca0
mov r12d, eax
lea rdx, [rsp + 0x60]
mov rcx, rsi
mov qword [rsp + 0x2f8], rbp
mov qword [rsp + 0x2c8], rdi
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp rax, 0xffffffffffffffff
mov rbp, rax
jne 0x42b71b
lea rdx, [0x00430b64]
mov rcx, rsi
call fcn.00429120
test rax, rax
je 0x42b700
lea rcx, [rsp + 0x1a0]
mov r8d, 0x104
mov rdx, rsi
call fcn.0042bbb0
test rax, rax
mov r11, rax
je 0x42b700
xor eax, eax
mov rcx, rbp
mov rdi, r11
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp rcx, 3
je 0x42b6a0
mov rcx, r11
call fcn.0042b4c0
test eax, eax
je 0x42b700
mov rcx, r11
call qword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 1
jbe 0x42b700
xor eax, eax
mov edx, 1
mov dword [rsp + 0x30], 0xffffffff
mov dword [rsp + 0x28], eax
xor r9d, r9d
mov ecx, 0x7bc
mov r8d, edx
mov dword [rsp + 0x60], 0x10
mov dword [rsp + 0x7c], eax
mov dword [rsp + 0x80], eax
mov byte [rsp + 0x8c], al
mov dword [rsp + 0x20], eax
call fcn.0042b9f0
mov qword [rbx + 0x20], rax
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x28], rax
jmp 0x42b88b
call fcn.0041ed00
mov dword [rax], 2
call fcn.0041ed30
mov dword [rax], 2
jmp 0x42b8e1
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x74]
call qword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
test eax, eax
je 0x42b8cb
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
test eax, eax
je 0x42b8cb
movzx eax, word [rsp + 0x4c]
movzx edi, word [rsp + 0x4a]
movzx r9d, word [rsp + 0x48]
movzx r8d, word [rsp + 0x46]
movzx edx, word [rsp + 0x42]
movzx ecx, word [rsp + 0x40]
mov dword [rsp + 0x30], 0xffffffff
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
call fcn.0042b9f0
cmp dword [rsp + 0x6c], 0
mov qword [rbx + 0x20], rax
jne 0x42b798
cmp dword [rsp + 0x70], 0
jne 0x42b798
mov qword [rbx + 0x18], rax
jmp 0x42b801
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x6c]
call qword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
test eax, eax
je 0x42b8cb
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
test eax, eax
je 0x42b8cb
movzx eax, word [rsp + 0x4c]
movzx edi, word [rsp + 0x4a]
movzx r9d, word [rsp + 0x48]
movzx r8d, word [rsp + 0x46]
movzx edx, word [rsp + 0x42]
movzx ecx, word [rsp + 0x40]
mov dword [rsp + 0x30], 0xffffffff
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
call fcn.0042b9f0
mov qword [rbx + 0x18], rax
cmp dword [rsp + 0x64], 0
jne 0x42b819
cmp dword [rsp + 0x68], 0
jne 0x42b819
mov rax, qword [rbx + 0x20]
mov qword [rbx + 0x28], rax
jmp 0x42b882
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x64]
call qword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
test eax, eax
je 0x42b8cb
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
test eax, eax
je 0x42b8cb
movzx eax, word [rsp + 0x4c]
movzx edi, word [rsp + 0x4a]
movzx r9d, word [rsp + 0x48]
movzx r8d, word [rsp + 0x46]
movzx edx, word [rsp + 0x42]
movzx ecx, word [rsp + 0x40]
mov dword [rsp + 0x30], 0xffffffff
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
call fcn.0042b9f0
mov qword [rbx + 0x28], rax
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [rsp + 0x60]
mov rdx, rsi
call fcn.0042b3d0
mov word [rbx + 8], 1
mov word [rbx + 4], 0
mov word [rbx + 6], ax
mov eax, dword [rsp + 0x80]
mov word [rbx + 0xc], 0
mov dword [rbx + 0x14], eax
lea eax, [r12 - 1]
mov word [rbx + 0xa], 0
mov dword [rbx], eax
mov dword [rbx + 0x10], eax
xor eax, eax
jmp 0x42b8e6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.0041ed60
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindClose]
mov eax, 0xffffffff
mov rdi, qword [rsp + 0x2c8]
mov rbp, qword [rsp + 0x2f8]
mov r12, qword [rsp + 0x2c0]
mov rsi, qword [rsp + 0x2d0]
mov rbx, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x2b0]
call fcn.0042c1d0
add rsp, 0x2d8
ret