Function at 0x5ccf10
Capabilities:
Get disk size

Disassembly:
push rbp
push rbx
sub rsp, 0x3d8
mov rbp, rsp
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x48], rbp
mov qword [rbp + 0x3f0], rcx
mov dword [rbp + 0x3f8], edx
nop
mov eax, dword [0x00695914]
add eax, dword [0x006931cc]
mov ecx, dword [0x006932b0]
add ecx, dword [0x006933c8]
cmp eax, ecx
jle 0x5ccf64
mov dword [0x00695914], 0xec
nop
mov ecx, 0x410
xor edx, edx
mov r8d, dword [rbp + 0x3f8]
call qword [0x006a8bd0]
mov qword [rbp + 0x3c0], rax
mov eax, dword [0x00695914]
add eax, dword [0x006931cc]
mov ecx, dword [0x006932b0]
add ecx, dword [0x006933c8]
cmp eax, ecx
jle 0x5ccfa7
mov dword [0x00695914], 0xec
mov eax, dword [0x00694128]
cmp eax, dword [0x006942f0]
je 0x5ccfc1
mov eax, dword [0x00694128]
mov dword [0x006942f0], eax
mov eax, dword [0x00695894]
mov dword [0x0069583c], eax
call fcn.005cc640
cmp eax, dword [0x006931f8]
jle 0x5ccfe4
mov dword [0x006931f8], 0x34
cmp qword [rbp + 0x3c0], 0
jbe 0x5cd9f3
nop
mov byte [rbp + 0x5f], 1
mov rcx, qword [rbp + 0x3c0]
lea rdx, [rbp + 0x5f]
call qword [0x006a8b90]
cmp byte [rbp + 0x5f], 0
je 0x5cd2fb
mov rcx, qword [rbp + 0x3c0]
mov dl, 0x1a
lea r8, [rbp + 0x380]
mov r9d, 8
mov qword [rsp + 0x20], 0
call qword [0x006a9168]
test eax, eax
jne 0x5cd7f8
mov rcx, qword [rbp + 0x3c0]
mov edx, dword [rbp + 0x380]
add edx, 0x10
movsxd rdx, edx
lea r8, [rbp + 0x380]
mov r9d, 4
lea rax, [rbp + 0x3b8]
mov qword [rsp + 0x20], rax
call qword [0x006a8c90]
test eax, eax
je 0x5cd7f8
mov eax, dword [0x006940ec]
add eax, dword [0x006942b4]
mov ecx, dword [0x006957f8]
add ecx, dword [0x0069587c]
cmp eax, ecx
jle 0x5cd0a3
mov eax, dword [0x0069587c]
mov dword [0x006940ec], eax
mov eax, dword [0x00695868]
mov dword [0x00695810], eax
mov eax, dword [0x006940e8]
add eax, dword [0x006942b0]
mov ecx, dword [0x006957f0]
add ecx, dword [0x00695878]
cmp eax, ecx
jle 0x5cd0d7
mov eax, dword [0x00695878]
mov dword [0x006940e8], eax
mov eax, dword [0x00693544]
mov dword [0x006934ec], eax
mov eax, dword [0x006940b8]
add eax, dword [0x0069413c]
mov ecx, dword [0x006957f0]
add ecx, dword [0x00695848]
cmp eax, ecx
jle 0x5cd10b
mov eax, dword [0x00695848]
mov dword [0x006940b8], eax
mov rcx, qword [rbp + 0x3c0]
movsxd rdx, dword [rbp + 0x380]
lea r8, [rbp + 0xe4]
mov r9d, 0x294
lea rax, [rbp + 0x3b8]
mov qword [rsp + 0x20], rax
call qword [0x006a8c90]
test eax, eax
je 0x5cd7f8
mov dword [0x006931e4], 0x315
mov eax, dword [0x006931e4]
sub eax, 0x1ac
mov dword [0x006932c8], eax
mov eax, dword [0x006931bc]
add eax, dword [0x00693274]
mov ecx, dword [0x006932f8]
add ecx, dword [0x00693410]
cmp eax, ecx
jle 0x5cd183
mov dword [0x006931bc], 0x1d
mov eax, dword [0x00695868]
mov dword [0x006942fc], eax
mov eax, dword [0x00695868]
mov dword [0x006942fc], eax
mov eax, dword [0x006942c4]
cmp eax, dword [0x00695804]
je 0x5cd1b5
mov eax, dword [0x006942c4]
mov dword [0x00695804], eax
call fcn.005cb0d0
cmp eax, dword [0x006958fc]
jle 0x5cd1cc
mov dword [0x006958fc], 0xd
mov eax, dword [0x0069327c]
add eax, 1
cmp dword [0x0069327c], eax
jne 0x5cd206
mov ecx, dword [0x006931cc]
mov edx, dword [0x0069339c]
mov r8d, dword [0x00693420]
mov r9d, dword [0x0069352c]
mov eax, dword [0x00693954]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov eax, dword [0x0069355c]
add eax, dword [0x00693958]
mov ecx, dword [0x006940c0]
add ecx, dword [0x00694118]
cmp eax, ecx
jle 0x5cd227
call fcn.004096f0
movzx rcx, word [rbp + 0x124]
call fcn.00409030
mov qword [rbp + 0x3c8], rax
nop
mov rcx, qword [rbp + 0x3c0]
mov edx, dword [rbp + 0x128]
mov r8, qword [rbp + 0x3c8]
movzx r9, word [rbp + 0x124]
lea rax, [rbp + 0x3b8]
mov qword [rsp + 0x20], rax
call qword [0x006a8c90]
test eax, eax
je 0x5cd2e9
mov rcx, qword [rbp + 0x3f0]
movzx edx, word [rbp + 0x124]
call fcn.00410650
mov eax, dword [0x006932f4]
add eax, 1
cmp dword [0x006932f4], eax
jne 0x5cd2bb
mov ecx, dword [0x006933dc]
mov edx, dword [0x0069393c]
mov r8d, dword [0x00694128]
mov r9d, dword [0x00695808]
mov eax, dword [0x0069588c]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov rax, qword [rbp + 0x3f0]
mov rcx, qword [rax]
call fcn.00410050
mov rbx, rax
lea rcx, [rbp + 0x40]
mov rdx, qword [rbp + 0x3c8]
call fcn.004107d0
mov rcx, rbx
mov rdx, qword [rbp + 0x40]
call fcn.00430440
nop
mov rcx, qword [rbp + 0x3c8]
call fcn.00409060
jmp 0x5cd7f8
mov dword [rbp + 0x384], 0x30
mov eax, dword [0x006932e4]
add eax, 1
cmp dword [0x006932e4], eax
jne 0x5cd32e
mov ecx, dword [0x006932f0]
mov edx, dword [0x00693568]
mov r8d, dword [0x006940cc]
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov eax, dword [0x0069413c]
add eax, dword [0x00694304]
mov ecx, dword [0x00693950]
add ecx, dword [0x006940e0]
cmp ecx, eax
jle 0x5cd356
mov ecx, dword [0x00694304]
mov dword [0x00693950], ecx
mov ecx, dword [0x00693950]
add ecx, dword [0x006940e0]
cmp ecx, eax
jle 0x5cd372
mov eax, dword [0x00694304]
mov dword [0x00693950], eax
mov eax, dword [0x006940f0]
cmp eax, dword [0x006942bc]
je 0x5cd38c
mov eax, dword [0x006940f0]
mov dword [0x006942bc], eax
mov eax, dword [0x00695908]
mov dword [0x00695868], eax
mov eax, dword [0x00693940]
mov dword [0x00693544], eax
mov rcx, qword [rbp + 0x3c0]
xor edx, edx
lea r8, [rbp + 0x388]
mov r9d, dword [rbp + 0x384]
mov qword [rsp + 0x20], 0
call qword [0x006a9168]
test eax, eax
jne 0x5cd7f8
mov eax, dword [0x00693940]
mov dword [0x00693544], eax
mov eax, dword [0x006942c4]
cmp eax, dword [0x00695830]
je 0x5cd3f8
mov eax, dword [0x006942c4]
mov dword [0x00695830], eax
mov eax, dword [0x006932fc]
add eax, dword [0x00693410]
mov ecx, dword [0x00695930]
add ecx, dword [0x00693274]
cmp ecx, eax
jle 0x5cd41e
mov dword [0x00695930], 0x17
mov ecx, dword [0x00695930]
add ecx, dword [0x00693274]
cmp ecx, eax
jle 0x5cd438
mov dword [0x00695930], 0x17
mov eax, dword [0x0069411c]
cmp eax, dword [0x006942b8]
je 0x5cd452
mov eax, dword [0x0069411c]
mov dword [0x006942b8], eax
mov eax, dword [0x00695940]
mov dword [0x006958e8], eax
mov eax, dword [0x006940dc]
add eax, dword [0x006942a4]
mov ecx, dword [0x006942fc]
add ecx, dword [0x0069586c]
cmp eax, ecx
jle 0x5cd486
mov eax, dword [0x0069586c]
mov dword [0x006940dc], eax
mov eax, dword [0x006931dc]
mov dword [0x006958f8], eax
mov eax, dword [0x006931dc]
mov dword [0x006958f8], eax
mov eax, dword [0x00694288]
cmp eax, dword [0x006957f4]
je 0x5cd4b8
mov eax, dword [0x00694288]
mov dword [0x006957f4], eax
call fcn.005c8240
mov eax, dword [0x006940ec]
add eax, dword [0x006942b4]
mov ecx, dword [0x00695824]
add ecx, dword [0x0069587c]
cmp eax, ecx
jle 0x5cd4e5
mov eax, dword [0x0069587c]
mov dword [0x006940ec], eax
mov rcx, qword [rbp + 0x3c0]
mov rax, qword [rbp + 0x390]
lea rdx, [rax + 0x20]
lea r8, [rbp + 0x378]
mov r9d, 4
lea rax, [rbp + 0x3b8]
mov qword [rsp + 0x20], rax
call qword [0x006a8c90]
test eax, eax
je 0x5cd7f8
call fcn.005cb700
cmp eax, dword [0x00695940]
jle 0x5cd536
mov dword [0x00695940], 0x14
mov eax, dword [0x00693204]
mov dword [0x006958c4], eax
mov dword [0x0069320c], 0x313
mov eax, dword [0x0069320c]
sub eax, 0x1ab
mov dword [0x006932f4], eax
mov eax, dword [0x006932fc]
add eax, 1
cmp dword [0x006932fc], eax
jne 0x5cd58e
mov ecx, dword [0x006932a8]
mov edx, dword [0x00693418]
mov r8d, dword [0x00693520]
mov r9d, dword [0x0069394c]
call sub.advapi32.dll_CryptDuplicateKey
mov eax, dword [0x0069394c]
add eax, dword [0x006940dc]
mov ecx, dword [0x006942a8]
add ecx, dword [0x00695814]
cmp eax, ecx
jle 0x5cd5af
call fcn.004096f0
mov dword [0x00693204], 0x30d
mov eax, dword [0x00693204]
sub eax, 0x1a8
mov dword [0x006932ec], eax
call fcn.005cc640
cmp eax, dword [0x006931f4]
jle 0x5cd5e2
mov dword [0x006931f4], 0x28
mov eax, dword [0x006940a4]
add eax, dword [0x006940fc]
mov ecx, dword [0x006942c4]
add ecx, dword [0x00695834]
cmp eax, ecx
jle 0x5cd60a
mov eax, dword [0x00695834]
mov dword [0x006940a4], eax
mov rcx, qword [rbp + 0x3c0]
mov rdx, qword [rbp + 0x378]
lea r8, [rbp + 0x60]
mov r9d, 0x80
lea rax, [rbp + 0x3b8]
mov qword [rsp + 0x20], rax
call qword [0x006a8c90]
test eax, eax
je 0x5cd7f8
mov eax, dword [0x00693434]
sub eax, dword [0x006933d8]
mov dword [0x006933d8], eax
call fcn.005cb0d0
cmp eax, dword [0x00695928]
jle 0x5cd666
mov dword [0x00695928], 0x19
mov eax, dword [0x006933cc]
add eax, 1
cmp dword [0x006933cc], eax
jne 0x5cd68f
mov ecx, dword [0x00693510]
mov edx, dword [0x006940a0]
mov r8d, dword [0x00694298]
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov dword [0x006931dc], 0x2f0
mov eax, dword [0x006931dc]
sub eax, 0x19a
mov dword [0x006932c0], eax
movzx rcx, word [rbp + 0xd0]
call fcn.00409030
mov qword [rbp + 0x3c8], rax
nop
mov rcx, qword [rbp + 0x3c0]
mov rdx, qword [rbp + 0xd8]
mov r8, qword [rbp + 0x3c8]
movzx r9, word [rbp + 0xd0]
lea rax, [rbp + 0x3b8]
mov qword [rsp + 0x20], rax
call qword [0x006a8c90]
test eax, eax
je 0x5cd7eb
mov dword [0x006931dc], 0x2f0
mov eax, dword [0x006931dc]
sub eax, 0x19a
mov dword [0x006932c0], eax
mov eax, dword [0x006942d8]
cmp eax, dword [0x00695848]
je 0x5cd72d
mov eax, dword [0x006942d8]
mov dword [0x00695848], eax
mov eax, dword [0x006931d8]
add eax, dword [0x006932bc]
mov ecx, dword [0x006933a8]
add ecx, dword [0x0069342c]
cmp eax, ecx
jle 0x5cd753
mov dword [0x006931d8], 0x5d
call fcn.005cc050
cmp eax, dword [0x006931d4]
jle 0x5cd76a
mov dword [0x006931d4], 0x2b
mov eax, dword [0x00694118]
add eax, dword [0x006942e0]
mov ecx, dword [0x00695850]
add ecx, dword [0x006958f0]
cmp eax, ecx
jle 0x5cd792
mov eax, dword [0x006958f0]
mov dword [0x00694118], eax
mov eax, dword [0x00693548]
mov dword [0x006934ec], eax
mov eax, dword [0x006958c4]
mov dword [0x00695824], eax
mov rcx, qword [rbp + 0x3f0]
movzx edx, word [rbp + 0xd0]
call fcn.00410650
mov rax, qword [rbp + 0x3f0]
mov rcx, qword [rax]
call fcn.00410050
mov rbx, rax
lea rcx, [rbp + 0x38]
mov rdx, qword [rbp + 0x3c8]
call fcn.004107d0
mov rcx, rbx
mov rdx, qword [rbp + 0x38]
call fcn.00430440
nop
mov rcx, qword [rbp + 0x3c8]
call fcn.00409060
nop
mov rcx, qword [rbp + 0x3c0]
call qword [0x006a8bc0]
mov eax, dword [0x0069397c]
add eax, dword [0x0069410c]
mov ecx, dword [0x006942d8]
add ecx, dword [0x00695844]
cmp eax, ecx
jle 0x5cd82e
mov eax, dword [0x00695844]
mov dword [0x0069397c], eax
mov eax, dword [0x00695870]
mov dword [0x00694300], eax
mov eax, dword [0x00695870]
mov dword [0x00694300], eax
mov eax, dword [0x006942a8]
cmp eax, dword [0x00694300]
je 0x5cd860
mov eax, dword [0x006942a8]
mov dword [0x00694300], eax
mov eax, dword [0x006940ec]
add eax, dword [0x006942b4]
mov ecx, dword [0x00695824]
add ecx, dword [0x006958c4]
cmp eax, ecx
jle 0x5cd888
mov eax, dword [0x006958c4]
mov dword [0x006940ec], eax
mov eax, dword [0x0069395c]
mov dword [0x0069355c], eax
mov eax, dword [0x006940b0]
add eax, dword [0x00694134]
mov ecx, dword [0x00694300]
add ecx, dword [0x00695840]
cmp eax, ecx
jle 0x5cd8bc
mov eax, dword [0x00695840]
mov dword [0x006940b0], eax
mov eax, dword [0x006931c0]
mov dword [0x006958d8], eax
mov eax, dword [0x006940ac]
add eax, dword [0x00694134]
mov ecx, dword [0x006942d0]
add ecx, dword [0x00695840]
cmp eax, ecx
jle 0x5cd8f0
mov eax, dword [0x00695840]
mov dword [0x006940ac], eax
mov eax, dword [0x0069590c]
add eax, dword [0x006931f0]
mov ecx, dword [0x006932d4]
add ecx, dword [0x006933ec]
cmp eax, ecx
jle 0x5cd9f3
mov dword [0x0069590c], 0x47
jmp 0x5cd9f3
mov eax, dword [0x006958d8]
mov dword [0x00695834], eax
call fcn.005cb0d0
cmp eax, dword [0x0069592c]
jle 0x5cda16
mov dword [0x0069592c], 0x1a
mov eax, dword [0x0069391c]
add eax, dword [0x006940b0]
mov ecx, dword [0x00694134]
add ecx, dword [0x00694300]
cmp eax, ecx
jle 0x5cda37
call fcn.004096f0
call fcn.005cc090
cmp eax, dword [0x00693274]
jle 0x5cda4e
mov dword [0x00693274], 0x3b
mov dword [0x00693210], 0x2f4
mov eax, dword [0x00693210]
sub eax, 0x19c
mov dword [0x006932f4], eax
nop
lea rcx, [rbp + 0x38]
mov edx, 2
call fcn.0040ea00
mov rax, qword [rbp + 0x3f0]
lea rsp, [rbp + 0x3d8]
pop rbx
pop rbp
ret