Function at 0x610a2260
Capabilities:
Get disk information

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x36c
mov eax, dword [0x611630ec]
test byte [eax + 0x15], 8
jne 0x610a2330
test byte [eax + 0x10], 1
jne 0x610a228a
add esp, 0x36c
pop ebx
pop esi
pop edi
pop ebp
ret
call sub.KERNEL32.dll_GetLogicalDrives
test al, 1
mov ebx, eax
mov esi, 1
jne 0x610a2572
test bl, 2
jne 0x610a25d4
mov eax, 0x5c2e5c5c
mov dword [esp + 0x250], eax
mov eax, 0x3a41
mov word [esp + 0x254], ax
xor eax, eax
mov byte [esp + 0x256], al
jmp 0x610a22ef
lea ebp, [esp + 0x250]
mov eax, ebp
call sym.sync_worker_char_const_
inc byte [esp + 0x254]
add esi, esi
cmp esi, 0x2000000
ja 0x610a227f
test esi, ebx
je 0x610a22de
test byte [0x6110a820], 1
je 0x610a22d0
mov dword [esp], 0x6110a820
mov eax, str.Try_volume__s
lea ebp, [esp + 0x250]
mov dword [esp + 0xc], eax
mov edi, 0x40
mov eax, str.void_sync__
mov dword [esp + 0x10], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], edi
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x610a22d7
xor edi, edi
lea ebx, [esp + 0x140]
mov ebp, 0x104
mov dword [esp + 8], ebp
mov esi, 0x104
mov dword [esp + 4], edi
mov dword [esp], ebx
call sym.cygwin1.dll__memset
mov dword [esp + 8], esi
xor ecx, ecx
lea eax, [esp + 0x30]
mov dword [esp + 4], ecx
mov dword [esp], eax
call sym.cygwin1.dll__memset
mov dword [esp], 0x611300b0
call sym.is_floppy_char_const_
test al, al
jne 0x610a25b3
mov dword [esp], 0x611300b3
call sym.is_floppy_char_const_
test al, al
jne 0x610a258e
mov edx, 0x104
lea ebp, [esp + 0x250]
mov dword [esp + 4], edx
mov dword [esp], ebp
call fcn.610fef88
sub esp, 8
mov dword [esp + 0x2c], eax
inc eax
jne 0x610a23e4
jmp 0x610a227f
test dl, dl
jne 0x610a2546
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x2c]
mov esi, 0x104
mov dword [esp + 8], esi
mov dword [esp], eax
call fcn.610fefb0
sub esp, 0xc
test eax, eax
je 0x610a24c0
movzx edx, byte [0x6110a820]
and edx, 1
test dl, dl
jne 0x610a24e0
mov esi, ebp
mov edi, ebx
cld
and eax, 0xff
lodsb al, byte [esi]
scasb al, byte es:[edi]
je 0x610a240f
xor al, byte [eax + 0x61106b3c]
cmp al, byte [edi - 1]
jne 0x610a241a
test al, al
jne 0x610a2400
mov eax, 1
jmp 0x610a241c
xor eax, eax
test eax, eax
jne 0x610a23b8
mov esi, ebp
lea edi, [esp + 0x30]
cld
and eax, 0xff
lodsb al, byte [esi]
scasb al, byte es:[edi]
je 0x610a243b
xor al, byte [eax + 0x61106b3c]
cmp al, byte [edi - 1]
jne 0x610a2446
test al, al
jne 0x610a242c
mov eax, 1
jmp 0x610a2448
xor eax, eax
test eax, eax
jne 0x610a2539
mov ecx, ebp
lea esi, [esi]
lea edi, [edi]
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x610a2460
test edx, 0x8080
jne 0x610a2485
shr edx, 0x10
add ecx, 2
add dl, dl
mov esi, 0x104
sbb ecx, 3
sub ecx, ebp
xor eax, eax
mov byte [esp + ecx + 0x24f], al
mov eax, ebp
call sym.sync_worker_char_const_
mov dword [esp + 8], esi
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.610fefb0
sub esp, 0xc
test eax, eax
jne 0x610a23e4
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.610fefd8
sub esp, 4
add esp, 0x36c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x10], ebp
mov eax, str.Try_volume__s
mov esi, ebp
mov dword [esp + 0xc], eax
mov eax, str.void_sync__
mov edi, ebx
mov dword [esp + 8], eax
mov eax, 0x40
mov dword [esp + 4], eax
mov dword [esp], 0x6110a820
call method.strace.prntf_unsigned_int__char_const__char_const__..._
cld
and eax, 0xff
lodsb al, byte [esi]
scasb al, byte es:[edi]
je 0x610a2524
xor al, byte [eax + 0x61106b3c]
cmp al, byte [edi - 1]
jne 0x610a252f
test al, al
jne 0x610a2515
mov eax, 1
jmp 0x610a2531
xor eax, eax
test eax, eax
je 0x610a2420
test byte [0x6110a820], 1
je 0x610a23c0
mov dword [esp], 0x6110a820
mov ecx, str.Is_floppy__dont_sync
mov edx, str.void_sync__
mov dword [esp + 0xc], ecx
mov eax, 0x40
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x610a23c0
mov dword [esp], 0x611300b0
call sym.is_floppy_char_const_
test al, al
je 0x610a229e
and ebx, 0xfffffffe
jmp 0x610a229e
mov dword [esp], 0x611300cc
mov eax, 0x104
mov dword [esp + 8], eax
lea eax, [esp + 0x30]
mov dword [esp + 4], eax
call fcn.610ff0d8
sub esp, 0xc
jmp 0x610a2391
mov dword [esp + 4], ebx
mov eax, 0x104
mov dword [esp + 8], eax
mov dword [esp], 0x611300d0
call fcn.610ff0d8
sub esp, 0xc
jmp 0x610a237d
mov dword [esp], 0x611300b3
call sym.is_floppy_char_const_
test al, al
je 0x610a22a7
and ebx, 0xfffffffd
jmp 0x610a22a7