Function at 0x14007db80
Capabilities:
Get disk size

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x260
mov rsi, rcx
mov rcx, qword [0x14013f500]
movzx ebx, r8b
mov rdi, rdx
call fcn.14002f9e0
test rdi, rdi
je 0x14007dfbf
cmp word [rdi], 0
je 0x14007dfbf
lea rcx, [rsp + 0x50]
mov r8d, 0x104
mov rdx, rdi
call qword [sym.imp.MSVCR100.dll_wcsncpy]
or rcx, 0xffffffffffffffff
xor r14d, r14d
xor eax, eax
mov word [rsp + 0x258], r14w
lea rdi, [rsp + 0x50]
repne scasw ax, word [rdi]
not rcx
cmp word [rsp + rcx*2 + 0x4c], 0x5c
je 0x14007dc0d
cmp rcx, 0x105
jae 0x14007dfbf
mov eax, 0x5c
mov word [rsp + rcx*2 + 0x4e], ax
mov word [rsp + rcx*2 + 0x50], r14w
mov eax, dword [0x140144530]
test al, 1
jne 0x14007dc46
or eax, 1
lea rcx, str.kernel32
mov dword [0x140144530], eax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, str.GetDiskFreeSpaceExW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140144528], rax
jmp 0x14007dc4d
mov rax, qword [0x140144528]
lea rcx, [rsp + 0x50]
test rax, rax
je 0x14007dc7f
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x40]
call rax
test eax, eax
je 0x14007dfbf
mov rbp, qword [rsp + 0x38]
test bl, bl
cmovne rbp, qword [rsp + 0x40]
jmp 0x14007dcc9
lea rax, [rsp + 0x298]
lea r9, [rsp + 0x2a8]
lea r8, [rsp + 0x34]
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
test eax, eax
je 0x14007dfbf
mov eax, dword [rsp + 0x298]
test bl, bl
cmovne eax, dword [rsp + 0x2a8]
imul eax, dword [rsp + 0x30]
imul eax, dword [rsp + 0x34]
mov ebp, eax
mov rdi, qword [0x140140268]
shr rbp, 0x14
mov qword [rsp + 0x2a0], r13
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x14007dd05
mov rcx, qword [rdi + 0x10]
lea rdx, [0x140103674]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e6e20
jmp 0x14007df54
lea r13, [0x140103674]
mov qword [rsp + 0x290], r12
cmp qword [rdi + 8], r13
jne 0x14007dd23
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x14007dd29
mov r12d, 1
lea rcx, [r12 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x14007dd46
mov rdx, r12
mov rcx, r13
call fcn.140006bc0
jmp 0x14007df4c
mov r8, qword [0x14013b0d0]
cmp rsi, r8
jbe 0x14007dd77
cmp rsi, qword [rdi + 0x18]
jbe 0x14007dd77
lea r8, [0x1401035ac]
lea rdx, [0x140124720]
lea rcx, [0x140143150]
call fcn.14005f7b0
jmp 0x14007df4c
cmp rcx, 2
jae 0x14007dd91
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 3]
call fcn.1400e74d0
jmp 0x14007df4c
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x14007ddae
mov rcx, qword [rdi]
and al, 0x3d
mov byte [rdi + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov r8, qword [0x14013b0d0]
mov rcx, qword [rdi + 0x18]
and byte [rdi + 0x21], 0x82
cmp rsi, rcx
jbe 0x14007df25
movzx r9d, byte [rdi + 0x20]
movzx eax, r9b
cmp r9b, 1
jbe 0x14007dde7
cmp al, 2
je 0x14007de24
mov rbx, qword [rsp + 0x298]
mov rax, qword [rsp + 0x298]
jmp 0x14007df19
mov ebx, 0x80
cmp rsi, rbx
ja 0x14007de24
cmp rsi, 8
ja 0x14007ddfe
mov ebx, 8
jmp 0x14007de0a
mov eax, reloc.WSOCK32.dll_recv
cmp rsi, rax
cmovbe rbx, rax
mov rcx, rbx
call fcn.1400dd290
test rax, rax
je 0x14007df4c
mov byte [rdi + 0x20], 1
jmp 0x14007df19
cmp rsi, 0x20
jae 0x14007de34
mov ebx, SafeArrayAllocDescriptor
jmp 0x14007dede
mov ebx, 0x208
cmp rsi, rbx
jb 0x14007dede
cmp rsi, 0x50000
jae 0x14007de9a
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14007de61
addsd xmm0, qword [0x1401279a8]
mulsd xmm0, qword [0x1401279e0]
movsd xmm1, qword [0x1401279d8]
xor eax, eax
comisd xmm0, xmm1
jbe 0x14007de90
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14007de90
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rbx, xmm0
add rbx, rax
jmp 0x14007dede
cmp rsi, 0x320000
jae 0x14007deac
lea rbx, [rsi + 0x8000]
jmp 0x14007dede
cmp rsi, 0xc80000
jae 0x14007ded7
movabs rax, 0x47ae147ae147ae15
mov rbx, rsi
mul rsi
sub rbx, rdx
shr rbx, 1
add rbx, rdx
shr rbx, 6
add rbx, rsi
jmp 0x14007dede
lea rbx, [rsi + 0x20000]
cmp rbx, r8
cmova rbx, r8
cmp r9b, 2
jne 0x14007deff
test rcx, rcx
je 0x14007deff
mov rcx, qword [rdi + 8]
mov sil, 1
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x14007df02
xor sil, sil
test rbx, rbx
js 0x14007df81
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_malloc]
test rax, rax
je 0x14007df81
mov byte [rdi + 0x20], 2
and byte [rdi + 0x21], 0x7f
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], rbx
mov rcx, qword [rdi + 8]
cmp rcx, r13
je 0x14007df3b
lea r8, [r12 + r12]
mov rdx, r13
call qword [sym.imp.MSVCR100.dll_memmove]
mov rcx, qword [rdi + 8]
lea rax, [r12 + r12]
mov word [rax + rcx], r14w
mov qword [rdi + 0x10], rax
mov r12, qword [rsp + 0x290]
mov rcx, qword [0x14013f500]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rdx, rbp
call fcn.140001090
mov r13, qword [rsp + 0x2a0]
mov eax, 1
add rsp, 0x260
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
test sil, sil
je 0x14007df97
lea rax, [0x140141fa8]
mov qword [rdi + 0x18], r14
mov qword [rdi + 8], rax
jmp 0x14007df9f
mov rax, qword [rdi + 8]
mov word [rax], r14w
lea r8, [0x1401035ac]
lea rdx, str.Out_of_memory.
lea rcx, [0x140143150]
mov qword [rdi + 0x10], r14
call fcn.14005f7b0
jmp 0x14007df4c
mov dl, 1
mov rcx, rsi
call fcn.14005e3f0
add rsp, 0x260
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret