Function at 0xf79282e
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
push ebx
push esi
push edi
mov esi, dword [ebp + 8]
mov edi, esi
mov dword [ebp - 8], esi
mov byte [ebp - 0xc], 0
cmp dword [ebp + 0xc], 0
lea eax, [esi + 0x105]
mov dword [ebp - 4], eax
jne 0xf792863
mov eax, 0x35
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp + 0xc]
inc dword [ebp + 0xc]
mov bl, byte [ecx]
cmp bl, 0x5c
je 0xf792879
cmp bl, 0x2f
jne 0xf792939
mov ecx, dword [ebp + 0xc]
cmp byte [ecx], bl
jne 0xf792939
mov byte [esi], 0x5c
inc dword [ebp + 0xc]
inc esi
mov ecx, dword [ebp + 0xc]
mov byte [esi], 0x5c
inc esi
mov al, byte [ecx]
cmp al, 0x5c
je 0xf7928dd
cmp al, 0x2f
je 0xf7928dd
mov ecx, dword [ebp + 0xc]
inc dword [ebp + 0xc]
mov bl, byte [ecx]
cmp bl, 0x5c
je 0xf7928e7
cmp bl, 0x2f
je 0xf7928e7
test bl, bl
je 0xf7928dd
cmp dword [ebp - 4], esi
je 0xf7928dd
push ebx
mov byte [esi], bl
inc esi
call fcn.0f7879f0
add esp, 4
test eax, eax
je 0xf79289c
cmp dword [ebp - 4], esi
je 0xf7928dd
mov eax, esi
mov ecx, dword [ebp + 0xc]
inc esi
inc dword [ebp + 0xc]
mov cl, byte [ecx]
mov byte [eax], cl
test cl, cl
jne 0xf79289c
mov eax, 0x34
jmp 0xf79285a
mov dword [ebp - 0x10], esi
cmp bl, 0x5c
je 0xf7928f8
cmp bl, 0x2f
jne 0xf792b85
cmp dword [ebp - 4], esi
je 0xf7928dd
mov eax, esi
mov ecx, dword [ebp + 0xc]
mov byte [esi], 0x5c
inc dword [ebp + 0xc]
inc esi
mov bl, byte [ecx]
cmp bl, 0x2e
jne 0xf792ab9
mov ecx, dword [ebp + 0xc]
inc dword [ebp + 0xc]
cmp byte [ecx], 0x2e
jne 0xf792b44
mov edx, dword [ebp + 0xc]
mov cl, byte [edx]
cmp cl, 0x20
je 0xf792936
cmp cl, 9
jne 0xf792a65
inc edx
jmp 0xf792926
test bl, bl
je 0xf7929a6
mov ecx, dword [ebp + 0xc]
cmp byte [ecx], 0x3a
jne 0xf7929a6
movsx eax, bl
push eax
call dword [sym.imp.MSVCRT20.dll_toupper]
add esp, 4
cmp al, 0x41
jl 0xf79299c
cmp al, 0x5a
jg 0xf79299c
mov byte [ebp - 0xb], 0x3a
mov byte [ebp - 0xc], al
inc dword [ebp + 0xc]
movsx ecx, al
sub ecx, 0x40
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], ecx
inc dword [ebp + 0xc]
mov byte [ebp - 0xa], 0x5c
mov byte [ebp - 9], 0
mov bl, byte [eax]
cmp byte [ebp - 0xc], 0
je 0xf7929e6
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 1
jne 0xf7929b1
mov eax, 0x44
jmp 0xf79285a
mov eax, 0x44
jmp 0xf79285a
call dword [sym.imp.MSVCRT20.dll__getdrive]
mov dword [ebp - 0x14], eax
jmp 0xf79297d
cmp eax, 2
jne 0xf7929e6
call dword [sym.imp.MSVCRT20.dll__errno]
push 0
mov dword [eax], 0
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.MSVCRT20.dll__access]
add esp, 8
call dword [sym.imp.MSVCRT20.dll__errno]
cmp dword [eax], 0xd
jne 0xf7929e6
mov eax, 0x47
jmp 0xf79285a
lea eax, [esi + 2]
cmp bl, 0x5c
mov dword [ebp - 0x10], eax
je 0xf792a54
cmp bl, 0x2f
je 0xf792a54
push 0x104
push esi
push dword [ebp - 0x14]
call dword [sym.imp.MSVCRT20.dll__getdcwd]
add esp, 0xc
test eax, eax
jne 0xf792a16
mov eax, 0x47
jmp 0xf79285a
cmp byte [esi], 0
je 0xf7928dd
mov edi, esi
mov ecx, 0xffffffff
sub eax, eax
push 0xf7bb1d0
repne scasb al, byte es:[edi]
not ecx
push dword [ebp - 8]
lea esi, [ecx + esi - 1]
call fcn.0f7878d2
mov edi, esi
add esp, 8
sub eax, esi
cmp eax, 0xffffffff
jne 0xf792a4a
dec esi
mov bl, 0x5c
dec dword [ebp + 0xc]
jmp 0xf7928ea
mov eax, dword [ebp - 0x14]
add al, 0x40
mov byte [esi], al
inc esi
mov byte [esi], 0x3a
inc esi
jmp 0xf7928ea
cmp byte [edx], 0
jne 0xf792a6d
mov dword [ebp + 0xc], edx
mov ecx, dword [ebp + 0xc]
mov bl, byte [ecx]
test bl, bl
jne 0xf792b1d
mov bl, 0x5c
cmp bl, 0x5c
je 0xf792a8a
cmp bl, 0x2f
jne 0xf7928dd
cmp eax, dword [ebp - 0x10]
je 0xf7928dd
cmp dword [0xf7aec24], 0
je 0xf792b25
sub esi, 2
cmp byte [esi], 0x5c
je 0xf792ab3
cmp byte [esi], 0x2f
je 0xf792ab3
dec esi
cmp byte [esi], 0x5c
jne 0xf792aa8
cmp edi, esi
jbe 0xf792ab9
mov edi, esi
cmp bl, 0x5c
je 0xf7928f8
cmp bl, 0x2f
je 0xf7928ea
test bl, bl
je 0xf7928ea
cmp dword [ebp - 4], esi
je 0xf7928dd
push ebx
mov byte [esi], bl
inc esi
call fcn.0f7879f0
add esp, 4
test eax, eax
je 0xf792b0a
cmp dword [ebp - 4], esi
je 0xf7928dd
mov eax, esi
mov ecx, dword [ebp + 0xc]
inc esi
inc dword [ebp + 0xc]
mov cl, byte [ecx]
mov byte [eax], cl
test cl, cl
je 0xf7928dd
mov ecx, dword [ebp + 0xc]
inc dword [ebp + 0xc]
mov bl, byte [ecx]
cmp bl, 0x5c
je 0xf7928ea
jmp 0xf792ac2
inc dword [ebp + 0xc]
jmp 0xf792a7c
dec esi
push 0xf7bb1d0
push esi
mov byte [esi], 0
push dword [ebp - 8]
call fcn.0f787961
mov byte [eax], 0x5c
add esp, 0xc
mov esi, eax
jmp 0xf792ab3
dec dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov cl, byte [eax]
cmp cl, 0x20
je 0xf792b56
cmp cl, 9
jne 0xf792b59
inc eax
jmp 0xf792b4a
cmp byte [eax], 0
jne 0xf792b61
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
mov bl, byte [ecx]
test bl, bl
jne 0xf792b80
mov bl, 0x5c
cmp bl, 0x5c
je 0xf792b7a
cmp bl, 0x2f
jne 0xf7928dd
dec esi
jmp 0xf792ab9
inc dword [ebp + 0xc]
jmp 0xf792b6c
lea eax, [ebp - 0x12c]
mov byte [esi], 0
push eax
push dword [ebp - 8]
call dword [sym.imp.MSVCRT20.dll__findfirst]
add esp, 8
mov edi, eax
push edi
call dword [sym.imp.MSVCRT20.dll__findclose]
add esp, 4
cmp edi, 0xffffffff
jne 0xf792bbb
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7b
je 0xf7928dd
mov edi, dword [ebp - 8]
add edi, 2
cmp edi, esi
jae 0xf792bea
mov al, byte [edi]
inc edi
cmp al, 0x20
jb 0xf7928dd
push eax
call fcn.0f7879f0
add esp, 4
test eax, eax
je 0xf792bc1
mov al, byte [edi]
inc edi
test al, al
je 0xf7928dd
jmp 0xf792bc1
xor eax, eax
jmp 0xf79285a