Function at 0x40b110
Capabilities:
Get disk size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov dword [ebp - 0x40], ecx
push 3
lea eax, [ebp - 8]
push eax
mov ecx, dword [ebp + 8]
call fcn.00406fb0
fldz
fstp qword [ebp - 0x20]
push 8
call fcn.0042317e
add esp, 4
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x10], ecx
push 0
push 0
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 8]
call fcn.00411410
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 1
jne 0x40b178
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x44]
cmp dword [ecx + 4], 0
ja 0x40b18c
jb 0x40b178
mov edx, dword [ebp - 0x44]
cmp dword [edx], 0
ja 0x40b18c
mov byte [ebp - 0x2d], 0
lea ecx, [ebp - 8]
call fcn.00401860
mov al, byte [ebp - 0x2d]
jmp 0x40b330
mov ecx, dword [ebp + 8]
call fcn.0040b890
mov ecx, dword [ebp + 8]
call fcn.00401c10
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
sub eax, 1
push eax
mov ecx, dword [ebp + 8]
call fcn.0040b870
movzx ecx, ax
cmp ecx, 0x5c
jne 0x40b1c7
push 1
mov edx, dword [ebp - 0xc]
sub edx, 1
push edx
mov ecx, dword [ebp + 8]
call fcn.0040b9f0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x18]
call fcn.00401310
lea ecx, [ebp - 8]
push ecx
mov ecx, dword [ebp + 8]
call fcn.00406e50
push 0x5c
lea ecx, [ebp - 0x18]
call fcn.004070b0
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
jne 0x40b20e
mov byte [ebp - 0x2e], 0
lea ecx, [ebp - 0x18]
call fcn.00401860
lea ecx, [ebp - 8]
call fcn.00401860
mov al, byte [ebp - 0x2e]
jmp 0x40b330
cmp dword [ebp - 4], 0xffffffff
je 0x40b319
mov edx, dword [ebp - 4]
add edx, 1
push edx
push 0
lea ecx, [ebp - 0x18]
call fcn.0040b9f0
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x24]
call fcn.00401310
push 0x5c
lea ecx, [ebp - 0x24]
call fcn.004070b0
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffff
je 0x40b29e
mov ecx, dword [ebp - 0x28]
push ecx
lea edx, [ebp - 0x34]
push edx
lea ecx, [ebp - 0x18]
call fcn.00406fb0
push eax
lea ecx, [ebp - 0x24]
call fcn.00406e50
lea ecx, [ebp - 0x34]
call fcn.00401860
lea ecx, [ebp - 0x24]
call fcn.0040b920
lea ecx, [ebp - 0x24]
call fcn.0040b890
push 0x4348ac
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x38]
push ecx
call fcn.00406c00
push eax
mov ecx, dword [ebp + 8]
call fcn.00406bd0
lea ecx, [ebp - 0x38]
call fcn.00401860
jmp 0x40b2ba
lea ecx, [ebp - 0x24]
call fcn.0040b920
lea ecx, [ebp - 0x24]
call fcn.0040b890
lea edx, [ebp - 0x24]
push edx
mov ecx, dword [ebp + 8]
call fcn.00406bd0
push 0x4348b0
lea ecx, [ebp - 0x24]
call fcn.00403220
test eax, eax
je 0x40b2de
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x40]
call fcn.0040b340
movzx ecx, al
test ecx, ecx
je 0x40b2ff
mov byte [ebp - 0x39], 0
lea ecx, [ebp - 0x24]
call fcn.00401860
lea ecx, [ebp - 0x18]
call fcn.00401860
lea ecx, [ebp - 8]
call fcn.00401860
mov al, byte [ebp - 0x39]
jmp 0x40b330
push 0x5c
lea ecx, [ebp - 0x18]
call fcn.004070b0
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x24]
call fcn.00401860
jmp 0x40b20e
mov byte [ebp - 0x3a], 1
lea ecx, [ebp - 0x18]
call fcn.00401860
lea ecx, [ebp - 8]
call fcn.00401860
mov al, byte [ebp - 0x3a]
mov esp, ebp
pop ebp
ret 4