Function at 0x5a81d0
Capabilities:
Get disk size

Disassembly:
push rbp
push rbx
sub rsp, 0x78
mov rbp, rsp
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x48], rbp
mov qword [rbp + 0x90], rcx
mov dword [rbp + 0x98], edx
nop
mov eax, dword [0x006935ec]
mov dword [0x0069352c], eax
mov eax, dword [0x00693450]
cmp eax, dword [0x006934e4]
je 0x5a8229
mov eax, dword [0x00693450]
mov dword [0x006934e4], eax
mov eax, dword [0x006933e8]
add eax, dword [0x00693424]
mov ecx, dword [0x006934bc]
add ecx, dword [0x006934f8]
cmp eax, ecx
jle 0x5a824a
call fcn.004096f0
mov eax, dword [0x006931d0]
mov dword [0x006935ec], eax
mov eax, dword [0x006932a4]
add eax, 1
cmp dword [0x006932a4], eax
jne 0x5a8290
mov ecx, dword [0x006934f0]
mov edx, dword [0x006935ec]
mov r8d, dword [0x006931cc]
mov r9d, dword [0x00693280]
mov eax, dword [0x006932d4]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov eax, dword [0x006931e4]
add eax, 1
cmp dword [0x006931e4], eax
jne 0x5a82ca
mov ecx, dword [0x006932a0]
mov edx, dword [0x00693308]
mov r8d, dword [0x006933ec]
mov r9d, dword [0x0069342c]
mov eax, dword [0x006934ec]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
nop
mov eax, dword [rbp + 0x98]
mov dword [rbp + 0x6c], eax
mov eax, dword [0x006932a0]
add eax, 1
cmp dword [0x006932a0], eax
jne 0x5a82fd
mov ecx, dword [0x006932ac]
mov edx, dword [0x00693448]
mov r8d, dword [0x00693508]
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov rcx, qword [rbp + 0x90]
call fcn.0040e970
mov eax, dword [0x0069328c]
add eax, 1
cmp dword [0x0069328c], eax
jne 0x5a8343
mov ecx, dword [0x00693294]
mov edx, dword [0x00693430]
mov r8d, dword [0x00693504]
mov r9d, dword [0x00693558]
mov eax, dword [0x006931d0]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov bl, 4
lea rax, [rbp + 0x6c]
mov qword [rbp + 0x58], rax
lea rcx, [rbp + 0x38]
mov rax, qword [rbp + 0x90]
mov rdx, qword [rax]
call fcn.00410880
lea rcx, [rbp + 0x30]
mov rax, qword [rbp + 0x58]
movzx rdx, byte [rax]
call fcn.0042e830
lea rcx, [rbp + 0x40]
mov edx, 3
mov r8, qword [rbp + 0x38]
mov r9, qword [rbp + 0x30]
lea rax, [0x005a853c]
mov qword [rsp + 0x20], rax
call fcn.00410ca0
mov rcx, qword [rbp + 0x90]
mov rdx, qword [rbp + 0x40]
xor r8, r8
call fcn.0040fe00
add qword [rbp + 0x58], 1
sub bl, 1
test bl, bl
jne 0x5a834d
nop
mov dword [0x006931e4], 0x327
mov eax, dword [0x006931e4]
sub eax, 0x1b5
mov dword [0x00693284], eax
call fcn.005a6ff0
call fcn.005a7cd0
cmp eax, dword [0x006937fc]
jle 0x5a83ec
mov dword [0x006937fc], 0xd
mov eax, dword [0x00693544]
mov dword [0x00693508], eax
mov eax, dword [0x00693544]
mov dword [0x00693508], eax
mov eax, dword [0x006934c4]
cmp eax, dword [0x006934ec]
je 0x5a841e
mov eax, dword [0x006934c4]
mov dword [0x006934ec], eax
call fcn.005a72d0
mov eax, dword [0x0069343c]
add eax, dword [0x006934d4]
mov ecx, dword [0x00693510]
add ecx, dword [0x00693550]
cmp eax, ecx
jle 0x5a844b
mov eax, dword [0x00693550]
mov dword [0x0069343c], eax
mov dword [0x006931d4], 0x30c
mov eax, dword [0x006931d4]
sub eax, 0x1a8
mov dword [0x00693210], eax
mov dword [rbp + 0x64], 0
mov rax, qword [rbp + 0x90]
mov rax, qword [rax]
test rax, rax
je 0x5a8483
mov eax, dword [rax - 4]
mov dword [rbp + 0x64], eax
mov rcx, qword [rbp + 0x90]
mov edx, dword [rbp + 0x64]
sub edx, 1
xor r8, r8
call fcn.0040fd40
mov eax, dword [0x006931b4]
mov dword [0x00693550], eax
mov eax, dword [0x00693430]
add eax, dword [0x006934c8]
mov ecx, dword [0x00693504]
add ecx, dword [0x00693530]
cmp eax, ecx
jle 0x5a84d6
mov eax, dword [0x00693530]
mov dword [0x00693430], eax
jmp 0x5a84d6
nop
lea rcx, [rbp + 0x30]
mov edx, 3
call fcn.0040ea00
mov rax, qword [rbp + 0x90]
lea rsp, [rbp + 0x78]
pop rbx
pop rbp
ret