Function at 0x40b400
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x48
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x42c310
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0x3a0000
xor esi, esi
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov edi, eax
mov ebx, dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
jmp 0x40b47d
mov ecx, dword [ebp - 0x2c]
mov byte [ecx], 0
mov eax, dword [ebp + 8]
mov dword [ecx + 0x4c], eax
mov dword [ebp - 0x10], 0xffffffff
call fcn.0040a840
add esp, 0x50
mov esp, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x54]
mov edi, dword [ebp - 0x50]
mov ebx, dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
shr edi, 1
inc esi
cmp esi, 0x20
je 0x40b960
mov eax, edi
xor eax, 0xfffffffe
test eax, edi
je 0x40b47a
lea eax, [esi + 0x41]
mov word [ebp - 0x38], ax
lea eax, [ebp - 0x38]
push eax
call ebx
add eax, 0xfffffffe
cmp eax, 2
ja 0x40b47a
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x4c], esp
push eax
sub esp, 0x4c
mov ebx, esp
lea esi, [ebx + 0x40]
mov eax, 0x3358a3ca
nop dword [eax + eax]
cmp eax, 0x93930686
je 0x40b580
cmp eax, 0x3358a3ca
jne 0x40b4c0
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x30]
mov ecx, 0xd3ff522d
nop dword [eax]
cmp ecx, 0x1e45de89
je 0x40b567
cmp ecx, 0xd3ff522d
jne 0x40b4e0
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov edx, 0xfdc462f
nop dword [eax + eax]
cmp edx, 0xfdc462f
je 0x40b512
cmp edx, 0xb54ededd
jne 0x40b500
jmp 0x40b519
mov edx, 0xb54ededd
jmp 0x40b500
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov edx, 0x5d71fc11
mov ecx, dword [ebp - 0x28]
nop word [eax + eax]
cmp edx, 0x5d71fc11
je 0x40b542
cmp edx, 0x10038b63
jne 0x40b530
jmp 0x40b549
mov edx, 0x10038b63
jmp 0x40b530
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov ecx, 0x1e45de89
jmp 0x40b4e0
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
mov eax, 0x93930686
jmp 0x40b4c0
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
lea eax, [ebx + 0x34]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov ecx, 0xc9b41aa
nop word [eax + eax]
cmp ecx, 0xc9b41aa
je 0x40b5b2
cmp ecx, 0x5cce819d
jne 0x40b5a0
jmp 0x40b5c0
mov ecx, 0x5cce819d
jmp 0x40b5a0
mov dword [ebp - 0x28], 0x481da0
mov ecx, dword [ebp - 0x28]
mov edx, 0x83f2187e
nop
cmp edx, 0x83f2187e
je 0x40b5e2
cmp edx, 0x303917a4
jne 0x40b5d0
jmp 0x40b5f0
mov edx, 0x303917a4
jmp 0x40b5d0
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov ecx, 0x62a85593
nop dword [eax + eax]
cmp ecx, 0x8d11ab04
je 0x40b660
cmp ecx, 0x62a85593
jne 0x40b600
mov dword [ebp - 0x20], eax
mov edx, 0x5d71fc11
mov ecx, dword [ebp - 0x20]
nop dword [eax + eax]
cmp edx, 0x5d71fc11
je 0x40b632
cmp edx, 0x10038b63
jne 0x40b620
jmp 0x40b639
mov edx, 0x10038b63
jmp 0x40b620
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov ecx, 0x8d11ab04
jmp 0x40b600
mov eax, dword [ebp - 0x20]
mov eax, dword [0x481da4]
sub eax, dword [0x481da0]
mov ecx, dword [ebp - 0x20]
sar eax, 3
imul eax, eax, 0xaaaaaaab
mov edx, 0x2d7bf325
nop
cmp edx, 0x2d7bf325
je 0x40b692
cmp edx, 0xb70407a6
jne 0x40b680
jmp 0x40b6a0
mov edx, 0xb70407a6
mov ecx, 0x481da0
jmp 0x40b680
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
add edx, 4
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0
push edx
push 0x481da0
push eax
call fcn.00425290
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
lea esi, [eax + 0x28]
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x24]
mov ecx, 0xc9b41aa
nop dword [eax]
cmp ecx, 0xc9b41aa
je 0x40b6f2
cmp ecx, 0x5cce819d
jne 0x40b6e0
jmp 0x40b700
mov ecx, 0x5cce819d
jmp 0x40b6e0
mov dword [ebp - 0x28], 0x481dac
mov ecx, dword [ebp - 0x28]
mov edx, 0x83f2187e
nop
cmp edx, 0x83f2187e
je 0x40b722
cmp edx, 0x303917a4
jne 0x40b710
jmp 0x40b730
mov edx, 0x303917a4
jmp 0x40b710
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov ecx, 0x62a85593
nop dword [eax + eax]
cmp ecx, 0x8d11ab04
je 0x40b7a0
cmp ecx, 0x62a85593
jne 0x40b740
mov dword [ebp - 0x20], eax
mov edx, 0x5d71fc11
mov ecx, dword [ebp - 0x20]
nop dword [eax + eax]
cmp edx, 0x5d71fc11
je 0x40b772
cmp edx, 0x10038b63
jne 0x40b760
jmp 0x40b779
mov edx, 0x10038b63
jmp 0x40b760
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov ecx, 0x8d11ab04
jmp 0x40b740
mov eax, dword [ebp - 0x20]
mov eax, dword [0x481db0]
sub eax, dword [0x481dac]
mov ecx, dword [ebp - 0x20]
sar eax, 3
imul eax, eax, 0xaaaaaaab
mov edx, 0x2d7bf325
nop
cmp edx, 0x2d7bf325
je 0x40b7d2
cmp edx, 0xb70407a6
jne 0x40b7c0
jmp 0x40b7e0
mov edx, 0xb70407a6
mov ecx, 0x481dac
jmp 0x40b7c0
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
add edx, 4
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 1
push edx
push 0x481dac
push eax
call fcn.00425290
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
lea esi, [eax + 0x1c]
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x24]
mov ecx, 0xc9b41aa
nop word cs:[eax + eax]
cmp ecx, 0xc9b41aa
je 0x40b832
cmp ecx, 0x5cce819d
jne 0x40b820
jmp 0x40b840
mov ecx, 0x5cce819d
jmp 0x40b820
mov dword [ebp - 0x28], 0x481d94
mov ecx, dword [ebp - 0x28]
mov edx, 0x83f2187e
nop
cmp edx, 0x83f2187e
je 0x40b862
cmp edx, 0x303917a4
jne 0x40b850
jmp 0x40b870
mov edx, 0x303917a4
jmp 0x40b850
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov ecx, 0x62a85593
nop dword [eax + eax]
cmp ecx, 0x8d11ab04
je 0x40b8e0
cmp ecx, 0x62a85593
jne 0x40b880
mov dword [ebp - 0x20], eax
mov edx, 0x5d71fc11
mov ecx, dword [ebp - 0x20]
nop dword [eax + eax]
cmp edx, 0x5d71fc11
je 0x40b8b2
cmp edx, 0x10038b63
jne 0x40b8a0
jmp 0x40b8b9
mov edx, 0x10038b63
jmp 0x40b8a0
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov ecx, 0x8d11ab04
jmp 0x40b880
mov eax, dword [ebp - 0x20]
mov eax, dword [0x481d98]
sub eax, dword [0x481d94]
mov ecx, dword [ebp - 0x20]
sar eax, 3
imul eax, eax, 0xaaaaaaab
mov edx, 0x2d7bf325
nop
cmp edx, 0x2d7bf325
je 0x40b912
cmp edx, 0xb70407a6
jne 0x40b900
jmp 0x40b920
mov edx, 0xb70407a6
mov ecx, 0x481d94
jmp 0x40b900
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
add edx, 4
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 2
push edx
push 0x481d94
push eax
call fcn.00425290
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
add ecx, 4
mov dword [ebp - 0x10], 3
lea eax, [ebp - 0x38]
push eax
call fcn.00401190
jmp 0x40b450
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret