Function at 0x1002b5e0
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1011ebf2
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x1016e750]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x14], 0
push ecx
mov dword [ebp - 4], 0
lea edi, [ebp - 0x14]
mov ecx, dword [ebp + 8]
mov esi, esp
mov dword [ebp - 0x14], 0xffffffff
lea ecx, [ecx - 0x10]
call fcn.10024750
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.1003d120
add esp, 4
test eax, eax
je 0x1002b757
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x1002b6d6
lea edx, [eax + 2]
lea ecx, [ebp - 0x20]
call fcn.1002b3f0
mov byte [ebp - 4], 1
push dword [eax]
lea eax, [ebp - 0x14]
push dword [ebp + 8]
push str.SandboxCfg_GetFileFlags__s_:_special_case__Prog_repository___returning__s
push eax
call fcn.10044f30
add esp, 0x10
mov byte [ebp - 4], 2
mov ecx, str.Cerveau
mov edx, dword [ebp - 0x14]
call fcn.10043b30
mov byte [ebp - 4], 1
or edi, 0xffffffff
mov edx, dword [ebp - 0x14]
mov eax, edi
add edx, 0xfffffff0
lea ecx, [edx + 0xc]
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x1002b6ac
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov ecx, edi
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x1002b6cc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, 2
jmp 0x1002bb1d
cmp eax, 1
jne 0x1002b6f8
mov edx, eax
lea ecx, [ebp - 0x20]
call fcn.1002b3f0
push ecx
mov ecx, esp
mov byte [ebp - 4], 3
push dword [eax]
push dword [ebp + 8]
push str.SandboxCfg_GetFileFlags__s_:_special_case__Data_repository___returning__s
jmp 0x1002b719
cmp eax, 0xffffffff
jne 0x1002b757
lea edx, [eax + 2]
lea ecx, [ebp - 0x20]
call fcn.1002b3f0
push ecx
mov ecx, esp
mov byte [ebp - 4], 4
push dword [eax]
push dword [ebp + 8]
push str.SandboxCfg_GetFileFlags__s_:_special_case__BaseDir___returning__s
push ecx
call fcn.10044f30
add esp, 0x10
call fcn.100278c0
mov byte [ebp - 4], 0
or edi, 0xffffffff
mov edx, dword [ebp - 0x20]
add esp, 4
add edx, 0xfffffff0
mov eax, edi
lea ecx, [edx + 0xc]
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x1002b74d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, 1
jmp 0x1002bb1d
push str.Content.IE5index.dat
lea ecx, [ebp - 0x1c]
call fcn.10023fc0
push str.Cookiesindex.dat
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.10023fc0
mov byte [ebp - 4], 6
lea ecx, [ebp + 8]
mov eax, dword [ebp - 0x1c]
push dword [eax - 0xc]
lea eax, [ebp - 0x24]
push eax
call fcn.1002cba0
mov byte [ebp - 4], 7
xor edx, edx
mov ecx, dword [ebp - 0x1c]
mov ebx, 1
test ecx, ecx
mov dword [ebp - 0x14], ebx
setne dl
test edx, edx
jne 0x1002b7af
push 0x80004005
call fcn.100223c0
push ecx
push dword [eax]
call fcn.10103523
add esp, 8
test eax, eax
je 0x1002b831
mov eax, dword [ebp - 0x18]
lea ecx, [ebp + 8]
push dword [eax - 0xc]
lea eax, [ebp - 0x20]
push eax
call fcn.1002cba0
mov dword [ebp - 4], 8
xor edx, edx
mov ecx, dword [ebp - 0x18]
mov ebx, 3
test ecx, ecx
mov dword [ebp - 0x14], ebx
setne dl
test edx, edx
jne 0x1002b7f7
push 0x80004005
call fcn.100223c0
push ecx
push dword [eax]
call fcn.10103523
add esp, 8
test eax, eax
je 0x1002b831
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc], 0
jl 0x1002b82b
push str.History.IE5_
push eax
call fcn.10103a8d
add esp, 8
test eax, eax
je 0x1002b82b
sub eax, dword [ebp + 8]
sar eax, 1
cmp eax, 0xffffffff
jne 0x1002b831
mov byte [ebp - 0xd], 0
jmp 0x1002b835
mov byte [ebp - 0xd], 1
or edi, 0xffffffff
mov dword [ebp - 4], 7
test bl, 2
je 0x1002b866
mov edx, dword [ebp - 0x20]
and ebx, 0xfffffffd
add edx, 0xfffffff0
mov dword [ebp - 0x14], ebx
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x1002b866
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 6
test bl, 1
je 0x1002b88e
mov edx, dword [ebp - 0x24]
mov ecx, edi
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x1002b88e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0xd], 0
je 0x1002b91a
mov edx, 1
lea ecx, [ebp - 0x24]
call fcn.1002b3f0
mov byte [ebp - 4], 9
push dword [eax]
lea eax, [ebp - 0x14]
push dword [ebp + 8]
push str.SandboxCfg_GetFileFlags__s_:_special_case__index.dat___returning__s
push eax
call fcn.10044f30
add esp, 0x10
mov byte [ebp - 4], 0xa
mov ecx, str.Cerveau
mov edx, dword [ebp - 0x14]
call fcn.10043b30
mov byte [ebp - 4], 9
mov ecx, edi
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x1002b8f0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
mov ecx, edi
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x1002b910
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, 1
jmp 0x1002badd
cmp dword [ebp - 0x28], 0
je 0x1002b96b
push ecx
mov ecx, dword [ebp + 8]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.10024750
add eax, 0x10
lea ecx, [ebp - 0x28]
mov dword [esi], eax
call fcn.1003cd10
add esp, 4
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xb
call fcn.100244b0
mov byte [ebp - 4], 6
mov ecx, edi
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x1002b96b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [0x10172228], 0
je 0x1002ba58
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0xc]
cmp ecx, 2
jl 0x1002ba58
cmp ecx, 1
jge 0x1002b996
push 0x80070057
call fcn.100223c0
mov eax, dword [ebp + 8]
cmp word [eax + 2], 0x5f
jne 0x1002ba58
test ecx, ecx
jns 0x1002b9b2
push 0x80070057
call fcn.100223c0
mov eax, dword [ebp + 8]
push ecx
mov ecx, esp
movzx eax, word [eax]
push eax
push str.About_to_GetDriveType__c:_
push ecx
call fcn.10044f30
add esp, 0xc
call fcn.100278c0
mov eax, dword [ebp + 8]
add esp, 4
cmp dword [eax - 0xc], 0
jge 0x1002b9e5
push 0x80070057
call fcn.100223c0
movzx eax, word [eax]
push eax
lea eax, [ebp - 0x28]
push str._c:_
push eax
call fcn.10044f30
add esp, 0xc
push dword [eax]
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.10024080
cmp esi, 2
jne 0x1002ba58
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc], 0
jge 0x1002ba24
push 0x80070057
call fcn.100223c0
movzx eax, word [eax]
push eax
lea eax, [ebp - 0x28]
push 0x10138530
push eax
call fcn.10044f30
add esp, 0xc
push str._RemovableDrives_
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 8]
push dword [eax]
call fcn.1002c960
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 6
call fcn.10024080
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x1012ec40
call fcn.10023fc0
push ecx
mov byte [ebp - 4], 0xd
mov esi, esp
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
mov dword [ebp - 0x20], esp
call fcn.10024750
add eax, 0x10
mov dword [esi], eax
push ecx
mov ecx, esp
mov byte [ebp - 4], 0xe
push str.FILES
call fcn.10023fc0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 6
call fcn.10044c80
add esp, 0xc
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xf
call fcn.100244b0
mov byte [ebp - 4], 6
mov ecx, edi
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x1002bacf
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp + 8]
push ecx
call fcn.1002b450
add esp, 4
mov esi, eax
mov byte [ebp - 4], 5
mov edx, edi
mov ebx, dword [ebp - 0x18]
add ebx, 0xfffffff0
lea ecx, [ebx + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1002bafd
mov ecx, dword [ebx]
push ebx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov ecx, edi
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x1002bb1d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp + 8]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x1002bb3e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret