Function at 0x1400226c4
Capabilities:
Get disk size

Disassembly:
mov rax, rsp
push rsi
push rdi
push r14
sub rsp, 0x320
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x1401a2e90]
xor rax, rsp
mov qword [rsp + 0x310], rax
mov rdi, rdx
mov rsi, rcx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x30], rdx
mov ebx, dword [0x1401aad80]
mov r8d, ebx
imul r8d, ebx
mov eax, r8d
imul eax, ebx
mov r14d, 1
and eax, 0x80000007
jge 0x14002272a
sub eax, r14d
or eax, 0xfffffff8
add eax, r14d
cmp eax, 6
jne 0x14002275f
xor r9d, r9d
lea r10, [rsp + 0xc0]
mov r11d, ebx
lea ecx, [rbx + r9]
mov eax, r11d
cdq
idiv ecx
mov dword [r10], edx
add r9d, r14d
sub r11d, r14d
lea r10, [r10 + 4]
movsxd rax, r9d
cmp rax, 0x91
jb 0x14002273d
mov eax, 0x78787879
imul r8d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x11
sub r8d, edx
cmp r8d, 0xc
jne 0x140022784
sub dword [0x1401ab8b0], r14d
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rsp + 0x50]
call fcn.1400c2d60
mov dword [rsp + 0x50], 0x70
lea rax, str.open
mov qword [rsp + 0x60], rax
lea ecx, [rbx + 1]
imul ecx, ebx
mov eax, 0xb21642c9
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x17
sub ecx, edx
cmp ecx, 5
jne 0x1400227e7
and qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
mov ebx, dword [0x1401aad80]
mov rax, qword [rsi]
mov ecx, r14d
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
or eax, ecx
jge 0x140022807
xor edx, edx
mov rcx, rsi
call fcn.140002210
mov ebx, dword [0x1401aad80]
mov rax, qword [rsi]
mov qword [rsp + 0x68], rax
lea ecx, [rbx + 1]
imul ecx, ebx
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xb
sub ecx, edx
cmp ecx, 4
jne 0x140022872
xor ecx, ecx
mov r8d, 0x2c0b02c1
jmp 0x14002284c
mov eax, ebx
or eax, 0xffffff9d
add ebx, eax
add ecx, r14d
mov eax, ebx
imul eax, ebx
cmp ecx, eax
jg 0x14002286a
mov eax, r8d
imul ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xba
mov eax, ebx
sub eax, edx
cmp eax, 0x18
jne 0x140022839
mov ebx, ecx
mov dword [0x1401aad80], ecx
mov dword [rsp + 0x80], 5
mov dword [rsp + 0x54], 0x440
lea ecx, [rbx + 1]
imul ecx, ebx
mov eax, 0xb21642c9
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x17
sub ecx, edx
cmp ecx, 0xb
jne 0x1400228c5
mov ecx, r14d
cmp ebx, r14d
jle 0x1400228bd
mov eax, ebx
cdq
idiv ecx
inc ecx
add ecx, edx
cmp ecx, ebx
jl 0x1400228b0
mov ebx, ecx
mov dword [0x1401aad80], ecx
mov rax, qword [rdi]
mov ecx, r14d
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
or eax, ecx
jge 0x1400228e5
xor edx, edx
mov rcx, rdi
call fcn.140002210
mov ebx, dword [0x1401aad80]
mov rax, qword [rdi]
mov qword [rsp + 0x70], rax
mov r9, qword [0x1401acec8]
test r9, r9
jne 0x1400229b7
mov eax, ebx
imul eax, ebx
imul eax, ebx
and eax, 0x80000007
jge 0x140022915
sub eax, r14d
or eax, 0xfffffff8
add eax, r14d
cmp eax, 6
jne 0x14002292d
lea ecx, [rax - 2]
call fcn.1400be0e0
mov rcx, rax
mov eax, dword [0x1401aad80]
mov dword [rcx], eax
lea rcx, str.Shell32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
je 0x14002295b
lea rdx, str.ShellExecuteExW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r9, rax
mov qword [0x1401acec8], rax
jmp 0x140022962
mov r9, qword [0x1401acec8]
mov ecx, dword [0x1401aad80]
lea r8d, [rcx + 1]
imul r8d, ecx
mov eax, 0xb21642c9
imul r8d
add edx, r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x17
sub r8d, edx
cmp r8d, 8
jne 0x1400229ae
and qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetMailslotInfo]
mov r9, qword [0x1401acec8]
test r9, r9
jne 0x1400229b7
xor bl, bl
jmp 0x1400229c5
lea rcx, [rsp + 0x50]
call r9
cmp eax, r14d
sete bl
mov rdx, qword [rsi]
sub rdx, 0x18
or esi, 0xffffffff
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x1400229e6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rdi]
sub rdx, 0x18
mov ecx, esi
lock xadd dword [rdx + 0x10], ecx
add ecx, esi
test ecx, ecx
jg 0x140022a04
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov al, bl
mov rcx, qword [rsp + 0x310]
xor rcx, rsp
call fcn.1400bd920
mov rbx, qword [rsp + 0x350]
add rsp, 0x320
pop r14
pop rdi
pop rsi
ret