Function at 0x414c06
Capabilities:
Get disk information

Disassembly:
push ebp
sub esp, 0x800
lea ebp, [esp - 4]
mov eax, dword [0x57b750]
xor eax, ebp
mov dword [ebp + 0x800], eax
push 0x24
mov eax, 0x4dac36
call fcn.004bece3
xor ebx, ebx
mov dword [ebp - 4], ebx
mov esi, ecx
cmp word [0x586128], bx
jne 0x414c67
push 0x586128
push 0x800
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
xor edx, edx
cmp edx, eax
jae 0x414c67
lea ecx, [edx*2 + 0x586128]
xor edi, edi
cmp di, word [ecx]
jne 0x414c64
push 0x23
pop edi
mov word [ecx], di
inc edx
jmp 0x414c4c
push esi
lea ecx, [ebp - 0x1c]
call fcn.004024df
lea edi, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.004072d6
xor eax, eax
push 0x7fe
mov word [ebp], ax
lea eax, [ebp + 2]
push ebx
push eax
mov dword [ebp - 0x24], 0x23
call fcn.004be850
add esp, 0xc
mov edx, 0x586128
lea eax, [ebp]
movzx ecx, word [edx]
inc edx
mov word [eax], cx
inc edx
inc eax
inc eax
cmp cx, bx
jne 0x414ca3
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp]
push eax
call fcn.004ba3f1
mov dword [ebp - 0x2c], ebx
pop ecx
mov esi, eax
pop ecx
cmp esi, ebx
je 0x414e7f
push esi
xor ecx, ecx
lea esi, [ebp - 0x1c]
call fcn.004072a5
cmp eax, 0xffffffff
jne 0x414cea
lea eax, [ebp - 0x24]
push eax
push ebx
call fcn.004ba3f1
jmp 0x414cc2
or dword [ebp - 0x2c], 0xffffffff
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x1c]
call fcn.004072fc
push ecx
lea eax, [ebp - 0x14]
mov dword [ebp - 0x28], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 2
call fcn.0040228a
call fcn.00410f7e
xor esi, esi
inc esi
cmp eax, esi
jne 0x414d37
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.004027b0
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.004027b0
mov eax, esi
jmp 0x414e8f
cmp eax, ebx
jne 0x414d3f
xor esi, esi
jmp 0x414d1a
mov eax, dword [ebp - 0x14]
mov edi, dword [eax - 0xc]
cmp edi, ebx
jle 0x414dcf
push edi
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x14]
call fcn.0040739d
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.0040228a
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x30]
add ecx, 0xfffffff0
call fcn.004027b0
push ecx
lea eax, [ebp - 0x18]
mov dword [ebp - 0x28], esp
mov ecx, esp
push eax
call fcn.0040228a
call fcn.00410f7e
push ecx
mov esi, eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x28], esp
mov ecx, esp
push eax
call fcn.0040228a
call fcn.00414a82
pop ecx
cmp al, bl
jne 0x414dba
cmp esi, 1
jne 0x414dba
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.004027b0
jmp 0x414d1a
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.004027b0
dec edi
jmp 0x414d45
push 0x5231e4
xor ecx, ecx
lea esi, [ebp - 0x14]
call fcn.004072a5
cmp eax, 0xffffffff
je 0x414d3b
push eax
push 3
lea eax, [ebp - 0x20]
push eax
mov ecx, esi
call fcn.0040731f
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x20]
mov edi, dword [eax - 0xc]
xor esi, esi
cmp esi, edi
jge 0x414e52
mov ecx, esi
lea eax, [ebp - 0x20]
call fcn.00402afd
movzx eax, ax
movzx eax, ax
cmp ax, 0x1f
jbe 0x414e42
cmp ax, 0x2a
je 0x414e42
cmp ax, 0x3f
je 0x414e42
cmp ax, 0x3e
je 0x414e42
cmp ax, 0x3c
je 0x414e42
cmp ax, 0x3a
je 0x414e42
cmp ax, 0x7c
je 0x414e42
inc esi
jmp 0x414e01
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.004027b0
jmp 0x414d3b
lea eax, [ebp - 0x24]
push eax
push ebx
call fcn.004ba3f1
pop ecx
pop ecx
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
mov esi, eax
call fcn.004027b0
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.004027b0
jmp 0x414cc6
mov esi, dword [ebp - 0x2c]
jmp 0x414d25
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.004b96ff
add ebp, 0x804
leave
ret