Function at 0x5629e2f5
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x474
push ebx
push esi
push edi
mov esi, dword [ebp + 8]
push 0x562b2a60
push esi
call sym.MSVCRT20.dll_wcspbrk
add esp, 8
test eax, eax
je 0x5629e336
call sym.MSVCRT20.dll__errno
mov dword [eax], 2
call sym.MSVCRT20.dll___doserrno
mov dword [eax], 2
mov eax, 0xffffffff
jmp 0x5629e461
cmp word [esi + 2], 0x3a
jne 0x5629e468
mov ax, word [esi]
test ax, ax
je 0x5629e368
cmp word [esi + 4], 0
jne 0x5629e368
call sym.MSVCRT20.dll__errno
mov dword [eax], 2
call sym.MSVCRT20.dll___doserrno
mov dword [eax], 2
jmp 0x5629e32c
push eax
call sym.MSVCRT20.dll_towlower
movzx eax, ax
add esp, 4
sub eax, 0x60
mov dword [ebp - 4], eax
lea eax, [ebp - 0x474]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
mov ebx, eax
jne 0x5629e48d
push 0x562b2a68
push esi
call sym.MSVCRT20.dll_wcspbrk
add esp, 8
test eax, eax
je 0x5629e472
push 0x104
lea eax, [ebp - 0x224]
push esi
xor ebx, ebx
push eax
call sym.MSVCRT20.dll__wfullpath
add esp, 0xc
mov edi, eax
test edi, edi
je 0x5629e472
push edi
call sym.MSVCRT20.dll_wcslen
add esp, 4
cmp eax, 3
jne 0x5629e472
push edi
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 1
jbe 0x5629e472
mov word [ebp - 0x448], bx
mov edi, dword [ebp + 0xc]
push ebx
mov dword [ebp - 0x458], ebx
push ebx
mov dword [ebp - 0x454], ebx
mov dword [ebp - 0x474], 0x10
push ebx
push 1
push 1
push 0x50
call fcn.562a3c00
add esp, 0x18
mov dword [edi + 0x1c], eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x20], eax
push esi
push dword [ebp - 0x474]
call fcn.5629e21d
mov word [edi + 8], 1
mov word [edi + 6], ax
add esp, 8
mov eax, dword [ebp - 0x454]
mov dword [edi + 0x14], eax
xor eax, eax
mov word [edi + 4], ax
mov word [edi + 0xc], ax
mov word [edi + 0xa], ax
mov eax, dword [ebp - 4]
dec eax
mov dword [edi], eax
mov dword [edi + 0x10], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call sym.MSVCRT20.dll__getdrive
jmp 0x5629e377
call sym.MSVCRT20.dll__errno
mov dword [eax], 2
call sym.MSVCRT20.dll___doserrno
mov dword [eax], 2
jmp 0x5629e32c
lea eax, [ebp - 0xc]
lea ecx, [ebp - 0x460]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
test eax, eax
je 0x5629e5c5
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0xc]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
test eax, eax
je 0x5629e5c5
movzx eax, word [ebp - 0x10]
movzx ecx, word [ebp - 0x12]
mov edi, dword [ebp + 0xc]
push eax
movzx edx, word [ebp - 0x14]
push ecx
push edx
movzx eax, word [ebp - 0x16]
movzx ecx, word [ebp - 0x1a]
movzx edx, word [ebp - 0x1c]
push eax
push ecx
push edx
call fcn.562a3c00
add esp, 0x18
mov dword [edi + 0x1c], eax
cmp dword [ebp - 0x468], 0
jne 0x5629e4fa
cmp dword [ebp - 0x464], 0
je 0x5629e54f
lea eax, [ebp - 0xc]
lea ecx, [ebp - 0x468]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
test eax, eax
je 0x5629e5c5
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0xc]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
test eax, eax
je 0x5629e5c5
movzx eax, word [ebp - 0x10]
movzx ecx, word [ebp - 0x12]
push eax
push ecx
movzx edx, word [ebp - 0x14]
movzx eax, word [ebp - 0x16]
push edx
push eax
movzx ecx, word [ebp - 0x1a]
movzx edx, word [ebp - 0x1c]
push ecx
push edx
call fcn.562a3c00
add esp, 0x18
cmp dword [ebp - 0x470], 0
mov dword [edi + 0x18], eax
jne 0x5629e576
cmp dword [ebp - 0x46c], 0
jne 0x5629e576
mov eax, dword [edi + 0x1c]
push ebx
mov dword [edi + 0x20], eax
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x5629e426
lea eax, [ebp - 0xc]
lea ecx, [ebp - 0x470]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
test eax, eax
je 0x5629e5c5
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0xc]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
test eax, eax
je 0x5629e5c5
movzx eax, word [ebp - 0x10]
movzx ecx, word [ebp - 0x12]
push eax
push ecx
movzx edx, word [ebp - 0x14]
movzx eax, word [ebp - 0x16]
push edx
push eax
movzx ecx, word [ebp - 0x1a]
movzx edx, word [ebp - 0x1c]
push ecx
push edx
call fcn.562a3c00
add esp, 0x18
jmp 0x5629e567
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.56290737
add esp, 4
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x5629e32c