Function at 0x410e52
Capabilities:
Get disk information

Disassembly:
push ebp
sub esp, 0x800
lea ebp, [esp - 4]
mov eax, dword [0x56f710]
xor eax, ebp
mov dword [ebp + 0x800], eax
push 0x24
mov eax, 0x4d7841
call fcn.004b6763
xor ebx, ebx
mov dword [ebp - 4], ebx
mov esi, ecx
cmp word [0x57a918], bx
jne 0x410eb3
push 0x57a918
push 0x800
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
xor edx, edx
cmp edx, eax
jae 0x410eb3
lea ecx, [edx*2 + 0x57a918]
xor edi, edi
cmp di, word [ecx]
jne 0x410eb0
push 0x23
pop edi
mov word [ecx], di
inc edx
jmp 0x410e98
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040254f
lea edi, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.004078c9
xor eax, eax
push 0x7fe
mov word [ebp], ax
lea eax, [ebp + 2]
push ebx
push eax
mov dword [ebp - 0x24], 0x23
call fcn.004b62d0
add esp, 0xc
mov edx, 0x57a918
lea eax, [ebp]
movzx ecx, word [edx]
inc edx
mov word [eax], cx
inc edx
inc eax
inc eax
cmp cx, bx
jne 0x410eef
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp]
push eax
call fcn.004b2f81
mov dword [ebp - 0x2c], ebx
pop ecx
mov esi, eax
pop ecx
cmp esi, ebx
je 0x4110cb
push esi
xor ecx, ecx
lea esi, [ebp - 0x1c]
call fcn.00407898
cmp eax, 0xffffffff
jne 0x410f36
lea eax, [ebp - 0x24]
push eax
push ebx
call fcn.004b2f81
jmp 0x410f0e
or dword [ebp - 0x2c], 0xffffffff
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x1c]
call fcn.004078ef
push ecx
lea eax, [ebp - 0x14]
mov dword [ebp - 0x28], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 2
call fcn.004022fa
call fcn.0040d1cc
xor esi, esi
inc esi
cmp eax, esi
jne 0x410f83
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00402845
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00402845
mov eax, esi
jmp 0x4110db
cmp eax, ebx
jne 0x410f8b
xor esi, esi
jmp 0x410f66
mov eax, dword [ebp - 0x14]
mov edi, dword [eax - 0xc]
cmp edi, ebx
jle 0x41101b
push edi
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x14]
call fcn.00407990
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.004022fa
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x30]
add ecx, 0xfffffff0
call fcn.00402845
push ecx
lea eax, [ebp - 0x18]
mov dword [ebp - 0x28], esp
mov ecx, esp
push eax
call fcn.004022fa
call fcn.0040d1cc
push ecx
mov esi, eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x28], esp
mov ecx, esp
push eax
call fcn.004022fa
call fcn.00410cce
pop ecx
cmp al, bl
jne 0x411006
cmp esi, 1
jne 0x411006
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.00402845
jmp 0x410f66
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.00402845
dec edi
jmp 0x410f91
push 0x52d4c4
xor ecx, ecx
lea esi, [ebp - 0x14]
call fcn.00407898
cmp eax, 0xffffffff
je 0x410f87
push eax
push 3
lea eax, [ebp - 0x20]
push eax
mov ecx, esi
call fcn.00407912
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x20]
mov edi, dword [eax - 0xc]
xor esi, esi
cmp esi, edi
jge 0x41109e
mov ecx, esi
lea eax, [ebp - 0x20]
call fcn.00402bbf
movzx eax, ax
movzx eax, ax
cmp ax, 0x1f
jbe 0x41108e
cmp ax, 0x2a
je 0x41108e
cmp ax, 0x3f
je 0x41108e
cmp ax, 0x3e
je 0x41108e
cmp ax, 0x3c
je 0x41108e
cmp ax, 0x3a
je 0x41108e
cmp ax, 0x7c
je 0x41108e
inc esi
jmp 0x41104d
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.00402845
jmp 0x410f87
lea eax, [ebp - 0x24]
push eax
push ebx
call fcn.004b2f81
pop ecx
pop ecx
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
mov esi, eax
call fcn.00402845
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00402845
jmp 0x410f12
mov esi, dword [ebp - 0x2c]
jmp 0x410f71
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.004b228f
add ebp, 0x804
leave
ret