Function at 0x410a6a
Capabilities:
Get disk information

Disassembly:
push ebp
sub esp, 0x800
lea ebp, [esp - 4]
mov eax, dword [0x55c6c0]
xor eax, ebp
mov dword [ebp + 0x800], eax
push 0x24
mov eax, 0x4cee72
call fcn.004ae233
xor ebx, ebx
mov dword [ebp - 4], ebx
mov esi, ecx
cmp word [0x566af0], bx
jne 0x410acb
push 0x566af0
push 0x800
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
xor edx, edx
cmp edx, eax
jae 0x410acb
lea ecx, [edx*2 + 0x566af0]
xor edi, edi
cmp di, word [ecx]
jne 0x410ac8
push 0x23
pop edi
mov word [ecx], di
inc edx
jmp 0x410ab0
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040255d
lea edi, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.004077e2
xor eax, eax
push 0x7fe
mov word [ebp], ax
lea eax, [ebp + 2]
push ebx
push eax
mov dword [ebp - 0x24], 0x23
call fcn.004adda0
add esp, 0xc
mov edx, 0x566af0
lea eax, [ebp]
movzx ecx, word [edx]
inc edx
mov word [eax], cx
inc edx
inc eax
inc eax
cmp cx, bx
jne 0x410b07
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp]
push eax
call fcn.004aaf01
mov dword [ebp - 0x2c], ebx
pop ecx
mov esi, eax
pop ecx
cmp esi, ebx
je 0x410ce3
push esi
xor ecx, ecx
lea esi, [ebp - 0x1c]
call fcn.004077b1
cmp eax, 0xffffffff
jne 0x410b4e
lea eax, [ebp - 0x24]
push eax
push ebx
call fcn.004aaf01
jmp 0x410b26
or dword [ebp - 0x2c], 0xffffffff
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00407808
push ecx
lea eax, [ebp - 0x14]
mov dword [ebp - 0x28], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 2
call fcn.004025a1
call fcn.0040cde4
xor esi, esi
inc esi
cmp eax, esi
jne 0x410b9b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00402883
mov eax, esi
jmp 0x410cf3
cmp eax, ebx
jne 0x410ba3
xor esi, esi
jmp 0x410b7e
mov eax, dword [ebp - 0x14]
mov edi, dword [eax - 0xc]
cmp edi, ebx
jle 0x410c33
push edi
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x14]
call fcn.004078a9
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.004025a1
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x30]
add ecx, 0xfffffff0
call fcn.00402883
push ecx
lea eax, [ebp - 0x18]
mov dword [ebp - 0x28], esp
mov ecx, esp
push eax
call fcn.004025a1
call fcn.0040cde4
push ecx
mov esi, eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x28], esp
mov ecx, esp
push eax
call fcn.004025a1
call fcn.004108e6
pop ecx
cmp al, bl
jne 0x410c1e
cmp esi, 1
jne 0x410c1e
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.00402883
jmp 0x410b7e
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.00402883
dec edi
jmp 0x410ba9
push 0x5201c4
xor ecx, ecx
lea esi, [ebp - 0x14]
call fcn.004077b1
cmp eax, 0xffffffff
je 0x410b9f
push eax
push 3
lea eax, [ebp - 0x20]
push eax
mov ecx, esi
call fcn.0040782b
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x20]
mov edi, dword [eax - 0xc]
xor esi, esi
cmp esi, edi
jge 0x410cb6
mov ecx, esi
lea eax, [ebp - 0x20]
call fcn.00402bdb
movzx eax, ax
movzx eax, ax
cmp ax, 0x1f
jbe 0x410ca6
cmp ax, 0x2a
je 0x410ca6
cmp ax, 0x3f
je 0x410ca6
cmp ax, 0x3e
je 0x410ca6
cmp ax, 0x3c
je 0x410ca6
cmp ax, 0x3a
je 0x410ca6
cmp ax, 0x7c
je 0x410ca6
inc esi
jmp 0x410c65
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.00402883
jmp 0x410b9f
lea eax, [ebp - 0x24]
push eax
push ebx
call fcn.004aaf01
pop ecx
pop ecx
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
mov esi, eax
call fcn.00402883
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00402883
jmp 0x410b2a
mov esi, dword [ebp - 0x2c]
jmp 0x410b89
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x800]
xor ecx, ebp
call fcn.004aa206
add ebp, 0x804
leave
ret