Function at 0x5d7af0
Capabilities:
Get disk size

Disassembly:
push rbp
sub rsp, 0xd90
mov rbp, rsp
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x28], 0
mov qword [rbp + 0x20], 0
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x80], 0
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x88], rbp
mov dword [rbp + 0xda0], ecx
nop
mov eax, dword [0x006962d8]
mov dword [0x00695d9c], eax
mov byte [rbp + 0xd87], 0
mov eax, dword [0x00694290]
add eax, dword [0x00694304]
mov ecx, dword [0x006958a0]
add ecx, dword [0x00695930]
cmp eax, ecx
jle 0x5d7baf
mov eax, dword [0x00695930]
mov dword [0x00694290], eax
call fcn.005d2170
cmp eax, dword [0x006962f4]
jle 0x5d7bc6
mov dword [0x006962f4], 0x20
mov eax, dword [0x00695c04]
mov dword [0x00695b90], eax
nop
lea rcx, [rbp + 0x78]
lea rdx, [0x0069268d]
mov r8d, 0xa
mov r9d, 0x2d
call fcn.00597b20
lea rcx, [rbp + 0x80]
mov rdx, qword [rbp + 0x78]
xor r8, r8
call fcn.005a8ac0
mov rcx, qword [rbp + 0x80]
call fcn.005a2dd0
mov qword [rbp + 0xd88], rax
nop
mov qword [rbp + 0xd70], 0
mov eax, dword [0x006958e8]
add eax, dword [0x00695b98]
mov ecx, dword [0x006942bc]
add ecx, dword [0x00695858]
cmp ecx, eax
jle 0x5d7c4b
mov ecx, dword [0x00695b98]
mov dword [0x006942bc], ecx
mov ecx, dword [0x006942bc]
add ecx, dword [0x00695858]
cmp ecx, eax
jle 0x5d7c67
mov eax, dword [0x00695b98]
mov dword [0x006942bc], eax
mov eax, dword [0x00695848]
cmp eax, dword [0x00695918]
je 0x5d7c81
mov eax, dword [0x00695848]
mov dword [0x00695918], eax
mov eax, dword [0x006942e4]
add eax, dword [0x00695840]
mov ecx, dword [0x00695910]
add ecx, dword [0x00695bc0]
cmp eax, ecx
jle 0x5d7ca9
mov eax, dword [0x00695bc0]
mov dword [0x006942e4], eax
mov eax, dword [0x00693280]
add eax, 1
cmp dword [0x00693280], eax
jne 0x5d7cd2
mov ecx, dword [0x0069329c]
mov edx, dword [0x00693454]
mov r8d, dword [0x00693910]
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov eax, dword [0x006942e4]
add eax, dword [0x00695840]
mov ecx, dword [0x00695910]
add ecx, dword [0x00695bc0]
cmp eax, ecx
jle 0x5d7cfa
mov eax, dword [0x00695bc0]
mov dword [0x006942e4], eax
mov eax, dword [0x0069592c]
cmp eax, dword [0x00695c14]
je 0x5d7d14
mov eax, dword [0x0069592c]
mov dword [0x00695c14], eax
mov eax, dword [0x006942b4]
add eax, dword [0x0069584c]
mov ecx, dword [0x006958e0]
add ecx, dword [0x00695bc8]
cmp eax, ecx
jle 0x5d7d3c
mov eax, dword [0x00695bc8]
mov dword [0x006942b4], eax
mov eax, dword [0x00695bf8]
mov dword [0x0069594c], eax
mov eax, dword [0x00695830]
add eax, dword [0x006958a4]
mov ecx, dword [0x00695bac]
add ecx, dword [0x00695c20]
cmp eax, ecx
jle 0x5d7d70
mov eax, dword [0x00695c20]
mov dword [0x00695830], eax
mov eax, dword [0x00695c10]
mov dword [0x00695b98], eax
mov rcx, qword [0x006a8ac8]
mov rax, qword [0x006a8ac8]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0xd78], rax
mov eax, dword [0x006958ec]
add eax, dword [0x00695b98]
mov ecx, dword [0x006942c0]
add ecx, dword [0x00695858]
cmp ecx, eax
jle 0x5d7dbe
mov ecx, dword [0x00695b98]
mov dword [0x006942c0], ecx
mov ecx, dword [0x006942c0]
add ecx, dword [0x00695858]
cmp ecx, eax
jle 0x5d7dda
mov eax, dword [0x00695b98]
mov dword [0x006942c0], eax
mov eax, dword [0x006958e0]
cmp eax, dword [0x00695bc8]
je 0x5d7df4
mov eax, dword [0x006958e0]
mov dword [0x00695bc8], eax
call fcn.005d19c0
jmp 0x5d8043
mov rcx, qword [0x006a8ac8]
mov rdx, qword [rbp + 0xd70]
xor r8, r8
mov rax, qword [0x006a8ac8]
mov rax, qword [rax]
call qword [rax + 0x50]
mov rcx, qword [0x006a8ac8]
lea rdx, [rbp + 0x2a5]
mov r8d, 0xac3
call fcn.004fab00
cmp dword [rbp + 0x2b1], 2
jne 0x5d800a
mov rax, qword [rbp + 0xd47]
mov qword [rbp + 0xd68], rax
jmp 0x5d7ffb
mov rcx, qword [0x006a8ac8]
lea rdx, [rbp + 0x9c]
mov r8d, 0x209
call fcn.004fab00
lea rcx, [rbp + 0x70]
lea rdx, [rbp + 0x9c]
mov r8d, 0x104
call fcn.0040ff40
mov rcx, qword [rbp + 0x70]
mov edx, dword [rbp + 0xda0]
call fcn.005d69a0
test al, al
je 0x5d7ff0
cmp byte [rbp + 0x2a4], 0
je 0x5d7f31
cmp byte [0x006922e1], 0
je 0x5d7f25
lea rcx, [rbp + 0x60]
lea rdx, [rbp + 0x9c]
mov r8d, 0x104
call fcn.00410830
lea rcx, [rbp + 0x68]
mov rdx, qword [rbp + 0x60]
call fcn.0042d7c0
call qword [0x006a9118]
lea rcx, [rbp + 0x50]
mov rdx, rax
call fcn.005a6260
lea rcx, [rbp + 0x48]
mov rdx, qword [rbp + 0x50]
call fcn.004108b0
lea rcx, [rbp + 0x58]
mov rdx, qword [rbp + 0x48]
call fcn.0042d7c0
mov rcx, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x58]
call fcn.005a6c40
test al, al
je 0x5d7ff0
mov byte [rbp + 0xd87], 1
jmp 0x5d7ff0
mov byte [rbp + 0xd87], 1
jmp 0x5d7ff0
cmp byte [0x006a8aa8], 0
je 0x5d7f5e
cmp byte [0x006922e1], 0
jne 0x5d7ff0
mov byte [rbp + 0xd87], 0
mov qword [rbp + 0xd78], 0
jmp 0x5d8009
cmp byte [0x006922e1], 0
je 0x5d7fdc
lea rcx, [rbp + 0x38]
lea rdx, [rbp + 0x9c]
mov r8d, 0x104
call fcn.00410830
lea rcx, [rbp + 0x40]
mov rdx, qword [rbp + 0x38]
call fcn.0042d7c0
call qword [0x006a9118]
lea rcx, [rbp + 0x28]
mov rdx, rax
call fcn.005a6260
lea rcx, [rbp + 0x20]
mov rdx, qword [rbp + 0x28]
call fcn.004108b0
lea rcx, [rbp + 0x30]
mov rdx, qword [rbp + 0x20]
call fcn.0042d7c0
mov rcx, qword [rbp + 0x40]
mov rdx, qword [rbp + 0x30]
call fcn.005a6c40
test al, al
je 0x5d7ff0
mov byte [rbp + 0xd87], 0
mov qword [rbp + 0xd78], 0
jmp 0x5d8009
mov byte [rbp + 0xd87], 0
mov qword [rbp + 0xd78], 0
jmp 0x5d8009
sub qword [rbp + 0xd68], 0x209
cmp qword [rbp + 0xd68], 0
jg 0x5d7e56
nop
mov rax, qword [rbp + 0xd47]
mov rcx, qword [rbp + 0xd78]
mov rdx, rax
neg rdx
lea rcx, [rcx + rdx - 0xac3]
mov qword [rbp + 0xd78], rcx
mov rcx, qword [rbp + 0xd70]
lea rax, [rcx + rax + 0xac3]
mov qword [rbp + 0xd70], rax
cmp qword [rbp + 0xd78], 0
jg 0x5d7dfe
nop
mov eax, dword [0x006940fc]
add eax, dword [0x006942f4]
mov ecx, dword [0x00695850]
add ecx, dword [0x00695920]
cmp eax, ecx
jle 0x5d8073
call fcn.004096f0
mov eax, dword [0x006942b0]
add eax, dword [0x0069580c]
mov ecx, dword [0x006958dc]
add ecx, dword [0x00695bc4]
cmp eax, ecx
jle 0x5d809b
mov eax, dword [0x00695bc4]
mov dword [0x006942b0], eax
mov rcx, qword [rbp + 0xd88]
call fcn.005a2ff0
jmp 0x5d80bd
mov eax, dword [0x00695948]
add eax, dword [0x00695bf8]
mov ecx, dword [0x00695804]
add ecx, dword [0x0069587c]
cmp ecx, eax
jle 0x5d80e5
mov ecx, dword [0x00695bf8]
mov dword [0x00695804], ecx
mov ecx, dword [0x00695804]
add ecx, dword [0x0069587c]
cmp ecx, eax
jle 0x5d8101
mov eax, dword [0x00695bf8]
mov dword [0x00695804], eax
mov eax, dword [0x006958d8]
cmp eax, dword [0x0069594c]
je 0x5d811b
mov eax, dword [0x006958d8]
mov dword [0x0069594c], eax
mov eax, dword [0x00696324]
mov dword [0x00696160], eax
mov eax, dword [0x006940e4]
add eax, dword [0x0069429c]
mov ecx, dword [0x006957fc]
add ecx, dword [0x006958c8]
cmp eax, ecx
jle 0x5d814f
mov eax, dword [0x006958c8]
mov dword [0x006940e4], eax
call fcn.005cc640
nop
lea rcx, [rbp + 0x20]
call fcn.0040e920
lea rcx, [rbp + 0x28]
call fcn.0040e9c0
lea rcx, [rbp + 0x30]
mov edx, 4
call fcn.0040ea00
lea rcx, [rbp + 0x50]
call fcn.0040e9c0
lea rcx, [rbp + 0x58]
mov edx, 3
call fcn.0040ea00
lea rcx, [rbp + 0x70]
call fcn.0040e9c0
lea rcx, [rbp + 0x78]
call fcn.0040e970
lea rcx, [rbp + 0x80]
call fcn.0040e9c0
movzx rax, byte [rbp + 0xd87]
lea rsp, [rbp + 0xd90]
pop rbp
ret