Function at 0x5a8540
Capabilities:
Get disk size

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov rbp, rsp
mov qword [rbp + 0x48], rbp
mov qword [rbp + 0x90], rcx
mov qword [rbp + 0x98], rdx
mov word [rbp + 0xa0], r8w
nop
mov eax, dword [0x006933e0]
add eax, dword [0x0069341c]
mov ecx, dword [0x006934b4]
add ecx, dword [0x006934f0]
cmp eax, ecx
jle 0x5a8587
call fcn.004096f0
mov eax, dword [0x00693800]
mov dword [0x00693548], eax
mov eax, dword [0x00693800]
mov dword [0x00693548], eax
mov eax, dword [0x006934d8]
cmp eax, dword [0x00693518]
je 0x5a85b9
mov eax, dword [0x006934d8]
mov dword [0x00693518], eax
mov eax, dword [0x00693290]
add eax, 1
cmp dword [0x00693290], eax
jne 0x5a85d5
mov ecx, dword [0x00693404]
call sub.kernel32.dll_SetConsoleKeyShortcuts
mov eax, dword [0x006933d8]
add eax, dword [0x00693400]
mov ecx, dword [0x00693440]
add ecx, dword [0x006934d4]
cmp eax, ecx
jle 0x5a85f6
call fcn.004096f0
mov eax, dword [0x006932a4]
add eax, 1
cmp dword [0x006932a4], eax
jne 0x5a8630
mov ecx, dword [0x006932f8]
mov edx, dword [0x006933dc]
mov r8d, dword [0x00693540]
mov r9d, dword [0x006931cc]
mov eax, dword [0x0069327c]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov eax, dword [0x006933d8]
add eax, dword [0x00693400]
mov ecx, dword [0x00693440]
add ecx, dword [0x006934d4]
cmp eax, ecx
jle 0x5a8651
call fcn.004096f0
mov eax, dword [0x00693458]
cmp eax, dword [0x00693504]
je 0x5a866b
mov eax, dword [0x00693458]
mov dword [0x00693504], eax
mov rcx, qword [rbp + 0x98]
xor edx, edx
call fcn.00410520
test eax, eax
jne 0x5a868e
mov rcx, qword [rbp + 0x90]
call fcn.0040e970
jmp 0x5a8738
movzx ebx, word [rbp + 0xa0]
mov rcx, qword [rbp + 0x98]
call fcn.00410050
mov rsi, rax
mov ecx, ebx
mov edx, 0x270
mov r8, rsi
or r9d, 0xffffffff
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
call qword [0x006a8c18]
mov dword [rbp + 0x5c], eax
mov edi, dword [rbp + 0x5c]
sub edi, 1
mov rcx, qword [rbp + 0x90]
mov edx, edi
xor r8, r8
call fcn.0040fd40
cmp dword [rbp + 0x5c], 1
jle 0x5a8738
mov rcx, qword [rbp + 0x90]
call fcn.0040f210
mov ecx, ebx
mov edx, 0x270
mov r8, rsi
or r9d, 0xffffffff
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
call qword [0x006a8c18]
mov eax, dword [0x00693558]
mov dword [0x00693518], eax
mov eax, dword [0x00693414]
add eax, dword [0x00693440]
mov ecx, dword [0x006934d4]
add ecx, dword [0x00693514]
cmp eax, ecx
jle 0x5a876c
mov eax, dword [0x00693514]
mov dword [0x00693414], eax
mov eax, dword [0x006933e0]
add eax, dword [0x0069341c]
mov ecx, dword [0x006934b4]
add ecx, dword [0x006934f0]
cmp eax, ecx
jle 0x5a878d
call fcn.004096f0
mov eax, dword [0x00693280]
add eax, 1
cmp dword [0x00693280], eax
jne 0x5a87b6
mov ecx, dword [0x00693200]
mov edx, dword [0x006932c4]
mov r8d, dword [0x00693450]
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov eax, dword [0x006931d0]
mov dword [0x006935ec], eax
mov eax, dword [0x006931d0]
mov dword [0x006935ec], eax
mov eax, dword [0x00693444]
cmp eax, dword [0x006934dc]
je 0x5a87f2
mov eax, dword [0x00693444]
mov dword [0x006934dc], eax
jmp 0x5a87f2
mov rax, qword [rbp + 0x90]
lea rsp, [rbp + 0x68]
pop rbx
pop rsi
pop rdi
pop rbp
ret