Function at 0xa6451c8
Capabilities:
Get disk information

Disassembly:
push 0xa8
mov eax, 0xa73812e
call fcn.0a706933
mov esi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0xb4], esi
mov edi, esi
mov dword [ebp - 0xac], ebx
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], 0xf
mov byte [esi], bl
xor edi, edi
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x28]
inc edi
push eax
mov dword [ebp - 0xac], edi
call fcn.0a68bb15
pop ecx
push eax
mov ecx, esi
mov dword [ebp - 4], edi
call fcn.0a631218
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], bl
call fcn.0a6311b0
lea eax, [ebp - 0xa4]
push eax
call dword [sym.imp.ADVAPI32.dll_GetCurrentHwProfileA]
lea edi, [ebp - 0x28]
test eax, eax
jne 0xa64524f
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], bl
jmp 0xa64526c
xor eax, eax
lea ecx, [ebp - 0x28]
stosd dword es:[edi], eax
push 0x27
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0xa0]
push eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
call fcn.0a62fac4
push 3
pop edi
mov dword [ebp - 0xac], edi
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 2
push eax
mov ecx, esi
call fcn.0a631218
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], bl
cmp eax, 0xf
jbe 0xa6452d3
mov ecx, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xa8], ecx
cmp eax, 0x1000
jb 0xa6452ca
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.0a62f69c
mov eax, dword [ebp - 0xb0]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xa8]
push eax
push ecx
call fcn.0a70688f
pop ecx
pop ecx
lea eax, [ebp - 0x28]
push eax
call fcn.0a6453da
pop ecx
push eax
mov ecx, esi
mov dword [ebp - 4], edi
call fcn.0a631218
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], bl
call fcn.0a6311b0
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0xa8]
mov dword [ebp - 0xa8], ebx
push eax
push ebx
push ebx
push 0xa58fbd4
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
test eax, eax
jne 0xa64532b
lea edi, [ebp - 0x28]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], bl
jmp 0xa645346
push dword [ebp - 0xa8]
push 0xa58fbd8
call fcn.0a68c505
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.0a632a54
mov dword [ebp - 0xac], 7
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 4
push eax
mov ecx, esi
call fcn.0a631218
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], bl
cmp eax, 0xf
jbe 0xa6453ae
mov ecx, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xb0], ecx
cmp eax, 0x1000
jb 0xa6453a5
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.0a62f69c
mov eax, dword [ebp - 0xa8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xb0]
push eax
push ecx
call fcn.0a70688f
pop ecx
pop ecx
cmp dword [esi + 0x10], ebx
jne 0xa6453d2
push ebx
push 0x20
mov ecx, esi
call fcn.0a62f719
cmp dword [esi + 0x14], 0xf
mov eax, esi
jbe 0xa6453c7
mov eax, dword [esi]
push dword [esi + 0x10]
push eax
call fcn.0a687ffe
pop ecx
pop ecx
mov eax, esi
call fcn.0a7068e2
ret