Function at 0x1076ef7
Capabilities:
Get disk information

Disassembly:
push 0x598
mov eax, 0x10d07bd
call fcn.0109887a
mov eax, dword [ebp + 8]
push 0
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x430], esp
push 0xff
push 1
push 0x5a6
mov dword [ebp - 0x42c], eax
mov eax, dword [ebp + 0xc]
mov ebx, 0x101b698
push ebx
mov edi, 0x1019204
mov dword [ebp - 0x440], eax
mov eax, dword [ebp + 0x10]
push edi
mov esi, 0x1019198
push esi
mov dword [ebp - 0x438], eax
call fcn.01099386
lea ecx, [ebp - 0x490]
call fcn.0109a83a
xor eax, eax
push 0x206
push eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x43c], eax
lea eax, [ebp - 0x21a]
xor ecx, ecx
push eax
mov word [ebp - 0x21c], cx
call sub.msvcrt.dll_memset
and dword [ebp - 0x44c], 0
add esp, 0xc
mov dword [ebp - 0x450], 0x1005a68
push dword [ebp - 0x42c]
lea eax, [ebp - 0x21c]
push 0x104
push eax
mov byte [ebp - 4], 1
call fcn.010474b6
push 0x101b648
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x42c], esp
push 0xff
push 1
push 0x5b3
push ebx
push edi
push esi
mov dword [ebp - 0x488], eax
call fcn.01099386
lea eax, [ebp - 0x490]
push eax
call fcn.01046812
lea eax, [ebp - 0x21c]
add esp, 0x60
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x1076ff3
sub eax, ecx
sar eax, 1
movzx eax, ax
cmp word [ebp + eax*2 - 0x21e], 0x5c
je 0x107705e
push 0x100163c
push 0x104
lea eax, [ebp - 0x21c]
push eax
call fcn.0104753f
push 0x101a7f0
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x42c], esp
push 0xff
push 1
push 0x5bc
push ebx
push edi
push esi
mov dword [ebp - 0x488], eax
call fcn.01099386
lea eax, [ebp - 0x490]
push eax
call fcn.01046812
add esp, 0x60
xor eax, eax
cmp dword [ebp - 0x438], eax
mov byte [ebp - 4], 2
sete al
cmp dword [ebp - 0x438], 0
mov dword [ebp - 0x448], eax
je 0x107749f
lea eax, [ebp - 0x43c]
push eax
push 0
push 0
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumePathNamesForVolumeNameW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xea
je 0x1077106
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x10770b9
and eax, 0xffff
or eax, 0x80070000
push eax
lea eax, [ebp - 0x21c]
push eax
push 0x101b5d8
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x10770da
and eax, 0xffff
or eax, 0x80070000
push eax
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x42c], esp
push 0xff
push 1
push 0x5d1
push ebx
push edi
push esi
call fcn.01099386
lea eax, [ebp - 0x490]
push eax
call fcn.0109b1b1
mov eax, dword [ebp - 0x43c]
lea eax, [eax + eax + 2]
push eax
lea ecx, [ebp - 0x450]
call fcn.0104a2b5
lea eax, [ebp - 0x43c]
push eax
push dword [ebp - 0x43c]
lea eax, [ebp - 0x21c]
push dword [ebp - 0x44c]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumePathNamesForVolumeNameW]
test eax, eax
jne 0x1077192
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x1077154
and eax, 0xffff
or eax, 0x80070000
push eax
lea eax, [ebp - 0x21c]
push eax
push 0x101b5d8
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x1077175
and eax, 0xffff
or eax, 0x80070000
push eax
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x42c], esp
push 0xff
push 1
push 0x5d9
jmp 0x10770f2
mov eax, dword [ebp - 0x44c]
mov dword [ebp - 0x428], eax
test eax, eax
je 0x1077240
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x10771a9
sub eax, edx
sar eax, 1
je 0x1077240
push dword [ebp - 0x428]
call dword [sym.imp.KERNEL32.dll_DeleteVolumeMountPointW]
test eax, eax
jne 0x1077214
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x21c]
push eax
push dword [ebp - 0x428]
push 0x101b560
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x42c], esp
push 0xff
push 1
push 0x5e5
push ebx
push edi
push esi
call fcn.01099386
lea eax, [ebp - 0x490]
push eax
call fcn.0109a510
add esp, 0x6c
mov ecx, dword [ebp - 0x428]
mov eax, ecx
lea edx, [eax + 2]
mov dword [ebp - 0x42c], edx
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x1077225
sub eax, dword [ebp - 0x42c]
sar eax, 1
lea eax, [ecx + eax*2 + 2]
jmp 0x1077198
mov eax, dword [ebp - 0x438]
mov dword [ebp - 0x428], eax
test eax, eax
je 0x107749f
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x1077257
sub eax, edx
sar eax, 1
je 0x107749f
lea eax, [ebp - 0x21c]
push eax
push dword [ebp - 0x428]
call dword [sym.imp.KERNEL32.dll_SetVolumeMountPointW]
test eax, eax
jne 0x1077385
push 1
push 0xff
push 6
push 0x5f5
push ebx
push edi
push esi
lea ecx, [ebp - 0x4f4]
call fcn.01099386
push dword [ebp - 0x428]
lea ecx, [ebp - 0x54c]
push ecx
mov ecx, eax
call fcn.010999d6
lea ecx, [ebp - 0x21c]
push ecx
lea ecx, [ebp - 0x5a4]
push ecx
mov ecx, eax
call fcn.010999d6
mov dword [ebp - 0x42c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x430], esp
push 0
push eax
push ecx
mov ecx, dword [ebp - 0x42c]
call fcn.01099f3e
lea eax, [ebp - 0x490]
push 0x3041
push eax
call fcn.0109bb37
add esp, 0x64
lea ecx, [ebp - 0x5a4]
call fcn.01099436
lea ecx, [ebp - 0x54c]
call fcn.01099436
lea ecx, [ebp - 0x4f4]
call fcn.01099436
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x107733a
and eax, 0xffff
or eax, 0x80070000
push eax
lea eax, [ebp - 0x21c]
push eax
push dword [ebp - 0x428]
push 0x101b500
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x42c], esp
push 0xff
push 6
push 0x5f7
push ebx
push edi
push esi
call fcn.01099386
lea eax, [ebp - 0x490]
push eax
call fcn.0109a510
add esp, 0x6c
mov dword [ebp - 0x448], 1
mov ecx, dword [ebp - 0x428]
mov eax, ecx
lea edx, [eax + 2]
mov dword [ebp - 0x42c], edx
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x1077396
sub eax, dword [ebp - 0x42c]
sar eax, 1
lea eax, [ecx + eax*2 + 2]
jmp 0x1077246
mov dword [ebp - 4], 1
cmp dword [ebp - 0x488], 0
jge 0x10774f6
push dword [ebp - 0x488]
lea eax, [ebp - 0x21c]
push eax
push 0x101b480
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x42c], esp
push 0xff
push 1
push 0x605
push ebx
push edi
push esi
call fcn.01099386
lea eax, [ebp - 0x490]
push eax
call fcn.0109a510
add esp, 0x68
and dword [ebp - 0x488], 0
mov eax, dword [ebp - 0x440]
and dword [ebp - 0x434], 0
cmp dword [eax + 4], 0
jle 0x107773f
push dword [ebp - 0x434]
mov ecx, dword [ebp - 0x440]
call fcn.01073b4a
mov dword [ebp - 0x428], eax
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x424], ax
lea eax, [ebp - 0x422]
push eax
call sub.msvcrt.dll_memset
mov eax, dword [ebp - 0x428]
add eax, 4
add esp, 0xc
cmp dword [ebp - 0x448], 0
lea edx, [eax + 2]
je 0x107757d
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x1077557
mov ecx, dword [ebp - 0x428]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x18]
sub eax, edx
sar eax, 1
lea eax, [ecx + eax*2]
push eax
lea eax, [ebp - 0x21c]
push eax
jmp 0x10775a0
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x107757d
mov ecx, dword [ebp - 0x428]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x18]
sub eax, edx
sar eax, 1
lea eax, [ecx + eax*2]
push eax
push dword [ebp - 0x438]
push 0x101b470
lea eax, [ebp - 0x424]
push 0x104
push eax
call fcn.01047599
add esp, 0x14
mov dword [ebp - 0x488], eax
test eax, eax
jl 0x107775d
mov eax, dword [ebp - 0x428]
mov eax, dword [eax]
push 0
push dword [eax]
push 0
call sub.NETAPI32.dll_NetShareDel
test eax, eax
je 0x107761c
push eax
mov eax, dword [ebp - 0x428]
mov eax, dword [eax]
push dword [eax]
push 0x101b430
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x42c], esp
push 0xff
push 6
push 0x621
push ebx
push edi
push esi
call fcn.01099386
lea eax, [ebp - 0x490]
push eax
call fcn.0109a510
add esp, 0x68
mov ecx, dword [ebp - 0x428]
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x42c], edx
push 0
lea edx, [ebp - 0x424]
mov dword [eax + 0x18], edx
push dword [ecx]
push 0x1f6
push 0
call sub.NETAPI32.dll_NetShareAdd
mov dword [ebp - 0x430], eax
test eax, eax
je 0x1077713
push 1
push 0xff
push 6
push 0x629
push ebx
push edi
push esi
lea ecx, [ebp - 0x54c]
call fcn.01099386
lea ecx, [ebp - 0x424]
push ecx
lea ecx, [ebp - 0x4f4]
push ecx
mov ecx, eax
call fcn.010999d6
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0
push dword [ebp - 0x430]
push ecx
mov ecx, eax
call fcn.01099f3e
lea eax, [ebp - 0x490]
push 0x3042
push eax
call fcn.0109bb37
add esp, 0x64
lea ecx, [ebp - 0x4f4]
call fcn.01099436
lea ecx, [ebp - 0x54c]
call fcn.01099436
push dword [ebp - 0x430]
mov eax, dword [ebp - 0x428]
push dword [ebp - 0x42c]
mov eax, dword [eax]
push dword [eax]
push 0x101b3e8
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0xff
push 6
push 0x62a
push ebx
push edi
push esi
call fcn.01099386
lea eax, [ebp - 0x490]
push eax
call fcn.0109a510
add esp, 0x6c
mov eax, dword [ebp - 0x428]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x42c]
inc dword [ebp - 0x434]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0x440]
mov ecx, dword [ebp - 0x434]
cmp ecx, dword [eax + 4]
jl 0x107750d
lea ecx, [ebp - 0x450]
call fcn.0104a17d
lea ecx, [ebp - 0x490]
call fcn.0109a8f3
call fcn.010988e5
ret 0xc
push 0x1007040
push eax
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0xff
push 1
push 0x61d
push ebx
push edi
push esi
call fcn.01099386
lea eax, [ebp - 0x490]
push eax
call fcn.0109c3bb
int3