Function at 0x48f0c0
Capabilities:
Get common file path
Get disk size

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff7b4
mov eax, 0x4dce00
call fcn.004becc8
cmp dword [ebp + 0x10], 0xe
je 0x48f0f0
cmp dword [ebp + 0x10], 0x13
je 0x48f0f0
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x30], 0x3f800000
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x3c], 0
mov edx, dword [ebp + 0xc]
cmp byte [edx + 0x3c], 0
je 0x48f127
mov ecx, dword [0x4e3ab8]
lea ecx, [ecx + ecx*2]
sar ecx, 1
jns 0x48f109
adc ecx, 0
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x18], ecx
mov edx, dword [0x4e3abc]
lea edx, [edx + edx*2]
sar edx, 1
jns 0x48f11f
adc edx, 0
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x1c], edx
jmp 0x48f13e
mov eax, dword [0x4e3ab8]
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x18], eax
mov ecx, dword [0x4e3abc]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x1c], ecx
mov edx, dword [ebp + 0xc]
fild dword [edx + 0x18]
mov ecx, dword [ebp + 0xc]
fmul dword [ecx + 0x30]
fld xword [0x48f360]
fmulp st(1)
mov eax, dword [ebp + 0xc]
fstp dword [eax + 0x28]
mov edx, dword [ebp + 0xc]
fild dword [edx + 0x1c]
mov ecx, dword [ebp + 0xc]
fmul dword [ecx + 0x30]
fmul dword [0x48f36c]
mov eax, dword [ebp + 0xc]
fstp dword [eax + 0x2c]
mov edx, dword [ebp + 0xc]
fild dword [edx + 0x18]
mov ecx, dword [ebp + 0xc]
fld dword [ecx + 0x28]
fmul dword [0x48f370]
fsubp st(1)
fmul dword [0x48f374]
call fcn.004c3e58
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x20], eax
mov ecx, dword [ebp + 0xc]
fild dword [ecx + 0x1c]
mov eax, dword [ebp + 0xc]
fld dword [eax + 0x2c]
fmul dword [0x48f378]
fsubp st(1)
fmul dword [0x48f374]
call fcn.004c3e58
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x24], eax
mov word [ebp - 0x20], 8
lea eax, [ebp - 4]
call fcn.00401df0
inc dword [ebp - 0x14]
mov word [ebp - 0x20], 0x14
lea edx, [ebp - 0x84c]
push edx
push 0x800
call sub.KERNEL32.DLL_GetTempPathA
push dword [ebp + 0x18]
lea ecx, [ebp - 0x84c]
push ecx
push str._stest_04d.bmp
lea eax, [ebp - 4]
push eax
call fcn.004cbc88
add esp, 0x10
mov edx, dword [0x4e3ab8]
imul edx, dword [0x4e3abc]
mov ecx, edx
shl ecx, 2
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x34], ecx
lea eax, [ebp - 0x4c]
push eax
lea edx, [ebp - 0x44]
push edx
lea ecx, [ebp - 0x3c]
push ecx
lea eax, [ebp - 0x84c]
push eax
call sub.KERNEL32.DLL_GetDiskFreeSpaceExA
cmp dword [ebp - 0x38], 0
jne 0x48f29f
mov edx, dword [ebp - 0x3c]
cmp edx, dword [ebp - 0x34]
jae 0x48f29f
mov word [ebp - 0x20], 0x20
mov edx, str._1000
lea eax, [ebp - 8]
call fcn.004cb964
inc dword [ebp - 0x14]
lea edx, [ebp - 8]
mov eax, dword [ebp + 8]
call fcn.004cbb68
mov eax, dword [ebp + 8]
mov word [ebp - 0x20], 0x2c
push eax
dec dword [ebp - 0x14]
lea eax, [ebp - 8]
mov edx, 2
call fcn.004cbb38
dec dword [ebp - 0x14]
lea eax, [ebp - 4]
mov edx, 2
call fcn.004cbb38
pop eax
mov word [ebp - 0x20], 0x20
inc dword [ebp - 0x14]
mov edx, dword [ebp - 0x30]
mov dword fs:[0], edx
jmp 0x48f359
mov eax, dword [ebp - 4]
call fcn.004cb8d8
push dword [ebp - 4]
push dword [ebp + 0xc]
call fcn.0048e6cc
add esp, 8
test eax, eax
je 0x48f31a
mov word [ebp - 0x20], 0x38
mov edx, 0x4dc947
lea eax, [ebp - 0xc]
call fcn.004cb964
inc dword [ebp - 0x14]
lea edx, [ebp - 0xc]
mov eax, dword [ebp + 8]
call fcn.004cbb68
mov eax, dword [ebp + 8]
mov word [ebp - 0x20], 0x44
push eax
dec dword [ebp - 0x14]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004cbb38
dec dword [ebp - 0x14]
lea eax, [ebp - 4]
mov edx, 2
call fcn.004cbb38
pop eax
mov word [ebp - 0x20], 0x38
inc dword [ebp - 0x14]
mov edx, dword [ebp - 0x30]
mov dword fs:[0], edx
jmp 0x48f359
mov word [ebp - 0x20], 0x50
lea edx, [ebp - 4]
mov eax, dword [ebp + 8]
call fcn.004cbb68
mov eax, dword [ebp + 8]
mov word [ebp - 0x20], 0x5c
push eax
dec dword [ebp - 0x14]
lea eax, [ebp - 4]
mov edx, 2
call fcn.004cbb38
pop eax
mov word [ebp - 0x20], 0x50
inc dword [ebp - 0x14]
mov edx, dword [ebp - 0x30]
mov dword fs:[0], edx
mov esp, ebp
pop ebp
ret