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

Disassembly:
push 0x2b4
mov eax, 0x4b6bae
call fcn.0048f706
mov eax, dword [ebp + 0xc]
xor esi, esi
mov edi, dword [ebp + 8]
add ecx, 0x238
mov dword [ebp - 0x2c0], edi
push eax
mov dword [ebp - 0x240], esi
call fcn.00407390
lea ecx, [ebp - 0x220]
mov ebx, dword [eax + 0x1818]
mov dword [ebp - 0x244], ebx
call fcn.004026b1
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x21c]
call fcn.004026b1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x218]
call fcn.004026b1
mov byte [ebp - 4], 3
push 0x41
mov dword [ebp - 0x24c], esi
mov dword [ebp - 0x248], esi
mov dword [ebp - 0x230], esi
mov dword [ebp - 0x22c], esi
mov dword [ebp - 0x23c], esi
mov dword [ebp - 0x238], esi
pop esi
xor eax, eax
lea ecx, [esi - 0x41]
inc eax
shl eax, cl
test ebx, eax
je 0x410850
lea ecx, [ebp - 0x214]
call fcn.004026b1
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x234]
call fcn.004026b1
mov byte [ebp - 4], 5
lea eax, [ebp - 0x210]
push 0x200
push 0
push eax
call fcn.00490cd0
push esi
lea eax, [ebp - 0x234]
push str._C:_
push eax
call fcn.00402a35
add esp, 0x18
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x24c]
push eax
push dword [ebp - 0x234]
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 - 0x234]
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
mov edx, dword [ebp - 0x230]
mov eax, edx
mov ecx, dword [ebp - 0x22c]
or eax, ecx
jne 0x4104f7
lea eax, [ebp - 0x210]
push eax
push esi
lea eax, [ebp - 0x214]
push str._C:__s_r_n
push eax
call fcn.00402a35
add esp, 0x10
jmp 0x410755
mov ebx, dword [ebp - 0x238]
cmp ebx, ecx
ja 0x410685
mov eax, dword [ebp - 0x23c]
jb 0x410515
cmp eax, edx
jae 0x410685
mov dword [ebp - 0x254], eax
xor edx, edx
mov eax, ebx
mov dword [ebp - 0x25c], edx
and eax, 0x80000000
mov dword [ebp - 0x26c], edx
mov dword [ebp - 0x258], eax
and ebx, 0x7fffffff
mov dword [ebp - 0x250], ebx
sub esp, 0x18
fild qword [ebp - 0x254]
mov ebx, SysReAllocString
mov dword [ebp - 0x27c], edx
mov dword [ebp - 0x28c], edx
fild qword [ebp - 0x25c]
fchs
faddp st(1)
fstp qword [ebp - 0x228]
fld qword [ebp - 0x228]
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x264], eax
mov eax, ecx
and ecx, ebx
and eax, 0x80000000
mov dword [ebp - 0x260], ecx
fild qword [ebp - 0x264]
mov dword [ebp - 0x268], eax
fild qword [ebp - 0x26c]
fchs
faddp st(1)
fstp qword [ebp - 0x228]
fdiv qword [ebp - 0x228]
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x22c]
shrd eax, ecx, 0x14
fmul qword [0x4cc850]
mov dword [ebp - 0x274], eax
shr ecx, 0x14
mov eax, ecx
and ecx, ebx
and eax, 0x80000000
mov dword [ebp - 0x270], ecx
fstp qword [esp + 0x10]
fild qword [ebp - 0x274]
mov dword [ebp - 0x278], eax
fild qword [ebp - 0x27c]
fchs
faddp st(1)
fstp qword [ebp - 0x228]
fld qword [ebp - 0x228]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x238]
fld qword [0x4cc840]
shrd eax, ecx, 0x14
fmul st(1), st(0)
fxch st(1)
mov dword [ebp - 0x284], eax
shr ecx, 0x14
mov eax, ecx
and ecx, ebx
and eax, 0x80000000
mov dword [ebp - 0x280], ecx
fstp qword [esp + 8]
fild qword [ebp - 0x284]
mov dword [ebp - 0x288], eax
lea eax, [ebp - 0x210]
fild qword [ebp - 0x28c]
fchs
faddp st(1)
fstp qword [ebp - 0x228]
fmul qword [ebp - 0x228]
fstp qword [esp]
push eax
push esi
lea eax, [ebp - 0x214]
push str._C:__s___.1f__.1f_GB___.1f______r_n
push eax
call fcn.00402a35
add esp, 0x28
jmp 0x41074f
and dword [ebp - 0x29c], 0
mov ebx, SysReAllocStringLen
shrd edx, ecx, 0x14
and dword [ebp - 0x2ac], 0
sub esp, 0x10
shr ecx, 0x14
mov eax, ecx
mov dword [ebp - 0x294], edx
and eax, ebx
mov edx, SysReAllocString
and ecx, edx
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x290], ecx
fild qword [ebp - 0x294]
fild qword [ebp - 0x29c]
fchs
faddp st(1)
fstp qword [ebp - 0x228]
fld qword [ebp - 0x228]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x238]
fld qword [0x4cc840]
shrd eax, ecx, 0x14
fmul st(1), st(0)
fxch st(1)
mov dword [ebp - 0x2a4], eax
shr ecx, 0x14
mov eax, ecx
and ecx, edx
and eax, ebx
mov dword [ebp - 0x2a0], ecx
fstp qword [esp + 8]
fild qword [ebp - 0x2a4]
mov dword [ebp - 0x2a8], eax
lea eax, [ebp - 0x210]
fild qword [ebp - 0x2ac]
fchs
faddp st(1)
fstp qword [ebp - 0x228]
fmul qword [ebp - 0x228]
fstp qword [esp]
push eax
push esi
lea eax, [ebp - 0x214]
push str._C:__s___.1f__.1f_GB__r_n
push eax
call fcn.00402a35
add esp, 0x20
mov ebx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x214]
lea ecx, [ebp - 0x218]
push dword [eax - 0xc]
push eax
call fcn.004029a9
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x22c]
and dword [ebp - 0x2bc], 0
shrd eax, ecx, 0x14
mov dword [ebp - 0x2b4], eax
shr ecx, 0x14
mov eax, ecx
and ecx, 0x7fffffff
and eax, 0x80000000
mov dword [ebp - 0x2b0], ecx
fild qword [ebp - 0x2b4]
mov dword [ebp - 0x2b8], eax
lea eax, [ebp - 0x210]
push ecx
push ecx
fild qword [ebp - 0x2bc]
fchs
faddp st(1)
fstp qword [ebp - 0x228]
fld qword [ebp - 0x228]
fmul qword [0x4cc840]
fstp qword [esp]
push eax
push esi
lea eax, [ebp - 0x214]
push str._C:__s___.1f_GB__r_n
push eax
call fcn.00402a35
mov eax, dword [ebp - 0x214]
lea ecx, [ebp - 0x21c]
add esp, 0x18
push dword [eax - 0xc]
push eax
call fcn.004029a9
lea eax, [ebp - 0x210]
push eax
push esi
lea eax, [ebp - 0x214]
push str._C:__s_r_n
push eax
call fcn.00402a35
mov eax, dword [ebp - 0x214]
lea ecx, [ebp - 0x220]
add esp, 0x10
push dword [eax - 0xc]
push eax
call fcn.004029a9
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x234]
lea ecx, [ecx - 0x10]
call fcn.00401fe9
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x214]
lea ecx, [ecx - 0x10]
call fcn.00401fe9
inc esi
lea eax, [esi - 0x41]
cmp eax, 0x1a
jl 0x41042e
lea ecx, [ebp - 0x218]
call fcn.00409ea0
lea ecx, [ebp - 0x21c]
call fcn.00409ea0
lea ecx, [ebp - 0x220]
call fcn.00409ea0
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp + 0x10]
cmp dword [eax - 0xc], ecx
jge 0x4108da
lea eax, [ebp - 0x218]
mov ecx, edi
push eax
call fcn.00401270
mov dword [ebp - 0x240], 1
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.00401fe9
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.00401fe9
and dword [ebp - 4], 0
mov ecx, dword [ebp - 0x220]
add ecx, 0xfffffff0
jmp 0x41096a
mov eax, dword [ebp - 0x21c]
cmp dword [eax - 0xc], ecx
mov ecx, edi
jge 0x410923
lea eax, [ebp - 0x21c]
push eax
call fcn.00401270
mov dword [ebp - 0x240], 1
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.00401fe9
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.00401fe9
jmp 0x41095d
lea eax, [ebp - 0x220]
push eax
call fcn.00401270
mov dword [ebp - 0x240], 1
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.00401fe9
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.00401fe9
and dword [ebp - 4], 0
mov ecx, dword [ebp - 0x220]
lea ecx, [ecx - 0x10]
call fcn.00401fe9
mov eax, edi
call fcn.0048f6b5
ret 0xc