Function at 0x1077133
Capabilities:
Get disk information

Disassembly:
push 0x598
mov eax, 0x10d0a2c
call fcn.01098a6e
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, 0x101b7c8
push ebx
mov edi, 0x1019334
mov dword [ebp - 0x440], eax
mov eax, dword [ebp + 0x10]
push edi
mov esi, 0x10192c8
push esi
mov dword [ebp - 0x438], eax
call fcn.0109958e
lea ecx, [ebp - 0x490]
call fcn.0109aa5f
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], 0x100599c
push dword [ebp - 0x42c]
lea eax, [ebp - 0x21c]
push 0x104
push eax
mov byte [ebp - 4], 1
call fcn.010474dc
push 0x101b778
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.0109958e
lea eax, [ebp - 0x490]
push eax
call fcn.010468d9
lea eax, [ebp - 0x21c]
add esp, 0x60
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x107722f
sub eax, ecx
sar eax, 1
movzx eax, ax
cmp word [ebp + eax*2 - 0x21e], 0x5c
je 0x107729a
push 0x100163c
push 0x104
lea eax, [ebp - 0x21c]
push eax
call fcn.01047565
push 0x101a920
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.0109958e
lea eax, [ebp - 0x490]
push eax
call fcn.010468d9
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 0x10776db
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 0x1077342
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x10772f5
and eax, 0xffff
or eax, 0x80070000
push eax
lea eax, [ebp - 0x21c]
push eax
push 0x101b708
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x1077316
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.0109958e
lea eax, [ebp - 0x490]
push eax
call fcn.0109b3d6
mov eax, dword [ebp - 0x43c]
lea eax, [eax + eax + 2]
push eax
lea ecx, [ebp - 0x450]
call fcn.0104a2be
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 0x10773ce
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x1077390
and eax, 0xffff
or eax, 0x80070000
push eax
lea eax, [ebp - 0x21c]
push eax
push 0x101b708
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x10773b1
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 0x107732e
mov eax, dword [ebp - 0x44c]
mov dword [ebp - 0x428], eax
test eax, eax
je 0x107747c
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x10773e5
sub eax, edx
sar eax, 1
je 0x107747c
push dword [ebp - 0x428]
call dword [sym.imp.KERNEL32.dll_DeleteVolumeMountPointW]
test eax, eax
jne 0x1077450
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x21c]
push eax
push dword [ebp - 0x428]
push 0x101b690
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.0109958e
lea eax, [ebp - 0x490]
push eax
call fcn.0109a735
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 0x1077461
sub eax, dword [ebp - 0x42c]
sar eax, 1
lea eax, [ecx + eax*2 + 2]
jmp 0x10773d4
mov eax, dword [ebp - 0x438]
mov dword [ebp - 0x428], eax
test eax, eax
je 0x10776db
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x1077493
sub eax, edx
sar eax, 1
je 0x10776db
lea eax, [ebp - 0x21c]
push eax
push dword [ebp - 0x428]
call dword [sym.imp.KERNEL32.dll_SetVolumeMountPointW]
test eax, eax
jne 0x10775c1
push 1
push 0xff
push 6
push 0x5f5
push ebx
push edi
push esi
lea ecx, [ebp - 0x4f4]
call fcn.0109958e
push dword [ebp - 0x428]
lea ecx, [ebp - 0x54c]
push ecx
mov ecx, eax
call fcn.01099bfb
lea ecx, [ebp - 0x21c]
push ecx
lea ecx, [ebp - 0x5a4]
push ecx
mov ecx, eax
call fcn.01099bfb
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.0109a163
lea eax, [ebp - 0x490]
push 0x3041
push eax
call fcn.0109bd5c
add esp, 0x64
lea ecx, [ebp - 0x5a4]
call fcn.0109963e
lea ecx, [ebp - 0x54c]
call fcn.0109963e
lea ecx, [ebp - 0x4f4]
call fcn.0109963e
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x1077576
and eax, 0xffff
or eax, 0x80070000
push eax
lea eax, [ebp - 0x21c]
push eax
push dword [ebp - 0x428]
push 0x101b630
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.0109958e
lea eax, [ebp - 0x490]
push eax
call fcn.0109a735
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 0x10775d2
sub eax, dword [ebp - 0x42c]
sar eax, 1
lea eax, [ecx + eax*2 + 2]
jmp 0x1077482
mov dword [ebp - 4], 1
cmp dword [ebp - 0x488], 0
jge 0x1077732
push dword [ebp - 0x488]
lea eax, [ebp - 0x21c]
push eax
push 0x101b5b0
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.0109958e
lea eax, [ebp - 0x490]
push eax
call fcn.0109a735
add esp, 0x68
and dword [ebp - 0x488], 0
mov eax, dword [ebp - 0x440]
and dword [ebp - 0x434], 0
cmp dword [eax + 4], 0
jle 0x107797b
push dword [ebp - 0x434]
mov ecx, dword [ebp - 0x440]
call fcn.01073deb
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 0x10777b9
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x1077793
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 0x10777dc
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x10777b9
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 0x101b5a0
lea eax, [ebp - 0x424]
push 0x104
push eax
call fcn.010475bf
add esp, 0x14
mov dword [ebp - 0x488], eax
test eax, eax
jl 0x1077999
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 0x1077858
push eax
mov eax, dword [ebp - 0x428]
mov eax, dword [eax]
push dword [eax]
push 0x101b560
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.0109958e
lea eax, [ebp - 0x490]
push eax
call fcn.0109a735
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 0x107794f
push 1
push 0xff
push 6
push 0x629
push ebx
push edi
push esi
lea ecx, [ebp - 0x54c]
call fcn.0109958e
lea ecx, [ebp - 0x424]
push ecx
lea ecx, [ebp - 0x4f4]
push ecx
mov ecx, eax
call fcn.01099bfb
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0
push dword [ebp - 0x430]
push ecx
mov ecx, eax
call fcn.0109a163
lea eax, [ebp - 0x490]
push 0x3042
push eax
call fcn.0109bd5c
add esp, 0x64
lea ecx, [ebp - 0x4f4]
call fcn.0109963e
lea ecx, [ebp - 0x54c]
call fcn.0109963e
push dword [ebp - 0x430]
mov eax, dword [ebp - 0x428]
push dword [ebp - 0x42c]
mov eax, dword [eax]
push dword [eax]
push 0x101b518
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.0109958e
lea eax, [ebp - 0x490]
push eax
call fcn.0109a735
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 0x1077749
lea ecx, [ebp - 0x450]
call fcn.0104a1a3
lea ecx, [ebp - 0x490]
call fcn.0109ab18
call fcn.01098ad9
ret 0xc
push 0x1007038
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.0109958e
lea eax, [ebp - 0x490]
push eax
call fcn.0109c5e0
int3