Function at 0x659f40
Capabilities:
Get disk size

Disassembly:
push r13
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rbx, rcx
mov rsi, rdx
mov edi, r8d
mov eax, dword [0x0069a9b4]
add eax, dword [0x0069ae04]
mov ecx, dword [0x0069b024]
add ecx, dword [0x006932e4]
cmp eax, ecx
jle 0x659f78
mov dword [0x0069a9b4], 0xd3
mov eax, dword [0x0069a9cc]
mov dword [0x00699de4], eax
mov eax, dword [0x0069a9cc]
mov dword [0x00699de4], eax
mov eax, dword [0x00698b20]
cmp eax, dword [0x006990cc]
je 0x659faa
mov eax, dword [0x00698b20]
mov dword [0x006990cc], eax
call fcn.0063a2c0
cmp eax, dword [0x0069a9ac]
jle 0x659fc1
mov dword [0x0069a9ac], 0x473
call fcn.0062d580
mov eax, dword [0x00693284]
add eax, 1
cmp dword [0x00693284], eax
jne 0x65a02e
mov eax, dword [0x0069adf0]
test eax, eax
jge 0x659fe6
call fcn.0040afc0
mov ecx, dword [0x006934f0]
test ecx, ecx
jge 0x659ff5
call fcn.0040afc0
mov edx, dword [0x006940ac]
test edx, edx
jge 0x65a004
call fcn.0040afc0
mov r8d, dword [0x00695814]
test r8d, r8d
jge 0x65a015
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 [0x00695bc0]
mov dword [0x006958ec], eax
mov r13, rbx
mov eax, dword [0x00693294]
add eax, 1
cmp dword [0x00693294], eax
jne 0x65a08e
mov eax, dword [0x0069a030]
test eax, eax
jge 0x65a05d
call fcn.0040afc0
mov ecx, dword [0x00694114]
test ecx, ecx
jge 0x65a06c
call fcn.0040afc0
mov edx, dword [0x00695c04]
test edx, edx
jge 0x65a07b
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 [0x00699d78]
mov dword [0x00699c00], eax
mov eax, dword [0x00699d78]
mov dword [0x00699c00], eax
mov eax, dword [0x00698ae4]
cmp eax, dword [0x00698e70]
je 0x65a0c0
mov eax, dword [0x00698ae4]
mov dword [0x00698e70], eax
mov eax, dword [0x00699c48]
mov dword [0x00699628], eax
call fcn.00635140
mov eax, dword [0x00693910]
add eax, 1
cmp dword [0x00693910], eax
jne 0x65a14f
mov eax, dword [0x00693438]
test eax, eax
jge 0x65a0f1
call fcn.0040afc0
mov ecx, dword [0x00695bd8]
test ecx, ecx
jge 0x65a100
call fcn.0040afc0
mov edx, dword [0x00696e58]
test edx, edx
jge 0x65a10f
call fcn.0040afc0
mov r8d, dword [0x00698b04]
test r8d, r8d
jge 0x65a120
call fcn.0040afc0
mov r9d, dword [0x00699864]
test r9d, r9d
jge 0x65a131
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 [0x006974c4]
add eax, dword [0x00698980]
mov ecx, dword [0x00698d38]
add ecx, dword [0x00699380]
cmp eax, ecx
jle 0x65a177
mov eax, dword [0x00699380]
mov dword [0x006974c4], eax
mov eax, dword [0x0069b014]
mov dword [0x0069a9a8], eax
mov eax, dword [0x0069630c]
mov dword [0x00695c04], eax
call fcn.0063a6c0
test edi, edi
jle 0x65a1ba
movzx rbx, byte [r13]
movzx rax, byte [rsi]
sub ebx, eax
test ebx, ebx
jne 0x65a2c0
sub edi, 1
add r13, 1
add rsi, 1
test edi, edi
jg 0x65a198
nop
mov eax, dword [0x00699ff8]
mov dword [0x00699bd4], eax
xor ebx, ebx
mov eax, dword [0x00696160]
mov dword [0x00695934], eax
mov eax, dword [0x00696160]
mov dword [0x00695934], eax
mov eax, dword [0x00698fd8]
cmp eax, dword [0x00699544]
je 0x65a1fb
mov eax, dword [0x00698fd8]
mov dword [0x00699544], eax
mov eax, dword [0x006932bc]
add eax, 1
cmp dword [0x006932bc], eax
jne 0x65a263
mov eax, dword [0x00697e70]
test eax, eax
jge 0x65a21b
call fcn.0040afc0
mov ecx, dword [0x006990bc]
test ecx, ecx
jge 0x65a22a
call fcn.0040afc0
mov edx, dword [0x00699870]
test edx, edx
jge 0x65a239
call fcn.0040afc0
mov r8d, dword [0x0069a024]
test r8d, r8d
jge 0x65a24a
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 [0x0069a03c]
mov dword [0x00699c18], eax
call fcn.0063de90
mov eax, dword [0x00695b98]
mov dword [0x00695808], eax
mov eax, dword [0x00699bf8]
mov dword [0x006995d8], eax
mov eax, dword [0x00699398]
add eax, dword [0x0069a508]
mov ecx, dword [0x0069b014]
add ecx, dword [0x006934f4]
cmp eax, ecx
jle 0x65a2b4
mov eax, dword [0x006934f4]
mov dword [0x00699398], eax
mov eax, dword [0x006931c4]
mov dword [0x0069a994], eax
mov eax, ebx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop r13
ret