Function at 0x1400f9690
Capabilities:
Get disk size
Manipulate console buffer

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0xc8
lea rax, [rsp + 0x90]
lea rcx, str.Producible
mov rdi, rax
mov rsi, rcx
mov ecx, 0x16
rep movsb byte [rdi], byte [rsi]
mov byte [rsp + 0x30], 0x11
movsx eax, byte [rsp + 0x30]
cmp eax, 0x3d
jne 0x1400f9748
movsx eax, byte [rsp + 0x30]
sub eax, 0x29
cmp eax, 0x17
jne 0x1400f96fa
movzx r8d, byte [rsp + 0x30]
mov dx, 0xab
movzx ecx, byte [rsp + 0x30]
call fcn.1400f90e0
nop
movsx eax, byte [rsp + 0x30]
add eax, 0x17
mov byte [rsp + 0x30], al
movsx eax, byte [rsp + 0x30]
imul eax, eax, 6
cmp eax, 0x39
jl 0x1400f972e
mov edx, 0xbb
lea rcx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeW]
mov qword [rsp + 0xa8], rax
movzx r9d, byte [rsp + 0x30]
mov r8d, 0xbd
mov dx, 0xfe
mov cx, 0x8e
call fcn.1400faaa0
nop
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x38], rax
mov byte [rsp + 0x31], 0xfc
mov dword [rsp + 0x34], 0x4934
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x78], rax
cmp qword [rsp + 0x78], 0
je 0x1400f979b
movabs rax, 0x7496f8a6f3d569
cmp qword [rsp + 0x78], rax
je 0x1400f9971
jmp 0x1400f9a8a
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x50], al
cmp byte [rsp + 0x50], 0xe
je 0x1400f98ec
cmp byte [rsp + 0x50], 0x11
je 0x1400f97bb
jmp 0x1400f992b
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xe8]
add rcx, rax
mov rax, rcx
cmp rax, qword [rsp + 0xe0]
jae 0x1400f985c
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rsp + 0xf8]
add rdx, rcx
mov rcx, rdx
cmp rax, rcx
je 0x1400f985c
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xe8], rax
mov ecx, dword [rsp + 0x54]
call fcn.1400f92c0
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x68]
mov r8d, 0xcb
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_WriteConsoleOutputCharacterW]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x34]
xor eax, 0x4f05
mov dword [rsp + 0x34], eax
movsx eax, byte [rsp + 0x30]
test eax, eax
jg 0x1400f9880
mov rax, qword [rsp + 0xf8]
movzx ecx, al
mov rax, qword [rsp + 0x100]
sar rax, cl
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x88], rax
movabs rax, 0x77f9f9e217e9a5
cmp qword [rsp + 0x88], rax
je 0x1400f98b0
jmp 0x1400f98bf
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x58], eax
call qword [sym.imp.KERNEL32.dll_SetFileApisToANSI]
nop
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov r9d, 0xbc
lea r8, str.Costlier_twine_Sanest_Lobotomy
mov edx, 0xf1
mov ecx, 0x38
call qword [sym.imp.KERNEL32.dll_GetStringTypeExW]
mov dword [rsp + 0x40], eax
jmp 0x1400f992b
movsx eax, byte [rsp + 0x30]
and eax, 0x7c
mov byte [rsp + 0x30], al
lea rdx, [rsp + 0x90]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorInfo]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x34]
sub eax, 0x1eff
mov dword [rsp + 0x34], eax
mov ecx, 0xa1
call qword [sym.imp.KERNEL32.dll_GetProcessVersion]
mov dword [rsp + 0x54], eax
mov edx, 0x97
lea rcx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_GetConsoleProcessList]
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xe8]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x48], rax
movzx edx, byte [rsp + 0x30]
mov cx, 0x90
call fcn.1400fa6b0
nop
jmp 0x1400f9a8a
mov ecx, 0xf3
call fcn.1400f92c0
mov edx, 0x69
mov rcx, qword [rsp + 0xb8]
call qword [sym.imp.KERNEL32.dll_SetFileValidData]
mov dword [rsp + 0x6c], eax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xe0], rax
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x5c], al
cmp byte [rsp + 0x5c], 0x2e
je 0x1400f9a65
cmp byte [rsp + 0x5c], 0x56
je 0x1400f99bf
jmp 0x1400f9a8a
movzx eax, byte [rsp + 0x31]
cmp eax, 0x39
jne 0x1400f9a0f
mov eax, dword [rsp + 0x34]
shl eax, 0xe
mov dword [rsp + 0x34], eax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
mov r8d, 0xe7
lea rdx, [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_ReadConsoleW]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x100], rax
jmp 0x1400f9a63
mov rax, qword [rsp + 0x100]
movzx ecx, al
mov rax, qword [rsp + 0x38]
sar rax, cl
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
or rdx, rcx
mov rcx, rdx
cmp rax, rcx
jg 0x1400f9a63
mov dword [rsp + 0x20], 0x1b
lea r9, [rsp + 0x74]
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetQueuedCompletionStatus]
mov dword [rsp + 0x6c], eax
jmp 0x1400f9a8a
mov ecx, 0xfe
call fcn.1400f92c0
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
movzx eax, byte [rsp + 0x31]
mov byte [rsp + 0x70], al
cmp byte [rsp + 0x70], 0xcb
je 0x1400f9a9c
jmp 0x1400f9af1
cmp dword [rsp + 0x34], 0x7461
jne 0x1400f9af1
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xf8]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
lea r9, [rsp + 0x34]
lea r8, [rsp + 0x34]
lea rdx, [rsp + 0x38]
lea rcx, str.C:BulldogsDetractedimpedingFillerpancakes
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
mov dword [rsp + 0x74], eax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xe8], rax
movsx eax, byte [rsp + 0x30]
and eax, 0x71
mov byte [rsp + 0x30], al
mov eax, 0x3b
add rsp, 0xc8
pop rdi
pop rsi
ret