Function at 0x41ced2
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x260
mov esi, dword [ebp + 0xc]
mov eax, dword [0x5c3648]
xor eax, ebp
mov dword [esp + 0x258], eax
lea edi, [esp + 0x10]
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], 0
mov word [edi], 0
push esi
call fcn.004f351c
add esp, 4
mov ecx, edi
push eax
push esi
call fcn.0040c1de
push edi
call fcn.0041c7b0
add esp, 4
mov ebx, eax
mov eax, dword [edi + 0x14]
cmp eax, 8
jb 0x41cf40
add eax, eax
add eax, 2
push eax
push dword [esp + 0x14]
call fcn.004f351c
add esp, 8
test bl, bl
mov bl, 1
jne 0x41d20a
mov eax, dword [ebp + 8]
mov ecx, 7
pcmpeqd xmm0, xmm0
lea ebx, [esp + 0x240]
movdqa xmmword [ebx], xmm0
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x10], 0
mov word [ebx], 0
push ebx
push eax
call fcn.0041c994
add esp, 8
test al, al
je 0x41d0e4
mov eax, 7
lea edi, [esp + 0x220]
pcmpeqd xmm0, xmm0
movdqa xmmword [edi], xmm0
mov dword [edi + 0x14], eax
mov dword [edi + 0x10], 0
mov word [edi], 0
push esi
call fcn.004f351c
add esp, 4
mov ecx, edi
push eax
push esi
call fcn.0040c1de
mov eax, dword [edi + 0x14]
cmp eax, 7
mov ecx, dword [edi]
mov esi, edi
cmova esi, ecx
mov edx, dword [edi + 0x10]
cmp word [esi + edx*2 - 2], 0x5c
jne 0x41d03b
dec edx
xor eax, eax
lea ecx, [esp + 0x10]
mov dword [ecx + 0x10], eax
mov esi, 7
mov dword [ecx + 0x14], esi
mov word [ecx], 0
push edx
push eax
push edi
call fcn.00414dd6
mov eax, dword [esp + 0x234]
cmp eax, 8
jb 0x41d00f
add eax, eax
add eax, 2
push eax
push dword [esp + 0x224]
call fcn.004f351c
add esp, 8
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0x230], xmm0
movdqu xmm0, xmmword [esp + 0x10]
movdqa xmmword [esp + 0x220], xmm0
mov eax, dword [esp + 0x234]
mov ecx, dword [esp + 0x220]
cmp eax, 7
cmova edi, ecx
cmp dword [esp + 0x254], 7
jbe 0x41d052
mov ebx, dword [esp + 0x240]
push edi
push ebx
call fcn.004f351c
add esp, 8
test eax, eax
je 0x41d0eb
lea edi, [esp + 0x220]
mov ecx, edi
mov edx, edi
call fcn.0041cd11
mov ebx, eax
mov ecx, edi
call fcn.0041cdd7
test al, al
jne 0x41d0f2
test bl, bl
je 0x41d0f2
pcmpeqd xmm0, xmm0
lea esi, [esp + 0x10]
movdqa xmmword [esi], xmm0
mov eax, 7
mov dword [esi + 0x14], eax
mov dword [esi + 0x10], 0
mov word [esi], 0
lea ecx, [esp + 0x240]
mov edx, esi
call fcn.0041ce0c
test al, al
je 0x41d12e
cmp dword [esp + 0x234], 7
jbe 0x41d0c8
mov edi, dword [esp + 0x220]
cmp dword [esp + 0x24], 7
jbe 0x41d0d3
mov esi, dword [esp + 0x10]
push edi
push esi
call fcn.004f351c
add esp, 8
test eax, eax
sete bl
jmp 0x41d130
xor ebx, ebx
jmp 0x41d1e9
mov bl, 1
jmp 0x41d1c8
xor ebx, ebx
test al, al
je 0x41d1c8
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebx
push 0x208
push 0xff
lea esi, [esp + 0x18]
push esi
call fcn.004f5340
add esp, 0xc
cmp dword [esp + 0x234], 7
jbe 0x41d151
mov eax, dword [esp + 0x220]
jmp 0x41d158
xor ebx, ebx
mov eax, dword [esp + 0x24]
cmp eax, 8
jb 0x41d1c8
add eax, eax
add eax, 2
push eax
push dword [esp + 0x14]
call fcn.004f351c
add esp, 8
jmp 0x41d1c8
lea eax, [esp + 0x220]
mov eax, dword [eax]
lea ecx, [esp + 8]
mov dword [ecx], eax
push 0x104
push esi
push ecx
call dword [sym.imp.kernel32.dll_QueryDosDeviceW]
cmp eax, 2
jb 0x41d1c8
cmp eax, 0x104
je 0x41d1c8
push esi
call fcn.004f351c
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x230]
add eax, edi
add eax, 0xfffffffe
cmp eax, dword [esp + 0x250]
jne 0x41d1c6
cmp dword [esp + 0x254], 7
jbe 0x41d1ac
mov eax, dword [esp + 0x240]
jmp 0x41d1b3
lea eax, [esp + 0x240]
push edi
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.004f351c
add esp, 0xc
test eax, eax
je 0x41d222
xor ebx, ebx
mov eax, dword [esp + 0x234]
cmp eax, 8
jb 0x41d1e9
add eax, eax
add eax, 2
push eax
push dword [esp + 0x224]
call fcn.004f351c
add esp, 8
mov eax, dword [esp + 0x254]
cmp eax, 8
jb 0x41d20a
add eax, eax
add eax, 2
push eax
push dword [esp + 0x244]
call fcn.004f351c
add esp, 8
mov ecx, dword [esp + 0x258]
xor ecx, ebp
call fcn.004f2990
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esp + 0x224]
mov eax, dword [ecx - 4]
add eax, 4
cmp dword [ecx + 0x10], 7
cmovbe eax, ecx
cmp dword [esp + 0x254], 7
jbe 0x41d249
mov ecx, dword [esp + 0x240]
jmp 0x41d250
lea ecx, [esp + 0x240]
lea ecx, [ecx + edi*2]
push eax
push ecx
call fcn.004f351c
add esp, 8
test eax, eax
sete bl
jmp 0x41d1c8