Function at 0x410931
Capabilities:
Get disk information
Get disk size

Disassembly:
push 0x290
mov eax, 0x4af2f6
call fcn.00487ec7
mov eax, dword [ebp + 0xc]
add ecx, 0x238
mov esi, dword [ebp + 8]
mov dword [ebp - 0x294], esi
and dword [ebp - 0x230], 0
push eax
call fcn.0040ab14
lea ecx, [ebp - 0x220]
mov ebx, dword [eax + 0x1808]
call fcn.0040364a
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x21c]
call fcn.0040364a
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x218]
call fcn.0040364a
mov byte [ebp - 4], 3
push 0x41
pop edi
xor eax, eax
lea ecx, [edi - 0x41]
inc eax
shl eax, cl
test ebx, eax
je 0x410c94
lea ecx, [ebp - 0x214]
call fcn.0040364a
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x224]
call fcn.0040364a
mov byte [ebp - 4], 5
lea eax, [ebp - 0x224]
push edi
push str._C:_
push eax
call fcn.00403636
add esp, 0xc
lea eax, [ebp - 0x240]
push eax
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x29c]
push eax
push dword [ebp - 0x224]
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push 0x100
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x224]
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
mov eax, dword [ebp - 0x240]
xor edx, edx
mov ecx, dword [ebp - 0x23c]
sub esp, 0x18
mov dword [ebp - 0x248], eax
mov eax, ecx
and ecx, 0x7fffffff
mov dword [ebp - 0x250], edx
and eax, 0x80000000
mov dword [ebp - 0x244], ecx
fild qword [ebp - 0x248]
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x260], edx
mov dword [ebp - 0x270], edx
fild qword [ebp - 0x250]
fchs
faddp st(1)
fstp qword [ebp - 0x22c]
fld qword [ebp - 0x22c]
mov eax, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x234]
mov dword [ebp - 0x258], eax
mov eax, ecx
and ecx, 0x7fffffff
and eax, 0x80000000
mov dword [ebp - 0x254], ecx
fild qword [ebp - 0x258]
mov dword [ebp - 0x25c], eax
fild qword [ebp - 0x260]
fchs
faddp st(1)
fstp qword [ebp - 0x22c]
fdiv qword [ebp - 0x22c]
mov eax, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x234]
shrd eax, ecx, 0x14
fmul qword [0x4dfdb8]
shr ecx, 0x14
mov dword [ebp - 0x268], eax
mov eax, ecx
and ecx, 0x7fffffff
and eax, 0x80000000
mov dword [ebp - 0x264], ecx
fstp qword [esp + 0x10]
fild qword [ebp - 0x268]
mov dword [ebp - 0x26c], eax
fild qword [ebp - 0x270]
fchs
faddp st(1)
mov dword [ebp - 0x280], edx
fstp qword [ebp - 0x22c]
fld qword [ebp - 0x22c]
mov eax, dword [ebp - 0x240]
mov ecx, dword [ebp - 0x23c]
fld qword [0x4dfd30]
shrd eax, ecx, 0x14
fmul st(1), st(0)
fxch st(1)
mov dword [ebp - 0x278], eax
shr ecx, 0x14
mov eax, ecx
and ecx, 0x7fffffff
and eax, 0x80000000
mov dword [ebp - 0x274], ecx
fstp qword [esp + 8]
fild qword [ebp - 0x278]
mov dword [ebp - 0x27c], eax
lea eax, [ebp - 0x210]
fild qword [ebp - 0x280]
fchs
faddp st(1)
fstp qword [ebp - 0x22c]
fmul qword [ebp - 0x22c]
fstp qword [esp]
push eax
push edi
lea eax, [ebp - 0x214]
push str._C:__s___.1f__.1f_GB___.1f______r_n
push eax
call fcn.00403636
mov eax, dword [ebp - 0x214]
lea ecx, [ebp - 0x218]
add esp, 0x28
push dword [eax - 0xc]
push eax
call fcn.00403393
mov eax, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x234]
and dword [ebp - 0x290], 0
shrd eax, ecx, 0x14
mov dword [ebp - 0x288], eax
shr ecx, 0x14
mov eax, ecx
and ecx, 0x7fffffff
and eax, 0x80000000
mov dword [ebp - 0x284], ecx
fild qword [ebp - 0x288]
mov dword [ebp - 0x28c], eax
lea eax, [ebp - 0x210]
push ecx
push ecx
fild qword [ebp - 0x290]
fchs
faddp st(1)
fstp qword [ebp - 0x22c]
fld qword [ebp - 0x22c]
fmul qword [0x4dfd30]
fstp qword [esp]
push eax
push edi
lea eax, [ebp - 0x214]
push str._C:__s___.1f_GB__r_n
push eax
call fcn.00403636
mov eax, dword [ebp - 0x214]
lea ecx, [ebp - 0x21c]
add esp, 0x18
push dword [eax - 0xc]
push eax
call fcn.00403393
lea eax, [ebp - 0x210]
push eax
push edi
lea eax, [ebp - 0x214]
push str._C:__s_r_n
push eax
call fcn.00403636
mov eax, dword [ebp - 0x214]
add esp, 0x10
push dword [eax - 0xc]
lea ecx, [ebp - 0x220]
push eax
call fcn.00403393
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x224]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x214]
lea ecx, [ecx - 0x10]
call fcn.0040259b
inc edi
lea eax, [edi - 0x41]
cmp eax, 0x1a
jl 0x410998
lea ecx, [ebp - 0x218]
call fcn.0040aa3f
lea ecx, [ebp - 0x21c]
call fcn.0040aa3f
lea ecx, [ebp - 0x220]
call fcn.0040aa3f
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp + 0x10]
cmp dword [eax - 0xc], ecx
jge 0x410d1e
lea eax, [ebp - 0x218]
mov ecx, esi
push eax
call fcn.00401f6f
mov dword [ebp - 0x230], 1
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
and dword [ebp - 4], 0
mov ecx, dword [ebp - 0x220]
add ecx, 0xfffffff0
jmp 0x410dae
mov eax, dword [ebp - 0x21c]
cmp dword [eax - 0xc], ecx
mov ecx, esi
jge 0x410d67
lea eax, [ebp - 0x21c]
push eax
call fcn.00401f6f
mov dword [ebp - 0x230], 1
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
jmp 0x410da1
lea eax, [ebp - 0x220]
push eax
call fcn.00401f6f
mov dword [ebp - 0x230], 1
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
and dword [ebp - 4], 0
mov ecx, dword [ebp - 0x220]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov eax, esi
call fcn.00487e76
ret 0xc