Function at 0x5a9c70
Capabilities:
Get disk size

Disassembly:
push rbp
push rbx
sub rsp, 0xc8
mov rbp, rsp
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x48], rbp
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], rdx
lea rcx, [rbp + 0xe8]
call fcn.0040eaf0
nop
mov eax, dword [0x00693440]
add eax, dword [0x006934e0]
mov ecx, dword [0x0069352c]
add ecx, dword [0x006935f8]
cmp eax, ecx
jle 0x5a9cc4
call fcn.004096f0
mov eax, dword [0x00693458]
add eax, dword [0x006934e0]
mov ecx, dword [0x0069352c]
add ecx, dword [0x006935f8]
cmp eax, ecx
jle 0x5a9cec
mov eax, dword [0x006935f8]
mov dword [0x00693458], eax
mov eax, dword [0x006931f4]
mov dword [0x00693940], eax
mov dword [0x006931b8], 0x300
mov eax, dword [0x006931b8]
sub eax, 0x1a2
mov dword [0x00693204], eax
mov eax, dword [0x006931e0]
mov dword [0x00693978], eax
mov eax, dword [0x0069344c]
add eax, dword [0x006934d8]
mov ecx, dword [0x00693524]
add ecx, dword [0x00693554]
cmp eax, ecx
jle 0x5a9d48
mov eax, dword [0x00693554]
mov dword [0x0069344c], eax
call fcn.005a8820
mov eax, dword [0x00693294]
add eax, 1
cmp dword [0x00693294], eax
jne 0x5a9d87
mov ecx, dword [0x00693928]
mov edx, dword [0x006931c8]
mov r8d, dword [0x0069328c]
mov r9d, dword [0x006932f0]
mov eax, dword [0x006933cc]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov eax, dword [0x00693944]
mov dword [0x006937fc], eax
mov rcx, qword [rbp + 0xe0]
call fcn.0040e970
mov eax, dword [0x00693458]
mov dword [0x0069340c], eax
mov eax, dword [0x00693280]
add eax, 1
cmp dword [0x00693280], eax
jne 0x5a9de5
mov ecx, dword [0x006931c8]
mov edx, dword [0x006932a8]
mov r8d, dword [0x006933e8]
mov r9d, dword [0x0069344c]
mov eax, dword [0x00693508]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov eax, dword [0x006931e0]
mov dword [0x00693944], eax
mov eax, dword [0x006934d0]
add eax, dword [0x0069351c]
mov ecx, dword [0x00693568]
add ecx, dword [0x0069392c]
cmp eax, ecx
jle 0x5a9e19
mov eax, dword [0x0069392c]
mov dword [0x006934d0], eax
mov eax, dword [0x00693424]
add eax, dword [0x006934c8]
mov ecx, dword [0x00693514]
add ecx, dword [0x00693560]
cmp eax, ecx
jle 0x5a9e3a
call fcn.004096f0
mov eax, dword [0x00693424]
add eax, dword [0x006934c8]
mov ecx, dword [0x00693514]
add ecx, dword [0x00693560]
cmp eax, ecx
jle 0x5a9e5b
call fcn.004096f0
mov eax, dword [0x00693560]
cmp eax, dword [0x00693924]
je 0x5a9e75
mov eax, dword [0x00693560]
mov dword [0x00693924], eax
mov eax, dword [0x00693430]
mov dword [0x006933e4], eax
nop
mov rcx, qword [rbp + 0xe8]
call fcn.00410050
mov rbx, rax
mov rcx, rbx
xor edx, edx
lea r8, [rbp + 0x68]
call qword [0x006a8b80]
test eax, eax
setne al
test al, al
je 0x5aa4f0
mov eax, dword [0x006932a8]
add eax, 1
cmp dword [0x006932a8], eax
jne 0x5a9ee7
mov ecx, dword [0x006934c8]
mov edx, dword [0x00693954]
mov r8d, dword [0x006931d8]
mov r9d, dword [0x006932b4]
mov eax, dword [0x006933c0]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov eax, dword [0x0069396c]
mov dword [0x00693920], eax
mov eax, dword [0x006931fc]
add eax, 1
cmp dword [0x006931fc], eax
jne 0x5a9f0f
mov ecx, dword [0x006931c0]
call sub.kernel32.dll_SetConsoleKeyShortcuts
call fcn.005a8970
mov eax, dword [0x0069396c]
mov dword [0x00693920], eax
mov eax, dword [0x00693508]
cmp eax, dword [0x00693550]
je 0x5a9f3a
mov eax, dword [0x00693508]
mov dword [0x00693550], eax
mov rcx, rbx
mov edx, 0x80000000
mov r8d, 1
xor r9, r9
mov dword [rsp + 0x20], 3
mov dword [rsp + 0x28], 0x80
mov qword [rsp + 0x30], 0
call qword [0x006a8c28]
mov dword [rbp + 0xa4], eax
mov eax, dword [0x00693420]
mov dword [0x006933d4], eax
mov eax, dword [0x00693968]
mov dword [0x0069391c], eax
mov eax, dword [0x006934c4]
add eax, dword [0x00693510]
mov ecx, dword [0x006935f4]
add ecx, dword [0x00693938]
cmp eax, ecx
jle 0x5a9fb2
mov eax, dword [0x00693938]
mov dword [0x006934c4], eax
mov eax, dword [0x00693428]
add eax, dword [0x006934e4]
mov ecx, dword [0x00693530]
add ecx, dword [0x006937f8]
cmp eax, ecx
jle 0x5a9fd3
call fcn.004096f0
mov eax, dword [0x00693428]
add eax, dword [0x006934e4]
mov ecx, dword [0x00693530]
add ecx, dword [0x006937f8]
cmp eax, ecx
jle 0x5a9ff4
call fcn.004096f0
mov eax, dword [0x00693554]
cmp eax, dword [0x00693918]
je 0x5aa00e
mov eax, dword [0x00693554]
mov dword [0x00693918], eax
mov eax, dword [0x00693420]
add eax, dword [0x006934c4]
mov ecx, dword [0x00693510]
add ecx, dword [0x006935f4]
cmp eax, ecx
jle 0x5aa02f
call fcn.004096f0
call qword [0x006a9208]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0xa4]
cmp rax, 0xffffffffffffffff
je 0x5aa4ef
cmp dword [rbp + 0x90], 0
jne 0x5aa4ef
nop
call fcn.005a9670
cmp eax, dword [0x006931e0]
jle 0x5aa070
mov dword [0x006931e0], 0x20
mov eax, dword [rbp + 0x84]
mov qword [rbp + 0x98], rax
shl qword [rbp + 0x98], 0x20
mov eax, dword [0x00693960]
mov dword [0x00693918], eax
mov eax, dword [rbp + 0x88]
add qword [rbp + 0x98], rax
lea rcx, [rbp + 0xa8]
xor edx, edx
xor r8, r8
mov r9d, 1
mov dword [rsp + 0x20], 0xf0000000
call qword [0x006a8ea8]
test eax, eax
je 0x5aa31c
nop
mov rcx, qword [rbp + 0xa8]
mov edx, 0x8003
xor r8, r8
xor r9, r9
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x20], rax
call qword [0x006a8eb0]
test eax, eax
je 0x5aa2eb
nop
cmp qword [rbp + 0x98], 0x8000000
jle 0x5aa10e
mov qword [rbp + 0x98], 0x8000000
mov rcx, qword [rbp + 0x98]
call fcn.00409030
mov qword [rbp + 0xb8], rax
nop
mov ecx, dword [rbp + 0xa4]
mov rdx, qword [rbp + 0xb8]
mov r8d, dword [rbp + 0x98]
lea r9, [rbp + 0x94]
mov qword [rsp + 0x20], 0
call qword [0x006a8c30]
test eax, eax
je 0x5aa17d
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xb8]
mov r8d, dword [rbp + 0x94]
xor r9, r9
call qword [0x006a8eb8]
test eax, eax
je 0x5aa17d
mov qword [rbp + 0x98], 0
nop
mov rcx, qword [rbp + 0xb8]
call fcn.00409060
cmp qword [rbp + 0x98], 0
jg 0x5aa23c
mov rcx, qword [rbp + 0xb0]
mov edx, 2
xor r8, r8
lea r9, [rbp + 0x8c]
mov dword [rsp + 0x20], 0
call qword [0x006a8ec0]
test eax, eax
je 0x5aa23c
lea rcx, [rbp + 0x60]
mov rdx, qword [0x005a9c30]
mov r8d, 1
movsxd r9, dword [rbp + 0x8c]
call fcn.004129a0
mov rcx, qword [rbp + 0xb0]
mov edx, 2
mov r8, qword [rbp + 0x60]
lea r9, [rbp + 0x8c]
mov dword [rsp + 0x20], 0
call qword [0x006a8ec0]
test eax, eax
je 0x5aa23c
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x58], rax
cmp qword [rbp + 0x58], 0
je 0x5aa224
mov rax, qword [rbp + 0x58]
mov rax, qword [rax - 8]
mov qword [rbp + 0x58], rax
mov rcx, qword [rbp + 0xe0]
mov rdx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x58]
lea r8, [rax - 1]
call fcn.005a7320
nop
mov rcx, qword [rbp + 0xb0]
call qword [0x006a8ec8]
mov eax, dword [0x0069340c]
mov dword [0x006933c0], eax
mov eax, dword [0x00693450]
add eax, dword [0x006934f0]
mov ecx, dword [0x0069353c]
add ecx, dword [0x00693900]
cmp eax, ecx
jle 0x5aa27e
mov eax, dword [0x00693900]
mov dword [0x00693450], eax
call fcn.005a9670
cmp eax, dword [0x006931d8]
jle 0x5aa295
mov dword [0x006931d8], 0x1e
mov eax, dword [0x00693970]
mov dword [0x00693940], eax
mov dword [0x006931b0], 0x2f6
mov eax, dword [0x006931b0]
sub eax, 0x19d
mov dword [0x006931fc], eax
mov eax, dword [0x006932d4]
add eax, 1
cmp dword [0x006932d4], eax
jne 0x5aa2e6
mov ecx, dword [0x00693308]
mov edx, dword [0x0069342c]
mov r8d, dword [0x0069351c]
call sub.kernel32.dll_GetDiskFreeSpaceExW
call fcn.005a8970
nop
mov rcx, qword [rbp + 0xa8]
xor edx, edx
call qword [0x006a8ed0]
mov eax, dword [0x00693418]
add eax, dword [0x006934bc]
mov ecx, dword [0x00693508]
add ecx, dword [0x00693538]
cmp eax, ecx
jle 0x5aa31c
call fcn.004096f0
nop
mov eax, dword [0x00693418]
add eax, dword [0x006934bc]
mov ecx, dword [0x00693508]
add ecx, dword [0x00693538]
cmp eax, ecx
jle 0x5aa33e
call fcn.004096f0
mov eax, dword [0x00693538]
cmp eax, dword [0x00693800]
je 0x5aa358
mov eax, dword [0x00693538]
mov dword [0x00693800], eax
mov eax, dword [0x0069342c]
add eax, dword [0x006934b8]
mov ecx, dword [0x00693500]
add ecx, dword [0x00693534]
cmp eax, ecx
jle 0x5aa380
mov eax, dword [0x00693534]
mov dword [0x0069342c], eax
mov dword [0x006931c4], 0x30f
mov eax, dword [0x006931c4]
sub eax, 0x1a9
mov dword [0x00693210], eax
mov eax, dword [0x00693964]
add eax, dword [0x006931d0]
mov ecx, dword [0x0069327c]
add ecx, dword [0x006932ac]
cmp eax, ecx
jle 0x5aa3c2
mov dword [0x00693964], 0x7e
mov eax, dword [0x00693428]
mov dword [0x006933f4], eax
mov eax, dword [0x006931e4]
add eax, 1
cmp dword [0x006931e4], eax
jne 0x5aa3fe
mov ecx, dword [0x006932b0]
mov edx, dword [0x006933bc]
mov r8d, dword [0x00693420]
mov r9d, dword [0x006934c4]
call sub.advapi32.dll_CryptDuplicateKey
mov ecx, dword [rbp + 0xa4]
call qword [0x006a8bc0]
jmp 0x5aa4ef
nop
lea rcx, [rbp + 0x60]
mov rdx, qword [0x005a9c30]
call fcn.00412b70
lea rcx, [rbp + 0xe8]
call fcn.0040e9c0
mov rax, qword [rbp + 0xe0]
lea rsp, [rbp + 0xc8]
pop rbx
pop rbp
ret