Function at 0x5da570
Capabilities:
Get disk size

Disassembly:
push rbp
sub rsp, 0x4c0
mov rbp, rsp
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x28], 0
mov qword [rbp + 0x38], rbp
mov qword [rbp + 0x4d0], rcx
mov byte [rbp + 0x4d8], dl
nop
mov eax, dword [0x00696130]
mov dword [0x00695bb8], eax
mov byte [rbp + 0x4b7], 0
nop
lea rcx, [rbp + 0x28]
lea rdx, [0x0069268d]
mov r8d, 0xa
mov r9d, 0x2d
call fcn.00597b20
lea rcx, [rbp + 0x30]
mov rdx, qword [rbp + 0x28]
xor r8, r8
call fcn.005a8ac0
mov rcx, qword [rbp + 0x30]
call fcn.005a2dd0
mov qword [rbp + 0x4b8], rax
nop
call fcn.005d4760
cmp eax, dword [0x006931d8]
jle 0x5da607
mov dword [0x006931d8], 0x2b
mov eax, dword [0x006942b8]
add eax, dword [0x00695820]
mov ecx, dword [0x006958fc]
add ecx, dword [0x00695bb4]
cmp eax, ecx
jle 0x5da62f
mov eax, dword [0x00695bb4]
mov dword [0x006942b8], eax
call fcn.005d7a00
cmp eax, dword [0x00693298]
jle 0x5da646
mov dword [0x00693298], 0x43
mov eax, dword [0x006942b8]
add eax, dword [0x00695820]
mov ecx, dword [0x006958fc]
add ecx, dword [0x00695bb4]
cmp eax, ecx
jle 0x5da66e
mov eax, dword [0x00695bb4]
mov dword [0x006942b8], eax
mov eax, dword [0x006958ec]
cmp eax, dword [0x00695be4]
je 0x5da688
mov eax, dword [0x006958ec]
mov dword [0x00695be4], eax
mov eax, dword [0x006942b0]
add eax, dword [0x00695858]
mov ecx, dword [0x006958f0]
add ecx, dword [0x00695be8]
cmp eax, ecx
jle 0x5da6a9
call fcn.004096f0
mov rcx, qword [0x006a8a80]
mov rax, qword [0x006a8a80]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x4a8], rax
mov qword [rbp + 0x4a0], 0
jmp 0x5da781
mov rcx, qword [0x006a8a80]
mov rdx, qword [rbp + 0x4a0]
xor r8, r8
mov rax, qword [0x006a8a80]
mov rax, qword [rax]
call qword [rax + 0x50]
mov rcx, qword [0x006a8a80]
lea rdx, [rbp + 0x40]
mov r8d, 0x460
call fcn.004fab00
cmp dword [rbp + 0x40], 0xffffffff
je 0x5da76b
cmp byte [rbp + 0x4d8], 0
je 0x5da74a
movzx rax, byte [rbp + 0x88]
cmp al, byte [rbp + 0x4d8]
jne 0x5da76b
mov rax, qword [rbp + 0x4d0]
mov rcx, qword [rax]
lea rdx, [rbp + 0x40]
mov r8d, 0x460
call fcn.004fbd70
mov byte [rbp + 0x4b7], 1
jmp 0x5da76b
mov rax, qword [rbp + 0x4d0]
mov rcx, qword [rax]
lea rdx, [rbp + 0x40]
mov r8d, 0x460
call fcn.004fbd70
mov byte [rbp + 0x4b7], 1
sub qword [rbp + 0x4a8], 0x460
add qword [rbp + 0x4a0], 0x460
cmp qword [rbp + 0x4a8], 0
jg 0x5da6d3
nop
mov rcx, qword [rbp + 0x4b8]
call fcn.005a2ff0
mov dword [0x006931ec], 0x30d
mov eax, dword [0x006931ec]
sub eax, 0x1a8
mov dword [0x006932cc], eax
mov eax, dword [0x00696308]
mov dword [0x00696134], eax
mov eax, dword [0x00696308]
mov dword [0x00696134], eax
mov eax, dword [0x00695920]
cmp eax, dword [0x00695bd8]
je 0x5da7ea
mov eax, dword [0x00695920]
mov dword [0x00695bd8], eax
mov eax, dword [0x00694288]
add eax, dword [0x006957f0]
mov ecx, dword [0x006958cc]
add ecx, dword [0x0069594c]
cmp eax, ecx
jle 0x5da80b
call fcn.004096f0
mov eax, dword [0x00696578]
mov dword [0x0069615c], eax
jmp 0x5da83d
mov eax, dword [0x006933f8]
add eax, 1
cmp dword [0x006933f8], eax
jne 0x5da866
mov ecx, dword [0x006940a4]
mov edx, dword [0x00695ba4]
mov r8d, dword [0x00696120]
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov eax, dword [0x00693400]
add eax, 1
cmp dword [0x00693400], eax
jne 0x5da88f
mov ecx, dword [0x00693960]
mov edx, dword [0x006942f0]
mov r8d, dword [0x006958f4]
call sub.kernel32.dll_GetDiskFreeSpaceExW
nop
lea rcx, [rbp + 0x28]
call fcn.0040e970
lea rcx, [rbp + 0x30]
call fcn.0040e9c0
movzx rax, byte [rbp + 0x4b7]
lea rsp, [rbp + 0x4c0]
pop rbp
ret