Function at 0x5c9410
Capabilities:
Get disk size

Disassembly:
push rbp
push rdi
push rbx
sub rsp, 0x180
mov rbp, rsp
mov qword [rbp + 0x48], rbp
mov qword [rbp + 0x1a0], rcx
mov qword [rbp + 0x1a8], rdx
mov qword [rbp + 0x1b0], r8
mov eax, dword [0x00693298]
add eax, 1
cmp dword [0x00693298], eax
jne 0x5c9452
mov ecx, dword [0x006931bc]
call sub.kernel32.dll_SetConsoleKeyShortcuts
mov eax, dword [0x00694284]
mov dword [0x006940d8], eax
mov byte [rbp + 0x177], 0
mov rax, qword [rbp + 0x1a8]
mov qword [rbp + 0x178], rax
mov rax, qword [rbp + 0x1b0]
mov rcx, qword [rbp + 0x178]
mov qword [rax + 0x1a], rcx
mov rcx, qword [rbp + 0x178]
mov rax, qword [rbp + 0x1b0]
lea rdx, [rax + 0x6a]
mov rax, qword [rbp + 0x1b0]
lea r8, [rax + 8]
call fcn.005c6580
mov byte [rbp + 0x16f], al
mov qword [rbp + 0x160], 0
mov rcx, qword [rbp + 0x178]
mov edx, dword [0x006953a8]
mov r8d, 0x40
call fcn.005c5de0
mov qword [rbp + 0x78], rax
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x70], rax
mov byte [rbp + 0x16e], 0
mov byte [rbp + 0x15f], 4
lea rax, [0x006953b4]
movzx rcx, byte [rbp + 0x16f]
cmp byte [rax + rcx], 6
jbe 0x5c95af
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x160], rax
add qword [rbp + 0x78], 0x20
cmp qword [rbp + 0x160], 0
je 0x5c95b6
mov byte [rbp + 0x15f], 4
mov rcx, qword [rbp + 0x178]
mov rdx, qword [rbp + 0x160]
mov rax, qword [rbp + 0x160]
lea r8, [rax + 6]
call fcn.005c6580
mov byte [rbp + 0x16f], al
lea rax, [0x006953b4]
movzx rcx, byte [rbp + 0x16f]
cmp byte [rax + rcx], 7
jae 0x5c95b6
mov byte [rbp + 0x15f], 3
mov rcx, qword [rbp + 0x160]
mov rax, qword [rbp + 0x1b0]
lea rdx, [rax + 0x6a]
mov rax, qword [rbp + 0x160]
lea r8, [rax + 0xe]
call fcn.005c6580
mov byte [rbp + 0x16e], al
lea rax, [0x006953b4]
movzx rcx, byte [rbp + 0x16e]
cmp byte [rax + rcx], 7
jae 0x5c95b6
mov byte [rbp + 0x15f], 2
jmp 0x5c95b6
mov byte [rbp + 0x15f], 1
lea rdi, [rbp + 0x88]
xor eax, eax
mov ecx, 0x18
rep stosq qword [rdi], rax
mov byte [rbp + 0x88], 1
mov rax, qword [rbp + 0x178]
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0x98], 0
lea rax, [0x006953b4]
movzx rcx, byte [rbp + 0x16f]
movzx rax, byte [rax + rcx]
mov byte [rbp + 0x14f], al
movzx rax, byte [rbp + 0x177]
cmp al, byte [rbp + 0x14f]
jae 0x5c9664
cmp byte [rbp + 0xa9], 1
jne 0x5c9634
mov rcx, qword [0x00423278]
mov dl, 1
xor r8, r8
call fcn.00437e80
mov rcx, rax
call fcn.0040da20
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x90], rax
lea rcx, [rbp + 0x88]
call fcn.005c5550
add byte [rbp + 0x177], al
movzx rax, byte [rbp + 0x177]
cmp al, byte [rbp + 0x14f]
jb 0x5c9612
nop
cmp byte [rbp + 0x177], 0x40
jbe 0x5c9687
mov rcx, qword [0x00423278]
mov dl, 1
xor r8, r8
call fcn.00437e80
mov rcx, rax
call fcn.0040da20
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x150], rax
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x68], rax
mov eax, dword [0x006932d4]
add eax, 1
cmp dword [0x006932d4], eax
jne 0x5c96d7
mov ecx, dword [0x0069411c]
mov edx, dword [0x006932c0]
mov r8d, dword [0x006933d8]
mov r9d, dword [0x00693440]
mov eax, dword [0x00693544]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
call fcn.005c1c20
cmp eax, dword [0x00694304]
jle 0x5c96ee
mov dword [0x00694304], 0x19
mov eax, dword [0x006942ec]
mov dword [0x00694284], eax
mov eax, dword [0x006942bc]
add eax, dword [0x006931c8]
mov ecx, dword [0x0069320c]
add ecx, dword [0x006932b4]
cmp eax, ecx
jle 0x5c9720
mov dword [0x006942bc], 0x6c
mov rcx, qword [rbp + 0x68]
mov edx, 0x40
mov r8d, 0x90
call fcn.0040a9a0
mov eax, dword [0x006932b4]
add eax, 1
cmp dword [0x006932b4], eax
jne 0x5c9770
mov ecx, dword [0x00693304]
mov edx, dword [0x00693500]
mov r8d, dword [0x00693900]
mov r9d, dword [0x00693948]
mov eax, dword [0x006940dc]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov ecx, 0x18
call fcn.00409000
mov rcx, qword [rbp + 0x1b0]
mov qword [rcx + 0x22], rax
movzx rbx, byte [rbp + 0x177]
add ebx, 6
mov ecx, ebx
call fcn.00409000
mov rcx, qword [rbp + 0x1b0]
mov rcx, qword [rcx + 0x22]
mov qword [rcx + 0x10], rax
mov qword [rbp + 0x60], rax
mov eax, dword [0x006932d4]
add eax, 1
cmp dword [0x006932d4], eax
jne 0x5c97e5
mov ecx, dword [0x0069411c]
mov edx, dword [0x006932c0]
mov r8d, dword [0x006933d8]
mov r9d, dword [0x00693440]
mov eax, dword [0x00693544]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
call fcn.005c1c20
cmp eax, dword [0x00694304]
jle 0x5c97fc
mov dword [0x00694304], 0x19
mov eax, dword [0x006942ec]
mov dword [0x00694284], eax
mov eax, dword [0x006942bc]
add eax, dword [0x006931c8]
mov ecx, dword [0x0069320c]
add ecx, dword [0x006932b4]
cmp eax, ecx
jle 0x5c982e
mov dword [0x006942bc], 0x6c
mov rcx, qword [rbp + 0x60]
movsxd rdx, ebx
mov r8d, 0x90
call fcn.0040a9a0
mov eax, dword [0x006932b4]
add eax, 1
cmp dword [0x006932b4], eax
jne 0x5c987b
mov ecx, dword [0x00693304]
mov edx, dword [0x00693500]
mov r8d, dword [0x00693900]
mov r9d, dword [0x00693948]
mov eax, dword [0x006940dc]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov rax, qword [rbp + 0x178]
mov rcx, rax
mov qword [rbp + 0x38], rcx
mov rax, qword [rbp + 0x1b0]
mov rax, qword [rax + 0x22]
mov rdx, qword [rax + 0x10]
movzx r8, byte [rbp + 0x177]
call fcn.004093d0
mov rax, qword [rbp + 0x1b0]
mov rax, qword [rax + 0x22]
mov rcx, qword [rbp + 0x150]
mov qword [rax], rcx
movzx rcx, byte [rbp + 0x177]
mov byte [rax + 8], cl
movzx rax, byte [rbp + 0x177]
mov dword [rbp + 0x44], eax
mov rcx, qword [rbp + 0x178]
mov rdx, qword [rbp + 0x150]
mov r8d, dword [rbp + 0x44]
call fcn.005c8730
mov dword [rbp + 0x84], eax
mov rcx, qword [rbp + 0x178]
movzx rdx, byte [rbp + 0x177]
mov r8d, 0x40
call fcn.005c5100
mov dword [rbp + 0x170], eax
nop
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0x58], rax
mov eax, dword [0x006932d4]
add eax, 1
cmp dword [0x006932d4], eax
jne 0x5c9951
mov ecx, dword [0x0069411c]
mov edx, dword [0x006932c0]
mov r8d, dword [0x006933d8]
mov r9d, dword [0x00693440]
mov eax, dword [0x00693544]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
call fcn.005c1c20
cmp eax, dword [0x00694304]
jle 0x5c9968
mov dword [0x00694304], 0x19
mov eax, dword [0x006942ec]
mov dword [0x00694284], eax
mov eax, dword [0x006942bc]
add eax, dword [0x006931c8]
mov ecx, dword [0x0069320c]
add ecx, dword [0x006932b4]
cmp eax, ecx
jle 0x5c999a
mov dword [0x006942bc], 0x6c
mov rcx, qword [rbp + 0x58]
mov edx, dword [rbp + 0x44]
movsxd rdx, edx
mov r8d, 0x90
call fcn.0040a9a0
mov eax, dword [0x006932b4]
add eax, 1
cmp dword [0x006932b4], eax
jne 0x5c99ea
mov ecx, dword [0x00693304]
mov edx, dword [0x00693500]
mov r8d, dword [0x00693900]
mov r9d, dword [0x00693948]
mov eax, dword [0x006940dc]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
movzx rax, byte [rbp + 0x15f]
sub al, 1
test al, al
je 0x5c9a1b
sub al, 1
test al, al
je 0x5c9a4a
sub al, 1
test al, al
je 0x5c9a9c
sub al, 1
test al, al
jne 0x5c9afe
jmp 0x5c9ae1
mov rcx, qword [rbp + 0x178]
mov rax, qword [rbp + 0x1b0]
lea rdx, [rax + 0x6a]
movzx r8, byte [rbp + 0x16f]
mov rax, qword [rbp + 0x1b0]
lea r9, [rax + 8]
call fcn.005c6060
jmp 0x5c9afe
mov rcx, qword [rbp + 0x178]
mov rdx, qword [rbp + 0x160]
movzx r8, byte [rbp + 0x16f]
mov rax, qword [rbp + 0x160]
lea r9, [rax + 6]
call fcn.005c6060
mov rcx, qword [rbp + 0x160]
mov rax, qword [rbp + 0x1b0]
lea rdx, [rax + 0x6a]
movzx r8, byte [rbp + 0x16e]
mov rax, qword [rbp + 0x160]
lea r9, [rax + 0xe]
call fcn.005c6060
jmp 0x5c9afe
mov rcx, qword [rbp + 0x178]
mov rdx, qword [rbp + 0x160]
movzx r8, byte [rbp + 0x16f]
mov rax, qword [rbp + 0x160]
lea r9, [rax + 6]
call fcn.005c6060
mov rcx, qword [rbp + 0x160]
mov rax, qword [rbp + 0x1b0]
lea rdx, [rax + 0x6a]
mov r8b, 7
xor r9, r9
call fcn.005c6060
jmp 0x5c9afe
mov rcx, qword [rbp + 0x178]
mov rax, qword [rbp + 0x1b0]
lea rdx, [rax + 0x6a]
mov r8b, 7
xor r9, r9
call fcn.005c6060
mov rax, qword [rbp + 0x150]
movsxd rcx, dword [rbp + 0x84]
lea rcx, [rax + rcx]
mov rax, qword [rbp + 0x178]
movzx rdx, byte [rbp + 0x177]
lea rdx, [rax + rdx]
mov r8b, 7
xor r9, r9
call fcn.005c6060
mov rax, qword [rbp + 0x1b0]
mov rcx, qword [rbp + 0x70]
mov qword [rax + 0x12], rcx
mov rcx, qword [rbp + 0x70]
mov edx, dword [0x006953a8]
mov r8d, 0x40
call fcn.005c5100
mov rcx, qword [rbp + 0x1b0]
mov edx, 0x9b
mov r8d, 0x40
call fcn.005c5100
nop
mov rcx, qword [rbp + 0x178]
movzx rdx, byte [rbp + 0x177]
mov r8d, dword [rbp + 0x170]
call fcn.005c5100
mov eax, dword [0x006932b4]
add eax, 1
cmp dword [0x006932b4], eax
jne 0x5c9bb1
mov ecx, dword [0x006931f8]
mov edx, dword [0x00693420]
mov r8d, dword [0x00693500]
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov eax, dword [0x00693280]
add eax, 1
cmp dword [0x00693280], eax
jne 0x5c9bda
mov ecx, dword [0x006942cc]
mov edx, dword [0x00693400]
mov r8d, dword [0x00693504]
call sub.kernel32.dll_GetDiskFreeSpaceExW
lea rsp, [rbp + 0x180]
pop rbx
pop rdi
pop rbp
ret