Function at 0x401f50
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x553c6b
mov eax, dword fs:[0]
push eax
sub esp, 0x420
mov eax, dword [0x5bd1b0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x42c], eax
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x420], ax
lea eax, [ebp - 0x41e]
push eax
call fcn.00538670
add esp, 0xc
xor edi, edi
call fcn.004128fa
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x401fc3
push 0x80004005
call fcn.00403120
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x424], eax
xor eax, eax
mov dword [ebp - 4], 0
push 0x206
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
call fcn.00538670
push 0x599efc
lea eax, [ebp - 0x424]
mov dword [ebp - 0x428], 0
push 0x599ef4
push eax
call fcn.004030e0
push 0x32
push 0x599efc
call fcn.00537393
add esp, 0x20
cmp eax, 2
jbe 0x402030
xor edi, edi
jmp 0x40223d
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.00538670
mov esi, dword [ebp - 0x424]
lea eax, [ebp - 0x420]
add esp, 0xc
push 0x104
push eax
push esi
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
push 0x208
mov ebx, eax
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00538670
add esp, 0xc
mov dword [ebp - 0x428], 0x208
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x218]
push eax
push esi
call dword [sym.imp.MPR.dll_WNetGetConnectionW]
test ebx, ebx
jne 0x4020b6
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.00537393
add esp, 8
test eax, eax
je 0x402284
test edi, edi
jne 0x4020d1
push 2
push 0x599efc
lea ecx, [ebp - 0x424]
call fcn.00402cb0
jmp 0x40222e
cmp edi, 1
jne 0x4020ed
push 2
push 0x599f04
lea ecx, [ebp - 0x424]
call fcn.00402cb0
jmp 0x40222e
cmp edi, 2
jne 0x4020fc
mov edi, 3
jmp 0x402030
cmp edi, 3
jne 0x40210b
mov edi, 4
jmp 0x402030
cmp edi, 4
jne 0x40211a
mov edi, 5
jmp 0x402030
cmp edi, 5
jne 0x402129
push 0x599f0c
jmp 0x402223
cmp edi, 6
jne 0x402138
push 0x599f14
jmp 0x402223
cmp edi, 7
jne 0x402147
push 0x599f1c
jmp 0x402223
cmp edi, 8
jne 0x402156
push 0x599f24
jmp 0x402223
cmp edi, 9
jne 0x402165
push 0x599f2c
jmp 0x402223
cmp edi, 0xa
jne 0x402174
push 0x599f34
jmp 0x402223
cmp edi, 0xb
jne 0x402183
push 0x599f3c
jmp 0x402223
cmp edi, 0xc
jne 0x402192
push 0x599f44
jmp 0x402223
cmp edi, 0xd
jne 0x4021a1
push 0x599f4c
jmp 0x402223
cmp edi, 0xe
jne 0x4021ad
push 0x599f54
jmp 0x402223
cmp edi, 0xf
jne 0x4021b9
push 0x599f5c
jmp 0x402223
cmp edi, 0x10
jne 0x4021c5
push 0x599f64
jmp 0x402223
cmp edi, 0x11
jne 0x4021d1
push 0x599f6c
jmp 0x402223
cmp edi, 0x12
jne 0x4021dd
push 0x599f74
jmp 0x402223
cmp edi, 0x13
jne 0x4021e9
push 0x599f7c
jmp 0x402223
cmp edi, 0x14
jne 0x4021f5
push 0x599f84
jmp 0x402223
cmp edi, 0x15
jne 0x402201
push 0x599f8c
jmp 0x402223
cmp edi, 0x16
jne 0x40220d
push 0x599f94
jmp 0x402223
cmp edi, 0x17
jne 0x402219
push 0x599f9c
jmp 0x402223
cmp edi, 0x18
jne 0x40222e
push 0x599fa4
lea ecx, [ebp - 0x424]
call fcn.00402db0
inc edi
cmp edi, 0x18
jbe 0x402030
xor al, al
movzx edi, al
mov dword [ebp - 4], 0xffffffff
or ecx, 0xffffffff
mov esi, dword [ebp - 0x424]
add esi, 0xfffffff0
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x402264
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00536d2d
mov esp, ebp
pop ebp
ret 8
cmp edi, 0x18
ja 0x402238
cmp dword [ebp - 0x424], 0
jne 0x402296
xor eax, eax
jmp 0x4022a6
push 0x32
push dword [ebp - 0x424]
call fcn.00537393
add esp, 8
push dword [ebp - 0x424]
inc eax
push eax
push dword [ebp - 0x42c]
call fcn.005373fe
add esp, 0xc
mov al, 1
jmp 0x40223a