Function at 0x57ddef
Capabilities:
Check if file exists
Get disk size

Disassembly:
push 0x20
mov eax, 0x60a7fe
call fcn.004db48b
mov esi, ecx
mov dword [ebp - 0x14], esi
mov ebx, dword [ebp + 8]
call fcn.0057f452
test eax, eax
jne 0x57de25
push 0xffffffffffffffff
push ebx
push 0x800
push dword [0x674760]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x57e0ff
test ebx, ebx
jne 0x57de2e
push 0xffffffffffffffff
push ebx
jmp 0x57de0f
lea edi, [esi + 0x6f8]
push edi
lea ecx, [ebp + 8]
call fcn.0040d36e
and dword [ebp - 4], 0
push dword [edi]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x57dea0
push eax
push 0x5c
mov ecx, edi
call fcn.00434a69
test eax, eax
jns 0x57de77
push 0xffffffffffffffff
push ebx
push 0x800
push dword [0x674760]
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, dword [ebp + 8]
jmp 0x57e0ef
inc eax
mov ecx, edi
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.0040d197
push eax
lea ecx, [ebp + 8]
call fcn.0040d242
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff4
cmp ecx, 0x668010
je 0x57dea0
call fcn.00407965
push 1
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov edi, dword [ebp + 8]
lea edx, [ebp - 0x2c]
push edx
lea ecx, [esi + 0x6d8]
mov dword [ebp - 0x20], eax
push ecx
lea eax, [esi + 0x6e0]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
jne 0x57deeb
xor ecx, ecx
lea eax, [esi + 0x6e0]
mov dword [eax], ecx
xorps xmm0, xmm0
mov dword [eax + 4], ecx
lea eax, [esi + 0x6d8]
mov dword [eax], ecx
mov dword [eax + 4], ecx
movlpd qword [ebp - 0x2c], xmm0
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov eax, dword [esi + 0x6d0]
mov ecx, dword [esi + 0x6d4]
mov edx, dword [esi + 0x6e0]
shld ecx, eax, 0xa
shl eax, 0xa
sub edx, eax
mov eax, dword [esi + 0x6e4]
mov dword [ebp - 0x20], edx
sbb eax, ecx
mov dword [ebp - 0x18], eax
js 0x57df50
jg 0x57df25
test edx, edx
jb 0x57df50
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
shld ecx, eax, 0xa
shl eax, 0xa
sub edx, eax
mov eax, dword [ebp - 0x18]
sbb eax, ecx
test eax, eax
jg 0x57e01a
jl 0x57df4b
test edx, edx
jae 0x57e01a
mov esi, dword [ebp - 0x20]
jmp 0x57df61
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov eax, dword [0x668294]
push 0xea68
push ecx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
call fcn.0041129f
mov eax, dword [ebp - 0x18]
shrd esi, eax, 0x14
shr eax, 0x14
push eax
push esi
push 0
push 0x400
push dword [ebx + 0xc]
push dword [ebx + 8]
call fcn.004db5a0
mov esi, dword [ebp - 0x1c]
push edx
push eax
lea eax, [ebp - 0x20]
push esi
push eax
call fcn.0040cefd
lea ecx, [esi - 0xc]
add esp, 0x18
cmp ecx, 0x668010
je 0x57dfba
call fcn.00407965
mov esi, dword [ebp - 0x20]
push 0x50034
push dword [0x674764]
push esi
push dword [0x674760]
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
je 0x57e007
push 0xffffffffffffffff
push ebx
push 0x800
push dword [0x674760]
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [esi - 0xc]
cmp ecx, 0x668010
je 0x57e0ef
call fcn.00407965
jmp 0x57e0ef
lea ecx, [esi - 0xc]
cmp ecx, 0x668010
je 0x57e017
call fcn.00407965
mov esi, dword [ebp - 0x14]
push 0
push 0
push 0xb
push dword [esi + 0x1a8]
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebx + 0x14], eax
jbe 0x57e098
lea ecx, [ebx + 0x10]
push eax
call fcn.0042b614
mov esi, dword [eax]
mov dword [ebp - 0x1c], esi
lea ecx, [esi + 4]
test esi, esi
je 0x57e04e
lock inc dword [ecx]
mov byte [ebp - 4], 1
push ecx
mov eax, esp
mov dword [eax], esi
test esi, esi
je 0x57e05e
lock inc dword [ecx]
mov ecx, dword [ebp - 0x14]
call fcn.0057dc12
mov byte [ebp - 4], 0
test eax, eax
je 0x57e08a
test esi, esi
je 0x57e079
mov ecx, esi
call fcn.00416ed3
mov eax, dword [ebp - 0x20]
lea ecx, [ebx + 0x10]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, dword [ebx + 0x14]
jb 0x57e039
jmp 0x57e095
test esi, esi
je 0x57e095
mov ecx, esi
call fcn.00416ed3
mov esi, dword [ebp - 0x14]
push dword [ebx + 0x14]
push ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push 0x800
push dword [0x674760]
call ebx
push 0
push dword [esi + 0x6a0]
push 0x102f
push dword [esi + 0x1a8]
call ebx
push 0
push 1
push 0xb
push dword [esi + 0x1a8]
call ebx
mov ecx, esi
call fcn.0057d394
push 4
mov ecx, esi
call fcn.0057e13b
push 1
push 0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
lea ecx, [edi - 0xc]
cmp ecx, 0x668010
je 0x57e0ff
call fcn.00407965
call fcn.004db459
ret 4