Function at 0x602f20
Capabilities:
Get disk size

Disassembly:
push rbp
push rbx
sub rsp, 0x8d8
mov rbp, rsp
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x58], rbp
mov qword [rbp + 0x8f0], rcx
nop
mov eax, dword [0x00697444]
mov dword [0x00696a88], eax
mov dword [0x006932f0], 0x324
mov eax, dword [0x006932f0]
sub eax, 0x1b3
mov dword [0x006934d0], eax
call fcn.005f3a00
mov eax, dword [0x006978e8]
mov dword [0x00696e78], eax
call fcn.005fd9c0
cmp eax, dword [0x006932a0]
jle 0x602fb0
mov dword [0x006932a0], 0x63
mov eax, dword [0x006978e8]
mov dword [0x00696e78], eax
mov eax, dword [0x006965a4]
cmp eax, dword [0x00696a78]
je 0x602fd6
mov eax, dword [0x006965a4]
mov dword [0x00696a78], eax
nop
mov eax, dword [0x00695b90]
add eax, dword [0x00695d7c]
mov ecx, dword [0x00696300]
add ecx, dword [0x006965ec]
cmp eax, ecx
jle 0x602fff
mov eax, dword [0x006965ec]
mov dword [0x00695b90], eax
mov eax, dword [0x00695928]
mov dword [0x00695814], eax
mov eax, dword [0x006932a8]
mov dword [0x006978d8], eax
mov eax, dword [0x00695d80]
add eax, dword [0x00696300]
mov ecx, dword [0x00696a70]
add ecx, dword [0x0069742c]
cmp eax, ecx
jle 0x60303f
mov eax, dword [0x0069742c]
mov dword [0x00695d80], eax
mov eax, dword [0x00693428]
add eax, 1
cmp dword [0x00693428], eax
jne 0x603090
mov eax, dword [0x00693564]
test eax, eax
jge 0x60305f
call fcn.0040afc0
mov ecx, dword [0x00695804]
test ecx, ecx
jge 0x60306e
call fcn.0040afc0
mov edx, dword [0x00695ba4]
test edx, edx
jge 0x60307d
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 [0x00693900]
add eax, 1
cmp dword [0x00693900], eax
jne 0x6030f8
mov eax, dword [0x00695d9c]
test eax, eax
jge 0x6030b0
call fcn.0040afc0
mov ecx, dword [0x00696890]
test ecx, ecx
jge 0x6030bf
call fcn.0040afc0
mov edx, dword [0x00697448]
test edx, edx
jge 0x6030ce
call fcn.0040afc0
mov r8d, dword [0x006931ec]
test r8d, r8d
jge 0x6030df
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 [0x00697490]
mov dword [0x00696c98], eax
mov rax, qword [rbp + 0x8f0]
mov rcx, qword [rax]
call fcn.004fd260
mov ecx, 0xf
xor edx, edx
call qword [0x006a8be8]
mov qword [rbp + 0x8c8], rax
cmp qword [rbp + 0x8c8], 0
je 0x603688
mov dword [rbp + 0x690], 0x238
mov rcx, qword [rbp + 0x8c8]
lea rdx, [rbp + 0x690]
call qword [0x006a8bf0]
test eax, eax
je 0x603466
nop
mov byte [rbp + 0x67], 1
mov ecx, 0x400
xor edx, edx
mov r8d, dword [rbp + 0x698]
call qword [0x006a8bd0]
mov rcx, rax
lea rdx, [rbp + 0x67]
call qword [0x006a8b90]
cmp byte [rbp + 0x67], 0
je 0x603195
mov dword [rbp + 0x684], 0x20
jmp 0x60319f
mov dword [rbp + 0x684], 0x40
lea rcx, [rbp + 0x40]
lea rdx, [rbp + 0x6bc]
mov r8d, 0x104
call fcn.00410830
lea rcx, [rbp + 0x48]
mov rdx, qword [rbp + 0x40]
call fcn.004300a0
lea rcx, [rbp + 0x50]
mov rdx, qword [rbp + 0x48]
call fcn.0042d7c0
lea rcx, [rbp + 0x68]
mov rdx, qword [rbp + 0x50]
call fcn.00430440
lea rcx, [rbp + 0x38]
mov edx, dword [rbp + 0x698]
call fcn.005a40a0
lea rcx, [rbp + 0x270]
mov rdx, qword [rbp + 0x38]
call fcn.00430440
mov eax, dword [rbp + 0x680]
test eax, eax
jge 0x60320b
call fcn.0040afc0
lea rcx, [rbp + 0x30]
mov edx, eax
call fcn.005a4400
lea rcx, [rbp + 0x478]
mov rdx, qword [rbp + 0x30]
call fcn.00430440
mov eax, dword [0x006933f4]
add eax, 1
cmp dword [0x006933f4], eax
jne 0x6032a4
mov eax, dword [0x0069429c]
test eax, eax
jge 0x603246
call fcn.0040afc0
mov ecx, dword [0x00696180]
test ecx, ecx
jge 0x603255
call fcn.0040afc0
mov edx, dword [0x00696aa8]
test edx, edx
jge 0x603264
call fcn.0040afc0
mov r8d, dword [0x006974b8]
test r8d, r8d
jge 0x603275
call fcn.0040afc0
mov r9d, dword [0x00693208]
test r9d, r9d
jge 0x603286
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 eax, dword [0x006933a8]
add eax, 1
cmp dword [0x006933a8], eax
jne 0x603322
mov eax, dword [0x00695894]
test eax, eax
jge 0x6032c4
call fcn.0040afc0
mov ecx, dword [0x00696194]
test ecx, ecx
jge 0x6032d3
call fcn.0040afc0
mov edx, dword [0x00696a6c]
test edx, edx
jge 0x6032e2
call fcn.0040afc0
mov r8d, dword [0x00696e90]
test r8d, r8d
jge 0x6032f3
call fcn.0040afc0
mov r9d, dword [0x006931cc]
test r9d, r9d
jge 0x603304
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 eax, dword [rbp + 0x698]
test eax, eax
jge 0x603331
call fcn.0040afc0
mov dword [rbp + 0x680], eax
mov eax, dword [0x00696164]
add eax, dword [0x006965b8]
mov ecx, dword [0x00696ca4]
add ecx, dword [0x006974a0]
cmp eax, ecx
jle 0x60335f
mov eax, dword [0x006974a0]
mov dword [0x00696164], eax
mov eax, dword [0x006978bc]
mov dword [0x00696e4c], eax
mov eax, dword [0x006933d0]
add eax, 1
cmp dword [0x006933d0], eax
jne 0x603392
mov eax, dword [0x006974cc]
test eax, eax
jge 0x60338b
call fcn.0040afc0
mov ecx, eax
call sub.kernel32.dll_SetConsoleKeyShortcuts
mov eax, dword [0x006931f4]
add eax, dword [0x006933dc]
mov ecx, dword [0x0069352c]
add ecx, dword [0x006940a8]
cmp eax, ecx
jle 0x6033b8
mov dword [0x006931f4], 0x156
mov eax, dword [0x00693538]
add eax, 1
cmp dword [0x00693538], eax
jne 0x6033df
mov eax, dword [0x006940e4]
test eax, eax
jge 0x6033d8
call fcn.0040afc0
mov ecx, eax
call sub.kernel32.dll_SetConsoleKeyShortcuts
call fcn.005e8010
mov eax, dword [0x006932c0]
mov dword [0x006978f0], eax
call fcn.005e6b80
mov eax, dword [rbp + 0x680]
test eax, eax
jge 0x603404
call fcn.0040afc0
mov ecx, eax
lea rdx, [rbp + 0x688]
call qword [0x006a8d10]
cmp dword [rbp + 0x688], 0
jge 0x603426
mov dword [rbp + 0x688], 0xffffffff
mov rax, qword [rbp + 0x8f0]
mov rcx, qword [rax]
lea rdx, [rbp + 0x68]
mov r8d, 0x628
call fcn.004fbd70
jmp 0x60344a
mov rcx, qword [rbp + 0x8c8]
lea rdx, [rbp + 0x690]
call qword [0x006a8bf8]
test eax, eax
jne 0x60315c
mov rcx, qword [rbp + 0x8c8]
call qword [0x006a8bc0]
jmp 0x603533
mov eax, dword [0x00697e7c]
mov dword [0x00697448], eax
mov eax, dword [0x00696184]
cmp eax, dword [0x00696584]
je 0x603559
mov eax, dword [0x00696184]
mov dword [0x00696584], eax
mov eax, dword [0x006932e4]
add eax, 1
cmp dword [0x006932e4], eax
jne 0x6035d7
mov eax, dword [0x006934ec]
test eax, eax
jge 0x603579
call fcn.0040afc0
mov ecx, dword [0x006942a4]
test ecx, ecx
jge 0x603588
call fcn.0040afc0
mov edx, dword [0x00695888]
test edx, edx
jge 0x603597
call fcn.0040afc0
mov r8d, dword [0x00695d6c]
test r8d, r8d
jge 0x6035a8
call fcn.0040afc0
mov r9d, dword [0x006962f0]
test r9d, r9d
jge 0x6035b9
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 eax, dword [0x00695934]
add eax, dword [0x00696120]
mov ecx, dword [0x006962dc]
add ecx, dword [0x006968a4]
cmp eax, ecx
jle 0x6035ff
mov eax, dword [0x006968a4]
mov dword [0x00695934], eax
mov eax, dword [0x00695ba0]
add eax, dword [0x00696154]
mov ecx, dword [0x006965a8]
add ecx, dword [0x00696e50]
cmp eax, ecx
jle 0x603620
call fcn.004096f0
mov eax, dword [0x0069581c]
mov dword [0x006940f8], eax
mov eax, dword [0x006933c4]
add eax, 1
cmp dword [0x006933c4], eax
jne 0x603653
mov eax, dword [0x00695858]
test eax, eax
jge 0x60364c
call fcn.0040afc0
mov ecx, eax
call sub.kernel32.dll_SetConsoleKeyShortcuts
mov eax, dword [0x006974a4]
mov dword [0x00696cac], eax
mov eax, dword [0x00695ba0]
add eax, dword [0x00696154]
mov ecx, dword [0x006965ac]
add ecx, dword [0x00696c98]
cmp eax, ecx
jle 0x603687
mov eax, dword [0x00696c98]
mov dword [0x00695ba0], eax
nop
lea rcx, [rbp + 0x30]
mov edx, 5
call fcn.0040ea00
lea rsp, [rbp + 0x8d8]
pop rbx
pop rbp
ret