Function at 0x65c5e0
Capabilities:
Get disk size

Disassembly:
push rbp
push rbx
sub rsp, 0x68
mov rbp, rsp
mov qword [rbp + 0x28], rbp
mov eax, dword [0x0069b01c]
mov dword [0x0069a9b0], eax
mov eax, dword [0x0069b01c]
mov dword [0x0069a9b0], eax
mov eax, dword [0x006994f0]
cmp eax, dword [0x00699c0c]
je 0x65c61f
mov eax, dword [0x006994f0]
mov dword [0x00699c0c], eax
mov eax, dword [0x00696e64]
add eax, dword [0x0069877c]
mov ecx, dword [0x00698e9c]
add ecx, dword [0x006995e0]
cmp eax, ecx
jle 0x65c640
call fcn.004096f0
mov eax, dword [0x00697c8c]
add eax, dword [0x00698e94]
mov ecx, dword [0x006995d8]
add ecx, dword [0x00699d70]
cmp eax, ecx
jle 0x65c668
mov eax, dword [0x00699d70]
mov dword [0x00697c8c], eax
mov dword [0x006932f0], 0x31b
mov eax, dword [0x006932f0]
sub eax, 0x1a0
mov dword [0x00693510], eax
mov eax, dword [0x0069320c]
mov dword [0x0069aae0], eax
mov eax, dword [0x006980f4]
add eax, dword [0x00698fb8]
mov ecx, dword [0x00699524]
add ecx, dword [0x00699a50]
cmp eax, ecx
jle 0x65c6b8
mov eax, dword [0x00699a50]
mov dword [0x006980f4], eax
mov eax, dword [0x00696120]
mov dword [0x0069583c], eax
call fcn.0063b390
nop
mov dword [rbp + 0x4c], 9
mov eax, dword [0x0069340c]
add eax, 1
cmp dword [0x0069340c], eax
jne 0x65c722
mov eax, dword [0x00699620]
test eax, eax
jge 0x65c6f1
call fcn.0040afc0
mov ecx, dword [0x006932cc]
test ecx, ecx
jge 0x65c700
call fcn.0040afc0
mov edx, dword [0x006940a8]
test edx, edx
jge 0x65c70f
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 [0x00696120]
mov dword [0x0069583c], eax
mov eax, dword [0x00699858]
cmp eax, dword [0x0069a00c]
je 0x65c748
mov eax, dword [0x00699858]
mov dword [0x0069a00c], eax
mov eax, dword [0x006932e0]
mov dword [0x0069ae00], eax
mov eax, dword [0x00693208]
add eax, dword [0x00693524]
mov ecx, dword [0x006942c0]
add ecx, dword [0x00695bd0]
cmp eax, ecx
jle 0x65c77a
mov dword [0x00693208], 0xb2
mov eax, dword [0x006940cc]
add eax, 1
cmp dword [0x006940cc], eax
jne 0x65c7e2
mov eax, dword [0x00695c00]
test eax, eax
jge 0x65c79a
call fcn.0040afc0
mov ecx, dword [0x006980d4]
test ecx, ecx
jge 0x65c7a9
call fcn.0040afc0
mov edx, dword [0x00699374]
test edx, edx
jge 0x65c7b8
call fcn.0040afc0
mov r8d, dword [0x00699890]
test r8d, r8d
jge 0x65c7c9
call fcn.0040afc0
mov r9d, ecx
mov r10d, edx
mov r11d, r8d
mov ecx, eax
mov edx, r9d
mov r8d, r10d
mov r9d, r11d
call sub.advapi32.dll_CryptDuplicateKey
mov ebx, dword [rbp + 0x4c]
add ebx, ebx
add ebx, ebx
movsxd rbx, ebx
mov rcx, rbx
call fcn.00409030
mov qword [rbp + 0x58], rax
call fcn.00640550
call fcn.00647460
mov eax, dword [0x00698998]
mov dword [0x00696ca4], eax
call fcn.0063a2c0
mov eax, dword [0x0069a974]
mov dword [0x00699d8c], eax
mov eax, dword [0x006978f4]
add eax, dword [0x00698af0]
mov ecx, dword [0x006994c8]
add ecx, dword [0x00699be4]
cmp eax, ecx
jle 0x65c840
call fcn.004096f0
mov rcx, rbx
call fcn.00409030
mov qword [rbp + 0x50], rax
mov eax, dword [0x006978f4]
add eax, dword [0x00698af0]
mov ecx, dword [0x006994c8]
add ecx, dword [0x00699be4]
cmp eax, ecx
jle 0x65c86d
call fcn.004096f0
mov eax, dword [0x00699500]
cmp eax, dword [0x00699c1c]
je 0x65c887
mov eax, dword [0x00699500]
mov dword [0x00699c1c], eax
mov eax, dword [0x0069aa74]
mov dword [0x00699d88], eax
call fcn.00658e10
cmp eax, dword [0x006933ec]
jle 0x65c8aa
mov dword [0x006933ec], 0xa2
call fcn.0063da40
mov eax, dword [0x00698100]
mov dword [0x00696ca8], eax
mov eax, dword [0x0069b048]
mov dword [0x0069a9dc], eax
mov dword [0x006931b8], 0x2f0
mov eax, dword [0x006931b8]
sub eax, 0x19a
mov dword [0x006934d8], eax
mov eax, dword [0x0069adfc]
mov dword [0x0069a9b0], eax
xor eax, eax
mov ebx, dword [rbp + 0x4c]
sub ebx, 1
mov dword [rbp + 0x48], eax
cmp dword [rbp + 0x48], ebx
jg 0x65c955
sub ebx, eax
add ebx, 1
lea rax, [0x0069b6e8]
mov qword [rbp + 0x38], rax
lea rax, [0x0069b730]
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x38]
mov rcx, qword [rax]
call fcn.0040fbe0
mov ecx, eax
movsxd rax, dword [rbp + 0x48]
mov rdx, qword [rbp + 0x50]
mov dword [rdx + rax*4], ecx
mov rcx, qword [rbp + 0x58]
mov rdx, qword [rbp + 0x30]
mov edx, dword [rdx]
mov dword [rcx + rax*4], edx
add dword [rbp + 0x48], 1
add qword [rbp + 0x30], 8
add qword [rbp + 0x38], 8
sub ebx, 1
test ebx, ebx
jne 0x65c91a
nop
mov eax, dword [0x0069898c]
add eax, dword [0x0069938c]
mov ecx, dword [0x00699618]
add ecx, dword [0x00699db0]
cmp eax, ecx
jle 0x65c97e
mov eax, dword [0x00699db0]
mov dword [0x0069898c], eax
call fcn.0063da40
mov eax, dword [0x00696e50]
add eax, dword [0x0069813c]
mov ecx, dword [0x006990a8]
add ecx, dword [0x0069985c]
cmp eax, ecx
jle 0x65c9a4
call fcn.004096f0
mov eax, dword [0x00694100]
add eax, 1
cmp dword [0x00694100], eax
jne 0x65ca0c
mov eax, dword [0x00699660]
test eax, eax
jge 0x65c9c4
call fcn.0040afc0
mov ecx, dword [0x0069b050]
test ecx, ecx
jge 0x65c9d3
call fcn.0040afc0
mov edx, dword [0x006942cc]
test edx, edx
jge 0x65c9e2
call fcn.0040afc0
mov r8d, dword [0x006962e4]
test r8d, r8d
jge 0x65c9f3
call fcn.0040afc0
mov r9d, ecx
mov r10d, edx
mov r11d, r8d
mov ecx, eax
mov edx, r9d
mov r8d, r10d
mov r9d, r11d
call sub.advapi32.dll_CryptDuplicateKey
mov eax, dword [0x00698e7c]
add eax, dword [0x00699560]
mov ecx, dword [0x00699d58]
add ecx, dword [0x0069a6a0]
cmp eax, ecx
jle 0x65ca34
mov eax, dword [0x0069a6a0]
mov dword [0x00698e7c], eax
mov eax, dword [0x0069396c]
add eax, 1
cmp dword [0x0069396c], eax
jne 0x65ca85
mov eax, dword [0x00693548]
test eax, eax
jge 0x65ca54
call fcn.0040afc0
mov ecx, dword [0x00695bf4]
test ecx, ecx
jge 0x65ca63
call fcn.0040afc0
mov edx, dword [0x006965e0]
test edx, edx
jge 0x65ca72
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 [rbp + 0x4c]
test eax, eax
jge 0x65ca91
call fcn.0040afc0
mov rcx, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x58]
mov r8d, eax
call fcn.0065ac20
jmp 0x65caab
mov eax, dword [0x0069ade4]
mov dword [0x0069a4fc], eax
mov eax, dword [0x006940fc]
add eax, 1
cmp dword [0x006940fc], eax
jne 0x65cb08
mov eax, dword [0x006965b4]
test eax, eax
jge 0x65cad7
call fcn.0040afc0
mov ecx, dword [0x00699660]
test ecx, ecx
jge 0x65cae6
call fcn.0040afc0
mov edx, dword [0x0069a944]
test edx, edx
jge 0x65caf5
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 [0x0069ade4]
mov dword [0x0069a4fc], eax
mov eax, dword [0x00699c18]
cmp eax, dword [0x0069a97c]
je 0x65cb2e
mov eax, dword [0x00699c18]
mov dword [0x0069a97c], eax
mov eax, dword [0x006980f0]
add eax, dword [0x00698fb4]
mov ecx, dword [0x0069961c]
add ecx, dword [0x00699db4]
cmp eax, ecx
jle 0x65cb56
mov eax, dword [0x00699db4]
mov dword [0x006980f0], eax
mov eax, dword [0x006942fc]
add eax, 1
cmp dword [0x006942fc], eax
jne 0x65cb7d
mov eax, dword [0x00699c20]
test eax, eax
jge 0x65cb76
call fcn.0040afc0
mov ecx, eax
call sub.kernel32.dll_SetConsoleKeyShortcuts
mov eax, dword [0x006978e8]
add eax, dword [0x00698ae4]
mov ecx, dword [0x006994b8]
add ecx, dword [0x00699bd8]
cmp eax, ecx
jle 0x65cb9e
call fcn.004096f0
lea rsp, [rbp + 0x68]
pop rbx
pop rbp
ret