Function at 0x5f16c0
Capabilities:
Get disk size

Disassembly:
push rbp
push rbx
sub rsp, 0x88
mov rbp, rsp
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x68], rbp
nop
mov eax, dword [0x00697490]
mov dword [0x00696ca0], eax
mov eax, dword [0x00697490]
mov dword [0x00696ca0], eax
mov eax, dword [0x00696168]
cmp eax, dword [0x006965b0]
je 0x5f1723
mov eax, dword [0x00696168]
mov dword [0x006965b0], eax
mov eax, dword [0x00695910]
add eax, dword [0x00695d7c]
mov ecx, dword [0x006962f0]
add ecx, dword [0x006968b0]
cmp eax, ecx
jle 0x5f174b
mov eax, dword [0x006968b0]
mov dword [0x00695910], eax
mov eax, dword [0x006932e8]
add eax, 1
cmp dword [0x006932e8], eax
jne 0x5f1772
mov eax, dword [0x00695834]
test eax, eax
jge 0x5f176b
call fcn.0040afc0
mov ecx, eax
call sub.kernel32.dll_SetConsoleKeyShortcuts
call fcn.005ea0b0
cmp eax, dword [0x00693298]
jle 0x5f1789
mov dword [0x00693298], 0x4a
mov eax, dword [0x00697480]
mov dword [0x00696c94], eax
mov eax, dword [0x006933d4]
add eax, 1
cmp dword [0x006933d4], eax
jne 0x5f1813
mov eax, dword [0x00695804]
test eax, eax
jge 0x5f17b5
call fcn.0040afc0
mov ecx, dword [0x00695d78]
test ecx, ecx
jge 0x5f17c4
call fcn.0040afc0
mov edx, dword [0x00696584]
test edx, edx
jge 0x5f17d3
call fcn.0040afc0
mov r8d, dword [0x00696aa4]
test r8d, r8d
jge 0x5f17e4
call fcn.0040afc0
mov r9d, dword [0x006974a4]
test r9d, r9d
jge 0x5f17f5
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 [0x00697480]
mov dword [0x00696c94], eax
mov eax, dword [0x0069619c]
cmp eax, dword [0x006965e4]
je 0x5f1839
mov eax, dword [0x0069619c]
mov dword [0x006965e4], eax
mov byte [rbp + 0x7f], 1
nop
mov eax, dword [0x0069589c]
add eax, dword [0x00695bdc]
mov ecx, dword [0x00696188]
add ecx, dword [0x006965d0]
cmp eax, ecx
jle 0x5f185f
call fcn.004096f0
mov eax, dword [0x00697434]
mov dword [0x00696c98], eax
mov eax, dword [0x006934cc]
add eax, 1
cmp dword [0x006934cc], eax
jne 0x5f18bc
mov eax, dword [0x00693520]
test eax, eax
jge 0x5f188b
call fcn.0040afc0
mov ecx, dword [0x00694130]
test ecx, ecx
jge 0x5f189a
call fcn.0040afc0
mov edx, dword [0x006962e8]
test edx, edx
jge 0x5f18a9
call fcn.0040afc0
mov r8d, ecx
mov r9d, edx
mov ecx, eax
mov edx, r8d
mov r8d, r9d
call sub.kernel32.dll_GetDiskFreeSpaceExW
call fcn.005e3480
call fcn.005dade0
call fcn.005e7700
cmp eax, dword [0x006974b8]
jle 0x5f18dd
mov dword [0x006974b8], 0x33
mov eax, dword [0x00697434]
mov dword [0x00696c98], eax
mov eax, dword [0x006962dc]
cmp eax, dword [0x006965c4]
je 0x5f1903
mov eax, dword [0x006962dc]
mov dword [0x006965c4], eax
call fcn.005e4b70
lea rcx, [rbp + 0x60]
lea rdx, [0x006a84f8]
mov r8d, 0x104
call fcn.0040ff40
lea rcx, [rbp + 0x58]
lea rdx, [0x006a884a]
call fcn.0040ff20
lea rcx, [rbp + 0x60]
mov rdx, qword [rbp + 0x58]
call fcn.00410070
mov rcx, qword [rbp + 0x60]
call fcn.00410050
mov rcx, rax
call qword [0x006a8cf0]
mov eax, dword [0x006931e4]
mov dword [0x00696e90], eax
mov eax, dword [0x006931e4]
mov dword [0x00696e90], eax
mov eax, dword [0x00696170]
cmp eax, dword [0x006965b8]
je 0x5f1980
mov eax, dword [0x00696170]
mov dword [0x006965b8], eax
mov eax, dword [0x006965b4]
add eax, dword [0x00696c94]
mov ecx, dword [0x00695bc4]
add ecx, dword [0x0069616c]
cmp ecx, eax
jle 0x5f19a8
mov ecx, dword [0x00696c94]
mov dword [0x00695bc4], ecx
mov ecx, dword [0x00695bc4]
add ecx, dword [0x0069616c]
cmp ecx, eax
jle 0x5f19c4
mov eax, dword [0x00696c94]
mov dword [0x00695bc4], eax
mov eax, dword [0x00696168]
cmp eax, dword [0x006965b0]
je 0x5f19de
mov eax, dword [0x00696168]
mov dword [0x006965b0], eax
mov eax, dword [0x006958f8]
add eax, dword [0x00695bd0]
mov ecx, dword [0x00696178]
add ecx, dword [0x006965c0]
cmp eax, ecx
jle 0x5f1a06
mov eax, dword [0x006965c0]
mov dword [0x006958f8], eax
mov eax, dword [0x0069584c]
mov dword [0x00694134], eax
lea rcx, [rbp + 0x50]
lea rdx, [0x006a84f8]
mov r8d, 0x104
call fcn.0040ff40
lea rcx, [rbp + 0x48]
lea rdx, [0x006a884a]
call fcn.0040ff20
lea rcx, [rbp + 0x50]
mov rdx, qword [rbp + 0x48]
call fcn.00410070
mov rcx, qword [rbp + 0x50]
call fcn.00410050
mov rcx, rax
mov edx, 0xc0000000
mov r8d, 3
xor r9, r9
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 0x5f1a91
call fcn.0040afc0
mov dword [0x006a8a08], eax
mov dword [0x006932b4], 0x310
mov eax, dword [0x006932b4]
sub eax, 0x1aa
mov dword [0x006933e0], eax
mov eax, dword [0x00695c00]
add eax, dword [0x006961a8]
mov ecx, dword [0x006965f4]
add ecx, dword [0x00696cd4]
cmp eax, ecx
jle 0x5f1adb
mov eax, dword [0x00696cd4]
mov dword [0x00695c00], eax
call fcn.005e6b80
call qword [0x006a9208]
test eax, eax
jge 0x5f1aef
call fcn.0040afc0
mov dword [rbp + 0x78], eax
mov eax, dword [0x006931d8]
mov dword [0x00696e84], eax
mov eax, dword [0x006931d8]
mov dword [0x00696e84], eax
mov eax, dword [0x00695d80]
cmp eax, dword [0x006962f8]
je 0x5f1b24
mov eax, dword [0x00695d80]
mov dword [0x006962f8], eax
mov eax, dword [0x006a8a08]
cmp rax, 0xffffffffffffffff
je 0x5f1cd1
cmp dword [rbp + 0x78], 0
jne 0x5f1cd1
call fcn.005e6b80
mov eax, dword [0x00697440]
mov dword [0x00696a90], eax
mov eax, dword [0x006934dc]
add eax, 1
cmp dword [0x006934dc], eax
jne 0x5f1b76
mov eax, dword [0x00695bc4]
test eax, eax
jge 0x5f1b6f
call fcn.0040afc0
mov ecx, eax
call sub.kernel32.dll_SetConsoleKeyShortcuts
call fcn.005e6a00
mov byte [rbp + 0x7f], 0
mov eax, dword [0x00693430]
add eax, 1
cmp dword [0x00693430], eax
jne 0x5f1bfd
mov eax, dword [0x00695868]
test eax, eax
jge 0x5f1b9f
call fcn.0040afc0
mov ecx, dword [0x00696abc]
test ecx, ecx
jge 0x5f1bae
call fcn.0040afc0
mov edx, dword [0x006974bc]
test edx, edx
jge 0x5f1bbd
call fcn.0040afc0
mov r8d, dword [0x006933b8]
test r8d, r8d
jge 0x5f1bce
call fcn.0040afc0
mov r9d, dword [0x00693914]
test r9d, r9d
jge 0x5f1bdf
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 [0x00695be8]
add eax, dword [0x00696190]
mov ecx, dword [0x006965d8]
add ecx, dword [0x00696cbc]
cmp eax, ecx
jle 0x5f1c25
mov eax, dword [0x00696cbc]
mov dword [0x00695be8], eax
mov eax, dword [0x0069327c]
mov dword [0x00697460], eax
call fcn.005e7100
cmp eax, dword [0x00697444]
jle 0x5f1c48
mov dword [0x00697444], 0x16
mov eax, dword [0x00695bc0]
add eax, dword [0x00696168]
mov ecx, dword [0x006965b4]
add ecx, dword [0x00696c94]
cmp eax, ecx
jle 0x5f1c70
mov eax, dword [0x00696c94]
mov dword [0x00695bc0], eax
mov eax, dword [0x00693448]
add eax, 1
cmp dword [0x00693448], eax
jne 0x5f1c97
mov eax, dword [0x00693914]
test eax, eax
jge 0x5f1c90
call fcn.0040afc0
mov ecx, eax
call sub.kernel32.dll_SetConsoleKeyShortcuts
mov eax, dword [0x006932bc]
mov dword [0x006974a0], eax
call fcn.005e9180
cmp eax, dword [0x00693210]
jle 0x5f1cba
mov dword [0x00693210], 0x54
call fcn.005e7700
cmp eax, dword [0x006974a8]
jle 0x5f1cd1
mov dword [0x006974a8], 0x2e
mov eax, dword [0x006934e4]
add eax, 1
cmp dword [0x006934e4], eax
jne 0x5f1d22
mov eax, dword [0x00696168]
test eax, eax
jge 0x5f1cf1
call fcn.0040afc0
mov ecx, dword [0x0069341c]
test ecx, ecx
jge 0x5f1d00
call fcn.0040afc0
mov edx, dword [0x006940d0]
test edx, edx
jge 0x5f1d0f
call fcn.0040afc0
mov r8d, ecx
mov r9d, edx
mov ecx, eax
mov edx, r8d
mov r8d, r9d
call sub.kernel32.dll_GetDiskFreeSpaceExW
call fcn.005e7c60
cmp eax, dword [0x00693208]
jle 0x5f1d39
mov dword [0x00693208], 0x52
call fcn.005e7700
mov eax, dword [0x00695924]
add eax, dword [0x00695d90]
mov ecx, dword [0x006965a0]
add ecx, dword [0x00696cd0]
cmp eax, ecx
jle 0x5f1d5f
call fcn.004096f0
mov eax, dword [0x00696118]
add eax, dword [0x006965b0]
mov ecx, dword [0x00696ce0]
add ecx, dword [0x006974cc]
cmp eax, ecx
jle 0x5f1d87
mov eax, dword [0x006974cc]
mov dword [0x00696118], eax
mov eax, dword [0x00693514]
add eax, 1
cmp dword [0x00693514], eax
jne 0x5f1dd8
mov eax, dword [0x00697434]
test eax, eax
jge 0x5f1da7
call fcn.0040afc0
mov ecx, dword [0x006933d0]
test ecx, ecx
jge 0x5f1db6
call fcn.0040afc0
mov edx, dword [0x0069397c]
test edx, edx
jge 0x5f1dc5
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 [0x00695944]
add eax, dword [0x00696124]
mov ecx, dword [0x00696324]
add ecx, dword [0x00696a8c]
cmp eax, ecx
jle 0x5f1df9
call fcn.004096f0
mov eax, dword [0x006933f8]
add eax, 1
cmp dword [0x006933f8], eax
jne 0x5f1e61
mov eax, dword [0x006934d8]
test eax, eax
jge 0x5f1e19
call fcn.0040afc0
mov ecx, dword [0x006942c8]
test ecx, ecx
jge 0x5f1e28
call fcn.0040afc0
mov edx, dword [0x00695908]
test edx, edx
jge 0x5f1e37
call fcn.0040afc0
mov r8d, dword [0x00696138]
test r8d, r8d
jge 0x5f1e48
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 [0x00695c04]
add eax, dword [0x006961ac]
mov ecx, dword [0x006965f4]
add ecx, dword [0x00696e8c]
cmp eax, ecx
jle 0x5f1f50
mov eax, dword [0x00696e8c]
mov dword [0x00695c04], eax
jmp 0x5f1f50
mov eax, dword [0x00696118]
add eax, dword [0x00696318]
mov ecx, dword [0x00696a7c]
add ecx, dword [0x00697430]
cmp eax, ecx
jle 0x5f1f78
mov eax, dword [0x00697430]
mov dword [0x00696118], eax
mov dword [0x006932b0], 0x30f
mov eax, dword [0x006932b0]
sub eax, 0x1a9
mov dword [0x006934d4], eax
mov eax, dword [0x0069743c]
mov dword [0x00696a8c], eax
mov eax, dword [0x00695bac]
mov dword [0x00695868], eax
mov eax, dword [0x00695bac]
mov dword [0x00695868], eax
mov eax, dword [0x006965e0]
cmp eax, dword [0x00696cc0]
je 0x5f1fd2
mov eax, dword [0x006965e0]
mov dword [0x00696cc0], eax
mov eax, dword [0x0069689c]
add eax, dword [0x00697444]
mov ecx, dword [0x00695c20]
add ecx, dword [0x006962e0]
cmp ecx, eax
jle 0x5f1ffa
mov ecx, dword [0x00697444]
mov dword [0x00695c20], ecx
mov ecx, dword [0x00695c20]
add ecx, dword [0x006962e0]
cmp ecx, eax
jle 0x5f2016
mov eax, dword [0x00697444]
mov dword [0x00695c20], eax
mov eax, dword [0x00696580]
cmp eax, dword [0x00696a9c]
je 0x5f2030
mov eax, dword [0x00696580]
mov dword [0x00696a9c], eax
mov eax, dword [0x0069350c]
add eax, 1
cmp dword [0x0069350c], eax
jne 0x5f2057
mov eax, dword [0x0069585c]
test eax, eax
jge 0x5f2050
call fcn.0040afc0
mov ecx, eax
call sub.kernel32.dll_SetConsoleKeyShortcuts
nop
lea rcx, [rbp + 0x48]
mov edx, 4
call fcn.0040ea60
movzx rax, byte [rbp + 0x7f]
lea rsp, [rbp + 0x88]
pop rbx
pop rbp
ret