Function at 0x401140
Capabilities:
Get disk information

Disassembly:
sub esp, 0xc
mov cx, word [0x426e04]
push ebx
mov ebx, dword [0x426e3c]
push ebp
push esi
mov esi, dword [0x426e08]
push edi
movzx edi, word [0x426e3c]
mov dword [esp + 0x10], 0
mov dword [0x42eb88], 0x4282a8
mov ebp, 0xdc3
movzx eax, cx
add eax, 0x50
cmp edi, eax
je 0x401192
mov ecx, dword [0x426e04]
imul ecx, ecx, 0x6755
add ecx, ebx
jmp 0x401198
lea edx, [esi + ebx]
add cx, dx
movzx edx, cx
cmp edx, esi
mov word [0x426e04], cx
jne 0x4011bc
lea eax, [edi + esi - 0x62]
cmp eax, 0x39f
jb 0x4011bc
movzx eax, byte [0x426e3c]
lea esi, [eax + edx + 7]
mov eax, edi
sub eax, edx
lea esi, [esi + eax + 0xbe7f]
cmp edi, esi
jne 0x401201
cmp esi, 5
je 0x4011fe
cmp esi, 0x13
mov ecx, esi
je 0x4011f0
sub ecx, dword [0x426e04]
add ecx, ecx
sub ecx, esi
sub ecx, 0x416d
mov word [0x426e04], cx
jmp 0x401201
sub ecx, ebx
sub ecx, 0x11
mov word [0x426e04], cx
jmp 0x401201
lea esi, [eax + 0xa]
lea edx, [edi + esi - 0x62]
cmp edx, 0x39f
jb 0x40121b
movzx eax, byte [0x426e3c]
movzx edx, cx
lea esi, [eax + edx + 7]
sub ebp, 1
jne 0x401178
mov ebp, dword [0x426e40]
mov eax, ebp
sub eax, edi
sub eax, 0x11
mov dword [0x426e20], eax
mov eax, dword [esp + 0x14]
lea edx, [eax - 3]
cmp edx, 0xe7
mov dword [0x426e08], esi
jbe 0x40125a
mov edx, esi
sub edx, edi
lea eax, [eax + edx + 0xbe7f]
mov dword [esp + 0x14], eax
mov eax, 0x2e
nop
mov dx, word [0x426e3c]
cmp dx, cx
je 0x4012c6
movzx cx, dl
add cx, si
sub cx, 0x10
cmp dx, 0x5b
mov word [0x426e04], cx
je 0x4012c6
movzx edx, cx
add edx, 0x50
cmp edi, edx
je 0x40129e
mov ecx, dword [0x426e04]
imul ecx, ecx, 0x6755
add ecx, ebx
jmp 0x4012a4
lea edx, [esi + ebx]
add cx, dx
cmp word [0x426e3c], cx
mov word [0x426e04], cx
je 0x4012c6
movzx esi, cx
sub esi, edi
add eax, 7
add esi, 2
cmp eax, 0xe49
jl 0x401260
mov eax, edi
cdq
xor ebx, ebx
add eax, dword [0x426e20]
mov dword [0x426e08], esi
adc edx, ebx
add ebp, eax
adc dword [0x426e44], edx
movzx eax, cx
add eax, 0x50
cmp edi, eax
mov eax, dword [0x426e3c]
mov dword [0x426e40], ebp
je 0x401306
mov ecx, dword [0x426e04]
imul ecx, ecx, 0x6755
add ecx, eax
jmp 0x40130c
lea edx, [esi + eax]
add cx, dx
mov edx, dword [0x426e20]
mov word [0x426e04], cx
mov ecx, edi
sub ecx, ebp
add edi, 0x50
cmp esi, edi
lea ecx, [edx + ecx + 0xbe7f]
mov dword [0x426e20], ecx
je 0x401341
imul eax, eax, 0x6755
add eax, esi
mov word [0x426e3c], ax
jmp 0x40134e
mov edx, dword [esp + 0x14]
add esi, edx
add word [0x426e3c], si
call fcn.004198b0
mov ecx, dword [0x426e44]
mov eax, dword [0x426e40]
mov bp, word [0x426e04]
mov di, word [0x426e3c]
mov dword [esp + 0x14], 0x100b6a
push 0
movzx ebx, di
push 0x98ab
mov esi, ebx
push ecx
sub esi, eax
push eax
add esi, 2
call fcn.0040fb50
mov ecx, eax
mov eax, edx
mov dword [esp + 0x18], eax
mov eax, ebx
cdq
sub eax, ecx
mov ecx, dword [esp + 0x18]
sbb edx, ecx
mov dword [0x426e44], edx
movzx edx, bp
mov dword [0x426e40], eax
lea eax, [edx + esi - 0x62]
cmp eax, 0x39f
jb 0x4013c9
movzx ecx, byte [0x426e04]
mov edx, dword [0x426e20]
lea esi, [ecx + edx + 7]
mov ebx, dword [esp + 0x14]
test ebx, ebx
jbe 0x401493
cmp dword [esp + 0x10], 0xa
jbe 0x401410
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov ecx, dword [0x426e20]
mov di, word [0x426e3c]
add ecx, eax
movzx eax, word [0x426e04]
sub eax, ecx
add eax, 2
mov dword [0x426e20], ecx
mov dword [0x426e08], eax
mov dword [esp + 0x10], 0
mov esi, dword [esp + 0x18]
movzx ecx, di
sub esi, ecx
sub esi, 0x59
call fcn.0041cd70
mov eax, dword [0x426e08]
cmp eax, esi
mov di, word [0x426e3c]
jne 0x401448
movzx edx, di
lea ecx, [edx + esi + 0x4b]
cmp ecx, eax
jne 0x401448
add eax, esi
add di, ax
mov word [0x426e3c], di
mov eax, dword [0x426e40]
mov ecx, dword [0x426e20]
mov bp, word [0x426e04]
add dword [esp + 0x10], 3
movzx edx, di
sub edx, eax
lea edx, [ecx + edx + 0xbe7f]
sub ebx, 1
movzx ecx, bp
mov dword [esp + 0x14], ebx
sub ebx, ecx
mov ecx, dword [0x426e44]
add ebx, 0xbe7f
add eax, ebx
mov dword [0x426e20], edx
adc ecx, 0
jmp 0x401374
call fcn.00401060
movzx edx, word [0x426e04]
movzx eax, word [0x426e3c]
sub eax, edx
add eax, 0xbe7f
cdq
add dword [0x426e40], eax
mov eax, dword [0x42eb88]
push esi
adc dword [0x426e44], edx
push eax
call fcn.00419a70
add esp, 8
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0xc
ret