Function at 0x10036397
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
push ebx
push esi
push edi
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x10036639
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x88], eax
lea eax, [ebp + 0xc]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x50]
movzx eax, byte [eax]
test eax, eax
je 0x100363fc
mov byte [ebp - 1], 0
movzx eax, byte [ebp - 1]
test eax, eax
je 0x100363f7
push 0
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
jmp 0x10036637
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x70], 0x26e3
cmp dword [ebp - 0x70], 0x12d1
jge 0x1003653e
lea eax, [ebp - 0x30]
push eax
mov ecx, 0x106646f0
call fcn.1004c1ac
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x30]
sub eax, 1
mov ecx, dword [ebp - 0x2c]
sbb ecx, 0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x90]
or eax, dword [ebp - 0x8c]
je 0x1003653e
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x106646f0
call fcn.1004c1ac
mov ecx, eax
call fcn.1004c1ac
push fcn.1001eba0
mov eax, dword [ebp - 0xc]
sub eax, 1
mov ecx, dword [ebp - 8]
sbb ecx, 0
push ecx
push eax
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.1005de10
push 0
push 2
push edx
push eax
call fcn.10070f30
mov esi, eax
mov edi, edx
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
call fcn.10070f30
push edx
push eax
push edi
push esi
call fcn.1005de10
mov esi, eax
mov edi, edx
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
call fcn.10070fe0
mov ebx, eax
mov eax, edx
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
mov dword [ebp - 0x58], eax
call fcn.10070fe0
add eax, 1
adc edx, 0
push edx
push eax
mov eax, dword [ebp - 0x58]
push eax
push ebx
call fcn.1005de10
push 0
push 2
push edx
push eax
call fcn.10070f30
add esi, eax
adc edi, edx
push edi
push esi
mov ecx, 0x10664638
call fcn.1001a2c6
mov ecx, eax
call fcn.1001a096
jmp 0x10036442
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
push 9
pop eax
test eax, eax
je 0x100365f7
mov eax, dword [ebp - 0x40]
cmp dword [eax], 0
jne 0x10036580
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
je 0x10036580
mov dword [ebp - 0x20], 1
jmp 0x10036584
and dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x20]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
cmp dword [ebp - 0x20], eax
jl 0x1003659f
mov dword [ebp - 0x34], 1
jmp 0x100365a3
and dword [ebp - 0x34], 0
cmp dword [ebp - 0x34], 4
ja 0x100365b2
mov dword [ebp - 0x54], 1
jmp 0x100365b6
and dword [ebp - 0x54], 0
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0x4082
jne 0x100365ca
mov dword [ebp - 0x3c], 1
jmp 0x100365ce
and dword [ebp - 0x3c], 0
cmp dword [ebp - 0x3c], 0x61fc2da8
je 0x100365e0
mov dword [ebp - 0x38], 1
jmp 0x100365e4
and dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
add eax, dword [ebp - 0x38]
je 0x100365f7
mov dword [ebp - 0x14], 1
jmp 0x100365fb
and dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
imul eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
cmp eax, dword [ecx]
jle 0x1003661c
mov dword [ebp - 0x18], 1
jmp 0x10036620
and dword [ebp - 0x18], 0
push 0
mov ecx, dword [ebp - 0x5c]
call fcn.1001a61e
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
jmp 0x1003665f
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x6c], eax
push dword [ebp - 0x64]
push 0x5ce5
push 0x7956
push 1
push dword [ebp - 0x6c]
call fcn.10033a11
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret