Function at 0x10a36bf
Capabilities:
Get disk information

Disassembly:
push 0x670
mov eax, 0x10d3352
call fcn.01098a33
mov eax, dword [ebp + 8]
push 0
sub esp, 0x58
mov dword [ebp - 0x62c], esp
mov dword [ebp - 0x638], ecx
mov ecx, esp
push 0xff
push 4
push 0x368
mov ebx, 0x1034c88
push ebx
mov edi, 0x1034498
push edi
mov esi, 0x1034428
push esi
mov dword [ebp - 0x630], eax
call fcn.0109958e
lea ecx, [ebp - 0x67c]
call fcn.0109aa5f
mov eax, dword [ebp - 0x630]
mov ecx, dword [eax + 8]
and dword [ebp - 4], 0
mov eax, ecx
lea edx, [eax + 2]
mov dword [ebp - 0x634], edx
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x10a3730
sub eax, dword [ebp - 0x634]
sar eax, 1
mov dword [ebp - 0x634], eax
cmp eax, 0x104
jb 0x10a3756
xor bl, bl
jmp 0x10a3b49
push ecx
push dword [ebp - 0x638]
call fcn.010a24f3
test al, al
mov eax, dword [ebp - 0x630]
jne 0x10a37aa
push dword [eax + 0x10]
push dword [eax + 8]
push 0x1034c00
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x62c], esp
push 0xff
push 4
push 0x372
push ebx
push edi
push esi
call fcn.0109958e
lea eax, [ebp - 0x67c]
push eax
call fcn.0109a735
add esp, 0x68
jmp 0x10a3b3a
mov ecx, dword [ebp - 0x634]
mov eax, dword [eax + 8]
inc ecx
push ecx
lea ecx, [ebp - 0x218]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
test eax, eax
jne 0x10a3812
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [ebp - 0x630]
push dword [eax + 0x10]
push dword [eax + 8]
push 0x1034bb0
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x62c], esp
push 0xff
push 4
push 0x37a
push ebx
push edi
push esi
call fcn.0109958e
lea eax, [ebp - 0x67c]
push eax
call fcn.0109a735
add esp, 0x6c
jmp 0x10a3b3a
lea eax, [ebp - 0x218]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x10a381b
sub eax, edx
sar eax, 1
je 0x10a3b3a
lea eax, [ebp - 0x218]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x10a3838
sub eax, edx
sar eax, 1
mov dword [ebp - 0x634], eax
mov eax, dword [ebp - 0x630]
mov eax, dword [eax + 8]
mov dword [ebp - 0x62c], eax
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x10a385e
sub eax, ecx
sar eax, 1
cmp dword [ebp - 0x634], eax
ja 0x10a3b07
lea eax, [ebp - 0x218]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x10a3881
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x62c]
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x10a3b07
mov eax, dword [ebp - 0x630]
push dword [eax + 8]
mov ecx, dword [ebp - 0x638]
call fcn.010a318a
test al, al
je 0x10a38e7
push 0x1034b58
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x62c], esp
push 0xff
push 4
push 0x396
jmp 0x10a3b23
lea eax, [ebp - 0x218]
push eax
push 0x104
push eax
call fcn.010474dc
mov dword [ebp - 0x674], eax
test eax, eax
jge 0x10a3931
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp - 0x674]
push 0x1034af8
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x62c], esp
push 0xff
push 4
push 0x39d
jmp 0x10a378e
mov eax, dword [ebp - 0x634]
add eax, eax
cmp word [ebp + eax - 0x21a], 0x5c
mov dword [ebp - 0x62c], eax
je 0x10a3998
push 0x100163c
push 0x104
lea eax, [ebp - 0x218]
push eax
call fcn.01047565
mov dword [ebp - 0x674], eax
test eax, eax
jge 0x10a3998
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp - 0x674]
push 0x1034a98
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x62c], esp
push 0xff
push 4
push 0x3a6
jmp 0x10a378e
push 0x104
lea eax, [ebp - 0x628]
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointW]
mov dword [ebp - 0x674], eax
test eax, eax
jge 0x10a39e4
push eax
lea eax, [ebp - 0x218]
push eax
push 0x1003ca0
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x62c], esp
push 0xff
push 4
push 0x3b0
jmp 0x10a378e
and dword [ebp - 0x63c], 0
lea eax, [ebp - 0x63c]
push eax
lea eax, [ebp - 0x628]
push eax
push dword [ebp - 0x638]
call fcn.010a24a4
mov dword [ebp - 0x674], eax
test eax, eax
jge 0x10a3a37
push eax
lea eax, [ebp - 0x628]
push eax
push 0x1034a38
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x62c], esp
push 0xff
push 4
push 0x3b9
jmp 0x10a378e
mov eax, dword [ebp - 0x630]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x62c]
add ecx, eax
push ecx
push dword [ebp - 0x63c]
lea eax, [ebp - 0x420]
push 0x1007028
push 0x104
push eax
call fcn.010475bf
add esp, 0x14
mov dword [ebp - 0x674], eax
test eax, eax
jge 0x10a3aab
push eax
push 0x10349f0
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x62c], esp
push 0xff
push 4
push 0x3c3
push ebx
push edi
push esi
call fcn.0109958e
lea eax, [ebp - 0x67c]
push eax
call fcn.0109a735
add esp, 0x64
jmp 0x10a3b3a
lea eax, [ebp - 0x420]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x10a3ab4
sub eax, edx
sar eax, 1
cmp word [ebp + eax*2 - 0x422], 0x5c
jne 0x10a3aee
lea eax, [ebp - 0x420]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x10a3ad6
sub eax, edx
sar eax, 1
xor ecx, ecx
mov word [ebp + eax*2 - 0x422], cx
mov ecx, dword [ebp - 0x630]
lea eax, [ebp - 0x420]
push eax
add ecx, 4
call fcn.0104b27e
push 1
jmp 0x10a3b3c
push 0x10349bc
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x62c], esp
push 0xff
push 4
push 0x390
push ebx
push edi
push esi
call fcn.0109958e
lea eax, [ebp - 0x67c]
push eax
call fcn.0109a735
add esp, 0x60
push 0
lea ecx, [ebp - 0x67c]
call fcn.0104693b
mov bl, al
lea ecx, [ebp - 0x67c]
call fcn.0109ab18
mov al, bl
call fcn.01098ac5
ret 4