Function at 0x5629c7fa
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x5629cb5b
cmp word [esi], 0
je 0x5629cb5b
cmp dword [ebp + 8], 0
jne 0x5629c8f5
push 0x208
call sym.MSVCRT20.dll_malloc
add esp, 4
mov edi, eax
test edi, edi
jne 0x5629c849
call sym.MSVCRT20.dll__errno
mov dword [eax], 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp + 0x10], 0x104
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xc], edi
lea ecx, [edi + eax*2 - 2]
mov ax, word [esi + 2]
mov dword [ebp - 8], ecx
cmp ax, 0x5c
je 0x5629c86d
cmp ax, 0x2f
jne 0x5629c884
mov dx, word [esi]
cmp dx, 0x5c
je 0x5629ca29
cmp dx, 0x2f
je 0x5629ca29
cmp ax, 0x3a
jne 0x5629c915
mov ax, word [esi]
push 0x103
push eax
call sym.MSVCRT20.dll_iswctype
add esp, 8
test eax, eax
je 0x5629c915
mov bx, word [esi]
add esi, 4
mov word [edi], bx
and ebx, 0x1f
add edi, 2
push ebx
mov word [edi], 0x3a
call fcn.56294e4d
add edi, 2
add esp, 4
test eax, eax
jne 0x5629c917
call sym.MSVCRT20.dll__errno
mov dword [eax], 0xd
call sym.MSVCRT20.dll___doserrno
mov dword [eax], 0xf
cmp dword [ebp + 8], 0
jne 0x5629c8ee
push dword [ebp - 0xc]
call sym.MSVCRT20.dll_free
add esp, 4
xor eax, eax
jmp 0x5629c842
cmp dword [ebp + 0x10], 4
jae 0x5629c90d
call sym.MSVCRT20.dll__errno
mov dword [eax], 0x22
xor eax, eax
jmp 0x5629c842
mov edi, dword [ebp + 8]
jmp 0x5629c850
xor ebx, ebx
mov ax, word [esi]
cmp ax, 0x5c
je 0x5629ca06
cmp ax, 0x2f
je 0x5629ca06
test ebx, ebx
je 0x5629c93a
mov ax, word [esi - 4]
mov word [ebp - 2], ax
push dword [ebp + 0x10]
push dword [ebp - 0xc]
push ebx
call sym.MSVCRT20.dll__wgetdcwd
add esp, 0xc
test eax, eax
je 0x5629c8dd
push dword [ebp - 0xc]
call sym.MSVCRT20.dll_wcslen
add esp, 4
mov ecx, dword [ebp - 0xc]
test ebx, ebx
lea edi, [ecx + eax*2]
je 0x5629c969
mov ax, word [ebp - 2]
mov word [ecx], ax
lea ecx, [edi - 2]
mov ax, word [ecx]
cmp ax, 0x5c
je 0x5629c97b
cmp ax, 0x2f
jne 0x5629c97d
mov edi, ecx
mov word [edi], 0x5c
mov ecx, dword [ebp - 0xc]
add ecx, 4
cmp word [esi], 0
je 0x5629c9ef
mov dx, word [esi]
cmp dx, 0x2e
jne 0x5629cad5
cmp word [esi + 2], 0x2e
jne 0x5629caa5
lea ebx, [esi + 4]
mov ax, word [ebx]
cmp ax, 0x5c
je 0x5629c9c1
cmp ax, 0x2f
je 0x5629c9c1
test ax, ax
jne 0x5629caa5
sub edi, 2
mov dx, word [edi]
cmp dx, 0x5c
je 0x5629c9d7
cmp dx, 0x2f
je 0x5629c9d7
cmp edi, ecx
ja 0x5629c9c1
cmp edi, ecx
jb 0x5629cb2b
test ax, ax
mov esi, ebx
je 0x5629c9e9
lea esi, [ebx + 2]
cmp word [esi], 0
jne 0x5629c98e
cmp word [edi - 2], 0x3a
jne 0x5629c9f9
add edi, 2
mov word [edi], 0
mov eax, dword [ebp - 0xc]
jmp 0x5629c842
test ebx, ebx
jne 0x5629ca21
call sym.MSVCRT20.dll__getdrive
add ax, 0x40
mov word [edi], ax
add edi, 2
mov word [edi], 0x3a
add edi, 2
add esi, 2
jmp 0x5629c97d
xor eax, eax
test dx, dx
je 0x5629ca79
mov ecx, 0x5c
mov word [edi], dx
add esi, 2
cmp edi, dword [ebp - 8]
jae 0x5629cb4b
cmp dx, cx
je 0x5629ca4f
cmp dx, 0x2f
jne 0x5629ca6e
mov word [edi], cx
inc eax
cmp eax, 2
jne 0x5629ca5e
cmp word [esi], 0
je 0x5629ca85
cmp eax, 3
jl 0x5629ca69
cmp word [edi - 2], cx
je 0x5629ca95
cmp eax, 4
je 0x5629ca79
mov dx, word [esi]
add edi, 2
test dx, dx
jne 0x5629ca35
mov word [edi], 0x5c
mov ecx, edi
jmp 0x5629c988
call sym.MSVCRT20.dll__errno
mov dword [eax], 0x16
jmp 0x5629c8dd
call sym.MSVCRT20.dll__errno
mov dword [eax], 0x16
jmp 0x5629c8dd
cmp dx, 0x2e
jne 0x5629cad5
lea ebx, [esi + 2]
mov ax, word [ebx]
cmp ax, 0x5c
je 0x5629cac2
cmp ax, 0x2f
je 0x5629cac2
test ax, ax
jne 0x5629cad5
test ax, ax
mov esi, ebx
je 0x5629c9e9
lea esi, [ebx + 2]
jmp 0x5629c9e9
test dx, dx
mov ebx, edi
je 0x5629caff
mov ax, word [esi]
cmp ax, 0x5c
je 0x5629caff
cmp ax, 0x2f
je 0x5629caff
cmp edi, dword [ebp - 8]
jae 0x5629cb4b
add edi, 2
add esi, 2
mov word [edi], ax
cmp word [esi], 0
jne 0x5629cadc
cmp edi, dword [ebp - 8]
jae 0x5629cb4b
cmp edi, ebx
je 0x5629cb3b
add edi, 2
mov word [edi], 0x5c
mov ax, word [esi]
cmp ax, 0x5c
je 0x5629cb23
cmp ax, 0x2f
jne 0x5629c9e9
add esi, 2
jmp 0x5629c9e9
call sym.MSVCRT20.dll__errno
mov dword [eax], 0xd
jmp 0x5629c8dd
call sym.MSVCRT20.dll__errno
mov dword [eax], 0x16
jmp 0x5629c8dd
call sym.MSVCRT20.dll__errno
mov dword [eax], 0x22
jmp 0x5629c8dd
push dword [ebp + 0x10]
push dword [ebp + 8]
call sym.MSVCRT20.dll__wgetcwd
add esp, 8
jmp 0x5629c842