Function at 0x413600
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.0040d220
add esp, 8
test eax, eax
je 0x4138de
mov ebx, eax
mov edi, 0x104
mov ecx, 0xa
mov dword [ebp - 0x2c], 0
jmp 0x41364c
mov ebx, dword [ebp - 0x14]
dec ecx
mov edi, esi
je 0x41371d
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 0x413718
call fcn.00447f20
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
call fcn.00447f20
mov esi, eax
test edx, edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
je 0x41368d
lea eax, [ebp - 0x20]
push eax
call fcn.00447ed0
add esp, 4
cmp dword [ebp - 0x38], 0
je 0x41369f
lea eax, [ebp - 0x38]
push eax
call fcn.00447ed0
add esp, 4
cmp esi, 0x800700ea
jne 0x413840
mov esi, dword [ebp - 0x2c]
test esi, esi
je 0x4136f0
cmp esi, 0x3fffffff
mov dword [ebp - 0x18], edi
ja 0x4138c2
mov edi, ebx
mov ebx, esi
add esi, esi
push 2
push esi
call fcn.0040d220
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x4138cd
mov esi, ebx
mov ebx, edi
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
test edi, edi
jne 0x413702
jmp 0x413640
mov dword [ebp - 0x14], 2
mov ecx, dword [ebp - 0x10]
test edi, edi
je 0x413640
add edi, edi
push 2
push edi
push ebx
call fcn.0040d1e0
mov ecx, dword [ebp - 0x10]
add esp, 0xc
jmp 0x413640
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 0x41386b
mov dword [ebp - 0x30], esi
mov edx, esi
mov esi, dword [ebp - 0x14]
jmp 0x413785
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 0x41381d
cmp word [esi], 0
je 0x41381d
lea eax, [edx + edx]
mov ecx, 1
mov edi, 0xfffffffe
neg eax
nop
cmp eax, edi
je 0x413887
add edi, 0xfffffffe
cmp word [esi + ecx*2], 0
lea ebx, [ecx + 1]
mov ecx, ebx
jne 0x4137a0
lea eax, [ebx - 2]
mov dword [ebp - 0x34], edx
cmp eax, 0x3ffffffd
ja 0x4138b7
mov eax, dword [0x55bd94]
mov ecx, edi
neg ecx
movzx eax, byte [eax]
push 2
mov dword [ebp - 0x10], ecx
push ecx
call fcn.0040d1d0
add esp, 8
test eax, eax
je 0x4138a3
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 0x413750
lea eax, [ebp - 0x24]
push eax
call fcn.004242d0
mov ecx, dword [ebp - 0x18]
add esp, 4
jmp 0x413750
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 0x41387d
add ecx, ecx
push 2
push ecx
push dword [ebp - 0x14]
jmp 0x413861
mov esi, dword [ebp + 8]
test edi, edi
mov dword [esi], 0
mov dword [esi + 4], 4
mov dword [esi + 8], 0
je 0x41387d
add edi, edi
push 2
push edi
push ebx
call fcn.0040d1e0
add esp, 0xc
jmp 0x41387d
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 0x413896
push 0x53784c
call fcn.004e1dd0
push 0x53784c
push edx
inc edx
push edx
call fcn.004e1cd0
mov ecx, dword [ebp - 0x10]
mov eax, 2
mov dword [ebp - 0x28], ecx
push dword [ebp - 0x28]
push eax
call fcn.004d09f0
xor eax, eax
push dword [ebp - 0x28]
push eax
call fcn.004d09f0
xor eax, eax
push dword [ebp - 0x14]
push eax
call fcn.004d09f0
mov eax, 2
mov dword [ebp - 0x14], esi
push dword [ebp - 0x14]
push eax
call fcn.004d09f0
push 0x208
push 2
call fcn.004d09f0
nop word [eax + eax]
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
add eax, 8
push eax
call fcn.004ab220
add esp, 4
pop ebp
ret