Function at 0x7f2e3c9a
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
xor ebx, ebx
cmp dword [0x7f307acc], ebx
push esi
push edi
je 0x7f2e3ccf
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
jmp 0x7f2e3e5f
mov eax, dword [ebp + 8]
cmp eax, 0xffff
jbe 0x7f2e3d38
push eax
call fcn.7f2da99a
mov edi, eax
mov eax, dword [0x7f307088]
inc edi
imul eax, edi
pop ecx
push eax
call fcn.7f2d53a1
test eax, eax
mov esi, dword [0x7f307088]
je 0x7f2e3d14
mov eax, esi
imul eax, edi
cmp eax, ebx
je 0x7f2e3d14
add eax, 3
and eax, 0xfffffffc
call fcn.7f2fd060
mov dword [ebp - 4], esp
jmp 0x7f2e3d17
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], ebx
je 0x7f2e3d41
imul esi, edi
push ebx
push ebx
push esi
push dword [ebp - 4]
push edi
push dword [ebp + 8]
push ebx
push dword [0x7f307ac8]
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
jmp 0x7f2e3d3b
mov dword [ebp - 4], eax
mov esi, dword [0x7f307088]
cmp dword [ebp + 0xc], ebx
je 0x7f2e3d86
cmp dword [ebp + 0x10], ebx
jbe 0x7f2e3d86
imul esi, dword [ebp + 0x10]
inc esi
push esi
mov dword [ebp - 8], esi
call fcn.7f2d53a1
test eax, eax
je 0x7f2e3d73
cmp esi, ebx
je 0x7f2e3d73
mov eax, esi
add eax, 3
and eax, 0xfffffffc
call fcn.7f2fd060
mov dword [ebp + 8], esp
jmp 0x7f2e3d76
mov dword [ebp + 8], ebx
cmp esi, ebx
jbe 0x7f2e3d8e
cmp dword [ebp + 8], ebx
jne 0x7f2e3d8e
xor eax, eax
jmp 0x7f2e3e5f
mov dword [ebp - 8], ebx
mov dword [ebp + 8], ebx
jmp 0x7f2e3d94
mov esi, dword [0x7f307088]
cmp dword [ebp + 0x20], ebx
je 0x7f2e3dce
cmp dword [ebp + 0x24], ebx
jbe 0x7f2e3dce
imul esi, dword [ebp + 0x24]
inc esi
push esi
call fcn.7f2d53a1
test eax, eax
je 0x7f2e3dc2
cmp esi, ebx
je 0x7f2e3dc2
mov eax, esi
add eax, 3
and eax, 0xfffffffc
call fcn.7f2fd060
mov edi, esp
jmp 0x7f2e3dc4
xor edi, edi
cmp esi, ebx
jbe 0x7f2e3dd2
cmp edi, ebx
jne 0x7f2e3dd2
jmp 0x7f2e3d7f
xor esi, esi
xor edi, edi
push esi
push edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp - 8]
push dword [ebp + 8]
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
cmp eax, ebx
mov dword [ebp + 0x1c], eax
je 0x7f2e3e3e
cmp dword [ebp + 8], ebx
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
je 0x7f2e3e1c
cmp dword [ebp + 0xc], ebx
je 0x7f2e3e1c
cmp dword [ebp + 0x10], ebx
je 0x7f2e3e1c
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 0xffffffffffffffff
push dword [ebp + 8]
push ebx
push dword [0x7f307ac8]
call esi
cmp edi, ebx
je 0x7f2e3e5c
cmp dword [ebp + 0x20], ebx
je 0x7f2e3e5c
cmp dword [ebp + 0x24], ebx
je 0x7f2e3e5c
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push 0xffffffffffffffff
push edi
push ebx
push dword [0x7f307ac8]
call esi
jmp 0x7f2e3e5c
mov eax, dword [ebp + 0xc]
cmp eax, ebx
je 0x7f2e3e4d
cmp dword [ebp + 0x10], ebx
jbe 0x7f2e3e4d
mov word [eax], bx
mov eax, dword [ebp + 0x20]
cmp eax, ebx
je 0x7f2e3e5c
cmp dword [ebp + 0x24], ebx
jbe 0x7f2e3e5c
mov word [eax], bx
mov eax, dword [ebp + 0x1c]
lea esp, [ebp - 0x14]
pop edi
pop esi
pop ebx
leave
ret 0x20