Function at 0x14002ca60
Capabilities:
Get disk size

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xd0
mov qword [rbp + 7], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x1401b5e90]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov r14, rcx
mov ebx, 1
call fcn.14002acf0
xor edi, edi
test al, al
cmovne ebx, edi
lea rcx, str.Wininet.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
jne 0x14002cabe
mov esi, edi
jmp 0x14002caf0
lea rdx, [0x14014a680]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x14002cad8
mov rsi, rdi
jmp 0x14002caf0
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
mov edx, ebx
lea rcx, [0x140146fd8]
call rax
mov rsi, rax
mov ecx, dword [0x1401bdd80]
mov r8d, ecx
imul r8d, ecx
imul r8d, ecx
mov eax, 0x38e38e39
imul r8d
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea eax, [rdx + rdx*8]
add eax, eax
sub r8d, eax
cmp r8d, 4
jne 0x14002cb36
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
test rsi, rsi
jne 0x14002cb42
xor al, al
jmp 0x14002d246
mov eax, dword [rbp - 0x31]
and eax, 0xffffff00
mov dword [rbp - 0x31], eax
btr eax, 8
mov dword [rbp - 0x31], eax
mov qword [rbp - 0x29], rdi
mov eax, dword [rbp + 0x17]
and eax, 0xffffff04
or eax, 4
mov dword [rbp + 0x17], eax
bts eax, 8
mov dword [rbp + 0x17], eax
mov qword [rbp + 0x1f], rdi
mov eax, dword [0x1401bf618]
lea r15, vtable.Json::ValueAllocator.0
lea r12, vtable.Json::DefaultValueAllocator.0
test al, 1
jne 0x14002cbad
or eax, 1
mov dword [0x1401bf618], eax
mov qword [0x1401bf518], r15
mov qword [0x1401bf518], r12
lea rcx, [0x14011ade0]
call fcn.1400cc1f0
nop
mov rcx, qword [0x1401b9040]
mov rax, qword [rcx]
or r8d, 0xffffffff
lea rdx, [0x14014a6a4]
call qword [rax + 0x18]
mov qword [rbp + 0xf], rax
lea rdx, [0x14014a678]
lea rcx, [rbp - 0x39]
call fcn.140038c30
mov rbx, rax
lea rdx, [rbp + 0xf]
lea rcx, [rbp - 0x69]
call fcn.140038090
nop
movsx edx, byte [rbx + 8]
movzx ecx, byte [rbp - 0x61]
mov byte [rbx + 8], cl
mov r9d, dword [rbp - 0x61]
mov ecx, r9d
xor ecx, edx
movzx ecx, cl
xor r9d, ecx
mov dword [rbp - 0x61], r9d
mov rax, qword [rbx]
mov rcx, qword [rbp - 0x69]
mov qword [rbx], rcx
mov qword [rbp - 0x69], rax
mov ecx, dword [rbx + 8]
mov r8d, ecx
shl r8d, 0x17
sar r8d, 0x1f
mov eax, r9d
xor eax, ecx
and eax, 0x100
xor eax, ecx
mov dword [rbx + 8], eax
shl r8d, 8
xor r8d, r9d
and r8d, 0x100
xor r9d, r8d
mov dword [rbp - 0x61], r9d
lea rcx, [rbp - 0x69]
call fcn.1400381f0
nop
lea rcx, [rbp + 0xf]
call fcn.1400381f0
mov rdx, r14
lea rcx, [rbp + 0xf]
call fcn.140020af0
mov rbx, rax
mov ecx, dword [rbp - 0x49]
and ecx, 0xffffff04
or ecx, 4
mov dword [rbp - 0x49], ecx
bts ecx, 8
mov dword [rbp - 0x49], ecx
mov qword [rbp - 0x41], rdi
mov eax, dword [0x1401bf618]
test al, 1
jne 0x14002ccb2
or eax, 1
mov dword [0x1401bf618], eax
mov qword [0x1401bf518], r15
mov qword [0x1401bf518], r12
lea rcx, [0x14011ade0]
call fcn.1400cc1f0
nop
mov rdx, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x14002ccc0
mov rbx, qword [rbx]
mov rcx, qword [0x1401b9040]
mov rax, qword [rcx]
mov r8d, edx
mov rdx, rbx
call qword [rax + 0x18]
mov qword [rbp - 0x51], rax
lea rdx, [0x14014a63c]
lea rcx, [rbp - 0x39]
call fcn.140038c30
mov rbx, rax
lea rdx, [rbp - 0x51]
lea rcx, [rbp - 0x69]
call fcn.140038090
nop
movsx edx, byte [rbx + 8]
movzx ecx, byte [rbp - 0x61]
mov byte [rbx + 8], cl
mov r8d, dword [rbp - 0x61]
mov ecx, r8d
xor ecx, edx
movzx ecx, cl
xor r8d, ecx
mov dword [rbp - 0x61], r8d
mov rax, qword [rbx]
mov rcx, qword [rbp - 0x69]
mov qword [rbx], rcx
mov qword [rbp - 0x69], rax
mov ecx, dword [rbx + 8]
mov edx, ecx
shl edx, 0x17
sar edx, 0x1f
mov eax, r8d
xor eax, ecx
and eax, 0x100
xor eax, ecx
mov dword [rbx + 8], eax
shl edx, 8
xor edx, r8d
and edx, 0x100
xor r8d, edx
mov dword [rbp - 0x61], r8d
lea rcx, [rbp - 0x69]
call fcn.1400381f0
nop
lea rcx, [rbp - 0x51]
call fcn.1400381f0
nop
cmp qword [rbp + 0x27], 0x10
jb 0x14002cd75
mov rcx, qword [rbp + 0xf]
call fcn.1400cbac0
mov qword [rbp + 0x27], 0xf
mov qword [rbp + 0x1f], rdi
mov byte [rbp + 0xf], 0
mov eax, dword [rbp - 0x49]
and eax, 0xffffff04
or eax, 4
mov dword [rbp - 0x49], eax
bts eax, 8
mov dword [rbp - 0x49], eax
mov qword [rbp - 0x41], rdi
mov eax, dword [0x1401bf618]
test al, 1
jne 0x14002cdcc
or eax, 1
mov dword [0x1401bf618], eax
mov qword [0x1401bf518], r15
mov qword [0x1401bf518], r12
lea rcx, [0x14011ade0]
call fcn.1400cc1f0
nop
mov rcx, qword [0x1401b9040]
mov rax, qword [rcx]
or r8d, 0xffffffff
lea rdx, [0x14014a6b4]
call qword [rax + 0x18]
mov qword [rbp - 0x51], rax
lea rdx, str.acceptedStatusCodes
lea rcx, [rbp - 0x39]
call fcn.140038c30
mov r8, rax
mov rcx, rax
call fcn.140038860
mov edx, eax
mov rcx, r8
call fcn.140038910
mov rbx, rax
lea rdx, [rbp - 0x51]
lea rcx, [rbp - 0x69]
call fcn.140038090
nop
movsx edx, byte [rbx + 8]
movzx ecx, byte [rbp - 0x61]
mov byte [rbx + 8], cl
mov r8d, dword [rbp - 0x61]
mov ecx, r8d
xor ecx, edx
movzx ecx, cl
xor r8d, ecx
mov dword [rbp - 0x61], r8d
mov rax, qword [rbx]
mov rcx, qword [rbp - 0x69]
mov qword [rbx], rcx
mov qword [rbp - 0x69], rax
mov ecx, dword [rbx + 8]
mov edx, ecx
shl edx, 0x17
sar edx, 0x1f
mov eax, r8d
xor eax, ecx
and eax, 0x100
xor eax, ecx
mov dword [rbx + 8], eax
shl edx, 8
xor edx, r8d
and edx, 0x100
xor r8d, edx
mov dword [rbp - 0x61], r8d
lea rcx, [rbp - 0x69]
call fcn.1400381f0
nop
lea rcx, [rbp - 0x51]
call fcn.1400381f0
mov eax, dword [rbp + 0x17]
and eax, 0xffffff04
or eax, 4
mov dword [rbp + 0x17], eax
bts eax, 8
mov dword [rbp + 0x17], eax
mov qword [rbp + 0x1f], rdi
mov eax, dword [0x1401bf618]
test al, 1
jne 0x14002ced1
or eax, 1
mov dword [0x1401bf618], eax
mov qword [0x1401bf518], r15
mov qword [0x1401bf518], r12
lea rcx, [0x14011ade0]
call fcn.1400cc1f0
nop
mov rcx, qword [0x1401b9040]
mov rax, qword [rcx]
or r8d, 0xffffffff
lea rdx, [0x14014a6d4]
call qword [rax + 0x18]
mov qword [rbp + 0xf], rax
lea rdx, str.acceptTypes
lea rcx, [rbp - 0x39]
call fcn.140038c30
mov rbx, rax
lea rdx, [rbp + 0xf]
lea rcx, [rbp - 0x69]
call fcn.140038090
nop
movsx edx, byte [rbx + 8]
movzx ecx, byte [rbp - 0x61]
mov byte [rbx + 8], cl
mov r8d, dword [rbp - 0x61]
mov ecx, r8d
xor ecx, edx
movzx ecx, cl
xor r8d, ecx
mov dword [rbp - 0x61], r8d
mov rax, qword [rbx]
mov rcx, qword [rbp - 0x69]
mov qword [rbx], rcx
mov qword [rbp - 0x69], rax
mov ecx, dword [rbx + 8]
mov edx, ecx
shl edx, 0x17
sar edx, 0x1f
mov eax, r8d
xor eax, ecx
and eax, 0x100
xor eax, ecx
mov dword [rbx + 8], eax
shl edx, 8
xor edx, r8d
and edx, 0x100
xor r8d, edx
mov dword [rbp - 0x61], r8d
lea rcx, [rbp - 0x69]
call fcn.1400381f0
nop
lea rcx, [rbp + 0xf]
call fcn.1400381f0
mov eax, dword [rbp - 0x49]
and eax, 0xffffff05
or eax, 5
mov dword [rbp - 0x49], eax
mov qword [rbp - 0x41], rdi
mov byte [rbp - 0x51], 1
lea rdx, str.noResponse
lea rcx, [rbp - 0x39]
call fcn.140038c30
mov rbx, rax
lea rdx, [rbp - 0x51]
lea rcx, [rbp - 0x69]
call fcn.140038090
nop
movsx edx, byte [rbx + 8]
movzx ecx, byte [rbp - 0x61]
mov byte [rbx + 8], cl
mov r8d, dword [rbp - 0x61]
mov ecx, r8d
xor ecx, edx
movzx ecx, cl
xor r8d, ecx
mov dword [rbp - 0x61], r8d
mov rax, qword [rbx]
mov rcx, qword [rbp - 0x69]
mov qword [rbx], rcx
mov qword [rbp - 0x69], rax
mov ecx, dword [rbx + 8]
mov edx, ecx
shl edx, 0x17
sar edx, 0x1f
mov eax, r8d
xor eax, ecx
and eax, 0x100
xor eax, ecx
mov dword [rbx + 8], eax
shl edx, 8
xor edx, r8d
and edx, 0x100
xor r8d, edx
mov dword [rbp - 0x61], r8d
lea rcx, [rbp - 0x69]
call fcn.1400381f0
nop
lea rcx, [rbp - 0x51]
call fcn.1400381f0
mov qword [rbp - 0x21], rdi
lea r9, [rbp - 0x39]
lea r8, [rbp - 0x21]
mov rdx, rsi
lea rcx, [rbp - 0x19]
call fcn.14002de60
nop
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [0x1401bdd80]
lea ecx, [rax + 1]
imul ecx, eax
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 0x14002d09a
mov ecx, 0x28
call fcn.1400cb128
mov rbx, rax
call fcn.1400cc4a0
add eax, dword [0x1401bdd80]
mov dword [rbx + rdi*4], eax
inc rdi
cmp rdi, 0xa
jl 0x14002d072
mov ecx, dword [rbx + 0x24]
mov dword [0x1401bdd80], ecx
mov rcx, rbx
call fcn.1400cc208
lea rdx, str.result
lea rcx, [rbp - 0x19]
call fcn.140038c30
cmp byte [rax + 8], 5
jne 0x14002d0d1
lea rdx, str.result
lea rcx, [rbp - 0x19]
call fcn.140038c30
mov rcx, rax
call fcn.1400387e0
test al, al
je 0x14002d0d1
mov dil, 1
jmp 0x14002d0d4
xor dil, dil
mov eax, dword [rbp - 0x11]
movsx ecx, al
cmp ecx, 4
je 0x14002d11c
lea eax, [rcx - 6]
cmp eax, 1
ja 0x14002d161
mov rbx, qword [rbp - 0x19]
mov qword [rbp - 0x21], rbx
test rbx, rbx
je 0x14002d161
mov r8, qword [rbx]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp - 1]
mov rcx, rbx
call fcn.1400398d0
nop
mov rcx, qword [rbx]
call fcn.1400cbac0
mov rcx, rbx
call fcn.1400cbac0
jmp 0x14002d161
bt eax, 8
jae 0x14002d161
mov eax, dword [0x1401bf618]
test al, 1
jne 0x14002d150
or eax, 1
mov dword [0x1401bf618], eax
mov qword [0x1401bf518], r15
mov qword [0x1401bf518], r12
lea rcx, [0x14011ade0]
call fcn.1400cc1f0
nop
mov rcx, qword [0x1401b9040]
mov rax, qword [rcx]
mov rdx, qword [rbp - 0x19]
call qword [rax + 0x20]
mov rcx, qword [rbp - 9]
test rcx, rcx
je 0x14002d18b
lea rbx, [rcx - 8]
lea r9, [0x140037cb0]
mov r8d, dword [rbx]
mov edx, 8
call fcn.1400cbff4
mov rcx, rbx
call fcn.1400cc208
nop
movsx eax, byte [rbp - 0x31]
cmp eax, 4
je 0x14002d1d1
add eax, 0xfffffffa
cmp eax, 1
ja 0x14002d219
mov rbx, qword [rbp - 0x39]
mov qword [rbp - 1], rbx
test rbx, rbx
je 0x14002d219
mov r8, qword [rbx]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp - 0x21]
mov rcx, rbx
call fcn.1400398d0
nop
mov rcx, qword [rbx]
call fcn.1400cbac0
mov rcx, rbx
call fcn.1400cbac0
jmp 0x14002d219
test dword [rbp - 0x31], 0x100
je 0x14002d219
mov eax, dword [0x1401bf618]
test al, 1
jne 0x14002d208
or eax, 1
mov dword [0x1401bf618], eax
mov qword [0x1401bf518], r15
mov qword [0x1401bf518], r12
lea rcx, [0x14011ade0]
call fcn.1400cc1f0
nop
mov rcx, qword [0x1401b9040]
mov rax, qword [rcx]
mov rdx, qword [rbp - 0x39]
call qword [rax + 0x20]
mov rcx, qword [rbp - 0x29]
test rcx, rcx
je 0x14002d242
lea rbx, [rcx - 8]
lea r9, [0x140037cb0]
mov r8d, dword [rbx]
mov edx, 8
call fcn.1400cbff4
mov rcx, rbx
call fcn.1400cc208
movzx eax, dil
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.1400cbae0
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret