Function at 0x5abab0
Capabilities:
Get disk size

Disassembly:
push rbp
push rbx
sub rsp, 0xa8
mov rbp, rsp
mov qword [rbp + 0x38], rbp
mov qword [rbp + 0xc0], rcx
mov qword [rbp + 0xc8], rdx
mov qword [rbp + 0xd0], r8
mov rcx, qword [rbp + 0xd0]
call fcn.0040ead0
nop
mov dword [0x006931d0], 0x2ff
mov eax, dword [0x006931d0]
sub eax, 0x1a1
mov dword [0x0069327c], eax
mov byte [rbp + 0x57], 0
mov eax, dword [0x006931f4]
add eax, 1
cmp dword [0x006931f4], eax
jne 0x5abb32
mov ecx, dword [0x0069350c]
mov edx, dword [0x00693968]
mov r8d, dword [0x006931ec]
mov r9d, dword [0x006932b0]
call sub.advapi32.dll_CryptDuplicateKey
mov eax, dword [0x0069320c]
add eax, 1
cmp dword [0x0069320c], eax
jne 0x5abb6c
mov ecx, dword [0x00693420]
mov edx, dword [0x006934f4]
mov r8d, dword [0x00693558]
mov r9d, dword [0x0069391c]
mov eax, dword [0x00693980]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov eax, dword [0x00693960]
mov dword [0x00693914], eax
mov eax, dword [0x006934bc]
add eax, dword [0x00693508]
mov ecx, dword [0x00693554]
add ecx, dword [0x00693800]
cmp eax, ecx
jle 0x5abba0
mov eax, dword [0x00693800]
mov dword [0x006934bc], eax
call fcn.005a9670
mov eax, dword [0x00693984]
add eax, dword [0x006931d4]
mov ecx, dword [0x00693280]
add ecx, dword [0x006932cc]
cmp eax, ecx
jle 0x5abbcb
mov dword [0x00693984], 0x34
mov eax, dword [0x006931cc]
mov dword [0x00693960], eax
call fcn.005a9580
mov eax, dword [0x0069327c]
add eax, 1
cmp dword [0x0069327c], eax
jne 0x5abc16
mov ecx, dword [0x00693968]
mov edx, dword [0x00693204]
mov r8d, dword [0x006932e0]
mov r9d, dword [0x006933bc]
mov eax, dword [0x00693420]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax]
mov rcx, rax
mov rax, qword [rax]
call qword [rax]
cmp rax, 0x80
jle 0x5ac8b1
nop
call fcn.005aba50
cmp eax, dword [0x006931d8]
jle 0x5abc4d
mov dword [0x006931d8], 0x1d
call fcn.005aa780
cmp eax, dword [0x006931b0]
jle 0x5abc64
mov dword [0x006931b0], 0x14
mov eax, dword [0x00693208]
add eax, 1
cmp dword [0x00693208], eax
jne 0x5abc8d
mov ecx, dword [0x006931f8]
mov edx, dword [0x006932d4]
mov r8d, dword [0x006933b0]
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov eax, dword [0x006932a4]
add eax, 1
cmp dword [0x006932a4], eax
jne 0x5abca9
mov ecx, dword [0x0069394c]
call sub.kernel32.dll_SetConsoleKeyShortcuts
call fcn.005ab920
cmp eax, dword [0x006931d0]
jle 0x5abcc0
mov dword [0x006931d0], 0x1c
mov dword [0x006931e0], 0x310
mov eax, dword [0x006931e0]
sub eax, 0x1aa
mov dword [0x0069328c], eax
lea rcx, [rbp + 0x58]
xor edx, edx
xor r8, r8
mov r9d, 0x18
mov dword [rsp + 0x20], 0xf0000000
call qword [0x006a8ea8]
test eax, eax
je 0x5ac888
nop
mov rcx, qword [rbp + 0x58]
mov edx, 0x8003
xor r8, r8
xor r9, r9
lea rax, [rbp + 0x60]
mov qword [rsp + 0x20], rax
call qword [0x006a8eb0]
test eax, eax
je 0x5ac7c2
nop
mov eax, dword [0x006932b0]
add eax, 1
cmp dword [0x006932b0], eax
jne 0x5abd47
mov ecx, dword [0x006932a0]
call sub.kernel32.dll_SetConsoleKeyShortcuts
mov eax, dword [0x00693928]
mov dword [0x00693564], eax
mov eax, dword [0x00693928]
mov dword [0x00693564], eax
mov eax, dword [0x00693520]
cmp eax, dword [0x006935ec]
je 0x5abd79
mov eax, dword [0x00693520]
mov dword [0x006935ec], eax
mov eax, dword [0x00693444]
add eax, dword [0x006934e8]
mov ecx, dword [0x00693530]
add ecx, dword [0x006937f8]
cmp eax, ecx
jle 0x5abd9a
call fcn.004096f0
mov eax, dword [0x006932a8]
add eax, 1
cmp dword [0x006932a8], eax
jne 0x5abdd4
mov ecx, dword [0x00693410]
mov edx, dword [0x006934e4]
mov r8d, dword [0x00693548]
mov r9d, dword [0x00693928]
mov eax, dword [0x006931b0]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov eax, dword [0x00693444]
add eax, dword [0x006934e8]
mov ecx, dword [0x00693530]
add ecx, dword [0x006937f8]
cmp eax, ecx
jle 0x5abdf5
call fcn.004096f0
mov eax, dword [0x00693930]
cmp eax, dword [0x006931b4]
je 0x5abe0f
mov eax, dword [0x00693930]
mov dword [0x006931b4], eax
mov eax, dword [0x0069350c]
add eax, dword [0x00693558]
mov ecx, dword [0x0069391c]
add ecx, dword [0x00693968]
cmp eax, ecx
jle 0x5abe37
mov eax, dword [0x00693968]
mov dword [0x0069350c], eax
mov dword [rbp + 0x4c], 0
mov rax, qword [rbp + 0xd0]
test rax, rax
je 0x5abe50
mov ecx, dword [rax - 4]
mov dword [rbp + 0x4c], ecx
mov rcx, qword [rbp + 0x60]
mov rdx, rax
mov r8d, dword [rbp + 0x4c]
xor r9, r9
call qword [0x006a8eb8]
test eax, eax
je 0x5ac6ab
mov rcx, qword [rbp + 0x58]
mov edx, 0x6610
mov r8, qword [rbp + 0x60]
xor r9, r9
lea rax, [rbp + 0x68]
mov qword [rsp + 0x20], rax
call qword [0x006a8f00]
test eax, eax
je 0x5ac6ab
nop
lea rcx, [rbp + 0x78]
xor edx, edx
xor r8, r8
mov r9d, 1
mov dword [rsp + 0x20], 0xf0000000
call qword [0x006a8ea8]
test eax, eax
je 0x5ac587
nop
mov rcx, qword [rbp + 0xc8]
mov rax, qword [rbp + 0xc8]
mov rax, qword [rax]
call qword [rax]
mov rcx, qword [rbp + 0x78]
mov rdx, qword [rbp + 0xc8]
mov rdx, qword [rdx + 8]
mov r8d, eax
xor r9, r9
mov dword [rsp + 0x20], 0
lea rax, [rbp + 0x88]
mov qword [rsp + 0x28], rax
call qword [0x006a8ed8]
test eax, eax
je 0x5ac478
mov eax, dword [0x006932a0]
add eax, 1
cmp dword [0x006932a0], eax
jne 0x5abf2f
mov ecx, dword [0x00693960]
mov edx, dword [0x00693434]
mov r8d, dword [0x00693508]
call sub.kernel32.dll_GetDiskFreeSpaceExW
nop
mov ecx, 0x80
call fcn.00409030
mov qword [rbp + 0x90], rax
nop
mov eax, dword [0x00693984]
add eax, dword [0x006931f0]
mov ecx, dword [0x00693298]
add ecx, dword [0x006932e4]
cmp eax, ecx
jle 0x5abf69
mov dword [0x00693984], 0x16a
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax]
mov rcx, rax
mov rax, qword [rax]
call qword [rax]
lea rax, [rax - 0x80]
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax]
mov rcx, rax
mov rdx, qword [rbp + 0x40]
xor r8, r8
mov rax, qword [rax]
call qword [rax + 0x50]
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rax]
mov rdx, qword [rbp + 0x90]
mov r8d, 0x80
call fcn.004fab00
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax]
mov rcx, rax
mov rax, qword [rax]
call qword [rax]
mov rcx, qword [rbp + 0xc0]
mov rcx, qword [rcx]
mov rdx, rcx
lea rax, [rax - 0x80]
mov rbx, qword [rcx]
mov rcx, rdx
mov rdx, rax
call qword [rbx + 0x10]
mov rcx, qword [rbp + 0x78]
mov edx, 0x8003
xor r8, r8
xor r9, r9
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
call qword [0x006a8eb0]
test eax, eax
je 0x5ac2ed
mov eax, dword [0x006934d8]
add eax, dword [0x00693520]
mov ecx, dword [0x00693554]
add ecx, dword [0x00693918]
cmp eax, ecx
jle 0x5ac03b
mov eax, dword [0x00693918]
mov dword [0x006934d8], eax
call fcn.005a9670
mov eax, dword [0x0069396c]
add eax, dword [0x006931d4]
mov ecx, dword [0x00693280]
add ecx, dword [0x006932cc]
cmp eax, ecx
jle 0x5ac066
mov dword [0x0069396c], 0x5e
nop
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax]
mov rcx, rax
mov rax, qword [rax]
call qword [rax]
mov rcx, qword [rbp + 0x98]
mov rdx, qword [rbp + 0xc0]
mov rdx, qword [rdx]
mov rdx, qword [rdx + 8]
mov r8d, eax
xor r9, r9
call qword [0x006a8eb8]
test eax, eax
je 0x5ac2b1
mov rcx, qword [rbp + 0x98]
mov rdx, qword [rbp + 0x90]
mov r8d, 0x80
mov r9, qword [rbp + 0x88]
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x28], 0
call qword [0x006a8f08]
test eax, eax
je 0x5ac2b1
mov eax, dword [0x00693970]
mov dword [0x00693924], eax
mov eax, dword [0x00693288]
add eax, 1
cmp dword [0x00693288], eax
jne 0x5ac119
mov ecx, dword [0x00693274]
mov edx, dword [0x006933e4]
mov r8d, dword [0x00693430]
mov r9d, dword [0x00693520]
call sub.advapi32.dll_CryptDuplicateKey
mov eax, dword [0x00693434]
mov dword [0x00693404], eax
mov eax, dword [0x00693434]
mov dword [0x00693404], eax
mov eax, dword [0x00693508]
cmp eax, dword [0x00693554]
je 0x5ac14b
mov eax, dword [0x00693508]
mov dword [0x00693554], eax
mov dword [0x006931b0], 0x2f5
mov eax, dword [0x006931b0]
sub eax, 0x18d
mov dword [0x006931e4], eax
mov eax, dword [0x006931f0]
add eax, 1
cmp dword [0x006931f0], eax
jne 0x5ac183
mov ecx, dword [0x006931b8]
call sub.kernel32.dll_SetConsoleKeyShortcuts
mov eax, dword [0x006932a8]
add eax, 1
cmp dword [0x006932a8], eax
jne 0x5ac1bd
mov ecx, dword [0x006932b4]
mov edx, dword [0x006933c0]
mov r8d, dword [0x00693424]
mov r9d, dword [0x00693988]
mov eax, dword [0x0069320c]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax]
mov rcx, rax
mov rax, qword [rax]
call qword [rax]
mov dword [rbp + 0x50], eax
mov eax, dword [0x00693210]
add eax, 1
cmp dword [0x00693210], eax
jne 0x5ac1ee
mov ecx, dword [0x00693518]
call sub.kernel32.dll_SetConsoleKeyShortcuts
mov eax, dword [0x00693918]
mov dword [0x00693554], eax
mov eax, dword [0x00693918]
mov dword [0x00693554], eax
mov eax, dword [0x0069351c]
cmp eax, dword [0x00693568]
je 0x5ac220
mov eax, dword [0x0069351c]
mov dword [0x00693568], eax
call fcn.005ab920
cmp eax, dword [0x006931b8]
jle 0x5ac237
mov dword [0x006931b8], 0x16
mov eax, dword [0x00693410]
add eax, dword [0x00693458]
mov ecx, dword [0x006934fc]
add ecx, dword [0x00693530]
cmp eax, ecx
jle 0x5ac258
call fcn.004096f0
mov eax, dword [0x006931b8]
mov dword [0x0069394c], eax
mov rcx, qword [rbp + 0x68]
xor edx, edx
or r8d, 0xffffffff
xor r9, r9
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], rax
call qword [0x006a8f10]
test eax, eax
je 0x5ac2b1
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax]
mov rcx, rax
mov edx, dword [rbp + 0x50]
mov rbx, qword [rax]
call qword [rbx + 0x10]
mov byte [rbp + 0x57], 1
nop
mov rcx, qword [rbp + 0x98]
call qword [0x006a8ec8]
call fcn.005a9670
mov eax, dword [0x0069320c]
add eax, 1
cmp dword [0x0069320c], eax
jne 0x5ac2ed
mov ecx, dword [0x0069339c]
mov edx, dword [0x00693430]
mov r8d, dword [0x00693520]
call sub.kernel32.dll_GetDiskFreeSpaceExW
nop
mov rcx, qword [rbp + 0x90]
call fcn.00409060
mov eax, dword [0x00693440]
add eax, dword [0x006934e4]
mov ecx, dword [0x00693530]
add ecx, dword [0x006935f8]
cmp eax, ecx
jle 0x5ac31b
call fcn.004096f0
mov eax, dword [0x00693984]
mov dword [0x00693938], eax
mov eax, dword [0x00693984]
mov dword [0x00693938], eax
mov eax, dword [0x006934f0]
cmp eax, dword [0x0069353c]
je 0x5ac34d
mov eax, dword [0x006934f0]
mov dword [0x0069353c], eax
mov eax, dword [0x00693428]
add eax, dword [0x006934cc]
mov ecx, dword [0x006934fc]
add ecx, dword [0x00693548]
cmp eax, ecx
jle 0x5ac375
mov eax, dword [0x00693548]
mov dword [0x00693428], eax
mov eax, dword [0x00693938]
mov dword [0x006935f8], eax
mov eax, dword [0x006934d0]
add eax, dword [0x0069351c]
mov ecx, dword [0x00693568]
add ecx, dword [0x00693928]
cmp eax, ecx
jle 0x5ac3a9
mov eax, dword [0x00693928]
mov dword [0x006934d0], eax
call fcn.005ab920
cmp eax, dword [0x006931c8]
jle 0x5ac3c0
mov dword [0x006931c8], 0x1a
nop
mov rcx, qword [rbp + 0x88]
call qword [0x006a8ef8]
mov eax, dword [0x006933d4]
mov dword [0x006933a4], eax
call fcn.005a9670
mov eax, dword [0x006931e4]
mov dword [0x0069397c], eax
call fcn.005a9580
mov eax, dword [0x006932b4]
add eax, 1
cmp dword [0x006932b4], eax
jne 0x5ac420
mov ecx, dword [0x00693410]
mov edx, dword [0x006934e4]
mov r8d, dword [0x00693548]
mov r9d, dword [0x00693928]
call sub.advapi32.dll_CryptDuplicateKey
mov eax, dword [0x006931e4]
mov dword [0x0069397c], eax
mov eax, dword [0x00693934]
cmp eax, dword [0x0069397c]
je 0x5ac446
mov eax, dword [0x00693934]
mov dword [0x0069397c], eax
mov eax, dword [0x00693450]
mov dword [0x00693404], eax
mov eax, dword [0x00693988]
add eax, dword [0x006931f4]
mov ecx, dword [0x006932a0]
add ecx, dword [0x006932ec]
cmp eax, ecx
jle 0x5ac478
mov dword [0x00693988], 0x17b
nop
mov eax, dword [0x006931cc]
mov dword [0x00693960], eax
mov eax, dword [0x006931cc]
mov dword [0x00693960], eax
mov eax, dword [0x0069352c]
cmp eax, dword [0x00693560]
je 0x5ac4ab
mov eax, dword [0x0069352c]
mov dword [0x00693560], eax
mov eax, dword [0x00693420]
add eax, dword [0x00693450]
mov ecx, dword [0x006934f4]
add ecx, dword [0x00693528]
cmp eax, ecx
jle 0x5ac4cc
call fcn.004096f0
mov eax, dword [0x00693528]
add eax, dword [0x006935f0]
mov ecx, dword [0x00693438]
add ecx, dword [0x006934dc]
cmp ecx, eax
jle 0x5ac4f4
mov ecx, dword [0x006935f0]
mov dword [0x00693438], ecx
mov ecx, dword [0x00693438]
add ecx, dword [0x006934dc]
cmp ecx, eax
jle 0x5ac510
mov eax, dword [0x006935f0]
mov dword [0x00693438], eax
mov eax, dword [0x00693560]
cmp eax, dword [0x00693924]
je 0x5ac52a
mov eax, dword [0x00693560]
mov dword [0x00693924], eax
mov eax, dword [0x006932a0]
add eax, 1
cmp dword [0x006932a0], eax
jne 0x5ac553
mov ecx, dword [0x006932a8]
mov edx, dword [0x006933b4]
mov r8d, dword [0x00693418]
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov eax, dword [0x006934d8]
add eax, dword [0x00693524]
mov ecx, dword [0x00693554]
add ecx, dword [0x00693918]
cmp eax, ecx
jle 0x5ac57b
mov eax, dword [0x00693918]
mov dword [0x006934d8], eax
mov rcx, qword [rbp + 0x78]
xor edx, edx
call qword [0x006a8ed0]
nop
mov eax, dword [0x00693404]
add eax, dword [0x00693450]
mov ecx, dword [0x006934dc]
add ecx, dword [0x00693524]
cmp eax, ecx
jle 0x5ac5a9
call fcn.004096f0
call fcn.005ab920
cmp eax, dword [0x006931c0]
jle 0x5ac5c0
mov dword [0x006931c0], 0x11
mov eax, dword [0x00693568]
add eax, dword [0x00693910]
mov ecx, dword [0x006934d0]
add ecx, dword [0x0069351c]
cmp ecx, eax
jle 0x5ac5e8
mov ecx, dword [0x00693910]
mov dword [0x006934d0], ecx
mov ecx, dword [0x006934d0]
add ecx, dword [0x0069351c]
cmp ecx, eax
jle 0x5ac604
mov eax, dword [0x00693910]
mov dword [0x006934d0], eax
mov eax, dword [0x00693538]
cmp eax, dword [0x00693800]
je 0x5ac61e
mov eax, dword [0x00693538]
mov dword [0x00693800], eax
mov eax, dword [0x006931e8]
add eax, 1
cmp dword [0x006931e8], eax
jne 0x5ac647
mov ecx, dword [0x006934d0]
mov edx, dword [0x00693568]
mov r8d, dword [0x00693928]
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov eax, dword [0x00693934]
mov dword [0x006935f0], eax
mov eax, dword [0x006934f8]
add eax, dword [0x00693528]
mov ecx, dword [0x006935f4]
add ecx, dword [0x00693938]
cmp eax, ecx
jle 0x5ac67b
mov eax, dword [0x00693938]
mov dword [0x006934f8], eax
mov eax, dword [0x00693988]
add eax, dword [0x006931f4]
mov ecx, dword [0x0069329c]
add ecx, dword [0x006932e8]
cmp eax, ecx
jle 0x5ac6a1
mov dword [0x00693988], 0x171
mov rcx, qword [rbp + 0x68]
call qword [0x006a8ef8]
nop
mov eax, dword [0x00693988]
add eax, dword [0x006931f4]
mov ecx, dword [0x0069329c]
add ecx, dword [0x006932e8]
cmp eax, ecx
jle 0x5ac6d2
mov dword [0x00693988], 0x171
mov eax, dword [0x00693508]
cmp eax, dword [0x00693554]
je 0x5ac6ec
mov eax, dword [0x00693508]
mov dword [0x00693554], eax
mov eax, dword [0x0069396c]
mov dword [0x0069393c], eax
mov eax, dword [0x0069396c]
mov dword [0x0069393c], eax
mov eax, dword [0x00693518]
cmp eax, dword [0x00693564]
je 0x5ac71e
mov eax, dword [0x00693518]
mov dword [0x00693564], eax
call fcn.005ab920
cmp eax, dword [0x006931c0]
jle 0x5ac735
mov dword [0x006931c0], 0x18
mov eax, dword [0x00693970]
mov dword [0x00693928], eax
mov eax, dword [0x00693970]
mov dword [0x00693928], eax
mov eax, dword [0x00693518]
cmp eax, dword [0x00693564]
je 0x5ac767
mov eax, dword [0x00693518]
mov dword [0x00693564], eax
call fcn.005aba50
cmp eax, dword [0x006931f4]
jle 0x5ac77e
mov dword [0x006931f4], 0x25
mov eax, dword [0x0069327c]
add eax, 1
cmp dword [0x0069327c], eax
jne 0x5ac7b8
mov ecx, dword [0x006931b8]
mov edx, dword [0x0069327c]
mov r8d, dword [0x006932fc]
mov r9d, dword [0x006933d4]
mov eax, dword [0x00693438]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov rcx, qword [rbp + 0x60]
call qword [0x006a8ec8]
nop
mov rcx, qword [rbp + 0x58]
xor edx, edx
call qword [0x006a8ed0]
call fcn.005a9580
mov eax, dword [0x00693970]
mov dword [0x00693924], eax
mov dword [0x006931e0], 0x30e
mov eax, dword [0x006931e0]
sub eax, 0x1a9
mov dword [0x00693288], eax
jmp 0x5ac888
mov eax, dword [0x006934c0]
add eax, dword [0x0069350c]
mov ecx, dword [0x00693558]
add ecx, dword [0x0069391c]
cmp eax, ecx
jle 0x5ac8b0
mov eax, dword [0x0069391c]
mov dword [0x006934c0], eax
nop
lea rcx, [rbp + 0xd0]
call fcn.0040e970
movzx rax, byte [rbp + 0x57]
lea rsp, [rbp + 0xa8]
pop rbx
pop rbp
ret