Function at 0x40265c
Capabilities:
Get disk information

Disassembly:
push ebp
sub esp, 0x104
lea ebp, [esp - 4]
mov eax, dword [0x498fe0]
xor eax, ebp
mov dword [ebp + 0x104], eax
push 0x34
mov eax, 0x4718cf
call fcn.0045c9c3
mov edi, dword [ebp + 0x110]
mov esi, ecx
call fcn.00445a24
push eax
lea ecx, [ebp - 0x10]
call fcn.0040180a
xor ebx, ebx
mov dword [ebp - 4], ebx
call fcn.00445a24
push eax
lea ecx, [ebp - 0x14]
call fcn.0040180a
mov byte [ebp - 4], 1
call fcn.00445a24
push eax
lea ecx, [ebp - 0x1c]
call fcn.0040180a
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call fcn.004461ad
mov byte [ebp - 4], 3
cmp edi, dword [esi + 0x33c]
jne 0x402718
push ebx
push edi
mov ecx, esi
call fcn.0040159f
lea edi, [esi + 0x340]
push edi
push 0x104
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsA]
jmp 0x40270f
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push dword [esi + 0x33c]
mov ecx, esi
push edi
call fcn.00401ad5
push edi
call fcn.0045c330
pop ecx
lea edi, [edi + eax + 1]
cmp byte [edi], bl
jne 0x4026f0
jmp 0x40296d
push edi
push ecx
lea eax, [ebp - 0x14]
mov dword [ebp - 0x28], esp
mov ecx, esp
push eax
call fcn.00401c39
lea eax, [ebp - 0x18]
push eax
mov ecx, esi
call fcn.004021e5
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 4
call fcn.00401fc2
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
mov byte [ebp - 4], 3
call fcn.0040135b
push ebx
push edi
mov ecx, esi
call fcn.0040159f
push 0x477af8
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0040208b
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
call fcn.00401fc2
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
mov byte [ebp - 4], 3
call fcn.0040135b
push ebx
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x40]
call fcn.00446242
cmp eax, ebx
je 0x402855
lea ecx, [ebp - 0x40]
call fcn.00445e93
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x40]
push 0x10
lea ecx, [ebp - 0x40]
call dword [eax + 0x38]
test eax, eax
je 0x40284c
lea ecx, [ebp - 0x40]
call fcn.00446172
test eax, eax
jne 0x40284c
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x40]
call fcn.0044647c
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 6
call fcn.00401fc2
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
mov byte [ebp - 4], 3
call fcn.0040135b
push dword [ebp - 0x10]
lea eax, [ebp]
push eax
call fcn.0045be00
lea eax, [ebp]
push str.RECYCLED
push eax
call fcn.0046d8bd
add esp, 0x10
test eax, eax
je 0x40284c
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00402034
add esp, 0xc
mov eax, dword [eax]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push edi
push eax
mov ecx, esi
mov byte [ebp - 4], 7
call fcn.00401ad5
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
mov byte [ebp - 4], 3
call fcn.0040135b
cmp dword [ebp - 0x18], ebx
jne 0x40279d
lea ecx, [ebp - 0x40]
cmp dword [esi + 0x128], ebx
jne 0x402970
push ebx
push dword [ebp - 0x1c]
call fcn.00446242
cmp eax, ebx
je 0x40296d
lea ecx, [ebp - 0x40]
call fcn.00445e93
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x40]
push 0x10
lea ecx, [ebp - 0x40]
call dword [eax + 0x38]
test eax, eax
jne 0x402964
lea ecx, [ebp - 0x40]
call fcn.00446172
test eax, eax
jne 0x402964
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x40]
call fcn.0044647c
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 8
call fcn.00401fc2
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
mov byte [ebp - 4], 3
call fcn.0040135b
push dword [ebp - 0x10]
lea eax, [ebp]
push eax
call fcn.0045be00
mov eax, dword [ebp - 0x10]
mov eax, dword [eax - 0xc]
pop ecx
pop ecx
cmp dword [esi + 0x54], ebx
je 0x40292d
cmp eax, 4
jle 0x402964
push dword [esi + 0x12c]
lea eax, [ebp + eax - 4]
push eax
call fcn.0046d8bd
pop ecx
pop ecx
test eax, eax
jne 0x402964
lea eax, [ebp]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.0040208b
add esp, 0xc
mov eax, dword [eax]
push 0xffffffffffffffff
push dword [esi + 0x58]
mov ecx, esi
push ebx
push edi
push eax
mov byte [ebp - 4], 9
call fcn.00401ad5
mov ecx, dword [ebp - 0x20]
jmp 0x402958
lea eax, [ebp]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0040208b
add esp, 0xc
mov eax, dword [eax]
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebx
push edi
push eax
mov ecx, esi
mov byte [ebp - 4], 0xa
call fcn.00401ad5
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
mov byte [ebp - 4], 3
call fcn.0040135b
cmp dword [ebp - 0x18], ebx
jne 0x402875
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call fcn.004461d3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.0040135b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.0040135b
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.0040135b
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x104]
xor ecx, ebp
call fcn.0045bdea
add ebp, 0x108
leave
ret 4