Function at 0x4170b0
Capabilities:
Get disk information

Disassembly:
push 0x460
mov eax, 0x572a6f
call fcn.00551195
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
and dword [ebp - 0x460], 0
push eax
lea ecx, [ebp - 0x428]
call fcn.0041038d
and dword [ebp - 4], 0
push 1
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x458]
push eax
call fcn.004173b1
add esp, 0xc
push 0x5c18dc
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.00410dff
test eax, eax
setne bl
xor edi, edi
push 0
inc edi
push edi
lea ecx, [ebp - 0x458]
mov byte [ebp - 4], 0
call fcn.004109df
test bl, bl
je 0x41713b
mov ebx, 0x5c18dc
push ebx
call fcn.0055040b
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x428]
call fcn.00410b55
and dword [esi + 4], 0
push edi
push 0
lea eax, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x428]
mov dword [esi], SysReAllocString
call fcn.00411312
mov ebx, edi
push 0x5c18dc
mov ecx, eax
mov byte [ebp - 4], 2
mov dword [ebp - 0x460], ebx
call fcn.00410dff
test eax, eax
je 0x4171ad
push edi
push edi
lea eax, [ebp - 0x458]
push eax
lea ecx, [ebp - 0x428]
call fcn.00411312
push 3
pop ebx
push 0x5c23ec
mov ecx, eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x460], ebx
call fcn.00410dff
mov byte [ebp - 0x459], 0
test eax, eax
jne 0x4171b4
mov byte [ebp - 0x459], 1
test bl, 2
je 0x4171cb
push 0
push 1
lea ecx, [ebp - 0x458]
and ebx, 0xfffffffd
call fcn.004109df
and dword [ebp - 4], 0
test bl, 1
je 0x4171e3
push 0
push 1
lea ecx, [ebp - 0x440]
call fcn.004109df
xor ebx, ebx
xor eax, eax
inc ebx
cmp byte [ebp - 0x459], al
cmovne ebx, eax
xor eax, eax
push 0x1fe
push eax
mov word [ebp - 0x410], ax
lea eax, [ebp - 0x40e]
push eax
call fcn.005502f0
xor ecx, ecx
xor eax, eax
push 0x1fe
mov word [ebp - 0x210], ax
push ecx
lea eax, [ebp - 0x20e]
push eax
mov dword [ebp - 0x464], ecx
mov dword [ebp - 0x46c], ecx
mov dword [ebp - 0x468], ecx
call fcn.005502f0
add esp, 0x18
cmp dword [ebp - 0x418], 0
je 0x41725d
cmp dword [ebp - 0x414], 8
lea eax, [ebp - 0x428]
cmovae eax, dword [ebp - 0x428]
jmp 0x41725f
xor eax, eax
push 0xff
lea ecx, [ebp - 0x210]
push ecx
lea ecx, [ebp - 0x468]
push ecx
lea ecx, [ebp - 0x46c]
push ecx
lea ecx, [ebp - 0x464]
push ecx
push 0xff
lea ecx, [ebp - 0x410]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
mov edi, eax
test edi, edi
je 0x4172e0
lea eax, [ebp - 0x210]
push str.NTFS
push eax
call fcn.0054ed83
pop ecx
pop ecx
test eax, eax
jne 0x4172ba
or dword [esi], 0xffffffff
mov dword [esi + 4], SysReAllocString
lea eax, [ebp - 0x210]
push str.FAT32
push eax
call fcn.0054ed83
pop ecx
pop ecx
test eax, eax
jne 0x417392
or dword [esi], 0xffffffff
and dword [esi + 4], eax
jmp 0x417392
mov eax, dword [ebp - 0x418]
test eax, eax
je 0x41739a
dec eax
push eax
push 0
lea eax, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x428]
call fcn.00411312
push eax
lea ecx, [ebp - 0x428]
call fcn.00410432
push 0
push 1
lea ecx, [ebp - 0x440]
call fcn.004109df
push 0x5c18dc
call fcn.0055040b
pop ecx
push eax
push 0xffffffffffffffff
push 0x5c18dc
lea ecx, [ebp - 0x428]
call fcn.00417aff
cmp eax, 0xffffffff
je 0x41737c
test eax, eax
je 0x41737c
inc eax
push eax
push 0
lea eax, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x428]
call fcn.00411312
push eax
lea ecx, [ebp - 0x428]
call fcn.00410432
push 0
push 1
lea ecx, [ebp - 0x440]
call fcn.004109df
jmp 0x4171f1
test ebx, ebx
je 0x41739a
push 0
push 0x5c076c
lea ecx, [ebp - 0x428]
call fcn.00410cb2
test edi, edi
je 0x4171f1
push 0
push 1
lea ecx, [ebp - 0x428]
call fcn.004109df
mov eax, edi
call fcn.00551144
ret