Function at 0x61f350
Capabilities:
Get disk size

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
mov rbp, rsp
mov rax, rcx
mov rsi, rdx
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x48], rbp
lea rdi, [rbp + 0x78]
mov ecx, 8
rep movsq qword [rdi], qword [rsi]
mov qword [rbp + 0xf0], rax
nop
mov eax, dword [0x00698e6c]
mov dword [0x0069812c], eax
mov eax, dword [0x00696e70]
cmp eax, dword [0x00697e70]
je 0x61f3b3
mov eax, dword [0x00696e70]
mov dword [0x00697e70], eax
mov eax, dword [0x006974b8]
add eax, dword [0x00698964]
mov ecx, dword [0x006965d0]
add ecx, dword [0x00696e58]
cmp ecx, eax
jle 0x61f3db
mov ecx, dword [0x00698964]
mov dword [0x006965d0], ecx
mov ecx, dword [0x006965d0]
add ecx, dword [0x00696e58]
cmp ecx, eax
jle 0x61f3f7
mov eax, dword [0x00698964]
mov dword [0x006965d0], eax
mov eax, dword [0x00697484]
cmp eax, dword [0x00698130]
je 0x61f411
mov eax, dword [0x00697484]
mov dword [0x00698130], eax
mov eax, dword [0x006931c4]
add eax, dword [0x006933e0]
mov ecx, dword [0x00693560]
add ecx, dword [0x00694110]
cmp eax, ecx
jle 0x61f437
mov dword [0x006931c4], 0xa5
call fcn.005f7f60
mov eax, dword [0x006931c4]
add eax, dword [0x006933e0]
mov ecx, dword [0x00693560]
add ecx, dword [0x00694110]
cmp eax, ecx
jle 0x61f462
mov dword [0x006931c4], 0xa5
mov eax, dword [0x00696cb4]
cmp eax, dword [0x006978c0]
je 0x61f47c
mov eax, dword [0x00696cb4]
mov dword [0x006978c0], eax
mov eax, dword [0x006962d8]
add eax, dword [0x00696a78]
mov ecx, dword [0x00697468]
add ecx, dword [0x00698114]
cmp eax, ecx
jle 0x61f4a4
mov eax, dword [0x00698114]
mov dword [0x006962d8], eax
mov dword [0x006932a8], 0x2ff
mov eax, dword [0x006932a8]
sub eax, 0x1a1
mov dword [0x006934bc], eax
mov eax, dword [0x00698e38]
mov dword [0x006980f8], eax
mov rcx, qword [rbp + 0xf0]
call fcn.0040e970
nop
mov eax, dword [0x006965b4]
add eax, dword [0x00696cd4]
mov ecx, dword [0x0069749c]
add ecx, dword [0x00698144]
cmp eax, ecx
jle 0x61f501
mov eax, dword [0x00698144]
mov dword [0x006965b4], eax
mov eax, dword [0x00693440]
add eax, 1
cmp dword [0x00693440], eax
jne 0x61f528
mov eax, dword [0x00697454]
test eax, eax
jge 0x61f521
call fcn.0040afc0
mov ecx, eax
call sub.kernel32.dll_SetConsoleKeyShortcuts
mov eax, dword [0x006962ec]
mov dword [0x00695bf0], eax
call fcn.005f3a00
mov dword [0x006932ac], 0x300
mov eax, dword [0x006932ac]
sub eax, 0x1a2
mov dword [0x006934c0], eax
mov eax, dword [0x006932dc]
add eax, dword [0x006934f0]
mov ecx, dword [0x00694100]
add ecx, dword [0x006958d8]
cmp eax, ecx
jle 0x61f57b
mov dword [0x006932dc], 0x51
mov eax, dword [0x00693414]
add eax, 1
cmp dword [0x00693414], eax
jne 0x61f5f9
mov eax, dword [0x006958dc]
test eax, eax
jge 0x61f59b
call fcn.0040afc0
mov ecx, dword [0x006962d4]
test ecx, ecx
jge 0x61f5aa
call fcn.0040afc0
mov edx, dword [0x00696e6c]
test edx, edx
jge 0x61f5b9
call fcn.0040afc0
mov r8d, dword [0x00697e6c]
test r8d, r8d
jge 0x61f5ca
call fcn.0040afc0
mov r9d, dword [0x00698e50]
test r9d, r9d
jge 0x61f5db
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 [0x0069390c]
add eax, 1
cmp dword [0x0069390c], eax
jne 0x61f620
mov eax, dword [0x00698b28]
test eax, eax
jge 0x61f619
call fcn.0040afc0
mov ecx, eax
call sub.kernel32.dll_SetConsoleKeyShortcuts
mov ebx, 7
lea rax, [rbp + 0x78]
mov qword [rbp + 0x58], rax
mov byte [rbp + 0x69], 0xff
call fcn.004096f0
movzx rcx, byte [rbp + 0x69]
call fcn.00409720
cmp eax, 0xff
jbe 0x61f64e
call fcn.0040afc0
mov byte [rbp + 0x69], al
mov rax, qword [rbp + 0x58]
movzx rcx, byte [rbp + 0x69]
mov byte [rax], cl
add qword [rbp + 0x58], 1
sub ebx, 1
test ebx, ebx
jne 0x61f62e
nop
mov ebx, 0xe
lea rax, [rbp + 0x6a]
mov qword [rbp + 0x58], rax
mov byte [rbp + 0x69], 0xff
call fcn.004096f0
movzx rcx, byte [rbp + 0x69]
call fcn.00409720
cmp eax, 0xff
jbe 0x61f697
call fcn.0040afc0
mov byte [rbp + 0x69], al
mov rax, qword [rbp + 0x58]
movzx rcx, byte [rbp + 0x69]
mov byte [rax], cl
add qword [rbp + 0x58], 1
sub ebx, 1
test ebx, ebx
jne 0x61f677
nop
mov byte [rbp + 0x69], 0xd
call fcn.004096f0
movzx rcx, byte [rbp + 0x69]
call fcn.00409720
cmp eax, 0xff
jbe 0x61f6d2
call fcn.0040afc0
mov byte [rbp + 0x69], al
mov eax, dword [0x00693550]
add eax, 1
cmp dword [0x00693550], eax
jne 0x61f73d
mov eax, dword [0x00698f98]
test eax, eax
jge 0x61f6f5
call fcn.0040afc0
mov ecx, dword [0x0069580c]
test ecx, ecx
jge 0x61f704
call fcn.0040afc0
mov edx, dword [0x00695bf0]
test edx, edx
jge 0x61f713
call fcn.0040afc0
mov r8d, dword [0x00696598]
test r8d, r8d
jge 0x61f724
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 [0x00693504]
add eax, 1
cmp dword [0x00693504], eax
jne 0x61f7bb
mov eax, dword [0x006968ac]
test eax, eax
jge 0x61f75d
call fcn.0040afc0
mov ecx, dword [0x006978ec]
test ecx, ecx
jge 0x61f76c
call fcn.0040afc0
mov edx, dword [0x00698d3c]
test edx, edx
jge 0x61f77b
call fcn.0040afc0
mov r8d, dword [0x006932c8]
test r8d, r8d
jge 0x61f78c
call fcn.0040afc0
mov r9d, dword [0x00693540]
test r9d, r9d
jge 0x61f79d
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 rcx, qword [0x004d2058]
mov dl, 1
call fcn.0040b440
mov qword [rbp + 0xb8], rax
nop
call fcn.00604b30
cmp eax, dword [0x006931d8]
jle 0x61f7e8
mov dword [0x006931d8], 0x56
mov eax, dword [0x00698e7c]
mov dword [0x0069813c], eax
mov eax, dword [0x00698e7c]
mov dword [0x0069813c], eax
mov eax, dword [0x00696cb8]
cmp eax, dword [0x006978c4]
je 0x61f81a
mov eax, dword [0x00696cb8]
mov dword [0x006978c4], eax
call fcn.00614990
cmp eax, dword [0x006931d4]
jle 0x61f831
mov dword [0x006931d4], 0x54
mov eax, dword [0x00695d6c]
mov dword [0x006958a4], eax
call fcn.006187e0
cmp eax, dword [0x006932b0]
jle 0x61f854
mov dword [0x006932b0], 0x74
mov eax, dword [0x00698e90]
mov dword [0x0069877c], eax
movzx rbx, byte [rbp + 0x69]
add ebx, 0x40
mov rcx, qword [rbp + 0xb8]
mov edx, ebx
mov rax, qword [rbp + 0xb8]
mov rsi, qword [rax]
call qword [rsi + 8]
mov eax, dword [0x00698e90]
mov dword [0x0069877c], eax
mov eax, dword [0x00697494]
cmp eax, dword [0x0069813c]
je 0x61f8a4
mov eax, dword [0x00697494]
mov dword [0x0069813c], eax
mov eax, dword [0x00693288]
mov dword [0x00698e50], eax
mov eax, dword [0x00693288]
mov dword [0x00698e50], eax
mov eax, dword [0x006968b8]
cmp eax, dword [0x0069744c]
je 0x61f8d6
mov eax, dword [0x006968b8]
mov dword [0x0069744c], eax
call fcn.00618050
cmp eax, dword [0x006932ac]
jle 0x61f8ed
mov dword [0x006932ac], 0x8c
mov eax, dword [0x00693288]
mov dword [0x00698e50], eax
mov rcx, qword [rbp + 0xb8]
xor edx, edx
xor r8, r8
mov rax, qword [rbp + 0xb8]
mov rax, qword [rax]
call qword [rax + 0x48]
mov eax, dword [0x00693288]
mov dword [0x00698e50], eax
mov eax, dword [0x006974b4]
cmp eax, dword [0x00698960]
je 0x61f938
mov eax, dword [0x006974b4]
mov dword [0x00698960], eax
mov dword [0x006932ac], 0x300
mov eax, dword [0x006932ac]
sub eax, 0x1a2
mov dword [0x006934c0], eax
mov eax, dword [0x00698e6c]
mov dword [0x0069812c], eax
mov dword [0x006932ac], 0x300
mov eax, dword [0x006932ac]
sub eax, 0x1a2
mov dword [0x006934bc], eax
mov eax, dword [0x0069394c]
add eax, 1
cmp dword [0x0069394c], eax
jne 0x61f9fa
mov eax, dword [0x00698968]
test eax, eax
jge 0x61f99c
call fcn.0040afc0
mov ecx, dword [0x006933d0]
test ecx, ecx
jge 0x61f9ab
call fcn.0040afc0
mov edx, dword [0x0069409c]
test edx, edx
jge 0x61f9ba
call fcn.0040afc0
mov r8d, dword [0x0069593c]
test r8d, r8d
jge 0x61f9cb
call fcn.0040afc0
mov r9d, dword [0x00696158]
test r9d, r9d
jge 0x61f9dc
call fcn.0040afc0
mov r10d, ecx
mov r11d, edx
mov esi, r8d
mov dword [rsp + 0x20], r9d
mov ecx, eax
mov edx, r10d
mov r8d, r11d
mov r9d, esi
call sub.kernel32.dll_LockFile
mov rcx, qword [rbp + 0xb8]
lea rdx, [rbp + 0x78]
mov r8d, 0x40
call fcn.004fbd70
mov eax, dword [0x00698b34]
mov dword [0x006980e4], eax
mov rcx, qword [rbp + 0xb8]
lea rdx, [rbp + 0x6a]
movzx r8, byte [rbp + 0x69]
call fcn.004fbd70
mov eax, dword [0x00695bd0]
add eax, dword [0x00696154]
mov ecx, dword [0x006965d8]
add ecx, dword [0x00696c94]
cmp eax, ecx
jle 0x61fa53
call fcn.004096f0
mov dword [0x006931dc], 0x31c
mov eax, dword [0x006931dc]
sub eax, 0x1a0
mov dword [0x00693304], eax
mov eax, dword [0x006932c4]
add eax, 1
cmp dword [0x006932c4], eax
jne 0x61fac0
mov eax, dword [0x0069810c]
test eax, eax
jge 0x61fa8f
call fcn.0040afc0
mov ecx, dword [0x00693938]
test ecx, ecx
jge 0x61fa9e
call fcn.0040afc0
mov edx, dword [0x006942b4]
test edx, edx
jge 0x61faad
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 [0x00695940]
mov dword [0x00695860], eax
mov eax, dword [0x00693530]
add eax, 1
cmp dword [0x00693530], eax
jne 0x61fb4a
mov eax, dword [0x00698e5c]
test eax, eax
jge 0x61faec
call fcn.0040afc0
mov ecx, dword [0x006933ec]
test ecx, ecx
jge 0x61fafb
call fcn.0040afc0
mov edx, dword [0x006935ec]
test edx, edx
jge 0x61fb0a
call fcn.0040afc0
mov r8d, dword [0x006942c4]
test r8d, r8d
jge 0x61fb1b
call fcn.0040afc0
mov r9d, dword [0x006958f4]
test r9d, r9d
jge 0x61fb2c
call fcn.0040afc0
mov r10d, ecx
mov r11d, edx
mov esi, r8d
mov dword [rsp + 0x20], r9d
mov ecx, eax
mov edx, r10d
mov r8d, r11d
mov r9d, esi
call sub.kernel32.dll_LockFile
call fcn.006036f0
cmp eax, dword [0x00698f88]
jle 0x61fb61
mov dword [0x00698f88], 0x1d
mov eax, dword [0x006934e0]
add eax, 1
cmp dword [0x006934e0], eax
jne 0x61fb88
mov eax, dword [0x00694290]
test eax, eax
jge 0x61fb81
call fcn.0040afc0
mov ecx, eax
call sub.kernel32.dll_SetConsoleKeyShortcuts
mov eax, dword [0x00698988]
mov dword [0x006974d8], eax
mov eax, dword [0x006932b8]
add eax, 1
cmp dword [0x006932b8], eax
jne 0x61fbe5
mov eax, dword [0x00698118]
test eax, eax
jge 0x61fbb4
call fcn.0040afc0
mov ecx, dword [0x006931c8]
test ecx, ecx
jge 0x61fbc3
call fcn.0040afc0
mov edx, dword [0x006933e4]
test edx, edx
jge 0x61fbd2
call fcn.0040afc0
mov r8d, ecx
mov r9d, edx
mov ecx, eax
mov edx, r8d
mov r8d, r9d
call sub.kernel32.dll_GetDiskFreeSpaceExW
lea rcx, [rbp + 0x40]
lea rdx, [0x00693067]
mov r8d, 0xe
mov r9d, 0x2d
call fcn.00597b20
lea rcx, [rbp + 0x38]
mov rax, qword [rbp + 0xb8]
mov rdx, qword [rax + 8]
mov r8d, ebx
call fcn.0061ed40
mov rcx, qword [rbp + 0xf0]
mov rdx, qword [rbp + 0x40]
mov r8, qword [rbp + 0x38]
call fcn.0040f7e0
nop
mov rcx, qword [rbp + 0xb8]
call fcn.0040b500
jmp 0x61fc45
mov eax, dword [0x00698988]
mov dword [0x006974d8], eax
mov eax, dword [0x00696cc8]
cmp eax, dword [0x0069748c]
je 0x61fc6b
mov eax, dword [0x00696cc8]
mov dword [0x0069748c], eax
mov eax, dword [0x006978e8]
mov dword [0x00697440], eax
mov eax, dword [0x006933d0]
add eax, 1
cmp dword [0x006933d0], eax
jne 0x61fcc8
mov eax, dword [0x00696174]
test eax, eax
jge 0x61fc97
call fcn.0040afc0
mov ecx, dword [0x00696cb8]
test ecx, ecx
jge 0x61fca6
call fcn.0040afc0
mov edx, dword [0x006978c4]
test edx, edx
jge 0x61fcb5
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 [0x00695904]
mov dword [0x00695824], eax
mov eax, dword [0x00698994]
mov dword [0x006978c8], eax
mov dword [0x006931f4], 0x323
mov eax, dword [0x006931f4]
sub eax, 0x1a3
mov dword [0x006933a8], eax
mov eax, dword [0x006934d8]
add eax, 1
cmp dword [0x006934d8], eax
jne 0x61fd64
mov eax, dword [0x006932a0]
test eax, eax
jge 0x61fd1c
call fcn.0040afc0
mov ecx, dword [0x00693518]
test ecx, ecx
jge 0x61fd2b
call fcn.0040afc0
mov edx, dword [0x00694128]
test edx, edx
jge 0x61fd3a
call fcn.0040afc0
mov r8d, dword [0x00695880]
test r8d, r8d
jge 0x61fd4b
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 [0x006932e4]
add eax, 1
cmp dword [0x006932e4], eax
jne 0x61fdcc
mov eax, dword [0x00696144]
test eax, eax
jge 0x61fd84
call fcn.0040afc0
mov ecx, dword [0x00696ac0]
test ecx, ecx
jge 0x61fd93
call fcn.0040afc0
mov edx, dword [0x006974b0]
test edx, edx
jge 0x61fda2
call fcn.0040afc0
mov r8d, dword [0x00698960]
test r8d, r8d
jge 0x61fdb3
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 dword [0x006931f4], 0x323
mov eax, dword [0x006931f4]
sub eax, 0x1a3
mov dword [0x006933a8], eax
mov eax, dword [0x006962e0]
cmp eax, dword [0x00696a80]
je 0x61fe02
mov eax, dword [0x006962e0]
mov dword [0x00696a80], eax
nop
lea rcx, [rbp + 0x38]
mov edx, 2
call fcn.0040ea30
mov rax, qword [rbp + 0xf0]
lea rsp, [rbp + 0xc8]
pop rbx
pop rsi
pop rdi
pop rbp
ret