Function at 0x7cff3bd4
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x218
push ebx
push esi
push edi
mov ebx, ecx
push 0x104
push dword [ebp + 8]
lea esi, [ebx + 0x44]
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push esi
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
mov eax, dword [ebp + 0xc]
lea edi, [ebx + 0x40]
mov ecx, ebx
mov dword [edi], eax
call fcn.7cff7a31
xor esi, esi
push 1
lea eax, [ebx + 0x24c]
push esi
push eax
push 0x7cf43188
push reloc.SHLWAPI.dll_ParseURLA
mov ecx, ebx
call fcn.7cffeef1
cmp dword [edi], esi
jne 0x7cff3c3e
push 0xffffffffffffffff
mov ecx, ebx
call fcn.7cff3b96
push eax
push esi
push esi
mov ecx, ebx
call fcn.7cfff0b4
mov eax, 0x7cff4461
lea edx, [ebx + 0x284]
mov dword [ebp - 0x10], eax
mov eax, ebx
neg eax
push edx
mov dword [ebp - 4], esi
sbb eax, eax
sub esp, 0x10
mov dword [ebp - 8], esi
mov dword [ebp - 4], esi
and eax, edi
lea esi, [ebp - 0x10]
mov edi, esp
mov dword [ebp - 0xc], 0xffffffc0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [ebx + 0x288]
push eax
mov dword [ebp + 8], eax
movsd dword es:[edi], dword [esi]
call fcn.7cfff7c5
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x88]
lea esi, [ebx + 0x288]
push eax
mov ecx, esi
call fcn.7cfff7e8
push 1
push 4
push 0x7cf43170
mov ecx, ebx
call fcn.7cff7a60
push eax
push 0x7cf43188
push reloc.SHLWAPI.dll_ParseURLA
mov ecx, esi
call fcn.7cfff41a
xor eax, eax
mov ecx, 0x7cff350d
mov dword [ebp - 4], eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
lea eax, [ebx + 0x308]
push eax
lea esi, [ebp - 0x10]
sub esp, 0x10
mov dword [ebp - 0x10], ecx
mov edi, esp
mov dword [ebp - 0xc], 0xffffffc0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push dword [ebp + 8]
lea ecx, [ebx + 0x310]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.7cfff7c5
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x88]
lea esi, [ebx + 0x310]
push eax
mov ecx, esi
call fcn.7cfff7e8
push 1
push 4
push 0x7cf43164
mov ecx, ebx
call fcn.7cff7a60
push eax
push 0x7cf43188
push reloc.SHLWAPI.dll_ParseURLA
mov ecx, esi
call fcn.7cfff41a
mov ecx, 0x7cff3547
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], 0xffffffc0
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
lea eax, [ebx + 0x390]
lea esi, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x420]
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push dword [ebp + 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.7cfff7c5
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x88]
lea esi, [ebx + 0x420]
push eax
mov ecx, esi
call fcn.7cfff7e8
push 1
push 0x8c
push 0x7cf43158
mov ecx, ebx
call fcn.7cff7a60
push eax
push 0x7cf43188
push reloc.SHLWAPI.dll_ParseURLA
mov ecx, esi
call fcn.7cfff41a
xor eax, eax
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
lea eax, [ebx + 0x4a0]
push eax
lea esi, [ebp - 0x10]
sub esp, 0x10
lea ecx, [ebx + 0x4e8]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push dword [ebp + 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.7cfff7c5
lea esi, [ebx + 0x4e8]
push 0xffffffffffffffff
mov ecx, esi
call fcn.7cfff7e8
xor edi, edi
mov ecx, ebx
push edi
push 0x42
push 0x7cf4313c
call fcn.7cff7a60
push eax
push 0x7cf43188
push reloc.SHLWAPI.dll_ParseURLA
mov ecx, esi
call fcn.7cfff41a
mov eax, 0x7cff3596
mov dword [ebp - 4], edi
mov dword [ebp - 0x10], eax
lea eax, [ebx + 0x568]
push eax
mov dword [ebp - 8], edi
sub esp, 0x10
mov dword [ebp - 4], edi
lea esi, [ebp - 0x10]
mov edi, esp
mov dword [ebp - 0xc], 0xffffffc0
push dword [ebp + 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [ebx + 0x570]
movsd dword es:[edi], dword [esi]
call fcn.7cfff7c5
lea esi, [ebx + 0x570]
push 0xffffffffffffffff
mov ecx, esi
call fcn.7cfff7e8
xor edi, edi
mov ecx, ebx
push edi
push 4
push 0x7cf43128
call fcn.7cff7a60
push eax
push 0x7cf43188
push reloc.SHLWAPI.dll_ParseURLA
mov ecx, esi
call fcn.7cfff41a
mov eax, 0x7cff35d1
mov dword [ebp - 4], edi
mov dword [ebp - 0x10], eax
lea eax, [ebx + 0x5f0]
push eax
mov dword [ebp - 8], edi
sub esp, 0x10
mov dword [ebp - 4], edi
lea esi, [ebp - 0x10]
mov edi, esp
mov dword [ebp - 0xc], 0xffffffc0
push dword [ebp + 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [ebx + 0x5f8]
movsd dword es:[edi], dword [esi]
call fcn.7cfff7c5
lea esi, [ebx + 0x5f8]
push 0xffffffffffffffff
mov ecx, esi
call fcn.7cfff7e8
xor edi, edi
mov ecx, ebx
push edi
push 8
push 0x7cf4311c
call fcn.7cff7a60
push eax
push 0x7cf43188
push reloc.SHLWAPI.dll_ParseURLA
mov ecx, esi
call fcn.7cfff41a
push edi
mov dword [ebp - 4], edi
sub esp, 0x10
mov eax, 0x7cff35e2
mov dword [ebp - 8], edi
mov dword [ebp - 4], edi
lea esi, [ebp - 0x10]
mov edi, esp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 0xffffffc0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push dword [ebp + 8]
lea ecx, [ebx + 0x678]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.7cfff7c5
xor esi, esi
mov ecx, ebx
push esi
push esi
push 0x7cf430ec
call fcn.7cff7a60
push eax
push 0x7cf43188
push reloc.SHLWAPI.dll_ParseURLA
lea ecx, [ebx + 0x678]
call fcn.7cfff41a
mov eax, 0x7cff362a
mov dword [ebp - 4], esi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 0xffffffc0
mov dword [ebp - 8], esi
push esi
mov dword [ebp - 4], esi
sub esp, 0x10
lea esi, [ebp - 0x10]
mov edi, esp
lea ecx, [ebx + 0x6f8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push dword [ebp + 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.7cfff7c5
xor edi, edi
mov ecx, ebx
push edi
push edi
push 0x7cf430ac
call fcn.7cff7a60
push eax
lea esi, [ebx + 0x6f8]
push 0x7cf43188
push reloc.SHLWAPI.dll_ParseURLA
mov ecx, esi
call fcn.7cfff41a
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x90]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x8c]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 1
mov dword [ebx + 0x778], eax
jne 0x7cff3fc3
mov dword [ebx + 0x778], 4
mov ecx, ebx
call fcn.7cff3a86
test eax, eax
jne 0x7cff3fd5
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x70]
push 0xffffffffffffffff
push 0x7cf34e98
push 0x7cf43098
push edi
mov ecx, ebx
call fcn.7cfff0b4
cmp dword [ebx + 0x778], 5
jne 0x7cff4006
push 0xffffffffffffffff
push 0x7cf32b54
push 0x7cf43084
push edi
mov ecx, ebx
call fcn.7cfff0b4
cmp dword [ebx + 0x778], 3
jne 0x7cff4026
push 0xbb8
lea ecx, [ebx + 0x678]
call fcn.7cfff7e8
push 0xbb8
jmp 0x7cff4035
push 0xffffffffffffffff
lea ecx, [ebx + 0x678]
call fcn.7cfff7e8
push 0xffffffffffffffff
mov ecx, esi
call fcn.7cfff7e8
mov eax, dword [ebx + 0x778]
cmp eax, 3
je 0x7cff40bb
cmp eax, 2
je 0x7cff40bb
cmp eax, 5
je 0x7cff40bb
lea ecx, [ebx + 0x678]
call fcn.7cfff539
test eax, eax
jne 0x7cff4090
lea eax, [ebp - 0x218]
push 0x208
push eax
lea ecx, [ebx + 0x678]
call fcn.7cfff69f
mov eax, dword [ebx + 0x678]
lea ecx, [ebx + 0x678]
call dword [eax]
lea ecx, [ebx + 0x678]
call fcn.7cfff6ba
mov ecx, esi
call fcn.7cfff539
test eax, eax
jne 0x7cff40bb
lea eax, [ebp - 0x218]
push 0x208
push eax
mov ecx, esi
call fcn.7cfff69f
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov ecx, esi
call fcn.7cfff6ba
mov eax, dword [ebx + 0x5f8]
lea ecx, [ebx + 0x5f8]
call dword [eax]
push edi
mov ecx, ebx
call fcn.7cfff7b7
mov ecx, ebx
call fcn.7cfff6cf
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret 8