Function at 0x418720
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff84
push ebx
push esi
push edi
mov dword [ebp - 0x6c], eax
lea esi, [ebp - 0x3c]
mov eax, 0x538460
call fcn.00524684
mov word [ebp - 0x58], 8
xor edx, edx
xor ecx, ecx
mov dword [ebp - 4], edx
xor eax, eax
inc dword [ebp - 0x4c]
mov word [ebp - 0x58], 0x14
mov word [ebp - 0x58], 0x20
mov dword [ebp - 8], ecx
inc dword [ebp - 0x4c]
mov word [ebp - 0x58], 0x14
mov word [ebp - 0x58], 0x2c
mov dword [ebp - 0xc], eax
inc dword [ebp - 0x4c]
mov word [ebp - 0x58], 0x14
mov word [ebp - 0x58], 0x38
mov edx, dword [ebp - 0x6c]
mov eax, dword [edx + 0x218]
call fcn.00497748
mov eax, dword [ebp - 0x6c]
add eax, 0x218
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x44]
mov word [ebp - 0x58], 0x44
mov edx, dword [ebp - 0x6c]
xor ebx, ebx
add edx, 0x298
lea eax, [ebp - 0x10]
call fcn.0052f058
inc dword [ebp - 0x4c]
mov eax, dword [eax]
xor edx, edx
mov dword [ebp - 0x14], edx
lea edx, [ebp - 0x14]
inc dword [ebp - 0x4c]
call fcn.004a40c4
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
mov dl, 0x5c
call fcn.0052f164
inc dword [ebp - 0x4c]
xor eax, eax
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x18]
inc dword [ebp - 0x4c]
lea ecx, [ebp - 0x1c]
pop eax
call fcn.0052f38c
lea edx, [ebp - 0x1c]
lea eax, [ebp - 0xc]
call fcn.0052f364
dec dword [ebp - 0x4c]
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x4c]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x4c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x4c]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.0052f334
push 0
push 0
lea ecx, [ebp - 0x70]
push ecx
lea eax, [ebp - 0x74]
push eax
push 0
push 0
push 0
cmp dword [ebp - 0xc], 0
je 0x418853
mov edx, dword [ebp - 0xc]
jmp 0x418858
mov edx, 0x536feb
push edx
call sub.KERNEL32.DLL_GetVolumeInformationA
test byte [ebp - 0x70], 1
setne al
and eax, 1
mov ecx, dword [ebp - 0x6c]
mov byte [ecx + 0x289], al
test byte [ebp - 0x70], 1
setne al
and eax, 1
mov edx, dword [ebp - 0x6c]
mov byte [edx + 0x28a], al
cmp dword [ebp - 0xc], 0
je 0x418892
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx - 4]
jmp 0x418894
xor eax, eax
cmp eax, 2
jl 0x418943
push 2
lea edx, [ebp - 0xc]
push edx
call fcn.0052ef9c
add esp, 8
lea eax, [ebp - 0xc]
call fcn.0052f52c
mov edx, dword [ebp - 0xc]
inc edx
movsx ecx, byte [edx]
cmp ecx, 0x3a
jne 0x418943
mov eax, dword [ebp - 0x6c]
add eax, 0x218
mov edx, dword [ebp - 0x6c]
mov ecx, dword [edx + 0x290]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0x3c]
mov word [ebp - 0x58], 0x50
xor eax, eax
lea edx, [ebp - 0x20]
mov dword [ebp - 0x20], eax
push edx
inc dword [ebp - 0x4c]
inc ebx
mov edi, dword [ebp - 0x6c]
add edi, 0x298
cmp dword [edi], 0
je 0x418906
mov eax, dword [edi]
mov ecx, dword [eax - 4]
jmp 0x418908
xor ecx, ecx
cmp dword [ebp - 0xc], 0
je 0x418916
mov eax, dword [ebp - 0xc]
mov edx, dword [eax - 4]
jmp 0x418918
xor edx, edx
inc edx
mov eax, dword [ebp - 0x6c]
add eax, 0x298
call fcn.0052f6bc
lea edx, [ebp - 0x20]
lea eax, [ebp - 4]
call fcn.0052f364
dec dword [ebp - 0x4c]
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.0052f334
jmp 0x418954
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 4]
add edx, 0x298
call fcn.0052f364
cmp dword [ebp - 4], 0
je 0x418962
mov ecx, dword [ebp - 4]
mov eax, dword [ecx - 4]
jmp 0x418964
xor eax, eax
test eax, eax
jle 0x418acc
mov eax, dword [ebp - 4]
call fcn.004a3f9c
movsx edx, byte [eax]
cmp edx, 0x5c
je 0x418ab1
mov word [ebp - 0x58], 0x5c
lea eax, [ebp - 0x24]
mov dl, 0x5c
call fcn.0052f164
inc dword [ebp - 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
call fcn.004a8258
mov edi, eax
dec dword [ebp - 0x4c]
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.0052f334
test edi, edi
je 0x418ab1
mov word [ebp - 0x58], 0x68
xor ecx, ecx
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], ecx
push eax
inc dword [ebp - 0x4c]
lea eax, [ebp - 4]
lea ecx, [edi - 1]
mov edx, 1
call fcn.0052f6bc
lea edx, [ebp - 0x28]
lea eax, [ebp - 8]
call fcn.0052f364
dec dword [ebp - 0x4c]
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.0052f334
test ebx, ebx
jne 0x418a4f
mov word [ebp - 0x58], 0x74
mov edx, 0x536fec
lea eax, [ebp - 0x2c]
call fcn.0052f020
inc dword [ebp - 0x4c]
xor eax, eax
mov dword [ebp - 0x30], eax
lea eax, [ebp - 8]
inc dword [ebp - 0x4c]
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0x30]
call fcn.0052f38c
lea edx, [ebp - 0x30]
lea eax, [ebp - 8]
call fcn.0052f364
dec dword [ebp - 0x4c]
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x4c]
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.0052f334
lea eax, [ebp - 4]
mov ecx, edi
mov edx, 1
call fcn.0052f540
mov eax, dword [ebp - 0x6c]
add eax, 0x218
mov edx, dword [ebp - 0x6c]
mov ecx, dword [edx + 0x290]
mov eax, dword [eax]
mov edx, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0x3c]
mov word [ebp - 0x58], 0x80
inc ebx
lea eax, [ebp - 0x34]
mov dl, 0x5c
call fcn.0052f164
inc dword [ebp - 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
call fcn.004a8258
mov edi, eax
dec dword [ebp - 0x4c]
lea eax, [ebp - 0x34]
mov edx, 2
call fcn.0052f334
test edi, edi
jne 0x4189b7
mov eax, dword [ebp - 0x6c]
add eax, 0x218
mov edx, dword [ebp - 0x6c]
mov ecx, dword [edx + 0x294]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
mov ebx, dword [ebp - 0x6c]
add ebx, 0x218
mov eax, dword [ebx]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
mov dword [ebp - 0x7c], eax
mov dl, 1
mov eax, dword [0x493e58]
call fcn.00402544
mov dword [ebp - 0x78], eax
mov dl, 1
mov word [ebp - 0x58], 0x8c
mov eax, dword [ebp - 0x78]
call fcn.00498844
mov word [ebp - 0x58], 0x98
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 0x38]
add edx, 0x298
call fcn.0052f058
inc dword [ebp - 0x4c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x6c]
call fcn.0041849c
dec dword [ebp - 0x4c]
lea eax, [ebp - 0x38]
mov edx, 2
call fcn.0052f334
xor ecx, ecx
mov dword [ebp - 0x74], ecx
jmp 0x418b86
mov ebx, dword [ebp - 0x6c]
xor eax, eax
mov word [ebp - 0x58], 0xa4
mov dword [esi], eax
add ebx, 0x218
inc dword [ebp - 0x4c]
mov ecx, esi
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x6c]
mov edx, esi
mov ecx, dword [eax + 0x28c]
mov eax, dword [ebx]
mov edx, dword [edx]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
dec dword [ebp - 0x4c]
mov eax, esi
mov edx, 2
call fcn.0052f334
inc dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, dword [ebp - 0x74]
jg 0x418b3d
mov word [ebp - 0x58], 0x38
mov ebx, dword [ebp - 0x78]
mov dword [ebp - 0x44], ebx
test ebx, ebx
je 0x418bc1
mov eax, dword [ebx]
mov dword [ebp - 0x40], eax
mov word [ebp - 0x58], 0xbc
mov edx, 3
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0x58], 0xb0
cmp word [ebp - 0x56], 0
je 0x418bc9
ret
mov word [ebp - 0x58], 0x14
mov edx, dword [ebp - 0x6c]
mov eax, dword [edx + 0x218]
call fcn.00497804
cmp word [ebp - 0x56], 0
je 0x418be5
ret
mov eax, dword [ebp - 0x6c]
call fcn.00501f88
test al, al
je 0x418c07
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [ebp - 0x6c]
call fcn.00419894
dec dword [ebp - 0x4c]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x4c]
lea eax, [ebp - 8]
mov edx, 2
call fcn.0052f334
dec dword [ebp - 0x4c]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0052f334
mov ecx, dword [ebp - 0x68]
mov dword fs:[0], ecx
mov esp, ebp
mov edi, dword [ebp - 0x88]
mov esi, dword [ebp - 0x84]
mov ebx, dword [ebp - 0x80]
pop ebp
ret