Function at 0x610a2840
Capabilities:
Get disk information

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x36c
mov eax, dword [0x611650ec]
test byte [eax + 0x15], 8
jne 0x610a2910
test byte [eax + 0x10], 1
jne 0x610a286a
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 0x610a2b52
test bl, 2
jne 0x610a2bb4
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 0x610a28cf
lea ebp, [esp + 0x250]
mov eax, ebp
call sym.sync_worker_char_const_
inc byte [esp + 0x254]
add esi, esi
cmp esi, 0x2000000
ja 0x610a285f
test esi, ebx
je 0x610a28be
test byte [0x6110c854], 1
je 0x610a28b0
mov dword [esp], 0x6110c854
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 0x610a28b7
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], 0x611321b0
call sym.is_floppy_char_const_
test al, al
jne 0x610a2b93
mov dword [esp], 0x611321b3
call sym.is_floppy_char_const_
test al, al
jne 0x610a2b6e
mov edx, 0x104
lea ebp, [esp + 0x250]
mov dword [esp + 4], edx
mov dword [esp], ebp
call fcn.61100f88
sub esp, 8
mov dword [esp + 0x2c], eax
inc eax
jne 0x610a29c4
jmp 0x610a285f
test dl, dl
jne 0x610a2b26
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x2c]
mov esi, 0x104
mov dword [esp + 8], esi
mov dword [esp], eax
call fcn.61100fb0
sub esp, 0xc
test eax, eax
je 0x610a2aa0
movzx edx, byte [0x6110c854]
and edx, 1
test dl, dl
jne 0x610a2ac0
mov esi, ebp
mov edi, ebx
cld
and eax, 0xff
lodsb al, byte [esi]
scasb al, byte es:[edi]
je 0x610a29ef
xor al, byte [eax + 0x61108b40]
cmp al, byte [edi - 1]
jne 0x610a29fa
test al, al
jne 0x610a29e0
mov eax, 1
jmp 0x610a29fc
xor eax, eax
test eax, eax
jne 0x610a2998
mov esi, ebp
lea edi, [esp + 0x30]
cld
and eax, 0xff
lodsb al, byte [esi]
scasb al, byte es:[edi]
je 0x610a2a1b
xor al, byte [eax + 0x61108b40]
cmp al, byte [edi - 1]
jne 0x610a2a26
test al, al
jne 0x610a2a0c
mov eax, 1
jmp 0x610a2a28
xor eax, eax
test eax, eax
jne 0x610a2b19
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 0x610a2a40
test edx, 0x8080
jne 0x610a2a65
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.61100fb0
sub esp, 0xc
test eax, eax
jne 0x610a29c4
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.61100fd8
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], 0x6110c854
call method.strace.prntf_unsigned_int__char_const__char_const__..._
cld
and eax, 0xff
lodsb al, byte [esi]
scasb al, byte es:[edi]
je 0x610a2b04
xor al, byte [eax + 0x61108b40]
cmp al, byte [edi - 1]
jne 0x610a2b0f
test al, al
jne 0x610a2af5
mov eax, 1
jmp 0x610a2b11
xor eax, eax
test eax, eax
je 0x610a2a00
test byte [0x6110c854], 1
je 0x610a29a0
mov dword [esp], 0x6110c854
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 0x610a29a0
mov dword [esp], 0x611321b0
call sym.is_floppy_char_const_
test al, al
je 0x610a287e
and ebx, 0xfffffffe
jmp 0x610a287e
mov dword [esp], 0x611321cc
mov eax, 0x104
mov dword [esp + 8], eax
lea eax, [esp + 0x30]
mov dword [esp + 4], eax
call fcn.611010d8
sub esp, 0xc
jmp 0x610a2971
mov dword [esp + 4], ebx
mov eax, 0x104
mov dword [esp + 8], eax
mov dword [esp], 0x611321d0
call fcn.611010d8
sub esp, 0xc
jmp 0x610a295d
mov dword [esp], 0x611321b3
call sym.is_floppy_char_const_
test al, al
je 0x610a2887
and ebx, 0xfffffffd
jmp 0x610a2887