Function at 0x6065b0
Capabilities:
Get disk size

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0xf0
mov rbp, rsp
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x48], rbp
mov qword [rbp + 0x110], rcx
mov qword [rbp + 0x118], rdx
mov byte [rbp + 0x120], r8b
lea rcx, [rbp + 0x110]
call fcn.0040eaf0
nop
mov byte [rbp + 0xe7], 0
nop
lea rcx, [rbp + 0xc8]
lea rdx, [rbp + 0xa0]
call fcn.005cf850
test al, al
je 0x60738e
mov eax, dword [0x006934c0]
add eax, 1
cmp dword [0x006934c0], eax
jne 0x606635
mov eax, dword [0x006933a0]
test eax, eax
jge 0x60662e
call fcn.0040afc0
mov ecx, eax
call sub.kernel32.dll_SetConsoleKeyShortcuts
call fcn.00606430
cmp eax, dword [0x006932ac]
jle 0x60664c
mov dword [0x006932ac], 0x69
mov eax, dword [0x00695ba4]
add eax, dword [0x00696164]
mov ecx, dword [0x006965c4]
add ecx, dword [0x00696cbc]
cmp eax, ecx
jle 0x60666d
call fcn.004096f0
cmp byte [rbp + 0x120], 0
jne 0x606d06
mov eax, dword [0x0069613c]
add eax, dword [0x0069659c]
mov ecx, dword [0x00696c94]
add ecx, dword [0x00697498]
cmp eax, ecx
jle 0x6066a2
mov eax, dword [0x00697498]
mov dword [0x0069613c], eax
lea rcx, [rbp + 0x40]
mov rdx, qword [rbp + 0x110]
call fcn.004108b0
mov rcx, qword [rbp + 0x40]
mov dl, 1
call fcn.0042f710
test al, al
je 0x606a93
mov eax, dword [0x0069613c]
add eax, dword [0x0069659c]
mov ecx, dword [0x00696c94]
add ecx, dword [0x00697498]
cmp eax, ecx
jle 0x6066ed
mov eax, dword [0x00697498]
mov dword [0x0069613c], eax
mov eax, dword [0x006968bc]
cmp eax, dword [0x00697480]
je 0x606707
mov eax, dword [0x006968bc]
mov dword [0x00697480], eax
call fcn.005ffbe0
cmp eax, dword [0x006932ec]
jle 0x60671e
mov dword [0x006932ec], 0x64
mov eax, dword [0x00695d84]
add eax, dword [0x00696310]
mov ecx, dword [0x00696a88]
add ecx, dword [0x00696e64]
cmp eax, ecx
jle 0x606746
mov eax, dword [0x00696e64]
mov dword [0x00695d84], eax
mov eax, dword [0x006978d8]
mov dword [0x00696e60], eax
mov rcx, qword [rbp + 0x110]
call fcn.00410050
mov rbx, rax
mov rcx, rbx
xor edx, edx
lea r8, [rbp + 0x70]
call qword [0x006a8b80]
test eax, eax
je 0x606fd0
call fcn.006011a0
cmp eax, dword [0x006932a4]
jle 0x60678f
mov dword [0x006932a4], 0x67
mov eax, dword [rbp + 0x8c]
mov qword [rbp + 0x68], rax
mov eax, dword [0x006934f4]
add eax, 1
cmp dword [0x006934f4], eax
jne 0x6067ea
mov eax, dword [0x00693534]
test eax, eax
jge 0x6067b9
call fcn.0040afc0
mov ecx, dword [0x00695b9c]
test ecx, ecx
jge 0x6067c8
call fcn.0040afc0
mov edx, dword [0x00696158]
test edx, edx
jge 0x6067d7
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 [0x00693550]
add eax, 1
cmp dword [0x00693550], eax
jne 0x606868
mov eax, dword [0x00695938]
test eax, eax
jge 0x60680a
call fcn.0040afc0
mov ecx, dword [0x00697434]
test ecx, ecx
jge 0x606819
call fcn.0040afc0
mov edx, dword [0x0069810c]
test edx, edx
jge 0x606828
call fcn.0040afc0
mov r8d, dword [0x006933bc]
test r8d, r8d
jge 0x606839
call fcn.0040afc0
mov r9d, dword [0x006935ec]
test r9d, r9d
jge 0x60684a
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.005eb040
shl qword [rbp + 0x68], 0x20
mov eax, dword [0x00695bf0]
mov dword [0x00695898], eax
mov eax, dword [0x00693280]
mov dword [0x00697e74], eax
mov eax, dword [0x00696abc]
add eax, dword [0x00697484]
mov ecx, dword [0x00696128]
add ecx, dword [0x00696588]
cmp ecx, eax
jle 0x6068b2
mov ecx, dword [0x00697484]
mov dword [0x00696128], ecx
mov ecx, dword [0x00696128]
add ecx, dword [0x00696588]
cmp ecx, eax
jle 0x6068ce
mov eax, dword [0x00697484]
mov dword [0x00696128], eax
mov eax, dword [0x00696598]
cmp eax, dword [0x00696c90]
je 0x6068e8
mov eax, dword [0x00696598]
mov dword [0x00696c90], eax
mov eax, dword [0x006978d8]
mov dword [0x00696e60], eax
mov eax, dword [0x00693448]
add eax, 1
cmp dword [0x00693448], eax
jne 0x60695c
mov eax, dword [0x00696e50]
test eax, eax
jge 0x606914
call fcn.0040afc0
mov ecx, dword [0x006931d4]
test ecx, ecx
jge 0x606923
call fcn.0040afc0
mov edx, dword [0x0069341c]
test edx, edx
jge 0x606932
call fcn.0040afc0
mov r8d, dword [0x00693948]
test r8d, r8d
jge 0x606943
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
call fcn.005f3a60
mov eax, dword [rbp + 0x90]
add qword [rbp + 0x68], rax
mov eax, dword [0x00696148]
add eax, dword [0x006965a8]
mov ecx, dword [0x00696ca0]
add ecx, dword [0x0069744c]
cmp eax, ecx
jle 0x606993
mov eax, dword [0x0069744c]
mov dword [0x00696148], eax
mov eax, dword [0x00695918]
mov dword [0x006957f8], eax
mov rcx, rbx
mov edx, 0xc0000000
mov r8d, 3
lea r9, [rbp + 0xc8]
mov dword [rsp + 0x20], 3
mov dword [rsp + 0x28], 0x80
mov qword [rsp + 0x30], 0
call qword [0x006a8c28]
mov ecx, 0xffffffff
cmp rax, rcx
jbe 0x6069e5
call fcn.0040afc0
mov dword [rbp + 0x9c], eax
call qword [0x006a9208]
test eax, eax
jge 0x6069fa
call fcn.0040afc0
mov dword [rbp + 0x5c], eax
mov eax, dword [0x00697c80]
mov dword [0x00696e84], eax
call fcn.005f9240
cmp eax, dword [0x006931b0]
jle 0x606a20
mov dword [0x006931b0], 0x41
call fcn.00606430
cmp eax, dword [0x00693300]
jle 0x606a37
mov dword [0x00693300], 0x7e
mov eax, dword [0x00695b9c]
add eax, dword [0x0069615c]
mov ecx, dword [0x006965bc]
add ecx, dword [0x00696a98]
cmp eax, ecx
jle 0x606a58
call fcn.004096f0
mov eax, dword [0x00698108]
mov dword [0x00697484], eax
mov eax, dword [0x00698108]
mov dword [0x00697484], eax
mov eax, dword [0x00696584]
cmp eax, dword [0x00696ab8]
je 0x606fd0
mov eax, dword [0x00696584]
mov dword [0x00696ab8], eax
jmp 0x606fd0
mov eax, dword [0x006932dc]
mov dword [0x00698114], eax
mov eax, dword [0x00695bac]
add eax, dword [0x0069616c]
mov ecx, dword [0x006965cc]
add ecx, dword [0x00696cc4]
cmp eax, ecx
jle 0x606ac0
call fcn.004096f0
mov eax, dword [0x006958ec]
mov dword [0x006942e4], eax
mov eax, dword [0x00693208]
mov dword [0x00697c80], eax
call fcn.005ea0b0
mov eax, dword [0x00693208]
mov dword [0x00697c80], eax
mov eax, dword [0x006965b8]
cmp eax, dword [0x00696cb0]
je 0x606b03
mov eax, dword [0x006965b8]
mov dword [0x00696cb0], eax
mov dword [0x006932fc], 0x344
mov eax, dword [0x006932fc]
sub eax, 0x1b3
mov dword [0x0069353c], eax
mov dword [0x006932fc], 0x344
mov eax, dword [0x006932fc]
sub eax, 0x1b3
mov dword [0x0069353c], eax
mov eax, dword [0x00696570]
cmp eax, dword [0x00696aa4]
je 0x606b55
mov eax, dword [0x00696570]
mov dword [0x00696aa4], eax
mov rcx, qword [rbp + 0x110]
call fcn.00410050
mov rcx, rax
mov edx, 0xc0000000
mov r8d, 3
lea r9, [rbp + 0xc8]
mov dword [rsp + 0x20], 1
mov dword [rsp + 0x28], 0x80
mov qword [rsp + 0x30], 0
call qword [0x006a8c28]
mov ecx, 0xffffffff
cmp rax, rcx
jbe 0x606ba7
call fcn.0040afc0
mov dword [rbp + 0x9c], eax
call qword [0x006a9208]
test eax, eax
jge 0x606bbc
call fcn.0040afc0
mov dword [rbp + 0x5c], eax
mov eax, dword [0x006931e8]
mov dword [0x006978e0], eax
mov eax, dword [0x006931e8]
mov dword [0x006978e0], eax
mov eax, dword [0x006965d8]
cmp eax, dword [0x00696cd0]
je 0x606bf1
mov eax, dword [0x006965d8]
mov dword [0x00696cd0], eax
mov qword [rbp + 0x68], 0
mov eax, dword [0x00698118]
mov dword [0x00697494], eax
mov eax, dword [0x006934b8]
add eax, 1
cmp dword [0x006934b8], eax
jne 0x606c83
mov eax, dword [0x00697c84]
test eax, eax
jge 0x606c25
call fcn.0040afc0
mov ecx, dword [0x0069355c]
test ecx, ecx
jge 0x606c34
call fcn.0040afc0
mov edx, dword [0x0069413c]
test edx, edx
jge 0x606c43
call fcn.0040afc0
mov r8d, dword [0x006958dc]
test r8d, r8d
jge 0x606c54
call fcn.0040afc0
mov r9d, dword [0x00695c18]
test r9d, r9d
jge 0x606c65
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 [0x00698118]
mov dword [0x00697494], eax
mov eax, dword [0x006965d0]
cmp eax, dword [0x00696aac]
je 0x606ca9
mov eax, dword [0x006965d0]
mov dword [0x00696aac], eax
call fcn.005e7b40
mov eax, dword [0x006931fc]
add eax, dword [0x006933ec]
mov ecx, dword [0x00693548]
add ecx, dword [0x006940d0]
cmp eax, ecx
jle 0x606cd4
mov dword [0x006931fc], 0x52
call fcn.005f7f60
mov eax, dword [0x00698120]
mov dword [0x0069749c], eax
mov dword [0x006932d4], 0x316
mov eax, dword [0x006932d4]
sub eax, 0x1ac
mov dword [0x006934c0], eax
jmp 0x606fd0
mov dword [0x006932d4], 0x316
mov eax, dword [0x006932d4]
sub eax, 0x1ac
mov dword [0x006934c0], eax
mov eax, dword [0x00696310]
cmp eax, dword [0x00696a88]
je 0x606d3c
mov eax, dword [0x00696310]
mov dword [0x00696a88], eax
mov eax, dword [0x00698120]
mov dword [0x0069749c], eax
mov eax, dword [0x006931f0]
add eax, dword [0x006933e4]
mov ecx, dword [0x00693540]
add ecx, dword [0x006940c4]
cmp eax, ecx
jle 0x606d6e
mov dword [0x006931f0], 0x139
mov rcx, qword [rbp + 0x110]
call fcn.00410050
mov rbx, rax
mov rcx, rbx
call qword [0x006a8cf0]
mov eax, dword [0x006931f0]
add eax, dword [0x006933e4]
mov ecx, dword [0x00693540]
add ecx, dword [0x006940c4]
cmp eax, ecx
jle 0x606dac
mov dword [0x006931f0], 0x139
mov eax, dword [0x006965bc]
cmp eax, dword [0x00696e74]
je 0x606dc6
mov eax, dword [0x006965bc]
mov dword [0x00696e74], eax
mov eax, dword [0x00695d9c]
add eax, dword [0x00696570]
mov ecx, dword [0x00696aa0]
add ecx, dword [0x00697468]
cmp eax, ecx
jle 0x606dee
mov eax, dword [0x00697468]
mov dword [0x00695d9c], eax
mov eax, dword [0x006932c8]
mov dword [0x00698100], eax
call fcn.005a2d10
cmp eax, dword [0x006933a8]
jle 0x606e11
mov dword [0x006933a8], 0x84
mov eax, dword [0x006932c8]
mov dword [0x00698100], eax
mov eax, dword [0x006965a0]
cmp eax, dword [0x00696c98]
je 0x606e37
mov eax, dword [0x006965a0]
mov dword [0x00696c98], eax
mov eax, dword [0x006980d4]
mov dword [0x00696e64], eax
call fcn.005ff400
cmp eax, dword [0x00693274]
jle 0x606e5a
mov dword [0x00693274], 0x5b
mov eax, dword [0x006980d4]
mov dword [0x00696e64], eax
mov eax, dword [0x00696890]
cmp eax, dword [0x00696e64]
je 0x606e80
mov eax, dword [0x00696890]
mov dword [0x00696e64], eax
mov rcx, rbx
mov edx, 0xc0000000
mov r8d, 3
lea r9, [rbp + 0xc8]
mov dword [rsp + 0x20], 1
mov dword [rsp + 0x28], 0x80
mov qword [rsp + 0x30], 0
call qword [0x006a8c28]
mov ecx, 0xffffffff
cmp rax, rcx
jbe 0x606ec6
call fcn.0040afc0
mov dword [rbp + 0x9c], eax
call qword [0x006a9208]
test eax, eax
jge 0x606edb
call fcn.0040afc0
mov dword [rbp + 0x5c], eax
mov eax, dword [0x00695bf8]
add eax, dword [0x006962cc]
mov ecx, dword [0x006968a0]
add ecx, dword [0x00696e78]
cmp eax, ecx
jle 0x606eff
call fcn.004096f0
mov qword [rbp + 0x68], 0
call fcn.005fd1c0
cmp eax, dword [0x006931f0]
jle 0x606f1e
mov dword [0x006931f0], 0x52
mov eax, dword [0x006933dc]
add eax, 1
cmp dword [0x006933dc], eax
jne 0x606f9c
mov eax, dword [0x0069744c]
test eax, eax
jge 0x606f3e
call fcn.0040afc0
mov ecx, dword [0x00693298]
test ecx, ecx
jge 0x606f4d
call fcn.0040afc0
mov edx, dword [0x00693530]
test edx, edx
jge 0x606f5c
call fcn.0040afc0
mov r8d, dword [0x0069410c]
test r8d, r8d
jge 0x606f6d
call fcn.0040afc0
mov r9d, dword [0x00696154]
test r9d, r9d
jge 0x606f7e
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
call fcn.005eb040
mov eax, dword [0x00693288]
mov dword [0x00697e7c], eax
call fcn.00604b30
cmp eax, dword [0x006932d8]
jle 0x606fc4
mov dword [0x006932d8], 0x74
mov eax, dword [0x006958f8]
mov dword [0x006942f0], eax
mov eax, dword [0x006958f8]
mov dword [0x006942f0], eax
mov eax, dword [0x00696310]
cmp eax, dword [0x00696a88]
je 0x606ff6
mov eax, dword [0x00696310]
mov dword [0x00696a88], eax
call fcn.005fd1c0
cmp eax, dword [0x006931ec]
jle 0x60700d
mov dword [0x006931ec], 0x51
mov eax, dword [0x0069810c]
mov dword [0x00697488], eax
mov eax, dword [0x0069810c]
mov dword [0x00697488], eax
mov eax, dword [0x00696a8c]
cmp eax, dword [0x00697454]
je 0x60703f
mov eax, dword [0x00696a8c]
mov dword [0x00697454], eax
mov eax, dword [0x00695c18]
add eax, dword [0x006962ec]
mov ecx, dword [0x006968c0]
add ecx, dword [0x0069742c]
cmp eax, ecx
jle 0x607067
mov eax, dword [0x0069742c]
mov dword [0x00695c18], eax
mov dword [0x006932c8], 0x312
mov eax, dword [0x006932c8]
sub eax, 0x1aa
mov dword [0x006934b4], eax
mov eax, dword [0x00693288]
mov dword [0x00697e7c], eax
mov eax, dword [0x00698138]
add eax, dword [0x00693300]
mov ecx, dword [0x0069343c]
add ecx, dword [0x00693910]
cmp eax, ecx
jle 0x6070b5
mov dword [0x00698138], 0x2a
cmp dword [rbp + 0x5c], 0
jne 0x6072f3
mov eax, dword [rbp + 0x9c]
cmp rax, 0xffffffffffffffff
je 0x6072f3
mov eax, dword [0x0069811c]
mov dword [0x00697498], eax
mov eax, dword [0x00696140]
add eax, dword [0x0069659c]
mov ecx, dword [0x00696c94]
add ecx, dword [0x00697440]
cmp eax, ecx
jle 0x607103
mov eax, dword [0x00697440]
mov dword [0x00696140], eax
mov eax, dword [0x00698104]
mov dword [0x00697480], eax
call fcn.005ea870
mov eax, dword [0x00695bd8]
mov dword [0x00695880], eax
mov rcx, qword [rbp + 0x118]
lea rdx, [rbp + 0x68]
mov r8d, 8
xor r9, r9
call qword [0x006a92b0]
cmp eax, 8
jne 0x6072b5
mov eax, dword [0x00693200]
mov dword [0x006978f8], eax
mov eax, dword [0x00693200]
add eax, dword [0x006933f4]
mov ecx, dword [0x006934f8]
add ecx, dword [0x00693974]
cmp eax, ecx
jle 0x607176
mov dword [0x00693200], 0x42
mov ecx, dword [rbp + 0x9c]
mov rdx, qword [rbp + 0x68]
xor r8, r8
xor r9, r9
call qword [0x006a8da0]
mov rcx, qword [rbp + 0x118]
lea rdx, [rbp + 0x60]
mov r8d, 8
xor r9, r9
call qword [0x006a92b8]
cmp eax, 8
jne 0x6072b5
mov ecx, 0x1ff4
call fcn.00409030
mov qword [rbp + 0xe8], rax
nop
jmp 0x607289
cmp byte [0x006922d8], 0
jne 0x607294
cmp qword [rbp + 0x60], 0x1ff4
jle 0x60720e
mov rcx, qword [rbp + 0x118]
mov rdx, qword [rbp + 0xe8]
mov r8d, 0x1ff4
xor r9, r9
call qword [0x006a92b8]
test eax, eax
jge 0x607206
call fcn.0040afc0
mov dword [rbp + 0x98], eax
jmp 0x607255
mov rax, qword [rbp + 0x60]
mov ecx, 0x80000000
lea rcx, [rcx + rax]
mov edx, 0xffffffff
cmp rcx, rdx
jbe 0x60722c
call fcn.0040afc0
mov rcx, qword [rbp + 0x118]
mov rdx, qword [rbp + 0xe8]
mov r8d, eax
xor r9, r9
call qword [0x006a92b8]
test eax, eax
jge 0x60724f
call fcn.0040afc0
mov dword [rbp + 0x98], eax
mov ecx, dword [rbp + 0x9c]
mov rdx, qword [rbp + 0xe8]
mov r8d, dword [rbp + 0x98]
lea r9, [rbp + 0x94]
mov qword [rsp + 0x20], 0
call qword [0x006a8cf8]
mov eax, dword [rbp + 0x98]
sub qword [rbp + 0x60], rax
cmp qword [rbp + 0x60], 0
jg 0x6071c8
nop
cmp qword [rbp + 0x60], 0
jne 0x6072a3
mov byte [rbp + 0xe7], 1
nop
mov rcx, qword [rbp + 0xe8]
call fcn.00409060
call fcn.005ea1d0
mov ecx, dword [rbp + 0x9c]
call qword [0x006a8bc0]
jmp 0x6072f3
mov eax, dword [0x006978e8]
mov dword [0x00696e70], eax
mov eax, dword [0x00696178]
cmp eax, dword [0x006965d8]
je 0x607319
mov eax, dword [0x00696178]
mov dword [0x006965d8], eax
mov eax, dword [0x00698140]
mov dword [0x006978f4], eax
mov eax, dword [0x00693444]
add eax, 1
cmp dword [0x00693444], eax
jne 0x60738d
mov eax, dword [0x006931e0]
test eax, eax
jge 0x607345
call fcn.0040afc0
mov ecx, dword [0x00693530]
test ecx, ecx
jge 0x607354
call fcn.0040afc0
mov edx, dword [0x00694110]
test edx, edx
jge 0x607363
call fcn.0040afc0
mov r8d, dword [0x00695894]
test r8d, r8d
jge 0x607374
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
nop
lea rcx, [rbp + 0x40]
call fcn.0040e920
lea rcx, [rbp + 0x110]
call fcn.0040e9c0
movzx rax, byte [rbp + 0xe7]
lea rsp, [rbp + 0xf0]
pop rbx
pop rsi
pop rbp
ret