Function at 0x1a7f1b763b4
Capabilities:
Get disk size

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2b8
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
xor r12d, r12d
lea rcx, [rsp + 0xae]
mov r8d, 0x20a
xor edx, edx
call fcn.1a7f1c22810
add rdi, rbx
lea rcx, [rsp + 0x60]
mov qword [rcx], rbx
mov qword [rcx + 8], rdi
and word [rcx + 0x10], 0
mov dword [rcx + 0x18], 1
call fcn.1a7f1b761e8
test ax, ax
je 0x1a7f1b76579
mov ebx, edx
lea rdi, [rsp + 0x80]
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.1a7f1b762df
mov rax, qword [rdi]
inc rax
mov rcx, 0xffffffffffffffff
cmovne rcx, rax
cmp rcx, 5
mov r12d, 4
cmovae r12, rcx
mov rax, r12
shr rax, 0x3e
jne 0x1a7f1b76660
lea r14, [r12 + r12]
mov ecx, 2
mov rdx, r14
call fcn.1a7f1bd6798
test rax, rax
je 0x1a7f1b76673
mov rdi, rax
mov qword [rsp + 0x40], rsi
mov word [rax], bx
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x70]
lea rbx, [rsp + 0x80]
movaps xmmword [rbx + 0x10], xmm1
movaps xmmword [rbx], xmm0
mov r13d, 1
lea r14, [rsp + 0x28]
mov rsi, 0xffffffffffffffff
lea r15, [rsp + 0x48]
mov rcx, rbx
call fcn.1a7f1b761e8
cmp ax, 1
jne 0x1a7f1b76572
mov ebp, edx
cmp r13, r12
jne 0x1a7f1b76565
mov rcx, r14
mov rdx, rbx
call fcn.1a7f1b762df
mov r12, qword [rsp + 0x28]
inc r12
cmove r12, rsi
add r12, r13
jb 0x1a7f1b76660
lea rax, [r13*2]
cmp rax, r12
cmova r12, rax
cmp r12, 5
jae 0x1a7f1b76501
mov r12d, 4
xor edx, edx
mov rcx, r12
shr rcx, 0x3e
sete cl
test r13, r13
je 0x1a7f1b76523
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x38], rax
mov eax, 2
jmp 0x1a7f1b76525
xor eax, eax
lea r8, [r12 + r12]
mov dl, cl
add rdx, rdx
mov qword [rsp + 0x30], rax
mov rcx, r15
mov r9, r14
call fcn.1a7f1bf42ae
cmp qword [rsp + 0x48], 0
mov rcx, qword [rsp + 0x50]
je 0x1a7f1b76562
mov r12, r13
movabs rax, 0x8000000000000001
cmp rcx, rax
je 0x1a7f1b76565
jmp 0x1a7f1b7665b
mov rdi, rcx
mov word [rdi + r13*2], bp
inc r13
jmp 0x1a7f1b764a9
mov rsi, qword [rsp + 0x40]
jmp 0x1a7f1b7657e
mov edi, 2
lea rdx, [rsp + 0xae]
mov rcx, rdi
mov r8d, 0x105
call sub.kernel32.dll_GetVolumePathNameW
test eax, eax
je 0x1a7f1b7659c
xor ebx, ebx
jmp 0x1a7f1b765a4
call fcn.1a7f1b7667d
mov rbx, rax
test r12, r12
je 0x1a7f1b765b6
mov edx, 2
mov rcx, rdi
call fcn.1a7f1b62d00
test rbx, rbx
je 0x1a7f1b765c8
mov qword [rsi + 8], rbx
mov qword [rsi], 1
jmp 0x1a7f1b76647
lea rdx, [rsp + 0x48]
and dword [rdx], 0
lea r8, [rsp + 0x28]
and dword [r8], 0
lea r9, [rsp + 0x60]
and dword [r9], 0
lea rax, [rsp + 0x80]
and dword [rax], 0
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xae]
call sub.kernel32.dll_GetDiskFreeSpaceW
test eax, eax
je 0x1a7f1b76636
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x28]
imul rcx, rax
mov eax, dword [rsp + 0x60]
imul rax, rcx
mov edx, dword [rsp + 0x80]
imul rdx, rcx
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], rdx
mov qword [rsi + 0x20], rcx
xor eax, eax
jmp 0x1a7f1b76644
call fcn.1a7f1b7667d
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
add rsp, 0x2b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test rcx, rcx
jne 0x1a7f1b76667
call fcn.1a7f1b65780
ud2
mov rdx, qword [rsp + 0x58]
call fcn.1a7f1c2f940
ud2
mov ecx, 2
mov rdx, r14
jmp 0x1a7f1b7666c