Function at 0x6101efe0
Capabilities:
Get disk information

Disassembly:
push ebp
mov eax, 0x82bc
mov ebp, esp
push edi
push esi
push ebx
call sym.cygwin1.dll__alloca
cld
xor eax, eax
lea edi, [ebp - 0x8018]
mov ecx, 0x2000
mov edx, 0x7ff8
lea ebx, [ebp - 0x8018]
rep stosd dword es:[edi], eax
mov word [ebp - 0x8016], dx
lea eax, [ebp - 0x8010]
mov dword [ebp - 0x8014], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x8000
mov dword [esp + 8], ebx
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.610f80f8
sub esp, 0x14
test eax, eax
jne 0x6101f4b0
mov edx, dword [ebp - 0x8014]
test edx, edx
je 0x6101f473
movzx eax, word [ebp - 0x8018]
shr eax, 1
mov word [edx + eax*2], 0
lea eax, [ebp - 0x8188]
movzx ecx, word [ebp - 0x8018]
call fcn.61055560
mov eax, dword [0x610f08a0]
test eax, eax
jne 0x6101f440
mov edi, 0x6101ef47
mov ecx, 8
lea esi, [ebp - 0x8188]
cld
and eax, 0xff
dec ecx
js 0x6101f0b8
lodsb al, byte [esi]
scasb al, byte es:[edi]
je 0x6101f0b4
xor al, byte [eax + 0x610ef1e4]
cmp al, byte [edi - 1]
jne 0x6101f0bf
test al, al
jne 0x6101f0a2
mov eax, 1
jmp 0x6101f0c1
xor eax, eax
test eax, eax
je 0x6101f0e4
mov dword [esp + 8], 0x8000
mov dword [esp + 4], ebx
mov dword [esp], 0
call sub.KERNEL32.dll_QueryDosDeviceA
sub esp, 0xc
test eax, eax
jne 0x6101f101
mov eax, dword [ebp + 0xc]
lea ebx, [ebp - 0x8188]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym.cygwin1.dll__strcpy
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
lea edx, [ebp - 0x8180]
mov eax, 0x5c
mov ah, al
mov al, byte [edx]
cmp al, ah
je 0x6101f11a
inc edx
test al, al
jne 0x6101f10e
dec edx
mov eax, edx
mov dword [ebp - 0x82a4], ebx
xor eax, eax
mov dword [ebp - 0x829c], eax
xor eax, eax
cmp byte [ebp - 0x8018], 0
mov dword [ebp - 0x82a0], eax
je 0x6101f1ba
nop
lea esi, [esi]
mov byte [ebp - 0x818b], 0
mov eax, 0x3a
mov edx, dword [ebp - 0x82a4]
mov ah, al
mov al, byte [edx]
cmp al, ah
je 0x6101f161
inc edx
test al, al
jne 0x6101f154
xor edx, edx
mov eax, edx
test eax, eax
je 0x6101f192
mov dword [esp + 8], 0x10d
mov ebx, dword [ebp - 0x82a4]
lea edx, [ebp - 0x8298]
mov dword [esp + 4], edx
mov dword [esp], ebx
call sub.KERNEL32.dll_QueryDosDeviceA
sub esp, 0xc
test eax, eax
jne 0x6101f2d8
xor eax, eax
mov edx, dword [ebp - 0x82a4]
mov ah, al
mov al, byte [edx]
cmp al, ah
je 0x6101f1a9
inc edx
test al, al
jne 0x6101f19c
xor edx, edx
mov eax, edx
lea edx, [eax + 1]
mov dword [ebp - 0x82a4], edx
cmp byte [eax + 1], 0
jne 0x6101f140
mov edx, dword [ebp - 0x829c]
lea ebx, [ebp - 0x8188]
test edx, edx
jne 0x6101f28e
mov edi, 0x6101ef50
mov ecx, 0x19
mov esi, ebx
cld
and eax, 0xff
dec ecx
js 0x6101f1f6
lodsb al, byte [esi]
scasb al, byte es:[edi]
je 0x6101f1f2
xor al, byte [eax + 0x610ef1e4]
cmp al, byte [edi - 1]
jne 0x6101f1fd
test al, al
jne 0x6101f1e0
mov eax, 1
jmp 0x6101f1ff
xor eax, eax
test eax, eax
je 0x6101f25b
mov byte [ebp - 0x8171], 0x5c
mov eax, dword [0x610f08a0]
lea ebx, [ebp - 0x8171]
test eax, eax
jne 0x6101f237
lea esi, [esi]
mov dword [esp], ebx
mov edx, dword [ebp + 0xc]
mov dword [esp + 4], edx
call fcn.61068d20
mov eax, dword [ebp + 0xc]
jmp 0x6101f0f9
mov dword [esp + 0xc], 0x6101ef6a
mov dword [esp + 8], 0x6101ef20
mov dword [esp + 4], 0x40
mov dword [esp], 0x610f089c
call fcn.6108fd50
mov eax, dword [0x610f08a0]
test eax, eax
je 0x6101f220
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0x6101ef77
mov dword [esp + 8], 0x6101ef20
mov dword [esp + 4], 0x40
mov dword [esp], 0x610f089c
call fcn.6108fd50
jmp 0x6101f220
mov eax, dword [ebp - 0x82a0]
mov dword [esp], eax
call sym.cygwin1.dll__strlen
mov edx, dword [ebp - 0x82a0]
mov esi, eax
cmp byte [eax + edx - 1], 0x5c
je 0x6101f2d5
sub dword [ebp - 0x829c], esi
mov dword [esp + 8], esi
mov eax, dword [ebp - 0x829c]
add ebx, eax
mov dword [esp], ebx
mov eax, dword [ebp - 0x82a0]
mov dword [esp + 4], eax
call sym.cygwin1.dll__memcpy
mov byte [esi + ebx], 0x5c
jmp 0x6101f25b
dec esi
jmp 0x6101f2ab
mov dword [esp + 4], 0x3b
lea eax, [ebp - 0x8298]
mov dword [esp], eax
call sym.cygwin1.dll__strrchr
test eax, eax
mov edx, eax
je 0x6101f330
mov ecx, 0x5c
mov esi, edx
mov eax, ecx
mov ah, al
mov al, byte [esi]
cmp al, ah
je 0x6101f30c
inc esi
test al, al
jne 0x6101f2ff
xor esi, esi
mov eax, esi
test eax, eax
je 0x6101f330
mov dword [esp], edx
lea eax, [eax + 1]
mov dword [esp + 4], eax
call sym.cygwin1.dll__strcpy
jmp 0x6101f330
lea ebx, [ebp - 0x8298]
lea esi, [esi]
lea edi, [edi]
mov eax, dword [ebx]
add ebx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x6101f340
test edx, 0x8080
jne 0x6101f365
shr edx, 0x10
add ebx, 2
add dl, dl
lea edx, [ebp - 0x8298]
sbb ebx, 3
sub ebx, edx
cmp byte [ebx + ebp - 0x8299], 0x5c
je 0x6101f42e
cmp ebx, dword [ebp - 0x829c]
jl 0x6101f192
lea esi, [ebp - 0x8298]
mov ecx, ebx
lea edi, [ebp - 0x8188]
cld
and eax, 0xff
dec ecx
js 0x6101f3b6
lodsb al, byte [esi]
scasb al, byte es:[edi]
je 0x6101f3b2
xor al, byte [eax + 0x610ef1e4]
cmp al, byte [edi - 1]
jne 0x6101f3bd
test al, al
jne 0x6101f3a0
mov eax, 1
jmp 0x6101f3bf
xor eax, eax
test eax, eax
je 0x6101f192
movzx eax, byte [ebx + ebp - 0x8188]
test al, al
je 0x6101f3db
cmp al, 0x5c
jne 0x6101f192
mov dword [ebp - 0x829c], ebx
mov ecx, dword [0x610f08a0]
mov ebx, dword [ebp - 0x82a4]
test ecx, ecx
mov dword [ebp - 0x82a0], ebx
je 0x6101f192
mov dword [esp + 0xc], 0x6101ef89
lea eax, [ebp - 0x8298]
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0x6101ef20
mov dword [esp + 4], 0x40
mov dword [esp], 0x610f089c
call fcn.6108fd50
jmp 0x6101f192
dec ebx
xor eax, eax
mov byte [ebx + ebp - 0x8298], al
jmp 0x6101f380
mov dword [esp + 0xc], 0x6101ef9c
lea edx, [ebp - 0x8188]
mov dword [esp + 0x10], edx
mov dword [esp + 8], 0x6101ef20
mov dword [esp + 4], 0x40
mov dword [esp], 0x610f089c
call fcn.6108fd50
jmp 0x6101f08c
mov eax, dword [0x610f08a0]
test eax, eax
jne 0x6101f483
xor eax, eax
jmp 0x6101f0f9
mov dword [esp + 0xc], 0x6101efa9
mov dword [esp + 8], 0x6101ef20
mov dword [esp + 4], 0x40
mov dword [esp], 0x610f089c
call fcn.6108fd50
jmp 0x6101f47c
mov dword [esp + 4], str.some_disk_file
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sym.cygwin1.dll__strcpy
mov eax, dword [0x610f08a0]
test eax, eax
jne 0x6101f4d6
mov eax, str.some_disk_file
jmp 0x6101f0f9
mov dword [esp + 0xc], 0x6101efc1
mov dword [esp + 8], 0x6101ef20
mov dword [esp + 4], 0x40
mov dword [esp], 0x610f089c
call fcn.6108fd50
jmp 0x6101f4cc