Function at 0x5e4c20
Capabilities:
Get disk size

Disassembly:
push rbp
push rbx
sub rsp, 0x98
mov rbp, rsp
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x48], rbp
mov qword [rbp + 0xb0], rcx
mov qword [rbp + 0xb8], rdx
mov qword [rbp + 0xc0], r8
mov byte [rbp + 0xc8], r9b
lea rcx, [rbp + 0xb8]
call fcn.0040eaf0
nop
mov eax, dword [0x00696894]
mov dword [0x006962ec], eax
mov dword [0x006931f4], 0x2ee
mov eax, dword [0x006931f4]
sub eax, 0x199
mov dword [0x006933bc], eax
mov dword [0x006931f4], 0x2ee
mov eax, dword [0x006931f4]
sub eax, 0x199
mov dword [0x006933bc], eax
mov eax, dword [0x00695ba4]
cmp eax, dword [0x00696134]
je 0x5e4cbf
mov eax, dword [0x00695ba4]
mov dword [0x00696134], eax
call fcn.005d7a00
cmp eax, dword [0x006931c4]
jle 0x5e4cd6
mov dword [0x006931c4], 0x3c
mov byte [rbp + 0x8f], 0
nop
mov rcx, qword [rbp + 0xc0]
call fcn.0040e9c0
mov eax, dword [0x00696ab4]
add eax, dword [0x00693274]
mov ecx, dword [0x00693304]
add ecx, dword [0x006934c0]
cmp eax, ecx
jle 0x5e4d10
mov dword [0x00696ab4], 0x14d
mov dword [0x00693300], 0x31a
mov eax, dword [0x00693300]
sub eax, 0x1af
mov dword [0x006934c0], eax
mov eax, dword [0x006965a4]
mov dword [0x006962cc], eax
mov eax, dword [0x006933d0]
add eax, 1
cmp dword [0x006933d0], eax
jne 0x5e4da0
mov eax, dword [0x00694128]
test eax, eax
jge 0x5e4d58
call fcn.0040afc0
mov ecx, dword [0x00695b9c]
test ecx, ecx
jge 0x5e4d67
call fcn.0040afc0
mov edx, dword [0x0069612c]
test edx, edx
jge 0x5e4d76
call fcn.0040afc0
mov r8d, dword [0x006965a4]
test r8d, r8d
jge 0x5e4d87
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 [0x006965a4]
mov dword [0x006962cc], eax
mov eax, dword [0x00695bcc]
cmp eax, dword [0x00696114]
je 0x5e4dc6
mov eax, dword [0x00695bcc]
mov dword [0x00696114], eax
mov eax, dword [0x00693294]
add eax, 1
cmp dword [0x00693294], eax
jne 0x5e4e44
mov eax, dword [0x006940a8]
test eax, eax
jge 0x5e4de6
call fcn.0040afc0
mov ecx, dword [0x00695838]
test ecx, ecx
jge 0x5e4df5
call fcn.0040afc0
mov edx, dword [0x00695928]
test edx, edx
jge 0x5e4e04
call fcn.0040afc0
mov r8d, dword [0x00696a74]
test r8d, r8d
jge 0x5e4e15
call fcn.0040afc0
mov r9d, dword [0x0069327c]
test r9d, r9d
jge 0x5e4e26
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 [0x00694130]
mov dword [0x006940a0], eax
mov eax, dword [0x006932b0]
add eax, 1
cmp dword [0x006932b0], eax
jne 0x5e4eb8
mov eax, dword [0x006940cc]
test eax, eax
jge 0x5e4e70
call fcn.0040afc0
mov ecx, dword [0x0069585c]
test ecx, ecx
jge 0x5e4e7f
call fcn.0040afc0
mov edx, dword [0x00695b88]
test edx, edx
jge 0x5e4e8e
call fcn.0040afc0
mov r8d, dword [0x00696118]
test r8d, r8d
jge 0x5e4e9f
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 rcx, qword [rbp + 0xb8]
call fcn.00410050
mov rcx, qword [rbp + 0xb0]
mov rdx, rax
xor r8, r8
mov r9d, 0x20019
lea rax, [rbp + 0x70]
mov qword [rsp + 0x20], rax
call qword [0x006a8f40]
test eax, eax
jne 0x5e5268
mov byte [rbp + 0x8f], 1
mov dword [rbp + 0x64], 0x400
mov ecx, dword [rbp + 0x64]
call fcn.00409030
mov qword [rbp + 0x68], rax
mov dword [rbp + 0x88], 0
mov eax, dword [0x00694130]
mov dword [0x006940a0], eax
mov eax, dword [0x00696140]
cmp eax, dword [0x006962e0]
je 0x5e4f39
mov eax, dword [0x00696140]
mov dword [0x006962e0], eax
mov eax, dword [0x00696310]
mov dword [0x00696124], eax
mov eax, dword [0x00696310]
mov dword [0x00696124], eax
mov eax, dword [0x00695bd4]
cmp eax, dword [0x00696168]
je 0x5e4f6b
mov eax, dword [0x00695bd4]
mov dword [0x00696168], eax
mov eax, dword [0x006968a4]
mov dword [0x00696300], eax
mov eax, dword [0x006933c0]
add eax, 1
cmp dword [0x006933c0], eax
jne 0x5e4fc8
mov eax, dword [0x00693544]
test eax, eax
jge 0x5e4f97
call fcn.0040afc0
mov ecx, dword [0x006942b8]
test ecx, ecx
jge 0x5e4fa6
call fcn.0040afc0
mov edx, dword [0x00695874]
test edx, edx
jge 0x5e4fb5
call fcn.0040afc0
mov r8d, ecx
mov r9d, edx
mov ecx, eax
mov edx, r8d
mov r8d, r9d
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov dword [rbp + 0x84], 0
mov eax, dword [0x0069588c]
add eax, dword [0x00695934]
mov ecx, dword [0x00695d8c]
add ecx, dword [0x006962e8]
cmp eax, ecx
jle 0x5e4ffa
mov eax, dword [0x006962e8]
mov dword [0x0069588c], eax
call fcn.005d2170
mov eax, dword [0x006965d0]
mov dword [0x006961a0], eax
mov eax, dword [0x006958f4]
add eax, dword [0x00695bbc]
mov ecx, dword [0x0069614c]
add ecx, dword [0x006962f0]
cmp eax, ecx
jle 0x5e5033
mov eax, dword [0x006962f0]
mov dword [0x006958f4], eax
cmp dword [rbp + 0x84], 0
jne 0x5e51bf
mov dword [rbp + 0x64], 0x400
cmp byte [rbp + 0xc8], 0
je 0x5e509f
mov eax, dword [rbp + 0x88]
test eax, eax
jge 0x5e505f
call fcn.0040afc0
mov rcx, qword [rbp + 0x70]
mov edx, eax
mov r8, qword [rbp + 0x68]
lea r9, [rbp + 0x64]
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
call qword [0x006a8f58]
mov dword [rbp + 0x84], eax
jmp 0x5e50ec
mov eax, dword [rbp + 0x88]
test eax, eax
jge 0x5e50ae
call fcn.0040afc0
mov rcx, qword [rbp + 0x70]
mov edx, eax
mov r8, qword [rbp + 0x68]
lea r9, [rbp + 0x64]
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
call qword [0x006a8f60]
mov dword [rbp + 0x84], eax
cmp dword [rbp + 0x84], 0
jne 0x5e51b2
lea rcx, [rbp + 0x78]
mov edx, dword [rbp + 0x64]
call fcn.00410650
mov eax, 1
movsxd rax, eax
cmp qword [rbp + 0x78], 0
je 0x5e512f
lea rcx, [rax - 1]
add rcx, rcx
jno 0x5e5123
call fcn.0040afc0
mov rdx, qword [rbp + 0x78]
mov edx, dword [rdx - 4]
cmp rcx, rdx
jb 0x5e5134
call fcn.0040afc0
mov rcx, qword [rbp + 0x78]
lea rax, [rcx + rax*2 - 2]
mov qword [rbp + 0x58], rax
mov rcx, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x58]
mov r8d, dword [rbp + 0x64]
add r8d, r8d
mov r8d, r8d
call fcn.004093d0
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rax]
xor edx, edx
call fcn.00410520
test eax, eax
jne 0x5e517f
mov rcx, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0x78]
call fcn.0040f010
jmp 0x5e51ab
mov rcx, qword [rbp + 0xc0]
mov edx, 3
mov rax, qword [rbp + 0xc0]
mov r8, qword [rax]
lea r9, [0x005e545c]
mov rax, qword [rbp + 0x78]
mov qword [rsp + 0x20], rax
call fcn.00410400
add dword [rbp + 0x88], 1
cmp dword [rbp + 0x84], 0
je 0x5e5040
nop
mov rcx, qword [rbp + 0x68]
call fcn.00409060
mov eax, dword [0x00694104]
mov dword [0x00693924], eax
mov eax, dword [0x00695d94]
add eax, dword [0x006962f0]
mov ecx, dword [0x00695894]
add ecx, dword [0x0069593c]
cmp ecx, eax
jle 0x5e51fd
mov ecx, dword [0x006962f0]
mov dword [0x00695894], ecx
mov ecx, dword [0x00695894]
add ecx, dword [0x0069593c]
cmp ecx, eax
jle 0x5e5219
mov eax, dword [0x006962f0]
mov dword [0x00695894], eax
mov eax, dword [0x00695bb8]
cmp eax, dword [0x0069614c]
je 0x5e5233
mov eax, dword [0x00695bb8]
mov dword [0x0069614c], eax
mov eax, dword [0x00694298]
add eax, dword [0x00695858]
mov ecx, dword [0x00695900]
add ecx, dword [0x00695bc8]
cmp eax, ecx
jle 0x5e5254
call fcn.004096f0
mov rcx, qword [rbp + 0x70]
call qword [0x006a8f50]
jmp 0x5e5268
call fcn.005d9cb0
cmp eax, dword [0x006931d0]
jle 0x5e527f
mov dword [0x006931d0], 0x3f
call fcn.005da060
cmp eax, dword [0x006931e8]
jle 0x5e5296
mov dword [0x006931e8], 0x33
mov eax, dword [0x00693284]
add eax, 1
cmp dword [0x00693284], eax
jne 0x5e5314
mov eax, dword [0x006942fc]
test eax, eax
jge 0x5e52b6
call fcn.0040afc0
mov ecx, dword [0x00695be4]
test ecx, ecx
jge 0x5e52c5
call fcn.0040afc0
mov edx, dword [0x00696174]
test edx, edx
jge 0x5e52d4
call fcn.0040afc0
mov r8d, dword [0x006965a8]
test r8d, r8d
jge 0x5e52e5
call fcn.0040afc0
mov r9d, dword [0x00696aac]
test r9d, r9d
jge 0x5e52f6
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 [0x006932c0]
add eax, 1
cmp dword [0x006932c0], eax
jne 0x5e533b
mov eax, dword [0x00696158]
test eax, eax
jge 0x5e5334
call fcn.0040afc0
mov ecx, eax
call sub.kernel32.dll_SetConsoleKeyShortcuts
call fcn.005d62d0
cmp eax, dword [0x00696ca0]
jle 0x5e5352
mov dword [0x00696ca0], 0x25
call fcn.005dda90
cmp eax, dword [0x006931cc]
jle 0x5e5369
mov dword [0x006931cc], 0x3d
mov eax, dword [0x006932f0]
add eax, 1
cmp dword [0x006932f0], eax
jne 0x5e53ba
mov eax, dword [0x006933f0]
test eax, eax
jge 0x5e5389
call fcn.0040afc0
mov ecx, dword [0x00693924]
test ecx, ecx
jge 0x5e5398
call fcn.0040afc0
mov edx, dword [0x00694294]
test edx, edx
jge 0x5e53a7
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 [0x006931b8]
mov dword [0x006968ac], eax
mov eax, dword [0x006958e4]
add eax, dword [0x00695bf0]
mov ecx, dword [0x00696184]
add ecx, dword [0x006965b4]
cmp eax, ecx
jle 0x5e53ee
mov eax, dword [0x006965b4]
mov dword [0x006958e4], eax
nop
lea rcx, [rbp + 0x78]
call fcn.0040e9c0
lea rcx, [rbp + 0xb8]
call fcn.0040e9c0
movzx rax, byte [rbp + 0x8f]
lea rsp, [rbp + 0x98]
pop rbx
pop rbp
ret