Function at 0x5e6bd0
Capabilities:
Get disk size

Disassembly:
push rbp
push rbx
sub rsp, 0x78
mov rbp, rsp
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x38], rbp
mov qword [rbp + 0x90], rcx
mov qword [rbp + 0x98], rdx
lea rcx, [rbp + 0x98]
call fcn.0040eaf0
nop
mov eax, dword [0x00693430]
add eax, 1
cmp dword [0x00693430], eax
jne 0x5e6c86
mov eax, dword [0x00696ce0]
test eax, eax
jge 0x5e6c28
call fcn.0040afc0
mov ecx, dword [0x00693978]
test ecx, ecx
jge 0x5e6c37
call fcn.0040afc0
mov edx, dword [0x006942e8]
test edx, edx
jge 0x5e6c46
call fcn.0040afc0
mov r8d, dword [0x00695908]
test r8d, r8d
jge 0x5e6c57
call fcn.0040afc0
mov r9d, dword [0x00696118]
test r9d, r9d
jge 0x5e6c68
call fcn.0040afc0
mov r10d, ecx
mov r11d, edx
mov ebx, r8d
mov dword [rsp + 0x20], r9d
mov ecx, eax
mov edx, r10d
mov r8d, r11d
mov r9d, ebx
call sub.kernel32.dll_LockFile
mov byte [rbp + 0x6f], 0
nop
lea rcx, [rbp + 0x30]
mov rdx, qword [rbp + 0x98]
call fcn.004108b0
mov cx, 0x5c
mov rdx, qword [rbp + 0x30]
call fcn.005e4030
mov dword [rbp + 0x5c], eax
cmp dword [rbp + 0x5c], 0
jle 0x5e6d68
lea rcx, [rbp + 0x60]
mov rdx, qword [rbp + 0x98]
mov r8d, 1
mov r9d, dword [rbp + 0x5c]
sub r9d, 1
call fcn.00410530
mov rcx, qword [rbp + 0x60]
call fcn.00410050
mov rcx, qword [rbp + 0x90]
mov rdx, rax
xor r8, r8
mov r9d, 0x20006
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
call qword [0x006a8f40]
test eax, eax
jne 0x5e6d68
mov dword [rbp + 0x4c], 0
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x5e6d20
mov eax, dword [rax - 4]
shr eax, 1
mov dword [rbp + 0x4c], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [rbp + 0x98]
mov r8d, dword [rbp + 0x5c]
add r8d, 1
mov r9d, dword [rbp + 0x4c]
sub r9d, dword [rbp + 0x5c]
call fcn.00410530
mov rcx, qword [rbp + 0x60]
call fcn.00410050
mov rcx, qword [rbp + 0x50]
mov rdx, rax
call qword [0x006a8f78]
test eax, eax
sete al
mov byte [rbp + 0x6f], al
mov rcx, qword [rbp + 0x50]
call qword [0x006a8f50]
mov eax, dword [0x006932d8]
add eax, 1
cmp dword [0x006932d8], eax
jne 0x5e6db9
mov eax, dword [0x00693508]
test eax, eax
jge 0x5e6d88
call fcn.0040afc0
mov ecx, dword [0x006958e4]
test ecx, ecx
jge 0x5e6d97
call fcn.0040afc0
mov edx, dword [0x00695d80]
test edx, edx
jge 0x5e6da6
call fcn.0040afc0
mov r8d, ecx
mov r9d, edx
mov ecx, eax
mov edx, r8d
mov r8d, r9d
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov eax, dword [0x0069587c]
add eax, dword [0x00695ba8]
mov ecx, dword [0x00696180]
add ecx, dword [0x006965b0]
cmp eax, ecx
jle 0x5e6de1
mov eax, dword [0x006965b0]
mov dword [0x0069587c], eax
mov eax, dword [0x0069591c]
mov dword [0x00695828], eax
mov eax, dword [0x00693294]
mov dword [0x00696c98], eax
call fcn.005d2100
call fcn.005dade0
cmp eax, dword [0x006931f8]
jle 0x5e6e15
mov dword [0x006931f8], 0x49
mov dword [0x006931bc], 0x2f4
mov eax, dword [0x006931bc]
sub eax, 0x18d
mov dword [0x006932a8], eax
mov eax, dword [0x0069583c]
add eax, dword [0x00695930]
mov ecx, dword [0x00695bf4]
add ecx, dword [0x00696188]
cmp eax, ecx
jle 0x5e6e63
mov eax, dword [0x00696188]
mov dword [0x0069583c], eax
jmp 0x5e6e63
call fcn.005d3730
nop
lea rcx, [rbp + 0x30]
call fcn.0040e920
lea rcx, [rbp + 0x60]
call fcn.0040e9c0
lea rcx, [rbp + 0x98]
call fcn.0040e9c0
movzx rax, byte [rbp + 0x6f]
lea rsp, [rbp + 0x78]
pop rbx
pop rbp
ret