Function at 0x40aec0
Capabilities:
Get disk size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44d2fa
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x8c
mov dword [ebp - 0x5c], ecx
lea ecx, [ebp - 0x14]
call fcn.00403100
mov dword [ebp - 4], 0
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x5c]
add ecx, 0x148
call fcn.00440f12
lea ecx, [ebp - 0x14]
call fcn.00413dd0
push eax
lea ecx, [ebp - 0x3c]
push ecx
call fcn.00418710
add esp, 8
mov dword [ebp - 0x60], eax
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x64], edx
mov byte [ebp - 4], 1
push 1
lea eax, [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x64]
call fcn.00404650
mov dword [ebp - 0x68], eax
push 0x451038
mov ecx, dword [ebp - 0x68]
call fcn.004050b0
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x35], al
lea ecx, [ebp - 0x40]
call fcn.0041bb00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x3c]
call fcn.0041bb00
movzx ecx, byte [ebp - 0x35]
test ecx, ecx
je 0x40affa
lea edx, [ebp - 0x44]
push edx
call fcn.0040cd00
mov ecx, eax
call fcn.00405070
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x70], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x14]
call fcn.00413dd0
push eax
lea ecx, [ebp - 0x48]
push ecx
call fcn.00418710
add esp, 8
mov dword [ebp - 0x74], eax
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x78], edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x70]
push eax
mov ecx, dword [ebp - 0x78]
push ecx
lea edx, [ebp - 0x4c]
push edx
call fcn.004028f0
add esp, 0xc
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x80], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x80]
push ecx
lea ecx, [ebp - 0x14]
call fcn.00403140
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4c]
call fcn.0041bb00
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x48]
call fcn.0041bb00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x44]
call fcn.0041bb00
lea ecx, [ebp - 0x14]
call fcn.00413dd0
push eax
lea edx, [ebp - 0x50]
push edx
call fcn.00418710
add esp, 8
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x88], eax
mov byte [ebp - 4], 5
push 0x45103c
mov ecx, dword [ebp - 0x88]
push ecx
lea edx, [ebp - 0x54]
push edx
call fcn.00402990
add esp, 0xc
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x90], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x90]
call fcn.00413dd0
push eax
call fcn.004189e0
add esp, 4
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x54]
call fcn.0041bb00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.0041bb00
mov dword [ebp - 0x24], 0
xor ecx, ecx
mov dword [ebp - 0x20], ecx
lea edx, [ebp - 0x24]
push edx
push 0
push 0
lea ecx, [ebp - 0x14]
call fcn.00413dd0
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
cmp dword [ebp - 0x20], 0
ja 0x40b0b4
cmp dword [ebp - 0x24], 0xc800000
jb 0x40b0b6
jmp 0x40b12b
push 0
push 0x451044
push 0x451050
push 0x451058
mov eax, dword [ebp - 0x5c]
push eax
call fcn.00403ba0
add esp, 0x14
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 2
jne 0x40b104
push 0
push 0x3ef
push 0x111
mov ecx, dword [ebp - 0x5c]
call fcn.00402be0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.0041bb00
jmp 0x40b2c3
cmp dword [ebp - 0x28], 8
jne 0x40b11e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.0041bb00
jmp 0x40b2c3
mov ecx, 1
test ecx, ecx
jne 0x40b082
mov edx, 1
test edx, edx
je 0x40b243
mov dword [ebp - 0x2c], 0
call fcn.0040cd00
mov ecx, eax
call fcn.0040f8a0
test eax, eax
je 0x40b156
mov dword [ebp - 0x2c], 1
cmp dword [ebp - 0x2c], 0
jne 0x40b161
jmp 0x40b243
lea ecx, [ebp - 0x30]
call fcn.00403100
mov byte [ebp - 4], 7
lea eax, [ebp - 0x58]
push eax
call fcn.0040cd00
mov ecx, eax
call fcn.0040c090
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x98], ecx
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x98]
mov eax, dword [edx]
push eax
push 0x4510a0
lea ecx, [ebp - 0x30]
push ecx
call fcn.00403a90
add esp, 0xc
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x58]
call fcn.0041bb00
push 0
push 0x4510c8
push 0
lea ecx, [ebp - 0x30]
call fcn.00413dd0
push eax
mov edx, dword [ebp - 0x5c]
push edx
call fcn.00403ba0
add esp, 0x14
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 2
jne 0x40b20c
call fcn.0040cd00
mov ecx, eax
call fcn.0040f910
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.0041bb00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.0041bb00
jmp 0x40b2c3
cmp dword [ebp - 0x34], 8
jne 0x40b232
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.0041bb00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.0041bb00
jmp 0x40b2c3
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.0041bb00
jmp 0x40b12b
mov ecx, dword [ebp - 0x5c]
call fcn.00402c70
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x5c]
add ecx, 0x2e0
call fcn.00402d00
push eax
mov ecx, dword [ebp - 0x18]
call fcn.0040c0f0
mov ecx, dword [ebp - 0x5c]
call fcn.0040bc20
test eax, eax
je 0x40b288
mov ecx, dword [ebp - 0x5c]
add ecx, 0x3a0
call fcn.00402d00
push eax
mov ecx, dword [ebp - 0x18]
call fcn.0040c110
lea ecx, [ebp - 0x14]
call fcn.00413dd0
push eax
mov ecx, dword [ebp - 0x18]
call fcn.0040c0d0
push 0
push 0x8007
push 0x111
mov ecx, dword [ebp - 0x5c]
call fcn.00402c70
mov ecx, eax
call fcn.00402be0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.0041bb00
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret