Function at 0x411bb0
Capabilities:
Get disk size
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x184
mov eax, dword [0x47ca80]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x10], 0
xor eax, eax
mov dword [ebp - 0xf], eax
mov dword [ebp - 0xb], eax
mov byte [ebp - 7], al
movsx ecx, byte [ebp + 8]
push ecx
push 0x464734
lea edx, [ebp - 0x10]
push edx
call fcn.004123b0
add esp, 0xc
mov byte [ebp - 0x138], 0
push 0x103
push 0
lea eax, [ebp - 0x137]
push eax
call fcn.00440170
add esp, 0xc
lea ecx, [ebp - 0x10]
push ecx
push str.GetDiskFreeSpaceExA_szDiskDir___s_n
lea edx, [ebp - 0x138]
push edx
call fcn.0040d550
add esp, 0xc
lea eax, [ebp - 0x138]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 0x140]
push eax
lea ecx, [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x411d2f
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14c], edx
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x148]
mov dword [ebp - 0x150], ecx
and dword [ebp - 0x148], 0x7fffffff
fild qword [ebp - 0x14c]
and dword [ebp - 0x150], 0x80000000
mov dword [ebp - 0x154], 0
fild qword [ebp - 0x154]
fchs
faddp st(1)
fdiv qword [0x464818]
fdiv qword [0x464818]
fdiv qword [0x464818]
mov edx, dword [ebp + 0xc]
fstp dword [edx]
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], ecx
mov edx, dword [ebp - 0x158]
mov dword [ebp - 0x160], edx
and dword [ebp - 0x158], 0x7fffffff
fild qword [ebp - 0x15c]
and dword [ebp - 0x160], 0x80000000
mov dword [ebp - 0x164], 0
fild qword [ebp - 0x164]
fchs
faddp st(1)
fdiv qword [0x464818]
fdiv qword [0x464818]
fdiv qword [0x464818]
mov eax, dword [ebp + 0x10]
fstp dword [eax]
mov dword [ebp - 0x2c], 1
jmp 0x411e53
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 3
jne 0x411e53
movsx ecx, byte [ebp + 8]
push ecx
push 0x46475c
lea edx, [ebp - 0x10]
push edx
call fcn.004123b0
add esp, 0xc
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x28]
push ecx
lea edx, [ebp - 0x140]
push edx
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0
je 0x411e53
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 0x168], edx
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x170], eax
and dword [ebp - 0x168], 0x7fffffff
fild qword [ebp - 0x16c]
and dword [ebp - 0x170], 0x80000000
mov dword [ebp - 0x174], 0
fild qword [ebp - 0x174]
fchs
faddp st(1)
fdiv qword [0x464818]
fdiv qword [0x464818]
fdiv qword [0x464818]
mov ecx, dword [ebp + 0xc]
fstp dword [ecx]
mov edx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x17c], edx
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x178]
mov dword [ebp - 0x180], ecx
and dword [ebp - 0x178], 0x7fffffff
fild qword [ebp - 0x17c]
and dword [ebp - 0x180], 0x80000000
mov dword [ebp - 0x184], 0
fild qword [ebp - 0x184]
fchs
faddp st(1)
fdiv qword [0x464818]
fdiv qword [0x464818]
fdiv qword [0x464818]
mov edx, dword [ebp + 0x10]
fstp dword [edx]
mov dword [ebp - 0x2c], 1
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00440160
mov esp, ebp
pop ebp
ret