Function at 0x1002c35b
Capabilities:
Get disk information

Disassembly:
mov eax, 0x1005ba66
call fcn.1005a9e0
sub esp, 0x28
cmp byte [ebp + 0x20], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x28], ecx
je 0x1002c473
cmp byte [ebp + 8], 0
je 0x1002c45a
mov edx, dword [ebp + 0x18]
mov edi, dword [ebp + 0x28]
mov eax, dword [edx]
mov ecx, dword [edi]
mov eax, dword [eax + 8]
inc dword [edi]
cmp ecx, eax
jl 0x1002c3a5
xor ebx, ebx
inc ebx
xor esi, esi
mov dword [ebp + 0x20], ebx
jmp 0x1002c3ac
xor esi, esi
mov ebx, esi
mov dword [ebp + 0x20], esi
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x34]
mov dword [ecx], 0xd59ff446
mov ecx, dword [ecx]
mov eax, dword [eax]
sub ecx, dword [eax]
mov eax, dword [ebp + 0x24]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [eax], ecx
mov eax, dword [eax]
mov eax, dword [edx]
xor edx, edx
mov dword [eax], ebx
mov eax, dword [ebp + 0x34]
mov eax, dword [eax]
cmp dword [eax], 1
mov eax, dword [ebp + 0x30]
setl dl
xor ecx, ecx
mov eax, dword [eax]
cmp edx, eax
mov eax, dword [ebp + 0x30]
setle cl
xor ebx, ebx
cmp dword [ebp + 0x20], ecx
mov eax, dword [eax]
setne bl
xor edx, edx
cmp ebx, eax
mov ebx, dword [ebp + 0x34]
setge dl
xor ecx, ecx
mov eax, dword [ebx]
cmp edx, dword [eax]
setg cl
cmp ecx, 2
jb 0x1002c415
cmp dword [edi], esi
je 0x1002c415
xor eax, eax
inc eax
jmp 0x1002c417
mov eax, esi
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
test eax, eax
jne 0x1002c431
mov eax, dword [ebp + 0x18]
mov eax, dword [eax]
cmp dword [eax + 0xc], esi
jne 0x1002c431
mov eax, dword [ebp - 0x28]
cmp dword [eax], esi
je 0x1002c434
xor esi, esi
inc esi
mov eax, dword [ebx]
mov ecx, 0xbecba2af
xor ebx, ebx
cmp esi, dword [eax]
mov eax, dword [ebp + 0x30]
sete bl
xor edx, edx
mov eax, dword [eax]
sub ecx, eax
mov eax, dword [ebp + 0x1c]
cmp ecx, ebx
setge dl
mov dword [eax], edx
jmp 0x1002c66b
mov byte [ebp + 0x23], 0
cmp byte [ebp + 0x23], 0
je 0x1002c66b
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
jmp 0x1002c66b
cmp byte [ebp + 0xc], 0
je 0x1002c663
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 0x2c]
push ecx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x34], eax
call fcn.1002bcc0
mov eax, dword [esi]
mov edx, 0x6f21
pop ecx
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x20]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.1002c2fd
mov dword [ebp - 0x1c], 0x3237
xor ebx, ebx
cmp dword [ebp - 0x1c], 0x3368
pop ecx
pop ecx
jle 0x1002c4f7
mov esi, ebx
mov edi, esi
mov dword [ebp + 0x20], 0x16ad
mov dword [ebp - 0x28], ebx
mov ecx, ebx
mov eax, edi
shl eax, cl
mov ecx, 0x10076818
cdq
push edx
push eax
call fcn.10001a30
inc ebx
cmp ebx, 0x35f1
jl 0x1002c4c9
dec edi
dec dword [ebp + 0x20]
push 0
pop ebx
jne 0x1002c4c6
inc esi
cmp esi, 0x6c9f
jl 0x1002c4bd
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x1c], 0x31f6
jge 0x1002c512
mov edx, str.izcgm_lop_uds_tesunko_tlzreicxi
mov ecx, 0x10076818
call fcn.1000349f
or dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0x20]
mov esi, ebx
mov cl, byte [esi + edi]
mov dl, 0x6b
call fcn.100358c5
mov byte [esi + edi], al
inc esi
cmp esi, 4
jb 0x1002c51b
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 0x2c], 0xffff
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 0xb
jle 0x1002c649
mov dword [ebp - 0x14], 0x1f665683
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], 0xfffffff1
jne 0x1002c641
mov dword [ebp - 0x30], 0xfa831eb2
mov dword [ebp + 0x20], 0x425e
cmp dword [ebp + 0x20], 0x4461
jle 0x1002c5b5
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov eax, edi
cdq
idiv ebx
mov eax, esi
mov ecx, edx
shl eax, cl
mov ecx, 0x10076818
cdq
push edx
push eax
call fcn.10001a30
inc ebx
cmp ebx, 0x6d8a
jl 0x1002c57f
inc edi
push 0
pop ebx
cmp edi, 0x1619
jl 0x1002c57c
inc esi
cmp esi, 0x71f4
jl 0x1002c57a
sub esp, 0xc
lea eax, [ebp - 0x14]
lea edx, [ebp - 0x30]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.1002c1bd
add esp, 0x18
mov dword [ebp - 4], 2
cmp dword [ebp + 0x20], 0x416b
jge 0x1002c5ee
mov edx, str.auxodh_vllsqpdbv_oxcumete_agcftwdr_jsefob_xflyf_pcxs_pgwsubzrw_gipdzz_fiamj_hees_rfpa_qcayyzdai_qpuiquvuc
mov ecx, 0x10076818
call fcn.1000349f
or dword [ebp - 4], 0xffffffff
dec dword [ebp - 0x14]
jmp 0x1002c557
inc dword [ebp - 0x18]
jmp 0x1002c53f
mov byte [ebp + 0x23], bl
cmp byte [ebp + 0x23], 0
je 0x1002c659
push ecx
call fcn.1002cf72
pop ecx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x24]
mov dword [eax], ecx
jmp 0x1002c66b
push 0
call dword [sym.imp.USER32.dll_CreateIconIndirect]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret