Function at 0x410a9f
Capabilities:
Get disk information

Disassembly:
push ebp
sub esp, 0x800
lea ebp, [esp - 4]
mov eax, dword [0x55f6c0]
xor eax, ebp
mov dword [ebp + 0x800], eax
push 0x24
mov eax, 0x4cf1bf
call fcn.004ae953
xor ebx, ebx
mov dword [ebp - 4], ebx
mov esi, ecx
cmp word [0x569dd8], bx
jne 0x410b00
push 0x569dd8
push 0x800
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
xor edx, edx
cmp edx, eax
jae 0x410b00
lea ecx, [edx*2 + 0x569dd8]
xor edi, edi
cmp di, word [ecx]
jne 0x410afd
push 0x23
pop edi
mov word [ecx], di
inc edx
jmp 0x410ae5
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040253e
lea edi, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.004077fb
xor eax, eax
push 0x7fe
mov word [ebp], ax
lea eax, [ebp + 2]
push ebx
push eax
mov dword [ebp - 0x24], 0x23
call fcn.004ae4c0
add esp, 0xc
mov edx, 0x569dd8
lea eax, [ebp]
movzx ecx, word [edx]
inc edx
mov word [eax], cx
inc edx
inc eax
inc eax
cmp cx, bx
jne 0x410b3c
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp]
push eax
call fcn.004ab621
mov dword [ebp - 0x2c], ebx
pop ecx
mov esi, eax
pop ecx
cmp esi, ebx
je 0x410d18
push esi
xor ecx, ecx
lea esi, [ebp - 0x1c]
call fcn.004077ca
cmp eax, 0xffffffff
jne 0x410b83
lea eax, [ebp - 0x24]
push eax
push ebx
call fcn.004ab621
jmp 0x410b5b
or dword [ebp - 0x2c], 0xffffffff
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00407821
push ecx
lea eax, [ebp - 0x14]
mov dword [ebp - 0x28], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 2
call fcn.00402582
call fcn.0040ce19
xor esi, esi
inc esi
cmp eax, esi
jne 0x410bd0
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 0x410d28
cmp eax, ebx
jne 0x410bd8
xor esi, esi
jmp 0x410bb3
mov eax, dword [ebp - 0x14]
mov edi, dword [eax - 0xc]
cmp edi, ebx
jle 0x410c68
push edi
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x14]
call fcn.004078c2
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.00402582
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.00402582
call fcn.0040ce19
push ecx
mov esi, eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x28], esp
mov ecx, esp
push eax
call fcn.00402582
call fcn.0041091b
pop ecx
cmp al, bl
jne 0x410c53
cmp esi, 1
jne 0x410c53
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.00402883
jmp 0x410bb3
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.00402883
dec edi
jmp 0x410bde
push 0x522224
xor ecx, ecx
lea esi, [ebp - 0x14]
call fcn.004077ca
cmp eax, 0xffffffff
je 0x410bd4
push eax
push 3
lea eax, [ebp - 0x20]
push eax
mov ecx, esi
call fcn.00407844
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x20]
mov edi, dword [eax - 0xc]
xor esi, esi
cmp esi, edi
jge 0x410ceb
mov ecx, esi
lea eax, [ebp - 0x20]
call fcn.00402bdb
movzx eax, ax
movzx eax, ax
cmp ax, 0x1f
jbe 0x410cdb
cmp ax, 0x2a
je 0x410cdb
cmp ax, 0x3f
je 0x410cdb
cmp ax, 0x3e
je 0x410cdb
cmp ax, 0x3c
je 0x410cdb
cmp ax, 0x3a
je 0x410cdb
cmp ax, 0x7c
je 0x410cdb
inc esi
jmp 0x410c9a
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.00402883
jmp 0x410bd4
lea eax, [ebp - 0x24]
push eax
push ebx
call fcn.004ab621
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 0x410b5f
mov esi, dword [ebp - 0x2c]
jmp 0x410bbe
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.004aa923
add ebp, 0x804
leave
ret