Function at 0x5a3260
Capabilities:
Get disk size

Disassembly:
push rbp
add rsp, 0xffffffffffffff80
mov rbp, rsp
mov qword [rbp + 0x38], rbp
mov eax, dword [0x006932fc]
add eax, dword [0x006933b8]
mov ecx, dword [0x006933e0]
add ecx, dword [0x006933fc]
cmp eax, ecx
jle 0x5a3294
mov eax, dword [0x006933fc]
mov dword [0x006932fc], eax
mov eax, dword [0x006932f0]
add eax, dword [0x006933ac]
mov ecx, dword [0x006933d4]
add ecx, dword [0x00693400]
cmp eax, ecx
jle 0x5a32b5
call fcn.004096f0
mov eax, dword [0x006932f0]
add eax, dword [0x006933ac]
mov ecx, dword [0x006933d4]
add ecx, dword [0x00693400]
cmp eax, ecx
jle 0x5a32d6
call fcn.004096f0
mov eax, dword [0x006933dc]
cmp eax, dword [0x00693404]
je 0x5a32f0
mov eax, dword [0x006933dc]
mov dword [0x00693404], eax
mov eax, dword [0x006933c0]
add eax, dword [0x006933f8]
mov ecx, dword [0x00693424]
add ecx, dword [0x00693440]
cmp eax, ecx
jle 0x5a3318
mov eax, dword [0x00693440]
mov dword [0x006933c0], eax
mov eax, dword [0x006931f4]
add eax, 1
cmp dword [0x006931f4], eax
jne 0x5a3348
mov ecx, dword [0x006933d8]
mov edx, dword [0x00693420]
mov r8d, dword [0x00693458]
mov r9d, dword [0x006932e8]
call sub.advapi32.dll_CryptDuplicateKey
mov eax, dword [0x006932e0]
mov dword [0x006932b8], eax
mov eax, dword [0x006933a4]
add eax, dword [0x006933d0]
mov ecx, dword [0x006933f8]
add ecx, dword [0x00693424]
cmp eax, ecx
jle 0x5a337c
mov eax, dword [0x00693424]
mov dword [0x006933a4], eax
mov eax, dword [0x006932f0]
mov dword [0x006932c8], eax
mov dword [rbp + 0x7c], 0
nop
mov eax, dword [0x006932f0]
mov dword [0x006932c8], eax
mov eax, dword [0x006933f0]
cmp eax, dword [0x00693418]
je 0x5a33b6
mov eax, dword [0x006933f0]
mov dword [0x00693418], eax
call fcn.005a31f0
mov eax, dword [0x006933b0]
add eax, dword [0x006933d8]
mov ecx, dword [0x00693404]
add ecx, dword [0x00693430]
cmp eax, ecx
jle 0x5a33e3
mov eax, dword [0x00693430]
mov dword [0x006933b0], eax
call fcn.005a31f0
cmp eax, dword [0x006931bc]
jle 0x5a33fa
mov dword [0x006931bc], 0xf
mov eax, dword [0x00693450]
mov dword [0x00693418], eax
mov dword [0x006931bc], 0x2f4
mov eax, dword [0x006931bc]
sub eax, 0x19c
mov dword [0x006931e4], eax
call fcn.005a31f0
cmp eax, dword [0x006931c0]
jle 0x5a3439
mov dword [0x006931c0], 0xf
mov dword [0x006931bc], 0x2f4
mov eax, dword [0x006931bc]
sub eax, 0x19c
mov dword [0x006931e4], eax
mov eax, dword [0x006933c4]
cmp eax, dword [0x006933fc]
je 0x5a346f
mov eax, dword [0x006933c4]
mov dword [0x006933fc], eax
mov eax, dword [0x006932f8]
mov dword [0x006932dc], eax
mov dword [rbp + 0x5c], 0
mov eax, dword [0x006931b8]
mov dword [0x0069343c], eax
call fcn.005a31f0
cmp eax, dword [0x006931bc]
jle 0x5a34a5
mov dword [0x006931bc], 0x12
call fcn.005a31f0
mov dword [0x006931d8], 0x312
mov eax, dword [0x006931d8]
sub eax, 0x1ab
mov dword [0x00693200], eax
mov eax, dword [0x006931e8]
add eax, 1
cmp dword [0x006931e8], eax
jne 0x5a34ef
mov ecx, dword [0x0069329c]
mov edx, dword [0x006932f0]
mov r8d, dword [0x00693400]
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov eax, dword [0x006933a8]
mov dword [0x006932e0], eax
mov dword [rbp + 0x58], 0
call fcn.005a31f0
mov eax, dword [0x0069329c]
sub eax, dword [0x00693210]
mov dword [0x00693210], eax
mov eax, dword [0x006933ac]
add eax, dword [0x006933d4]
mov ecx, dword [0x00693400]
add ecx, dword [0x00693428]
cmp eax, ecx
jle 0x5a3541
mov eax, dword [0x00693428]
mov dword [0x006933ac], eax
mov eax, dword [0x006932e4]
add eax, dword [0x006933a0]
mov ecx, dword [0x006933cc]
add ecx, dword [0x006933f4]
cmp eax, ecx
jle 0x5a3562
call fcn.004096f0
mov eax, dword [0x00693208]
add eax, dword [0x00693294]
mov ecx, dword [0x00693458]
add ecx, dword [0x006931e0]
cmp ecx, eax
jle 0x5a3588
mov dword [0x00693458], 0x111
mov ecx, dword [0x00693458]
add ecx, dword [0x006931e0]
cmp ecx, eax
jle 0x5a35a2
mov dword [0x00693458], 0x111
mov eax, dword [0x00693404]
cmp eax, dword [0x00693430]
je 0x5a35bc
mov eax, dword [0x00693404]
mov dword [0x00693430], eax
mov eax, dword [0x006933d4]
add eax, dword [0x006933fc]
mov ecx, dword [0x006932f0]
add ecx, dword [0x006933a8]
cmp ecx, eax
jle 0x5a35e4
mov ecx, dword [0x006933fc]
mov dword [0x006932f0], ecx
mov ecx, dword [0x006932f0]
add ecx, dword [0x006933a8]
cmp ecx, eax
jle 0x5a3600
mov eax, dword [0x006933fc]
mov dword [0x006932f0], eax
mov eax, dword [0x006933c0]
cmp eax, dword [0x006933ec]
je 0x5a361a
mov eax, dword [0x006933c0]
mov dword [0x006933ec], eax
mov eax, dword [0x00693300]
add eax, dword [0x006933bc]
mov ecx, dword [0x006933e4]
add ecx, dword [0x00693410]
cmp eax, ecx
jle 0x5a3642
mov eax, dword [0x00693410]
mov dword [0x00693300], eax
mov qword [rbp + 0x60], 0
mov eax, dword [0x00693280]
add eax, 1
cmp dword [0x00693280], eax
jne 0x5a3684
mov ecx, dword [0x006932c4]
mov edx, dword [0x006933f0]
mov r8d, dword [0x00693428]
mov r9d, dword [0x006931b0]
mov eax, dword [0x006931f4]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
call fcn.005a31f0
cmp eax, dword [0x006931b0]
jle 0x5a369b
mov dword [0x006931b0], 0xb
mov eax, dword [0x006932f4]
add eax, dword [0x006933ac]
mov ecx, dword [0x006933d8]
add ecx, dword [0x00693400]
cmp eax, ecx
jle 0x5a36bc
call fcn.004096f0
call fcn.005a31f0
mov eax, dword [0x0069344c]
mov dword [0x00693424], eax
call fcn.005a31f0
mov eax, dword [0x006933c0]
add eax, dword [0x006933e8]
mov ecx, dword [0x00693414]
add ecx, dword [0x0069344c]
cmp eax, ecx
jle 0x5a36fa
mov eax, dword [0x0069344c]
mov dword [0x006933c0], eax
call qword [0x006a8bc8]
mov qword [rbp + 0x70], rax
mov eax, dword [0x006932e8]
add eax, dword [0x006933a0]
mov ecx, dword [0x006933cc]
add ecx, dword [0x006933f4]
cmp eax, ecx
jle 0x5a3725
call fcn.004096f0
mov eax, dword [0x006932e8]
add eax, dword [0x006933a0]
mov ecx, dword [0x006933cc]
add ecx, dword [0x006933f4]
cmp eax, ecx
jle 0x5a3746
call fcn.004096f0
mov eax, dword [0x006933dc]
cmp eax, dword [0x00693404]
je 0x5a3760
mov eax, dword [0x006933dc]
mov dword [0x00693404], eax
mov eax, dword [0x006931f0]
add eax, 1
cmp dword [0x006931f0], eax
jne 0x5a379a
mov ecx, dword [0x006932a4]
mov edx, dword [0x006932ec]
mov r8d, dword [0x006933b4]
mov r9d, dword [0x006933dc]
mov eax, dword [0x00693414]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov eax, dword [0x006933e0]
add eax, dword [0x00693408]
mov ecx, dword [0x006932f8]
add ecx, dword [0x006933b4]
cmp ecx, eax
jle 0x5a37c2
mov ecx, dword [0x00693408]
mov dword [0x006932f8], ecx
mov ecx, dword [0x006932f8]
add ecx, dword [0x006933b4]
cmp ecx, eax
jle 0x5a37de
mov eax, dword [0x00693408]
mov dword [0x006932f8], eax
mov eax, dword [0x006933dc]
cmp eax, dword [0x00693408]
je 0x5a37f8
mov eax, dword [0x006933dc]
mov dword [0x00693408], eax
call fcn.005a31f0
mov eax, dword [0x00693448]
mov dword [0x0069341c], eax
mov dword [0x006931d0], 0x323
mov eax, dword [0x006931d0]
sub eax, 0x1b3
mov dword [0x006931fc], eax
mov eax, dword [0x006932ec]
add eax, dword [0x006933a4]
mov ecx, dword [0x006933d0]
add ecx, dword [0x006933ec]
cmp eax, ecx
jle 0x5a3846
call fcn.004096f0
mov rcx, qword [rbp + 0x70]
mov edx, 0x18
lea r8, [rbp + 0x68]
call qword [0x006a8e88]
mov eax, dword [0x006932ec]
add eax, dword [0x006933a4]
mov ecx, dword [0x006933d0]
add ecx, dword [0x006933ec]
cmp eax, ecx
jle 0x5a387b
call fcn.004096f0
mov eax, dword [0x006933d4]
cmp eax, dword [0x00693400]
je 0x5a3895
mov eax, dword [0x006933d4]
mov dword [0x00693400], eax
mov dword [0x006931bc], 0x2f7
mov eax, dword [0x006931bc]
sub eax, 0x19d
mov dword [0x006931e8], eax
mov dword [0x006931bc], 0x2f7
mov eax, dword [0x006931bc]
sub eax, 0x19d
mov dword [0x006931e8], eax
mov eax, dword [0x006933c4]
cmp eax, dword [0x006933e0]
je 0x5a38e7
mov eax, dword [0x006933c4]
mov dword [0x006933e0], eax
cmp qword [rbp + 0x68], 0
je 0x5a3feb
mov rcx, qword [rbp + 0x68]
mov edx, 0x19
mov r8, qword [rbp + 0x60]
mov r9d, dword [rbp + 0x58]
lea rax, [rbp + 0x5c]
mov qword [rsp + 0x20], rax
call qword [0x006a8e68]
test eax, eax
jne 0x5a3eda
call qword [0x006a9208]
mov dword [rbp + 0x48], eax
mov eax, dword [0x006931c0]
mov dword [0x00693444], eax
cmp dword [rbp + 0x48], 0x7a
jne 0x5a3eda
mov dword [0x006931c4], 0x305
mov eax, dword [0x006931c4]
sub eax, 0x1a4
mov dword [0x006931ec], eax
mov eax, dword [0x006931cc]
mov dword [0x00693450], eax
call fcn.005a31f0
call fcn.005a31f0
cmp eax, dword [0x006931b0]
jle 0x5a397e
mov dword [0x006931b0], 8
mov eax, dword [0x006931cc]
mov dword [0x00693450], eax
mov eax, dword [0x006933f0]
cmp eax, dword [0x0069340c]
je 0x5a39a4
mov eax, dword [0x006933f0]
mov dword [0x0069340c], eax
mov eax, dword [0x006932ec]
add eax, dword [0x006933a8]
mov ecx, dword [0x006933d0]
add ecx, dword [0x006933ec]
cmp eax, ecx
jle 0x5a39cc
mov eax, dword [0x006933ec]
mov dword [0x006932ec], eax
xor ecx, ecx
mov edx, dword [rbp + 0x5c]
call qword [0x006a8bb0]
mov qword [rbp + 0x60], rax
cmp qword [rbp + 0x60], 0
je 0x5a3feb
mov eax, dword [0x006931c8]
mov dword [0x00693450], eax
mov eax, dword [rbp + 0x5c]
mov dword [rbp + 0x58], eax
call fcn.005a31f0
mov eax, dword [0x006932ec]
mov dword [0x006932c0], eax
mov eax, dword [0x006931ec]
add eax, 1
cmp dword [0x006931ec], eax
jne 0x5a3a25
mov ecx, dword [0x006932c4]
call sub.kernel32.dll_SetConsoleKeyShortcuts
call fcn.005a31f0
mov eax, dword [0x006932f4]
add eax, dword [0x006933ac]
mov ecx, dword [0x006933d8]
add ecx, dword [0x00693400]
cmp eax, ecx
jle 0x5a3a52
mov eax, dword [0x00693400]
mov dword [0x006932f4], eax
mov eax, dword [0x006932ac]
mov dword [0x00693290], eax
mov eax, dword [0x006931cc]
add eax, 1
cmp dword [0x006931cc], eax
jne 0x5a3a8e
mov ecx, dword [0x00693408]
mov edx, dword [0x006931b0]
mov r8d, dword [0x006931f4]
mov r9d, dword [0x0069328c]
call sub.advapi32.dll_CryptDuplicateKey
mov eax, dword [0x00693418]
mov dword [0x006933ec], eax
mov eax, dword [0x006933ac]
add eax, dword [0x006933d8]
mov ecx, dword [0x00693400]
add ecx, dword [0x0069342c]
cmp eax, ecx
jle 0x5a3ac2
mov eax, dword [0x0069342c]
mov dword [0x006933ac], eax
mov dword [rbp + 0x5c], 0
mov eax, dword [0x00693288]
add eax, 1
cmp dword [0x00693288], eax
jne 0x5a3af9
mov ecx, dword [0x006932f0]
mov edx, dword [0x006933fc]
mov r8d, dword [0x00693444]
mov r9d, dword [0x006931dc]
call sub.advapi32.dll_CryptDuplicateKey
mov rcx, qword [rbp + 0x68]
mov edx, 0x19
mov r8, qword [rbp + 0x60]
mov r9d, dword [rbp + 0x58]
lea rax, [rbp + 0x5c]
mov qword [rsp + 0x20], rax
call qword [0x006a8e68]
test eax, eax
je 0x5a3e35
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax]
call qword [0x006a8e80]
test eax, eax
je 0x5a3e35
call fcn.005a31f0
cmp eax, dword [0x006931b0]
jle 0x5a3b4e
mov dword [0x006931b0], 0xc
mov eax, dword [0x006932c4]
mov dword [0x006932a8], eax
mov eax, dword [0x006933a8]
add eax, dword [0x006933d4]
mov ecx, dword [0x006933f0]
add ecx, dword [0x00693418]
cmp eax, ecx
jle 0x5a3b82
mov eax, dword [0x00693418]
mov dword [0x006933a8], eax
mov dword [0x006931b4], 0x303
mov eax, dword [0x006931b4]
sub eax, 0x194
mov dword [0x006931e0], eax
mov dword [0x006931b4], 0x303
mov eax, dword [0x006931b4]
sub eax, 0x194
mov dword [0x006931e0], eax
mov eax, dword [0x006933e0]
cmp eax, dword [0x0069340c]
je 0x5a3bd4
mov eax, dword [0x006933e0]
mov dword [0x0069340c], eax
call fcn.005a31f0
cmp eax, dword [0x00693450]
jle 0x5a3beb
mov dword [0x00693450], 8
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax]
call qword [0x006a8e70]
mov qword [rbp + 0x50], rax
mov eax, dword [0x006931d8]
add eax, 1
cmp dword [0x006931d8], eax
jne 0x5a3c18
mov ecx, dword [0x00693200]
call sub.kernel32.dll_SetConsoleKeyShortcuts
mov rax, qword [rbp + 0x50]
movzx rax, byte [rax]
mov dword [rbp + 0x4c], eax
mov eax, dword [0x006931d4]
add eax, 1
cmp dword [0x006931d4], eax
jne 0x5a3c53
mov ecx, dword [0x006932d4]
mov edx, dword [0x006933d8]
mov r8d, dword [0x0069341c]
mov r9d, dword [0x00693448]
call sub.advapi32.dll_CryptDuplicateKey
mov eax, dword [0x006932e8]
add eax, dword [0x006933a0]
mov ecx, dword [0x006933bc]
add ecx, dword [0x006933d8]
cmp eax, ecx
jle 0x5a3c7b
mov eax, dword [0x006933d8]
mov dword [0x006932e8], eax
mov eax, dword [0x006932ac]
mov dword [0x00693290], eax
mov dword [0x006931d8], 0x2f5
mov eax, dword [0x006931d8]
sub eax, 0x19d
mov dword [0x006931f4], eax
sub dword [rbp + 0x4c], 1
mov dword [0x006931d8], 0x2f5
mov eax, dword [0x006931d8]
sub eax, 0x19d
mov dword [0x006931f4], eax
mov eax, dword [0x006933b8]
cmp eax, dword [0x006933e0]
je 0x5a3cdd
mov eax, dword [0x006933b8]
mov dword [0x006933e0], eax
mov eax, dword [0x0069341c]
mov dword [0x00693400], eax
mov eax, dword [0x0069339c]
add eax, dword [0x006933c8]
mov ecx, dword [0x006933f0]
add ecx, dword [0x0069340c]
cmp eax, ecx
jle 0x5a3d11
mov eax, dword [0x0069340c]
mov dword [0x0069339c], eax
mov eax, dword [0x006931bc]
mov dword [0x00693444], eax
mov eax, dword [0x006933d8]
add eax, dword [0x00693404]
mov ecx, dword [0x00693304]
add ecx, dword [0x006933bc]
cmp ecx, eax
jle 0x5a3d45
mov ecx, dword [0x00693404]
mov dword [0x00693304], ecx
mov ecx, dword [0x00693304]
add ecx, dword [0x006933bc]
cmp ecx, eax
jle 0x5a3d61
mov eax, dword [0x00693404]
mov dword [0x00693304], eax
mov eax, dword [0x006933bc]
cmp eax, dword [0x006933e8]
je 0x5a3d7b
mov eax, dword [0x006933bc]
mov dword [0x006933e8], eax
call fcn.005a31f0
cmp eax, dword [0x006931b4]
jle 0x5a3d92
mov dword [0x006931b4], 9
call fcn.005a31f0
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax]
mov edx, dword [rbp + 0x4c]
call qword [0x006a8e78]
mov eax, dword [rax]
mov dword [rbp + 0x7c], eax
mov eax, dword [0x00693424]
mov dword [0x00693408], eax
mov eax, dword [0x006933a4]
add eax, dword [0x006933c0]
mov ecx, dword [0x006933e8]
add ecx, dword [0x00693404]
cmp eax, ecx
jle 0x5a3de0
mov eax, dword [0x00693404]
mov dword [0x006933a4], eax
mov eax, dword [0x006931b8]
mov dword [0x00693440], eax
mov eax, dword [0x006931b8]
mov dword [0x00693440], eax
mov eax, dword [0x006933c4]
cmp eax, dword [0x006933ec]
je 0x5a3e12
mov eax, dword [0x006933c4]
mov dword [0x006933ec], eax
call fcn.005a31f0
cmp eax, dword [0x00693458]
jle 0x5a3e29
mov dword [0x00693458], 0xa
mov eax, dword [0x00693430]
mov dword [0x00693408], eax
mov eax, dword [0x006931d8]
add eax, 1
cmp dword [0x006931d8], eax
jne 0x5a3e6f
mov ecx, dword [0x006933bc]
mov edx, dword [0x00693438]
mov r8d, dword [0x006931d0]
mov r9d, dword [0x00693208]
mov eax, dword [0x006932a0]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov eax, dword [0x006933a0]
add eax, dword [0x006933cc]
mov ecx, dword [0x006933e8]
add ecx, dword [0x00693414]
cmp eax, ecx
jle 0x5a3e97
mov eax, dword [0x00693414]
mov dword [0x006933a0], eax
mov eax, dword [0x006932ec]
mov dword [0x006932c4], eax
mov eax, dword [0x006932dc]
add eax, dword [0x00693308]
mov ecx, dword [0x006933c0]
add ecx, dword [0x006933ec]
cmp eax, ecx
jle 0x5a3ec4
call fcn.004096f0
mov rcx, qword [rbp + 0x60]
call qword [0x006a8bb8]
mov eax, dword [0x0069343c]
mov dword [0x00693420], eax
mov eax, dword [0x0069343c]
mov dword [0x00693420], eax
mov eax, dword [0x006933c4]
cmp eax, dword [0x006933f0]
je 0x5a3f00
mov eax, dword [0x006933c4]
mov dword [0x006933f0], eax
mov eax, dword [0x006932fc]
mov dword [0x006932d0], eax
mov eax, dword [0x006931f8]
add eax, 1
cmp dword [0x006931f8], eax
jne 0x5a3f35
mov ecx, dword [0x006931d0]
mov edx, dword [0x00693278]
mov r8d, dword [0x006932b0]
call sub.kernel32.dll_GetDiskFreeSpaceExW
call fcn.005a31f0
mov rcx, qword [rbp + 0x68]
call qword [0x006a8bc0]
mov eax, dword [0x006932fc]
mov dword [0x006932d0], eax
mov eax, dword [0x006933e8]
cmp eax, dword [0x00693410]
je 0x5a3f6a
mov eax, dword [0x006933e8]
mov dword [0x00693410], eax
mov eax, dword [0x006932c4]
mov dword [0x00693298], eax
mov eax, dword [0x006932c4]
mov dword [0x00693298], eax
mov eax, dword [0x006933bc]
cmp eax, dword [0x006933e8]
je 0x5a3f9c
mov eax, dword [0x006933bc]
mov dword [0x006933e8], eax
call fcn.005a31f0
cmp eax, dword [0x006931d0]
jle 0x5a3fb3
mov dword [0x006931d0], 0x13
call fcn.005a31f0
mov eax, dword [0x006931ec]
add eax, 1
cmp dword [0x006931ec], eax
jne 0x5a3feb
mov ecx, dword [0x006932ac]
mov edx, dword [0x00693300]
mov r8d, dword [0x006933c8]
call sub.kernel32.dll_GetDiskFreeSpaceExW
jmp 0x5a3feb
mov eax, dword [rbp + 0x7c]
lea rsp, [rbp + 0x80]
pop rbp
ret