Function at 0x100134a0
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x30
push 2
push 0x208
call fcn.1000d0c0
add esp, 8
test eax, eax
je 0x1001377e
mov ebx, eax
mov edi, 0x104
mov ecx, 0xa
mov dword [ebp - 0x2c], 0
jmp 0x100134ec
mov ebx, dword [ebp - 0x14]
dec ecx
mov edi, esi
je 0x100135bd
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x10], ecx
push eax
push edi
push ebx
push dword [ebp + 0xc]
call sub.kernel32.dll_GetVolumePathNamesForVolumeNameW
test eax, eax
jne 0x100135b8
call fcn.10047dc0
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
call fcn.10047dc0
mov esi, eax
test edx, edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
je 0x1001352d
lea eax, [ebp - 0x20]
push eax
call fcn.10047d70
add esp, 4
cmp dword [ebp - 0x38], 0
je 0x1001353f
lea eax, [ebp - 0x38]
push eax
call fcn.10047d70
add esp, 4
cmp esi, 0x800700ea
jne 0x100136e0
mov esi, dword [ebp - 0x2c]
test esi, esi
je 0x10013590
cmp esi, 0x3fffffff
mov dword [ebp - 0x18], edi
ja 0x10013762
mov edi, ebx
mov ebx, esi
add esi, esi
push 2
push esi
call fcn.1000d0c0
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x1001376d
mov esi, ebx
mov ebx, edi
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
test edi, edi
jne 0x100135a2
jmp 0x100134e0
mov dword [ebp - 0x14], 2
mov ecx, dword [ebp - 0x10]
test edi, edi
je 0x100134e0
add edi, edi
push 2
push edi
push ebx
call fcn.1000d080
mov ecx, dword [ebp - 0x10]
add esp, 0xc
jmp 0x100134e0
mov esi, edi
mov dword [ebp - 0x14], ebx
test esi, esi
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x1c], 0
je 0x1001370b
mov dword [ebp - 0x30], esi
mov edx, esi
mov esi, dword [ebp - 0x14]
jmp 0x10013625
mov eax, dword [ebp - 0x20]
lea ecx, [ecx + ecx*2]
mov edx, dword [ebp - 0x28]
sub esi, edi
mov edi, dword [ebp - 0x34]
mov dword [ebp - 0x10], eax
mov dword [eax + ecx*4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov dword [edx + ecx*4 + 8], ebx
mov edx, edi
inc eax
sub edx, ebx
cmp edi, ebx
mov dword [ebp - 0x1c], eax
je 0x100136bd
cmp word [esi], 0
je 0x100136bd
lea eax, [edx + edx]
mov ecx, 1
mov edi, 0xfffffffe
neg eax
nop
cmp eax, edi
je 0x10013727
add edi, 0xfffffffe
cmp word [esi + ecx*2], 0
lea ebx, [ecx + 1]
mov ecx, ebx
jne 0x10013640
lea eax, [ebx - 2]
mov dword [ebp - 0x34], edx
cmp eax, 0x3ffffffd
ja 0x10013757
mov eax, dword [0x10194460]
mov ecx, edi
neg ecx
movzx eax, byte [eax]
push 2
mov dword [ebp - 0x10], ecx
push ecx
call fcn.1000d070
add esp, 8
test eax, eax
je 0x10013743
push dword [ebp - 0x10]
push esi
mov dword [ebp - 0x28], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x24]
mov dword [ebp - 0x18], ecx
jne 0x100135f0
lea eax, [ebp - 0x24]
push eax
call fcn.100241f0
mov ecx, dword [ebp - 0x18]
add esp, 4
jmp 0x100135f0
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp + 8]
movsd xmm0, qword [ebp - 0x24]
test ecx, ecx
mov dword [esi + 8], eax
movsd qword [esi], xmm0
je 0x1001371d
add ecx, ecx
push 2
push ecx
push dword [ebp - 0x14]
jmp 0x10013701
mov esi, dword [ebp + 8]
test edi, edi
mov dword [esi], 0
mov dword [esi + 4], 4
mov dword [esi + 8], 0
je 0x1001371d
add edi, edi
push 2
push edi
push ebx
call fcn.1000d080
add esp, 0xc
jmp 0x1001371d
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x24]
mov dword [esi + 8], eax
movsd qword [esi], xmm0
mov eax, esi
add esp, 0x30
pop esi
pop edi
pop ebx
pop ebp
ret
cmp edx, 0xffffffff
jne 0x10013736
push 0x1017003c
call fcn.100e1c70
push 0x1017003c
push edx
inc edx
push edx
call fcn.100e1b70
mov ecx, dword [ebp - 0x10]
mov eax, 2
mov dword [ebp - 0x28], ecx
push dword [ebp - 0x28]
push eax
call fcn.100d0890
xor eax, eax
push dword [ebp - 0x28]
push eax
call fcn.100d0890
xor eax, eax
push dword [ebp - 0x14]
push eax
call fcn.100d0890
mov eax, 2
mov dword [ebp - 0x14], esi
push dword [ebp - 0x14]
push eax
call fcn.100d0890
push 0x208
push 2
call fcn.100d0890
nop word [eax + eax]
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
add eax, 8
push eax
call fcn.100ab0c0
add esp, 4
pop ebp
ret