Function at 0x5b82b4
Capabilities:
Get disk information
Get file system object information

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x35
push 0
push 0
dec ecx
jne 0x5b82bc
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5b864f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov byte [eax + 0x3d0], 0
call fcn.00407ee4
mov dword [0x735a84], eax
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cmp eax, 0x1f
ja 0x5b82ff
bt dword [0x735a84], eax
jae 0x5b860c
mov bl, byte [ebp - 0xc]
add bl, 0x41
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20c]
call fcn.004c8980
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x5b85ea
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x4600
push 0x160
lea eax, [ebp - 0x170]
push eax
push 0
lea eax, [ebp - 0x174]
mov edx, ebx
call fcn.0040406c
lea eax, [ebp - 0x174]
mov edx, 0x5b8668
call fcn.0040414c
mov eax, dword [ebp - 0x174]
call fcn.00404308
push eax
call fcn.004626c0
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1fc], 0
je 0x5b8387
mov ecx, dword [ebp - 0x16c]
xor edx, edx
mov eax, dword [ebp - 8]
call fcn.004c85f8
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x178]
lea edx, [ebp - 0x164]
mov ecx, 0x104
call fcn.004040f4
mov edx, dword [ebp - 0x178]
mov eax, 0x5b8674
call fcn.00404430
dec eax
push eax
lea eax, [ebp - 0x17c]
lea edx, [ebp - 0x164]
mov ecx, 0x104
call fcn.004040f4
mov eax, dword [ebp - 0x17c]
mov edx, 1
pop ecx
call fcn.0040434c
push 0x5b8680
lea eax, [ebp - 0x184]
mov edx, ebx
call fcn.0040406c
push dword [ebp - 0x184]
push 0x5b868c
push dword [ebp - 0x10]
lea eax, [ebp - 0x180]
mov edx, 4
call fcn.00404204
mov edx, dword [ebp - 0x180]
mov eax, dword [ebp - 8]
call fcn.004c8424
lea eax, [ebp - 0x188]
mov edx, ebx
call fcn.0040406c
lea eax, [ebp - 0x188]
mov edx, 0x5b8668
call fcn.0040414c
mov eax, dword [ebp - 0x188]
call fcn.00404308
push eax
call fcn.00407eac
mov esi, eax
push ebp
lea eax, [ebp - 0x190]
mov edx, ebx
call fcn.0040406c
lea eax, [ebp - 0x190]
mov edx, 0x5b8668
call fcn.0040414c
mov eax, dword [ebp - 0x190]
lea edx, [ebp - 0x18c]
call fcn.005b7acc
pop ecx
mov edx, dword [ebp - 0x18c]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
cmp esi, 2
je 0x5b84e9
cmp esi, 5
je 0x5b84e9
lea eax, [ebp - 0x194]
mov edx, ebx
call fcn.0040406c
lea eax, [ebp - 0x194]
mov edx, 0x5b8668
call fcn.0040414c
mov eax, dword [ebp - 0x194]
call fcn.005a9ec4
mov edi, eax
lea eax, [ebp - 0x198]
mov edx, ebx
call fcn.0040406c
lea eax, [ebp - 0x198]
mov edx, 0x5b8668
call fcn.0040414c
mov eax, dword [ebp - 0x198]
call fcn.005a9f50
mov esi, eax
jmp 0x5b84ed
xor edi, edi
xor esi, esi
test edi, edi
jle 0x5b8531
mov eax, edi
mov ecx, 0x3e8
cdq
idiv ecx
mov dword [ebp - 0x1a0], eax
fild dword [ebp - 0x1a0]
add esp, 0xfffffff4
fstp xword [esp]
wait
lea edx, [ebp - 0x19c]
mov eax, 0x5b869c
call fcn.0040b5d0
mov edx, dword [ebp - 0x19c]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
jmp 0x5b8541
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
mov edx, 0x5b86b4
mov ecx, dword [eax]
call dword [ecx + 0x34]
test esi, esi
jle 0x5b8585
mov eax, esi
mov ecx, 0x3e8
cdq
idiv ecx
mov dword [ebp - 0x1a0], eax
fild dword [ebp - 0x1a0]
add esp, 0xfffffff4
fstp xword [esp]
wait
lea edx, [ebp - 0x1a4]
mov eax, 0x5b869c
call fcn.0040b5d0
mov edx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
jmp 0x5b8595
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
mov edx, 0x5b86b4
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x1a8]
mov edx, ebx
call fcn.0040406c
lea eax, [ebp - 0x1a8]
mov edx, 0x5b8668
call fcn.0040414c
mov edx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
mov edx, 0x5b86c4
mov ecx, dword [eax]
call dword [ecx + 0x34]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5b860c
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x1a
jne 0x5b82f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5b8656
lea eax, [ebp - 0x1a8]
mov edx, 2
call fcn.00403ee8
lea eax, [ebp - 0x19c]
mov edx, 0xb
call fcn.00403ee8
lea eax, [ebp - 0x10]
call fcn.00403ec4
ret