Function at 0x42fc30
Capabilities:
Get disk information
Get disk size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59e168
mov eax, dword fs:[0]
push eax
sub esp, 0x9c
mov eax, dword [0x618190]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
movq qword [ebp - 0x44], xmm0
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
call fcn.00431a00
mov dword [ebp - 0x44], eax
mov dword [ebp - 4], 0
mov eax, 0x43
mov esi, dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
mov edi, dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
mov dword [ebp - 0x6c], eax
lea esp, [esp]
mov byte [ebp - 0x38], al
lea eax, [ebp - 0x38]
push eax
mov word [ebp - 0x37], 0x3a
call esi
cmp eax, 3
jne 0x42fe28
xor eax, eax
mov byte [ebp - 0x34], 0
mov word [ebp - 0x3b], ax
xorps xmm0, xmm0
mov byte [ebp - 0x39], al
lea eax, [ebp - 0x38]
push eax
push 0x5ef874
lea eax, [ebp - 0x3c]
movq qword [ebp - 0x23], xmm0
push 4
push eax
movdqu xmmword [ebp - 0x33], xmm0
mov dword [ebp - 0x1b], 0
mov byte [ebp - 0x17], 0
mov byte [ebp - 0x3c], 0
call fcn.005531f1
add esp, 0x10
lea eax, [ebp - 0x34]
push 0x1e
push eax
push 0
push 0
push 0
push 0x104
push 0
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
test eax, eax
je 0x42fdf4
mov ecx, str.FUSE_rclone
lea eax, [ebp - 0x34]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42fd45
test dl, dl
je 0x42fd41
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42fd45
add eax, 2
add ecx, 2
test dl, dl
jne 0x42fd25
xor eax, eax
jmp 0x42fd4a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42fd84
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x3c]
push eax
push str._t_s_is_mount_disk.
sub esp, 0xc
mov dword [ebp - 0x94], str.MountMgr.cpp:MountMgr::GetFreeSpaceMaxDrive__:Line_2540
movq xmm0, qword [ebp - 0x94]
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], 1
jmp 0x42fe20
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x38]
push eax
call edi
test eax, eax
je 0x42fe28
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x54]
call fcn.0059995e
movsd xmm1, qword [0x5f0620]
lea eax, [ebp - 0x38]
mulsd xmm0, xmm1
lea ecx, [ebp - 0x44]
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0xa4]
push eax
mulsd xmm0, xmm1
mulsd xmm0, xmm1
movsd qword [ebp - 0x9c], xmm0
call fcn.004321c0
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x44]
call fcn.00432290
jmp 0x42fe28
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x7c], str.MountMgr.cpp:MountMgr::GetFreeSpaceMaxDrive__:Line_2546
push eax
push str._tget__s_disk_failed.
sub esp, 0xc
mov dword [ebp - 0x78], 0
movq xmm0, qword [ebp - 0x7c]
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], 3
call fcn.00404820
add esp, 0x14
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp ax, 0x5a
jbe 0x42fca0
xorps xmm0, xmm0
movq qword [ebp - 0x4c], xmm0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
call fcn.00431a00
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 1
mov edi, dword [ebp - 0x44]
mov esi, dword [edi]
cmp esi, edi
je 0x42ff22
jmp 0x42fe70
movsd xmm0, qword [esi + 0x28]
lea eax, [esi + 0x10]
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x2c]
movsd qword [ebp - 0x34], xmm0
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
call fcn.004200a0
mov byte [ebp - 4], 2
movzx eax, byte [0x627f89]
push eax
lea eax, [ebp - 0x34]
push eax
push ecx
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00431e60
mov byte [ebp - 4], 1
cmp dword [ebp - 0x18], 0x10
jb 0x42fed1
push dword [ebp - 0x2c]
call fcn.0043b833
add esp, 4
cmp byte [esi + 0xd], 0
jne 0x42ff17
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x42fefc
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x42ff17
lea ebx, [ebx]
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x42fef0
jmp 0x42ff17
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x42ff15
cmp esi, dword [eax + 8]
jne 0x42ff15
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x42ff05
mov esi, eax
cmp esi, edi
jne 0x42fe70
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov esi, dword [ebp - 0x68]
add eax, 0x18
cmp esi, eax
je 0x42ff3a
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
call fcn.004200a0
cmp dword [esi + 0x14], 0x10
mov dword [ebp - 0x7c], str.MountMgr.cpp:MountMgr::GetFreeSpaceMaxDrive__:Line_2566
mov dword [ebp - 0x78], 0
jb 0x42ff50
mov esi, dword [esi]
movq xmm0, qword [ebp - 0x7c]
push esi
push str._tGetFreeSpaceMaxDrive_success__s.
sub esp, 0xc
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], 1
call fcn.00404820
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x4c]
add esp, 0x14
push eax
push dword [eax]
lea eax, [ebp - 0x68]
push eax
call fcn.004315d0
push dword [ebp - 0x4c]
call fcn.0043b833
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x44]
add esp, 4
push eax
push dword [eax]
lea eax, [ebp - 0x68]
push eax
call fcn.004182c0
push dword [ebp - 0x44]
call fcn.0043b833
add esp, 4
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00550cb3
mov esp, ebp
pop ebp
ret 4